Commit graph

130 commits

Author SHA1 Message Date
Sara 07f534f796 fixed collision solving causing an inability to escape a surface 2023-10-24 23:57:38 +02:00
Sara d3612873ff removed minimum move from rigidbody_integrate_forces 2023-10-24 23:50:50 +02:00
Sara fc0260a100 events are now handled before the update loop 2023-10-24 23:50:33 +02:00
Sara 081be0a0f1 constraints now affect velocity 2023-10-24 23:50:10 +02:00
Sara f8462d8e2c reworked constraint solver to work relative to the overlap point 2023-10-24 23:49:59 +02:00
Sara 635fb7b69f removed impl macro for default physics solver 2023-10-24 23:18:55 +02:00
Sara 4047d04686 renamed physics_entity_solve_contacts (was default_contact_solver) 2023-10-24 23:18:13 +02:00
Sara e86fa1bdef implemented collision constraint solver 2023-10-24 23:14:30 +02:00
Sara 0a9c6745ad added shape_get_points 2023-10-23 21:59:05 +02:00
Sara fa2ca7241c added anglebetween to vmathf 2023-10-23 21:59:05 +02:00
Sara 1f56608950 shape now has shape_get_points for getting the List of points 2023-10-23 21:59:05 +02:00
Sara 919aa8406b shape now uses list 2023-10-22 12:02:05 +02:00
Sara f373fada26 added custom collision solvers 2023-10-22 11:25:44 +02:00
Sara 788c1970e2 disabled some debug drawing 2023-10-19 18:04:27 +02:00
Sara a52169892d separated rigidbody handle and solve contact functions 2023-10-19 18:04:13 +02:00
Sara 90b93a8817 replaced spring function 2023-10-19 18:03:34 +02:00
Sara 9541157e04 disabled sprite drawing for debugging 2023-10-19 13:51:24 +02:00
Sara aa9a51dc76 improvements to collision solvers 2023-10-19 13:51:17 +02:00
Sara 169fd63d9e now also displaying force in debug display 2023-10-19 13:50:58 +02:00
Sara 092e8670cd player now spawns at 5,-5 2023-10-19 13:50:43 +02:00
Sara b8ae02109a collision relative velocity is now calculated in one line 2023-10-19 13:50:35 +02:00
Sara 37b1fc3228 implemented velocity verlet integration 2023-10-18 22:51:56 +02:00
Sara 2b1014e603 modified hardcoded values for collision forces 2023-10-18 13:49:54 +02:00
Sara 19daff6ddd using better method to decide whether or not a collision is valid 2023-10-18 13:49:41 +02:00
Sara ed274c415f IT FUCKING WORKS (collision resolution is now working) 2023-10-18 13:21:02 +02:00
Sara 74369d88fe more debugging for collision sovler 2023-10-17 17:17:16 +02:00
Sara c7e6b2aa29 progress on physics 2023-10-16 21:31:48 +02:00
Sara 6cc16cf1f8 moved input code to player.c 2023-10-14 20:55:21 +02:00
Sara 30c1e780a1 added contiguous dynamic length array List 2023-10-14 20:54:59 +02:00
Sara a7846a48d9 player is now of type Player 2023-10-08 23:10:48 +02:00
Sara 47264c3da3 added tilemap collision 2023-10-08 23:10:37 +02:00
Sara 878b4c5595 added debugging logs for player collision 2023-10-08 23:10:27 +02:00
Sara 4e966b42a8 player now implements SpriteEntity 2023-10-08 23:10:13 +02:00
Sara c1e99e5038 now initializing, ticking and cleaning physics world from program_run 2023-10-08 23:09:41 +02:00
Sara 25e4fa652c added shape_new_square to construct a square collision shape 2023-10-08 23:09:17 +02:00
Sara d3d5382eb5 formatting changes 2023-10-08 23:08:56 +02:00
Sara 49191e85ba transform_point now more explicitly rotates input position 2023-10-08 23:08:38 +02:00
Sara 9783774a7b tilesets now have a 1x1 square as a collision box & implemented tiledef_get_shape 2023-10-08 23:08:09 +02:00
Sara 6bb5fe7837 tilemaps now have a rigidbody, tile instances refer to their containing tilemap 2023-10-08 23:07:30 +02:00
Sara 6df816e778 added sprite entity trait 2023-10-08 23:07:04 +02:00
Sara ac24521b34 camera_world_to_pixel_point now also takes camera fov into account 2023-10-08 23:06:47 +02:00
Sara 62410b7d72 prefixed internal helper functions with _internal 2023-10-07 23:00:31 +02:00
Sara a108aa21f7 physics entity interface now requires a callback for collisions 2023-10-07 23:00:03 +02:00
Sara 37008f455e the physics world will now work for physics entities 2023-10-07 22:59:24 +02:00
Sara 7337592855 added behaviour entity type 2023-10-07 22:58:51 +02:00
Sara b7721baeb7 collision_check will now return 1 if there is a collision, and write collision data to the new out variables 2023-10-07 22:58:15 +02:00
Sara f237da1b93 renamed self to data for transformable interface 2023-10-07 18:43:30 +02:00
Sara 59f6c7d1ee moved shape overlap code to collision.c 2023-10-07 18:42:38 +02:00
Sara 6f49f846cc renamed self to data for impls 2023-10-07 18:42:28 +02:00
Sara c136bc1494 implemented basic player struct with impl for behaviour physics and transformable 2023-10-07 18:42:09 +02:00
Sara 9c0c354fcd physics entity now extends transformable 2023-10-07 18:41:12 +02:00
Sara 8c78395219 changed other type of collision to PhysicsEntity and added separation force 2023-10-07 18:39:57 +02:00
Sara 39625789e2 added PhysicsEntity trait describing an object containing a rigidbody, shape and transform 2023-10-06 23:46:27 +02:00
Sara 32c8b93d40 added collision struct to describe a collision between two entities 2023-10-06 23:45:31 +02:00
Sara a00ad5f022 added rigidbody struct defining an object's physical properties 2023-10-06 23:45:12 +02:00
Sara aa7f76e8a2 get_asset_id will now return 0 if it fails to find the given asset 2023-10-06 23:44:43 +02:00
Sara 883d72ff99 json_array_len will now fail if the passed in json is not an array 2023-10-06 23:44:15 +02:00
Sara 0c9e840986 added camera_world_to_pixel_point 2023-10-06 23:43:35 +02:00
Sara c62fed8ec2 level_load now logs before freeing filename, fixing double free 2023-10-06 23:43:20 +02:00
Sara 7beb63532f addedadded delta_time() to get last frame duration 2023-10-06 23:42:55 +02:00
Sara b442e493d2 tileset_from_json now returns an error if allocation of tileset failed 2023-10-06 23:42:38 +02:00
Sara 7b8f3565dd now using absolute values for vsqrmagnitudef 2023-10-06 23:41:52 +02:00
Sara dae9be6196 added transformable and implemented it for Transform 2023-10-06 23:41:30 +02:00
Sara 238af041c8 implemented shape class with SAT collision detection 2023-10-06 23:40:55 +02:00
Sara 783258e086 Added ASSERT_RETURN and RETURN_ERROR as well as WARNING variants of each 2023-10-02 10:45:30 +02:00
Sara a841fa7c92 reworked rendering to transform sprites to pixel coordinates correctly 2023-10-01 21:58:48 +02:00
Sara 6ac2fa6c4f added keyboard input event handling 2023-10-01 15:22:27 +02:00
Sara 4ebe759030 implemented tilemap rendering 2023-10-01 15:22:17 +02:00
Sara cb869cb647 vmulf is now a Vector*Vector multiplication, Vector*float is now vmulff 2023-09-24 23:41:13 +02:00
Sara 85a1798a3e added transforms 2023-09-24 23:40:47 +02:00
Sara ee69c8de8c removed xml code as prep for switching to ldtk for level editing 2023-09-24 23:40:38 +02:00
Sara 9180c6d06f added sprite and spritesheet 2023-09-24 23:40:14 +02:00
Sara 76c97a51c0 testing sprite rendering in program_run 2023-09-24 23:40:02 +02:00
Sara 5e494bac1b added asset manager 2023-09-24 23:39:46 +02:00
Sara 2981e05419 implemented mvp for camera and tilemap rendering 2023-09-24 00:31:11 +02:00
Sara ab38444790 implemented some of the camera functions 2023-09-23 22:53:07 +02:00
Sara 5516a70d57 removed references to old "Context" concepts and replaced with constants, declared camera functions 2023-09-23 22:52:55 +02:00
Sara 5b5b4c31fc Added vector constants and floating point vector math functions 2023-09-23 22:52:23 +02:00
Sara 661af077b2 refactored tilemap_load to use tiled xml format 2023-09-22 17:12:06 +02:00
Sara c1207d8b8a added source code 2023-09-18 08:32:11 +02:00