From 04158a1ad2a3a6c2cc08bd71bc7cfc22f4942d67 Mon Sep 17 00:00:00 2001 From: Dominic Masters Date: Wed, 18 Jun 2025 22:17:02 -0500 Subject: [PATCH] Vel instead of px --- data/map project.tiled-session | 10 +++++----- src/dusk/entity/entity.c | 3 +++ src/dusk/entity/player.c | 31 +++++++++++++++++++------------ 3 files changed, 27 insertions(+), 17 deletions(-) diff --git a/data/map project.tiled-session b/data/map project.tiled-session index 3ded4a8..c54df14 100644 --- a/data/map project.tiled-session +++ b/data/map project.tiled-session @@ -1,5 +1,5 @@ { - "activeFile": "overworld.tsx", + "activeFile": "map.tmj", "expandedProjectPaths": [ "templates", "." @@ -14,10 +14,10 @@ }, "map.tmj": { "scale": 3, - "selectedLayer": 1, + "selectedLayer": 2, "viewCenter": { - "x": 6909.5, - "y": 6948.166666666666 + "x": 6665.833333333333, + "y": 6764.5 } }, "overworld.tsx": { @@ -34,8 +34,8 @@ ], "project": "map project.tiled-project", "recentFiles": [ - "map.tmj", "overworld.tsx", + "map.tmj", "entities.tsx" ], "tileset.lastUsedFilter": "Tiled tileset files (*.tsx *.xml)", diff --git a/src/dusk/entity/entity.c b/src/dusk/entity/entity.c index 13ad90b..4f19683 100644 --- a/src/dusk/entity/entity.c +++ b/src/dusk/entity/entity.c @@ -42,4 +42,7 @@ void entityUpdate(entity_t *entity) { ); ENTITY_CALLBACKS[entity->type].update(entity); + + entity->x += entity->vx; + entity->y += entity->vy; } \ No newline at end of file diff --git a/src/dusk/entity/player.c b/src/dusk/entity/player.c index 569fe61..e137610 100644 --- a/src/dusk/entity/player.c +++ b/src/dusk/entity/player.c @@ -32,47 +32,54 @@ void playerNPCUpdate(entity_t *entity) { if(inputIsDown(INPUT_BIND_UP)) { if(inputIsDown(INPUT_BIND_LEFT)) { - fx248Subfx248(&entity->x, PLAYER_MOVE_SPEED_XY); - fx248Subfx248(&entity->y, PLAYER_MOVE_SPEED_XY); + entity->vx = -PLAYER_MOVE_SPEED_XY; + entity->vy = -PLAYER_MOVE_SPEED_XY; if(entity->dir != ENTITY_DIR_NORTH && entity->dir != ENTITY_DIR_WEST) { entity->dir = ENTITY_DIR_NORTH; } } else if(inputIsDown(INPUT_BIND_RIGHT)) { - fx248Addfx248(&entity->x, PLAYER_MOVE_SPEED_XY); - fx248Subfx248(&entity->y, PLAYER_MOVE_SPEED_XY); + entity->vx = PLAYER_MOVE_SPEED_XY; + entity->vy = -PLAYER_MOVE_SPEED_XY; if(entity->dir != ENTITY_DIR_NORTH && entity->dir != ENTITY_DIR_EAST) { entity->dir = ENTITY_DIR_NORTH; } } else { - fx248Subfx248(&entity->y, PLAYER_MOVE_SPEED); + entity->vy = -PLAYER_MOVE_SPEED; + entity->vx = 0; entity->dir = ENTITY_DIR_NORTH; } } else if(inputIsDown(INPUT_BIND_DOWN)) { if(inputIsDown(INPUT_BIND_LEFT)) { - fx248Subfx248(&entity->x, PLAYER_MOVE_SPEED_XY); - fx248Addfx248(&entity->y, PLAYER_MOVE_SPEED_XY); + entity->vx = -PLAYER_MOVE_SPEED_XY; + entity->vy = PLAYER_MOVE_SPEED_XY; if(entity->dir != ENTITY_DIR_SOUTH && entity->dir != ENTITY_DIR_WEST) { entity->dir = ENTITY_DIR_SOUTH; } } else if(inputIsDown(INPUT_BIND_RIGHT)) { - fx248Addfx248(&entity->x, PLAYER_MOVE_SPEED_XY); - fx248Addfx248(&entity->y, PLAYER_MOVE_SPEED_XY); + entity->vx = PLAYER_MOVE_SPEED_XY; + entity->vy = PLAYER_MOVE_SPEED_XY; if(entity->dir != ENTITY_DIR_SOUTH && entity->dir != ENTITY_DIR_EAST) { entity->dir = ENTITY_DIR_SOUTH; } } else { - fx248Addfx248(&entity->y, PLAYER_MOVE_SPEED); + entity->vy = PLAYER_MOVE_SPEED; + entity->vx = 0; entity->dir = ENTITY_DIR_SOUTH; } } else if(inputIsDown(INPUT_BIND_LEFT)) { - fx248Subfx248(&entity->x, PLAYER_MOVE_SPEED); + entity->vx = -PLAYER_MOVE_SPEED; + entity->vy = 0; entity->dir = ENTITY_DIR_WEST; } else if(inputIsDown(INPUT_BIND_RIGHT)) { - fx248Addfx248(&entity->x, PLAYER_MOVE_SPEED); + entity->vx = PLAYER_MOVE_SPEED; + entity->vy = 0; entity->dir = ENTITY_DIR_EAST; + } else { + entity->vx = 0; + entity->vy = 0; } } \ No newline at end of file