Sara
|
14a81b0f2a
|
removed preset initialization functions
|
2023-07-15 20:15:25 +02:00 |
Sara
|
ec50000130
|
un-negated uses of object_is_valid that shouldn't be, and negated ones that should be
|
2023-07-12 02:52:04 +02:00 |
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
|
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
|
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
|
a9ba15f93b
|
improved handling of interpolate_move calls with a distance shorter than minimum delta
|
2023-06-24 22:42:38 +02: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
|
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 |
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 |