main
Dominik Madarász 2023-12-01 23:12:02 +01:00
parent 36309b841c
commit f61b4c6653
16 changed files with 120 additions and 110 deletions

View File

@ -322,6 +322,7 @@ if "%1"=="fwk" (
git fetch git fetch
git reset --hard origin/main git reset --hard origin/main
popd popd
call make.bat split
call MAKE.bat fwk_prep call MAKE.bat fwk_prep
start "" fwk_diff.WinMerge start "" fwk_diff.WinMerge
exit /b exit /b
@ -338,12 +339,12 @@ if "%1"=="gwk" (
copy/y ..\fwk-mirror\engine\fwk _fwk\engine\fwk copy/y ..\fwk-mirror\engine\fwk _fwk\engine\fwk
copy/y ..\fwk-mirror\engine\split\*.inl _fwk\engine\split\ copy/y ..\fwk-mirror\engine\split\*.inl _fwk\engine\split\
rem copy/y ..\fwk-mirror\engine\split\3rd_*.c _fwk\engine\split\ rem copy/y ..\fwk-mirror\engine\split\3rd_*.c _fwk\engine\split\
make back
exit /b exit /b
) )
if "%1"=="fwk_prep" ( if "%1"=="fwk_prep" (
call make.bat split
if not exist "_fwk" mkdir "_fwk" if not exist "_fwk" mkdir "_fwk"
if not exist "_fwk\demos" mkdir "_fwk\demos" if not exist "_fwk\demos" mkdir "_fwk\demos"
if not exist "_fwk\tools" mkdir "_fwk\tools" if not exist "_fwk\tools" mkdir "_fwk\tools"
@ -453,8 +454,8 @@ if "%1"=="back" (
rem tools\fwkren.exe tools\cook.ini to rem tools\fwkren.exe tools\cook.ini to
call make.bat join rem call make.bat join
call make.bat amalgamation rem call make.bat amalgamation
echo All done. echo All done.
endlocal endlocal

View File

@ -3341,7 +3341,7 @@ unsigned play;
bool paused; bool paused;
struct atlas_t *a; struct atlas_t *a;
} sprite_t; } sprite_t;
enum { OBJTYPE_sprite_t = 10 }; typedef struct { unsigned static_assert_on_L__LINE__ : !!(10 <= 255); } static_assert_on_Lconcat(_L,3959)___COUNTER__; typedef struct { unsigned static_assert_on_L__LINE__ : !!(sizeof(sprite_t)); } static_assert_on_Lconcat(_L,3959)___COUNTER__;; enum { OBJTYPE_sprite_t = 10 }; typedef struct { unsigned static_assert_on_L__LINE__ : !!(10 <= 255); } static_assert_on_Lconcat(_L,3962)___COUNTER__; typedef struct { unsigned static_assert_on_L__LINE__ : !!(sizeof(sprite_t)); } static_assert_on_Lconcat(_L,3962)___COUNTER__;;
void sprite_ctor(sprite_t *s); void sprite_ctor(sprite_t *s);
void sprite_dtor(sprite_t *s); void sprite_dtor(sprite_t *s);
void sprite_tick(sprite_t *s); void sprite_tick(sprite_t *s);

View File

@ -14068,6 +14068,10 @@ extern "C" {
#define COOK_DISABLED 0 // ifdef(nocook, 1, 0) ///+ #define COOK_DISABLED 0 // ifdef(nocook, 1, 0) ///+
#endif #endif
#ifndef ENABLE_RPMALLOC
#define ENABLE_RPMALLOC 0 // ifdef(tcc, 0, 1) // forbidden on tcc because of lacking TLS support
#endif
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// if/n/def hell // if/n/def hell
@ -15368,7 +15372,6 @@ API extern int (*obj_init[256])(); ///-
API extern int (*obj_quit[256])(); ///- API extern int (*obj_quit[256])(); ///-
API extern int (*obj_tick[256])(); ///- API extern int (*obj_tick[256])(); ///-
API extern int (*obj_draw[256])(); ///- API extern int (*obj_draw[256])(); ///-
API extern int (*obj_lerp[256])(); ///- API extern int (*obj_lerp[256])(); ///-
API extern int (*obj_aabb[256])(); ///- API extern int (*obj_aabb[256])(); ///-
@ -17735,7 +17738,7 @@ typedef struct camera_t {
vec2 last_look; vec3 last_move; // used for friction and damping vec2 last_look; vec3 last_move; // used for friction and damping
bool damping; bool damping;
bool orthographic; // 0 perspective, 1 orthographic; when ortho: dimetric[if pitch == -30o], isometric[if pitch == 35.264o] bool orthographic; // 0 perspective, 1 orthographic; when ortho: dimetric[if pitch == -30º], isometric[if pitch == 35.264º]
float distance; // distance to pivot, when orbiting float distance; // distance to pivot, when orbiting
// vec2 polarity = { +1,-1 }; // @todo // vec2 polarity = { +1,-1 }; // @todo
// vec2 sensitivity = { 2,2 }; // @todo // vec2 sensitivity = { 2,2 }; // @todo
@ -241313,7 +241316,7 @@ static char *ui_filter = 0;
// - rlyeh, public domain // - rlyeh, public domain
// //
// changelog: // changelog:
// - ported to FWK api // - ported to V4K api
// - namespaced symbols // - namespaced symbols
// - diverse win32 fixes // - diverse win32 fixes
// - adaptive cols/rows // - adaptive cols/rows
@ -241490,7 +241493,7 @@ static void browser_reload_directory_content(struct browser *browser, const char
// remove last '/' if present. ok to overwrite absolute var, file_*() API returns writeable strings. // remove last '/' if present. ok to overwrite absolute var, file_*() API returns writeable strings.
char *dir = absolute; if( dir[ strlen(dir) - 1 ] == '/' ) dir[ strlen(dir) - 1 ] = '\0'; char *dir = absolute; if( dir[ strlen(dir) - 1 ] == '/' ) dir[ strlen(dir) - 1 ] = '\0';
dir = file_name(dir); // /home/rlyeh/prj/fwk/art -> art dir = file_name(dir); // /home/rlyeh/prj/v4k/art -> art
BROWSER_PRINTF("%s\n", dir); BROWSER_PRINTF("%s\n", dir);
if( dir[0] != '.' ) // skip special files, folders and internal files like .git or .art.zip if( dir[0] != '.' ) // skip special files, folders and internal files like .git or .art.zip
@ -378856,10 +378859,10 @@ void v4k_init() {
// - network replication can be done by external tools by comparing the filesystems and by sending the resulting diff zipped // - network replication can be done by external tools by comparing the filesystems and by sending the resulting diff zipped
// //
// ## Editor roadmap // ## Editor roadmap
// - Gizmos?, scene tree, property editor?, load/save?, undo/redo?, copy/paste, on/off (vis,tick,ddraw,log), vcs. // - Gizmos✱, scene tree, property editor✱, load/save✱, undo/redo✱, copy/paste, on/off (vis,tick,ddraw,log), vcs.
// - Scenenode pass: node singleton display, node console, node labels, node outlines?.<!-- node == gameobj ? --> // - Scenenode pass: node singleton display, node console, node labels, node outlines.<!-- node == gameobj ? -->
// - Render pass: billboards?, materials, un/lit, cast shadows, wireframe, skybox?/mie?, fog/atmosphere // - Render pass: billboards✱, materials, un/lit, cast shadows, wireframe, skybox✱/mie✱, fog/atmosphere
// - Level pass: volumes, triggers, platforms, level streaming, collide?, physics // - Level pass: volumes, triggers, platforms, level streaming, collide, physics
// - Edit pass: Procedural content, brushes, noise and CSG. // - Edit pass: Procedural content, brushes, noise and CSG.
// - GUI pass: timeline and data tracks, node graphs. <!-- worthy: will be reused into materials, animgraphs and blueprints --> // - GUI pass: timeline and data tracks, node graphs. <!-- worthy: will be reused into materials, animgraphs and blueprints -->

View File

@ -2,7 +2,7 @@
// - rlyeh, public domain // - rlyeh, public domain
// //
// changelog: // changelog:
// - ported to FWK api // - ported to V4K api
// - namespaced symbols // - namespaced symbols
// - diverse win32 fixes // - diverse win32 fixes
// - adaptive cols/rows // - adaptive cols/rows
@ -179,7 +179,7 @@ static void browser_reload_directory_content(struct browser *browser, const char
// remove last '/' if present. ok to overwrite absolute var, file_*() API returns writeable strings. // remove last '/' if present. ok to overwrite absolute var, file_*() API returns writeable strings.
char *dir = absolute; if( dir[ strlen(dir) - 1 ] == '/' ) dir[ strlen(dir) - 1 ] = '\0'; char *dir = absolute; if( dir[ strlen(dir) - 1 ] == '/' ) dir[ strlen(dir) - 1 ] = '\0';
dir = file_name(dir); // /home/rlyeh/prj/fwk/art -> art dir = file_name(dir); // /home/rlyeh/prj/v4k/art -> art
BROWSER_PRINTF("%s\n", dir); BROWSER_PRINTF("%s\n", dir);
if( dir[0] != '.' ) // skip special files, folders and internal files like .git or .art.zip if( dir[0] != '.' ) // skip special files, folders and internal files like .git or .art.zip

View File

@ -37,6 +37,10 @@
#define COOK_DISABLED 0 // ifdef(nocook, 1, 0) ///+ #define COOK_DISABLED 0 // ifdef(nocook, 1, 0) ///+
#endif #endif
#ifndef ENABLE_RPMALLOC
#define ENABLE_RPMALLOC 0 // ifdef(tcc, 0, 1) // forbidden on tcc because of lacking TLS support
#endif
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// if/n/def hell // if/n/def hell

View File

@ -6,10 +6,10 @@
// - network replication can be done by external tools by comparing the filesystems and by sending the resulting diff zipped // - network replication can be done by external tools by comparing the filesystems and by sending the resulting diff zipped
// //
// ## Editor roadmap // ## Editor roadmap
// - Gizmos?, scene tree, property editor?, load/save?, undo/redo?, copy/paste, on/off (vis,tick,ddraw,log), vcs. // - Gizmos✱, scene tree, property editor✱, load/save✱, undo/redo✱, copy/paste, on/off (vis,tick,ddraw,log), vcs.
// - Scenenode pass: node singleton display, node console, node labels, node outlines?.<!-- node == gameobj ? --> // - Scenenode pass: node singleton display, node console, node labels, node outlines.<!-- node == gameobj ? -->
// - Render pass: billboards?, materials, un/lit, cast shadows, wireframe, skybox?/mie?, fog/atmosphere // - Render pass: billboards✱, materials, un/lit, cast shadows, wireframe, skybox✱/mie✱, fog/atmosphere
// - Level pass: volumes, triggers, platforms, level streaming, collide?, physics // - Level pass: volumes, triggers, platforms, level streaming, collide, physics
// - Edit pass: Procedural content, brushes, noise and CSG. // - Edit pass: Procedural content, brushes, noise and CSG.
// - GUI pass: timeline and data tracks, node graphs. <!-- worthy: will be reused into materials, animgraphs and blueprints --> // - GUI pass: timeline and data tracks, node graphs. <!-- worthy: will be reused into materials, animgraphs and blueprints -->

View File

@ -208,7 +208,6 @@ API extern int (*obj_init[256])(); ///-
API extern int (*obj_quit[256])(); ///- API extern int (*obj_quit[256])(); ///-
API extern int (*obj_tick[256])(); ///- API extern int (*obj_tick[256])(); ///-
API extern int (*obj_draw[256])(); ///- API extern int (*obj_draw[256])(); ///-
API extern int (*obj_lerp[256])(); ///- API extern int (*obj_lerp[256])(); ///-
API extern int (*obj_aabb[256])(); ///- API extern int (*obj_aabb[256])(); ///-

View File

@ -15,7 +15,7 @@ typedef struct camera_t {
vec2 last_look; vec3 last_move; // used for friction and damping vec2 last_look; vec3 last_move; // used for friction and damping
bool damping; bool damping;
bool orthographic; // 0 perspective, 1 orthographic; when ortho: dimetric[if pitch == -30o], isometric[if pitch == 35.264o] bool orthographic; // 0 perspective, 1 orthographic; when ortho: dimetric[if pitch == -30º], isometric[if pitch == 35.264º]
float distance; // distance to pivot, when orbiting float distance; // distance to pivot, when orbiting
// vec2 polarity = { +1,-1 }; // @todo // vec2 polarity = { +1,-1 }; // @todo
// vec2 sensitivity = { 2,2 }; // @todo // vec2 sensitivity = { 2,2 }; // @todo

View File

@ -222477,7 +222477,7 @@ static char *ui_filter = 0;
// - rlyeh, public domain // - rlyeh, public domain
// //
// changelog: // changelog:
// - ported to FWK api // - ported to V4K api
// - namespaced symbols // - namespaced symbols
// - diverse win32 fixes // - diverse win32 fixes
// - adaptive cols/rows // - adaptive cols/rows
@ -222654,7 +222654,7 @@ static void browser_reload_directory_content(struct browser *browser, const char
// remove last '/' if present. ok to overwrite absolute var, file_*() API returns writeable strings. // remove last '/' if present. ok to overwrite absolute var, file_*() API returns writeable strings.
char *dir = absolute; if( dir[ strlen(dir) - 1 ] == '/' ) dir[ strlen(dir) - 1 ] = '\0'; char *dir = absolute; if( dir[ strlen(dir) - 1 ] == '/' ) dir[ strlen(dir) - 1 ] = '\0';
dir = file_name(dir); // /home/rlyeh/prj/fwk/art -> art dir = file_name(dir); // /home/rlyeh/prj/v4k/art -> art
BROWSER_PRINTF("%s\n", dir); BROWSER_PRINTF("%s\n", dir);
if( dir[0] != '.' ) // skip special files, folders and internal files like .git or .art.zip if( dir[0] != '.' ) // skip special files, folders and internal files like .git or .art.zip

View File

@ -29188,10 +29188,10 @@ void v4k_init() {
// - network replication can be done by external tools by comparing the filesystems and by sending the resulting diff zipped // - network replication can be done by external tools by comparing the filesystems and by sending the resulting diff zipped
// //
// ## Editor roadmap // ## Editor roadmap
// - Gizmos?, scene tree, property editor?, load/save?, undo/redo?, copy/paste, on/off (vis,tick,ddraw,log), vcs. // - Gizmos✱, scene tree, property editor✱, load/save✱, undo/redo✱, copy/paste, on/off (vis,tick,ddraw,log), vcs.
// - Scenenode pass: node singleton display, node console, node labels, node outlines?.<!-- node == gameobj ? --> // - Scenenode pass: node singleton display, node console, node labels, node outlines.<!-- node == gameobj ? -->
// - Render pass: billboards?, materials, un/lit, cast shadows, wireframe, skybox?/mie?, fog/atmosphere // - Render pass: billboards✱, materials, un/lit, cast shadows, wireframe, skybox✱/mie✱, fog/atmosphere
// - Level pass: volumes, triggers, platforms, level streaming, collide?, physics // - Level pass: volumes, triggers, platforms, level streaming, collide, physics
// - Edit pass: Procedural content, brushes, noise and CSG. // - Edit pass: Procedural content, brushes, noise and CSG.
// - GUI pass: timeline and data tracks, node graphs. <!-- worthy: will be reused into materials, animgraphs and blueprints --> // - GUI pass: timeline and data tracks, node graphs. <!-- worthy: will be reused into materials, animgraphs and blueprints -->

View File

@ -135,6 +135,10 @@ extern "C" {
#define COOK_DISABLED 0 // ifdef(nocook, 1, 0) ///+ #define COOK_DISABLED 0 // ifdef(nocook, 1, 0) ///+
#endif #endif
#ifndef ENABLE_RPMALLOC
#define ENABLE_RPMALLOC 0 // ifdef(tcc, 0, 1) // forbidden on tcc because of lacking TLS support
#endif
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// if/n/def hell // if/n/def hell
@ -1435,7 +1439,6 @@ API extern int (*obj_init[256])(); ///-
API extern int (*obj_quit[256])(); ///- API extern int (*obj_quit[256])(); ///-
API extern int (*obj_tick[256])(); ///- API extern int (*obj_tick[256])(); ///-
API extern int (*obj_draw[256])(); ///- API extern int (*obj_draw[256])(); ///-
API extern int (*obj_lerp[256])(); ///- API extern int (*obj_lerp[256])(); ///-
API extern int (*obj_aabb[256])(); ///- API extern int (*obj_aabb[256])(); ///-
@ -3802,7 +3805,7 @@ typedef struct camera_t {
vec2 last_look; vec3 last_move; // used for friction and damping vec2 last_look; vec3 last_move; // used for friction and damping
bool damping; bool damping;
bool orthographic; // 0 perspective, 1 orthographic; when ortho: dimetric[if pitch == -30o], isometric[if pitch == 35.264o] bool orthographic; // 0 perspective, 1 orthographic; when ortho: dimetric[if pitch == -30º], isometric[if pitch == 35.264º]
float distance; // distance to pivot, when orbiting float distance; // distance to pivot, when orbiting
// vec2 polarity = { +1,-1 }; // @todo // vec2 polarity = { +1,-1 }; // @todo
// vec2 sensitivity = { 2,2 }; // @todo // vec2 sensitivity = { 2,2 }; // @todo