Commit Graph

165 Commits (0698121853076d92d0243da5f0953c1c8e2a7a31)

Author SHA1 Message Date
Sara 0698121853 object_is_valid now confirms that an object is not null and is active 2023-07-12 02:49:36 +02:00
Sara 8a6a0e7493 physics.c: can_collide now checks for object_is_valid before comfirming other variables 2023-07-12 02:47:31 +02:00
Sara 78c0e3a9c0 object_is_valid now takes a constant pointer 2023-07-12 02:46:26 +02:00
Sara 59de57fe3a simplified error checking, out of memory now results in an immediate crash when trying to expand world 2023-07-12 02:44:21 +02:00
Sara 5e001bc345 object_is_valid now confirms if an object is valid, as opposed to if an object is invalid 2023-07-12 02:43:53 +02:00
Sara 3e3f322529 _find_free_object now returns the index of the found object / make_object now allocates the object if the found slot is NULL 2023-07-12 02:38:26 +02:00
Sara 30d4e4c39a replaced initialization code of _world_objects.objects with new_list 2023-07-12 02:29:33 +02:00
Sara a139e4f3bb now initializing newly expanded world space with nullptrs 2023-07-12 02:28:13 +02:00
Sara 6a52f2795d object_is_valid now does not attempt to validate internals if object is NULL 2023-07-12 02:25:32 +02:00
Sara d915047bd1 removed uses of world_num_objects from world.c and replaced them with _world_objects.num 2023-07-12 02:25:11 +02:00
Sara c1fa6e2956 now creating world array with 16 elements if world array length is 0 2023-07-12 02:19:32 +02:00
Sara 544f18e9c6 added error when failing to expand world 2023-07-12 02:16:05 +02:00
Sara e6b66884ec added expandable world objects array 2023-07-12 02:07:29 +02:00
Sara 3ed5755e52 physics.h no longer depends on g_objects being public, or WORLD_NUM_OBJECTS being constant 2023-07-12 02:07:08 +02:00
Sara a5c6a7eceb added objecadded object_is_valid 2023-07-12 02:06:40 +02:00
Sara 1eb8ab2fd9 WIP: world array is now an array of pointers to objects 2023-06-28 08:54:22 +02:00
Sara a18d5599b4 Merge remote-tracking branch 'origin' into dynamic-size-world 2023-06-28 08:52:35 +02:00
Sara ca3b2af703 added math library to CMakeLists 2023-06-27 09:30:00 +02:00
Sara de7d14ae92 added corelib.h include for minimal setup 2023-06-27 08:16:45 +02:00
Sara f395f27532 moved entry to corelib 2023-06-27 08:16:31 +02:00
Sara 528e35537f renamed engine module to entry module 2023-06-26 17:43:15 +02:00
Sara f115334644 moved engine module to corelib 2023-06-26 17:42:02 +02:00
Sara ac722f6e5f Merge pull request 'rework collision_t component into a more wholistic physics_t component' (#11) from object-physics into main
Reviewed-on: #11
2023-06-26 15:28:33 +00:00
Sara 484db1961a reformatting some lines in CMakeLists 2023-06-26 17:24:57 +02:00
Sara 20ca626acf solve_collision_slide no longer modifies rhs argument 2023-06-25 18:18:07 +02:00
Sara 9a732ad82f simplified solve_collision_slide 2023-06-25 18:13:48 +02:00
Sara 812e7eab20 renamed move_and_slide to physics_move 2023-06-25 18:13:28 +02:00
Sara ead22d114c added explicit extern specifiers to physics functions lacking them 2023-06-25 18:13:12 +02:00
Sara 7a2cb3cd5c added solver field to physics_t, exposed solve_collision_slide to make it work 2023-06-25 18:12:38 +02:00
Sara 76bf6e81e5 reworked collision_t component into physics_t component 2023-06-25 12:41:53 +02:00
Sara 8a028dca08 Merge pull request 'improved handling of interpolate_move calls with a distance shorter than minimum delta' (#10) from improve-short-moves into main
Reviewed-on: #10
2023-06-24 20:44:49 +00:00
Sara 4acc18a101 Merge branch 'main' into improve-short-moves 2023-06-24 20:44:43 +00:00
Sara a9ba15f93b improved handling of interpolate_move calls with a distance shorter than minimum delta 2023-06-24 22:42:38 +02:00
Sara 78d1e78dd7 Merge pull request 'split-world-module' (#9) from split-world-module into main
Reviewed-on: #9
2023-06-24 20:09:34 +00:00
Sara aa9dfa3fcd Merge branch 'main' into split-world-module 2023-06-24 20:09:04 +00:00
Sara bf21a388ab Merge pull request 'Add a move_and_slide style interpolation option' (#7) from move-and-slide into main
Reviewed-on: #7
2023-06-24 20:08:56 +00:00
Sara b8c856bf56 split the world module into world, physics, and object 2023-06-24 22:03:28 +02:00
Sara 43fa322409 removed debug prints from _slide_collision solver 2023-06-24 20:34:35 +02:00
Sara 4271ee8f8d fully implemented slide collision for any combination of aabb and circle colliders 2023-06-24 20:32:54 +02:00
Sara daa53c6ef0 movetowards now also works in cases where x == 0 && y != 0 || x != 0 && y == 0 2023-06-24 20:32:31 +02:00
Sara 3df374b3b9 interpolate move will now immediately stop if destination is reached 2023-06-18 22:45:06 +02:00
Sara fd99159b27 Merge pull request 'fix event based axis input giving results that are not in range -1 to 1' (#8) from event-input into move-and-slide
Reviewed-on: #8
2023-06-18 20:24:31 +00:00
Sara fab7338891 axis now keeps a history for both keys 2023-06-18 22:22:16 +02:00
Sara cfcd31cee8 more explicit typing and casting in timespec_to_sec 2023-06-18 22:17:38 +02:00
Sara fc1f3499e3 input events are now still pumped during frame downtime 2023-06-18 22:17:25 +02:00
Sara 14b8b2f380 delta time is now updated before evaluating minimum delta time/ 2023-06-18 22:17:06 +02:00
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