Commit Graph

53 Commits

Author SHA1 Message Date
raysan5
884e868e92 Review DEBUG trace log and custom allocators
Not exposing some data structures
2020-02-10 10:56:39 +01:00
Ray
c3f06b7470 Remove all trail spaces 2020-02-03 19:26:28 +01:00
Ray
af3df8bdd6 Review PHYSAC_NO_THREADS on WebAssembly 2020-01-29 12:10:50 +01:00
Ray
02a533768c Review bool type check 2020-01-29 12:10:09 +01:00
Ray
46046bf018 Review spacing 2020-01-29 12:09:56 +01:00
Ray
bc29720024 Renamed Mat2 to Matrix2x2 2020-01-29 12:09:35 +01:00
Ray
dc6136e820 Review formatting for PR #1004 2019-10-29 16:03:21 +01:00
João Coelho
75b0264f35 fix various problems, thanks CppCheck :) (#1005)
* explained a bit more the core_window_letterbox example

* fixed a few 'ups' moments that could lead to mild head pain and time loss
2019-10-29 15:57:19 +01:00
Ray
b75511248d Remove trailing spaces 2019-10-17 17:18:03 +02:00
Ray
72ab65277b Avoid some warnings 2019-05-20 16:37:44 +02:00
raysan5
561c486ceb Add WinMM library for linkage
Now it's required on Windows if not using a busy wait loop
2019-05-10 20:51:48 +02:00
noshbar
7f7f3b7cd5 Physac.h fix for variable array size declaration.
Generating the projects using CMake, targeting VS2017, results in an error when compiling.
This is due to physac.h trying to make a 'vertices' array of size 'int count', making it const does not work, either.

This changes the static declaration to a malloc/free combo.

Tested using the physics-demo.
2018-10-10 21:52:50 +02:00
Pablo Marcos Oltra
35634f37c8 Fix physac's fixed time step 2018-10-04 18:29:50 +02:00
Pablo Marcos Oltra
907e27ef4e Fix Physac examples to be run without creating new thread 2018-07-29 21:32:39 +02:00
Ray
d873314c27 Reviewed Windows resource file name 2018-05-29 00:52:08 +02:00
victorfisac
d6fee9da29 Fixed compilation code comment in header 2018-03-10 19:30:25 +01:00
victorfisac
3201bad65a Fixed memory leaks in physics step operations 2018-03-10 19:25:17 +01:00
Ahmad Fatoum
520f317a75 #include header for time() on Windows 2018-01-25 23:12:03 +01:00
raysan5
f44dbf21cf Review physac timming system 2017-12-24 15:59:03 +01:00
Ahmad Fatoum
899e1fbd94 Avoid duplicate definition of feature macro
Feature macros need to be defined before #including any headers,
preferably through the build system, but this is good enough.

Fixes a compile error on my fork's Travis CI.
2017-11-22 22:58:18 +01:00
Benjamin Summerton
71d9426565 Make physac work on OS X
Physac wasn't working on OS X.  It looks like the necessary timing code wasn't being compiled in by the preprocessor.

fixes #340
2017-07-30 23:56:58 -04:00
Michael Vetter
272073785f Add define to have CLOCK_MONOTONIC work in c99
If we compile with c99 without gnu extensions (gnu99) we need this
define, to have CLOCK_MONOTONIC and similar macros available
2017-06-11 11:20:30 +02:00
Ray
a5bfd7db22 Some reviews for RPI 2017-05-16 15:23:01 +02:00
Ray
fd5c36fc32 Avoid math function duplicates 2017-05-11 17:22:25 +02:00
raysan5
3e082f1d62 Updated physac to latest version 2017-04-16 19:08:34 +02:00
RDR8
9875198a56 c99 fix, some linux housekeeping 2017-03-24 01:20:24 -05:00
victorfisac
c964559bc9 Update physac source and examples with new changes 2017-03-06 22:57:33 +01:00
victorfisac
f88a943418 Fix bug in isGrounded state calculations 2017-03-06 09:58:28 +01:00
Ray
05cff44d0a Improved modules description -IN PROGRESS-
Working in modules configuration flags...
2017-02-16 00:50:02 +01:00
Saggi Mizrahi
1aa775eca8 Fix physac.h building on linux
Signed-off-by: Saggi Mizrahi <saggi@mizrahi.cc>
2016-12-22 03:26:54 +02:00
victorfisac
aa9353feb4 Updated Physac library 2016-11-21 20:30:46 +01:00
victorfisac
1b0996fb0b Updated physac header documentation 2016-06-14 20:54:20 +02:00
victorfisac
4e84ded7ef Fixed spacing and set UpdatePhysics() function as static...
and remove static from PhysicsThread().
2016-06-14 20:38:49 +02:00
victorfisac
5a1cbb2842 Fix current time value 2016-06-14 20:25:08 +02:00
victorfisac
54537e8f0b Fixed bug in delta time calculation...
and added PHYSAC_NO_THREADS define. Improved physac example drawing
frames per second in screen.
2016-06-14 20:23:46 +02:00
victorfisac
5625c11e99 Added internal hi-resolution timer to physac...
... and now physac thread creation is done in InitPhysics() and it is
destroyed in ClosePhysics(). User just need to call these functions to
use physac module.
2016-06-12 22:07:06 +02:00
victorfisac
c10c49e44f Convert physac module from static steps to fixed time steps
Old physics update system used a static number of steps to calculate
physics (450 for desktop and 64 for android). It was too much and it was
limited by target frame time...

Now physics update runs in a secondary thread using a fixed delta time
value to update steps. Collisions are perfectly detected and resolved
and performance has been improved so much.
2016-06-11 18:35:46 +02:00
raysan5
c46c0fc652 Corrected keywords usage 2016-06-11 12:18:08 +02:00
raysan5
e2cfc6b838 Reduced physic steps resolution 2016-06-09 21:00:21 +02:00
raysan5
558ec3891b Converted physac module to header only 2016-06-09 20:01:59 +02:00
raysan5
2168d8aa1a Removed DrawPhysicObjectInfo() function
To avoid additional dependencies
2016-06-02 19:16:11 +02:00
raysan5
af890cf210 Updated to avoid pointers 2016-05-20 10:53:58 +02:00
victorfisac
60223a358b Physac redesign (3/3)
Finally, physics update is handled in main thread using steps to get
accuracy in collisions detection instead of moving it to a new thread.

Examples are finished as simple and clear as I could. Finally, physac
module is MORE simpler than in the first version, calculation everything
by the same way for both types of physic objects.

I tryed to add rotated physics a couple of times but I didn't get
anything good to get a base to improve it. Maybe for the next version...

No bugs or strange behaviours found during testing.
2016-03-23 15:50:41 +01:00
victorfisac
0caf925d5d Updated headers 2016-03-16 12:48:30 +01:00
victorfisac
7128ef686d physac module redesign (2/3)
physac module base almost finished. All collisions are now resolved
properly and some force functions was added.

COLLIDER_CAPSULE removed for now because in 2D everything is composed by
rectangle and circle colliders...

The last step is move physics update loop into another thread and update
it in a fixed time step based on fps.
2016-03-16 12:45:01 +01:00
victorfisac
78e4772f21 Fixed physac header little mistake 2016-03-05 19:36:40 +01:00
victorfisac
305efcf5ad Redesigned physics module (IN PROGRESS)
physac modules is being redesigned. Physics base behaviour is done and
it is composed by three steps: apply physics, resolve collisions and fix
overlapping.

A basic example is currently in progress. The next steps are try to add
torque and unoriented physic collisions and implement physics basic
functions to add forces. Rigidbody grounding state is automatically
calculated and has a perfect result. Rigidbodies interacts well with
each others.

To achieve physics accuracy, UpdatePhysics() is called a number of times
per frame. In a future, it should be changed to another thread and call
it without any target frame restriction.

Basic physics example has been redone (not finished) using the new
module functions. Forces examples will be redone so I removed it from
branch.
2016-03-05 17:05:02 +01:00
raysan5
ed19064405 Reviewed physics module
A deeper revision required, not clear enough for the user
Key: Create a PhysicObjects pool
2016-02-13 17:09:53 +01:00
raysan5
cf6c6fefd7 Review some function names for consistency with raymath 2016-01-20 19:23:58 +01:00
raysan5
c5663ca015 Some formatting tweaks 2016-01-20 19:09:48 +01:00