Commit Graph

169 Commits (6085dbaed0dfbd7864d639a23e250f45389e97c6)

Author SHA1 Message Date
Sara a93d09c96c reworked most input listener types to use OS events instead of checking state on update
this allows for them to be more reliable with low framerates
2023-06-18 22:14:16 +02:00
Sara b30df338ac no longer zeroing _delta_time if nanosecond element of difference between last and next time is negative 2023-06-18 19:04:22 +02:00
Sara a49ac0db93 timespec_to_sec now first multiplies tv_nsec by 1E-09 to convert to seconds 2023-06-18 18:04:49 +02:00
Sara 56679110e3 added frame limiting 2023-06-18 18:02:22 +02:00
Sara d69b92a464 delta_time is now calculating by converting timespec to seconds 2023-06-18 17:59:50 +02:00
Sara fcb9645dbe added NORMALIZE #define macro
avoids pointers and the accompanying dereference operations of normalize(...)
2023-06-18 16:34:28 +02:00
Sara 6f78731d8f normalize will now normalize if either x or y is non-zero
previously 100,0 would return 100,0 instead of 1,0
2023-06-18 16:33:39 +02:00
Sara 494dbfedb3 clamp_magnitude no longer outputs input x,y regardless of checks 2023-06-18 16:14:30 +02:00
Sara 1df623e669 move_towards now compares absolutes of diff and dir to check if the destination will be reached 2023-06-18 16:09:43 +02:00
Sara fa2a911732 added corelib/math/vec.h single header vector math library 2023-06-18 14:39:04 +02:00
Sara ea3beddfec inverted correction collision_check 2023-06-18 14:27:24 +02:00
Sara dff8e8304d iteration count for interpolate_move now based on number of steps required to fullfill move in theory 2023-06-18 14:24:38 +02:00
Sara 0a8aac2325 implemented slide 2023-06-18 14:18:37 +02:00
Sara 81e242532b added argument to interpolate_move, removed return value from interpolate_move 2023-06-18 14:08:55 +02:00
Sara 96eeb3233f Merge pull request 'implement basic collision and interpolation' (#6) from collision into main
Reviewed-on: #6
2023-06-18 11:51:15 +00:00
Sara bd87bcf8af bbminy in _collision_circle_aabb is now calculated correctly using y 2023-06-18 13:45:53 +02:00
Sara d134df5847 position now resets to last when interpolate_move collides 2023-06-18 13:42:20 +02:00
Sara 4bf759d224 added broadcast collision 2023-06-18 13:22:35 +02:00
Sara e32eb731c2 simplified interpolate move comparison condition 2023-06-18 13:15:03 +02:00
Sara 0b32967c20 removed requirement for a evt_collision listener from _can_collide 2023-06-18 13:13:35 +02:00
Sara 8ae7d302fe inverted _can_collide guard clause in interpolate_move 2023-06-18 11:59:13 +02:00
Sara f8d69e3537 reversed order of operations in interpolate_move 2023-06-18 11:39:16 +02:00
Sara 1748db8412 Merge pull request 'Correctly render sprites' (#5) from fix-render into main
Reviewed-on: #5
2023-06-18 09:24:13 +00:00
Sara d067ea6df8 default sprite origin in is now 0,0 2023-06-16 13:35:33 +02:00
Sara 0a6242ef3c sprite origin is now applied to untransformed rect 2023-06-14 18:50:55 +02:00
Sara a0cc95873e added .helix dir to ignore 2023-06-14 18:50:00 +02:00
Sara eb39cb1432 added .nvimrc to gitignore 2023-06-05 18:11:31 +02:00
Sara 17eef0eb20 added interpolate move 2023-05-28 23:59:24 +02:00
Sara 6c16e8cdbd implemented simple aabb and circle collision 2023-05-24 21:31:50 +02:00
Sara 42ee0c4a26 fixed error in comment 2023-05-22 08:15:40 +02:00
Sara e03037acbe sprite x,y now defines location of origin on sprite 2023-05-22 08:10:55 +02:00
Sara 89db4253ae sprites now support specifying flip 2023-05-14 15:04:29 +02:00
Sara ce4638d1e9 origin now relative to dest size 2023-05-14 14:58:34 +02:00
Sara 62b4515585 sprite origin now percentage of source rect 2023-05-14 14:56:06 +02:00
Sara 04101f6427 fixed broken scaling in sprite rendering 2023-05-14 14:46:12 +02:00
Sara 2e7b3d3c4a moved update_objects to after update_game 2023-05-14 14:20:25 +02:00
Sara 44a4b6928c engine now uses displaymode to automatically start at desktop size 2023-05-11 21:09:49 +02:00
Sara 4d4547551c make_spritesheet now works with number of tiles on x and y rather than tile width and height 2023-05-11 21:09:23 +02:00
Sara 6fb60c254d renamed input_*down functions to input_get_*down 2023-05-11 21:08:13 +02:00
Sara 0a37a3278d renamed input_event to input_notify_event to clarify the function 2023-05-11 21:07:07 +02:00
Sara 22d0200d84 input internal variables and functions are now static and static inline respectively 2023-05-11 21:05:46 +02:00
Sara 664e4561a0 removed testing code from game.c and player.h/player.c' (#4) merge cleanup-testing-code into main
Reviewed-on: #4
removed all testing code and assets, as well as cleanup and organization
2023-05-11 17:52:39 +00:00
Sara 0894e9be27 removed todo file 2023-05-11 19:50:29 +02:00
Sara a6d63a1eef removed testing assets 2023-05-11 19:50:25 +02:00
Sara dfcc030f4d removed player.c and player.h
these were for testing anyway
2023-05-11 19:50:14 +02:00
Sara ce8cf1a0ea removed load_game() because of redundancy with start_game 2023-05-11 19:49:58 +02:00
Sara 1e184d43c7 world objects and input are now managed in engine.c rather than game.c 2023-05-11 19:49:40 +02:00
Sara f7696c4ea8 moved world functionality to corelib 2023-05-11 19:49:03 +02:00
Sara b72d4ef88a added better game world representation (#2)
Reviewed-on: Sara/sim-game#2
2023-05-08 10:17:28 +00:00
Sara 9f9cc446fe switched testing player controller to wasd (from arrows) 2023-05-07 17:55:22 +02:00