Commit Graph

351 Commits

Author SHA1 Message Date
fgsfds e93a2bc14e add config vars for audio thread runahead and sleep 2024-05-22 10:31:11 +02:00
fgsfds 2b67eb4012 threads: style fixes, cross-platform crap 2024-05-11 15:40:28 +02:00
Miguel 39cfae663f
Multithreaded Audio (#554)
* created the audio thread

* Update playback.c

* moved call to audio_game_loop_tick() to the audio thread

* added semaphores

* Update pc_main.c

* audio thread now runs at 60hz

also now using the built-in sys_sleep() upon sleeping. also implemented mutex locks.

* audio thread doesn't run when loading a level

uses code lifted straight from the original decomp since that deals with multithreading

* mutex, semaphore, and time functions moved to platform.c

* fixed race condition (i hope). also created thread.h and .c for global access

* refactored so that pc_main has the functions for waiting for a semaphore and whatnot

* Update pc_main.c
2024-05-11 14:48:23 +02:00
fgsfds f2cfd74721 fix #555 2024-05-11 14:31:55 +02:00
GhostlyDark 1502fb8f88
Update rumble functions for SDL v2.0.18+ (#553) 2024-05-11 13:56:20 +02:00
fgsfds 951389ca84 allow mouse buttons when BETTERCAMERA is disabled (fix #496) 2023-12-19 01:55:41 +01:00
fgsfds e35f2ba8ef remove debug prints from gfx_opengl_legacy.c 2023-12-19 01:23:04 +01:00
fgsfds 8000f6bb3d fix #514 2023-12-19 01:22:12 +01:00
fgsfds 98aa0fe376 fix #537 2023-10-16 15:03:20 +02:00
Giuliano De Pian 54cd27ccee
Fixed invalid messageID on menus (#529)
Fixed entering an invalid messageID state from copy menu, fixing the famous file select screen crash.
2023-07-01 13:45:50 +02:00
fgsfds 2a312a8f68 move sys_sleep to platform.c 2021-11-26 03:29:37 +03:00
fgsfds b5f50dd975 time whole frame instead of just the rendering part
thanks to opmox for the fix
2021-11-26 03:12:32 +03:00
fgsfds 6a904853bd remove --syncframes 2021-11-25 16:20:11 +03:00
blackops7799 d1b787427c Remove test_vsync
Simplify sync_framerate_with_timer
2021-11-25 03:05:58 -05:00
blackops7799 c4a55e351d Always syncronize framerate with timer (Fixes #381) 2021-11-24 21:32:38 -05:00
DanTheMan827 b9cdcb2d81
Load gamecontrollerdb.txt before SDL_Init 2021-01-22 11:15:23 -06:00
fgsfds 84a3e6e953 make options menu arrows static 2020-11-02 19:43:40 +03:00
fgsfds 70b281405f actually use the sys_sleep function 2020-11-02 19:39:40 +03:00
fgsfds 68e6e60a03 new timing scheme which should eliminate speedups
thanks to opmox for initial implementation
2020-11-02 19:32:54 +03:00
MysterD 3908ff3954 Prevent crash in vanish cap switch course
The segfault is hit while trying to render bhvCheckerboardElevatorGroup
when the player first enters the stage.

So here's some background: bhvCheckerboardElevatorGroup is the invisible
parent object that defines where the two platforms will rotate around. It
has a model, but it's never rendered in game. The entity only exists for
a few frames before being removed from the scene.

Here's the theory: Since it is only valid for a few frames, I believe the
model gets deallocated after removal. Since changing the camera precision
makes the camera end up in a slightly different spot, it could be trying
to render the object when precision is set to 3 but not to 1.

Here's the solution: Adding cur_obj_hide() to the start of
bhv_checkerboard_elevator_group_init() prevents the crash

fixes #437
2020-10-11 13:32:02 -07:00
fgsfds c1ed30a2fa Revert "fix crash with dynamic surfaces?"
apparently this was causing collision issues
2020-10-04 02:47:25 +03:00
s4Ys369 18dc3e268a Bugfix: Discord Integration crashes
Fix by PeachyPeach to stop crashes with Discord Integration when enter later Bowser courses and fights early
2020-10-04 02:22:35 +03:00
fgsfds 5c21494c73 fix crash with dynamic surfaces?
unknown if this has actually caused any issues in EX
2020-10-01 18:02:13 +03:00
fgsfds 5aea6db912
Merge pull request #419 from AloXado320/optchanges
Option Menu Changes
2020-09-29 19:30:05 +03:00
fgsfds 5b66d3faff
Merge pull request #421 from ineedhelpbad/Text-save-cannon-fix
BUGFIX:  Text Saves aren't saving cannon flags. #397
2020-09-29 19:28:50 +03:00
MysterD 7af6e308a4 Make bettercam/puppycam respect NO_CAM_COLLISION 2020-09-28 20:49:03 -07:00
MysterD 47fca44582 Increase bettercam's precision 2020-09-28 20:47:51 -07:00
MysterD 75bed240fa Improve bettercam's collision detection and avoidance
The precision of ray casting was too low previously, causing the
collision checks to skip right past a wall sometimes. There was also
nothing to prevent the camera from getting too close to a wall
horizontally or vertically.
2020-09-28 20:47:31 -07:00
John Collins 857b7a6db4 BUGFIX: Cannon open not saving 2020-09-10 02:11:38 -05:00
AloXado320 f722b31e13 undo naming for now 2020-09-07 19:09:12 -05:00
AloXado320 921ffd3c8d option menu changes 2020-09-07 13:18:33 -05:00
fgsfds fb22013eab add --syncframes to override vblank count detection 2020-09-07 15:48:41 +03:00
fgsfds dd0e86dbee add rudimentary SDL1 controller backend
it's more to deal with the mouse not working I suppose
2020-08-30 16:06:22 +03:00
fgsfds 4c1809a9da Merge remote-tracking branch 'origin/master' into nightly 2020-08-30 15:41:45 +03:00
fgsfds 420d82ce8c fix spaces 2020-08-30 15:39:41 +03:00
fgsfds 68a141e996
Merge pull request #350 from pouar/fix-snufit
Bugfix for NODRAWDISTANCE
2020-08-30 15:34:24 +03:00
fgsfds da20f79e96 GL_LEGACY: this should've been GL_REPLACE all along 2020-08-30 01:29:26 +03:00
Garrett 468887a6f9 Check for zero rumble setting before allowing rumble
Fixes controllers which don't check for rumble_strength and have constant rumble from rumbling even when set to 0 in the config.
2020-08-29 17:08:17 -04:00
fgsfds 840eadb9e6 change GL_LEGACY to only use GL1.1 (1.2?) features 2020-08-29 02:13:30 +03:00
fgsfds dfd1a08475 add --poolsize arg for modifying main pool size 2020-08-29 02:13:30 +03:00
fgsfds a8cda7d09e fix controller_sdl2 2020-08-15 16:04:55 +03:00
fgsfds ca3f83c5d0
Merge pull request #399 from ineedhelpbad/nightly
BUGFIX: Camera bugs when using flying cap with BETTERCAMERA=1 #370
2020-08-15 15:59:59 +03:00
fgsfds 3407f2d562
Merge pull request #400 from ineedhelpbad/patch-1
BUGFIX: Camera invert #373
2020-08-15 07:17:02 +03:00
fgsfds 347980355b add barebones SDL1.2 backends
for that sweet Win9x support
2020-08-15 07:15:28 +03:00
ineedhelpbad 91b038d39b
BUGFIX: Camera invert #373
Fix: Free Camera is forever inverted on the Y-Axis, changing the setting does nothing. #373
2020-08-13 13:49:02 -05:00
ineedhelpbad 85d0108462
Update mario_actions_airborne.c 2020-08-13 00:26:23 -05:00
fgsfds 8543ee8be3 fix GL_LEGACY 2020-07-27 17:28:32 +03:00
fgsfds 597546125e don't assume first frame happens at 0 ticks 2020-07-10 15:44:58 +03:00
fgsfds 4b15a8f7b6 add a catch for 240hz refresh rates
hopefully 150, 180 and 210hz monitors don't exist
2020-07-09 17:24:15 +03:00
fgsfds 572a4b698b do vsync exactly like sm64-port does it
maybe this will finally work better
2020-07-09 17:02:43 +03:00