diff options
author | UnavailableDev <69792062+UnavailableDev@users.noreply.github.com> | 2023-03-14 17:28:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-14 17:28:26 +0100 |
commit | 51a49f8844705ea3bff95b3c25ba3adc96f5d652 (patch) | |
tree | b192162ea7ce9fd5c6f9d7b96cba435d790efd50 /src/engine/camera.c | |
parent | 5a747929ed2099755fb03c930ea68c77fda805b3 (diff) | |
parent | 6ddf430391b577a5e5d1449511f65aa57a2c0b0e (diff) |
Merge pull request #35 from UnavailableDev/game-engine
Camera controller
Diffstat (limited to 'src/engine/camera.c')
-rw-r--r-- | src/engine/camera.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/engine/camera.c b/src/engine/camera.c index e756bd4..2c3e517 100644 --- a/src/engine/camera.c +++ b/src/engine/camera.c @@ -6,10 +6,10 @@ vec_cor hh_update_camera(vec_cen new, vec2 min, vec2 max){ //TODO: change floating point math to fix point math - //TODO: fix buggy y-axis ?? + //TODO: remove magic number at y camera offset // new = vec_cen2cor(new,(vec2){.x=max.x/2,.y=max.y/2}); - new = vec_cen2cor((vec2){.x=new.x+(HH_PPU_SPRITE_WIDTH/2),.y=(new.y+(HH_PPU_SPRITE_HEIGHT/2))*2},(vec2){.x=max.x/2,.y=max.y/2}); + new = vec_cen2cor((vec2){.x=new.x+(HH_PPU_SPRITE_WIDTH),.y=new.y+(HH_PPU_SPRITE_HEIGHT*8)},(vec2){.x=max.x/2,.y=max.y/2}); // new.x = new.x << HH_MATH_FIXED_POINT; // new.y = new.y << HH_MATH_FIXED_POINT; static vec_cor old; @@ -19,6 +19,7 @@ vec_cor hh_update_camera(vec_cen new, vec2 min, vec2 max){ // int16_t some = 0; // some = some <<= HH_MATH_FIXED_POINT-1; + // Camera smoothing new.x = (int)((float)new.x*0.1f + (float)old.x*0.9f); new.y = (int)((float)new.y*0.1f + (float)old.y*0.9f); |