Update tilemaps to provide their own physics information. The sidescroller is acting funny.

This commit is contained in:
2026-06-02 17:12:47 -04:00
parent 3608c68764
commit 238c65a2eb
7 changed files with 22 additions and 16 deletions

View File

@@ -114,13 +114,13 @@
"properties":[
{
"name":"physics.drag.y",
"type":"string",
"value":"0.0"
"type":"float",
"value":0
},
{
"name":"physics.gravity.y",
"type":"string",
"value":"0.0"
"type":"float",
"value":0
},
{
"name":"physics.model",

View File

@@ -33,7 +33,7 @@
{
"name":"state",
"type":"int",
"value":1041
"value":17
}],
"rotation":0,
"type":"actor",
@@ -66,13 +66,13 @@
"properties":[
{
"name":"physics.drag.y",
"type":"string",
"value":"1.0"
"type":"float",
"value":0.125
},
{
"name":"physics.gravity.y",
"type":"string",
"value":"1024.0"
"type":"float",
"value":32
},
{
"name":"physics.model",

View File

@@ -91,13 +91,13 @@
"properties":[
{
"name":"physics.drag.y",
"type":"string",
"value":"0.0"
"type":"float",
"value":0
},
{
"name":"physics.gravity.y",
"type":"string",
"value":"0.0"
"type":"float",
"value":0
},
{
"name":"physics.model",

2
deps/libakgl vendored

View File

@@ -7,6 +7,7 @@ akerr_ErrorContext AKERR_NOIGNORE *akgltest_set_gamemode_menu(akgl_Actor *appsta
AKGL_BITMASK_DEL(game.state.flags, AKGLTEST_STATE_WAITFORINPUT);
AKGL_BITMASK_DEL(game.state.flags, AKGLTEST_STATE_RUNNING);
PASS(e, akgl_tilemap_release(gamemap));
physics = &_akgl_physics;
PASS(e, akgl_registry_init_actor());
PASS(e, akgl_heap_init_actor());
PASS(e, akgltest_init_menupointer());
@@ -30,6 +31,7 @@ akerr_ErrorContext AKERR_NOIGNORE *akgltest_set_gamemode_running(akgl_Actor *app
PASS(e, akgl_registry_init_actor());
PASS(e, akgl_heap_init_actor());
PASS(e, akgltest_init_player());
//PASS(e, akgl_physics_init_arcade(physics));
PASS(e, aksl_memset((void *)GAME_ControlMaps, 0x00, (sizeof(akgl_ControlMap) * AKGL_MAX_CONTROL_MAPS)));
PASS(e, akgltest_controller_bind_universal("player", AKGLTEST_CONTROLMAP_INGAMEACTOR, kbid, jsid));
akgl_Actor *actorptr = SDL_GetPointerProperty(AKGL_REGISTRY_ACTOR, "player", NULL);
@@ -50,6 +52,10 @@ akerr_ErrorContext AKERR_NOIGNORE *akgltest_set_gamemode_running(akgl_Actor *app
AKGL_BITMASK_DEL(game.state.flags, AKGLTEST_STATE_RUNNING);
AKGL_BITMASK_ADD(game.state.flags, AKGLTEST_STATE_QUIT);
}
if ( gamemap->use_own_physics == true ) {
SDL_Log("Using game map physics engine");
physics = &gamemap->physics;
}
AKGL_BITMASK_ADD(game.state.flags, AKGLTEST_STATE_RUNNING);
SUCCEED_RETURN(e);
}