Commit graph

621 commits

Author SHA1 Message Date
MysterD
ab9d7db29f Synchronized square platforms as groups of two 2020-08-28 20:25:34 -07:00
fgsfds
73c6c9105f change GL_LEGACY to only use GL1.1 (1.2?) features 2020-08-29 02:13:30 +03:00
fgsfds
655427f10f add --poolsize arg for modifying main pool size 2020-08-29 02:13:30 +03:00
MysterD
a778bf497d Resynchronized checkerboard platforms 2020-08-27 21:39:13 -07:00
MysterD
d2a2a80d56 Synchronized Big Boo's Haunt + major changes
Synchronized currentRoom per-player
Synchronized haunted bookshelf, and the bookshelf manager
Synchronized haunted chairs
Synchronized mad piano
Synchronized BBH's tilting trap, and made the physics multiple-player-aware
Synchronized scuttlebugs
Synchronized every variety of Boo
Synchronized elevators
Synchronized flamethrowers
Synchronized the various types of enemy books
Synchronized the book switches
Synchronized jumping box
Made coffins multiple-player-aware

Fixed everything that used gMarioState as an array instead of gMarioStates
Prevented some NPC-dialog softlocks
Prevented the remote player from messing up the local's camera settings
Possibly fixed the relatively rare chain chomp softlock
Possibly fixed the relatively rare chain hoot softlock
Fixed the first-person-camera softlock
Forced camera code to use the correct mario struct
2020-08-26 23:29:40 -07:00
MysterD
13b216ea5d Synchronized Boo 2020-08-24 21:38:49 -07:00
MysterD
8c650a5b7d Created system to reserve sections of SyncIDs per client
This allows clients to spawn a new sync object after the level loads and synchronize it.
Changed how un-initialized sync objects are detected
Koopa shells are the first thing to use this new system

Removed network_object_settings() command, instead explicitly setting the sync object parameters
2020-08-24 18:33:53 -07:00
MysterD
4b12d0e513 Fixed exclamation box synchronization bug 2020-08-18 18:47:21 -07:00
MysterD
53576aa51e Synchronized unagi 2020-08-18 18:47:06 -07:00
MysterD
57a4e746cf Synchronized underwater koopa shell 2020-08-18 18:46:54 -07:00
MysterD
f08e6f0806 Made floating platform multiple-player aware 2020-08-18 18:46:13 -07:00
MysterD
b8bdac2666 Made falling pillar multiple-player aware 2020-08-18 18:45:50 -07:00
MysterD
5b7e1c28d8 Synchronized clam 2020-08-18 18:45:34 -07:00
MysterD
79a2d95f00 Synchronized jrb ship and box 2020-08-18 18:45:19 -07:00
MysterD
c589f2a620 Synchronized treasure chests 2020-08-18 18:43:42 -07:00
fgsfds
e18b3c5b97 fix controller_sdl2 2020-08-15 16:04:55 +03:00
fgsfds
8b23c544d1 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
083a9be2a5 Merge pull request #400 from ineedhelpbad/patch-1
BUGFIX: Camera invert #373
2020-08-15 07:17:02 +03:00
fgsfds
3e9e2595aa add barebones SDL1.2 backends
for that sweet Win9x support
2020-08-15 07:15:28 +03:00
MysterD
6c617ef22a Changed default config values 2020-08-13 22:59:46 -07:00
MysterD
7cd5dbb1a4 Added CLI options to specify ip/port 2020-08-13 19:38:15 -07:00
MysterD
88bcd2a143 Sound fixes for remote player 2020-08-13 18:53:01 -07:00
MysterD
92398f3ca1 Made rumble only happen for local events 2020-08-13 18:49:24 -07:00
MysterD
90d9e255e4 Fixed exclamation box double item spawning when traffic is bad 2020-08-13 18:34:27 -07:00
ineedhelpbad
38b3ead13e 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
9ed98273d7 Update mario_actions_airborne.c 2020-08-13 00:26:23 -05:00
MysterD
31904c36bf Removed vestigial painting warp code, made painting selection instant 2020-08-12 22:17:12 -07:00
MysterD
6629b5493d Freeze mario in place when star spawning or dialog box pops up 2020-08-12 21:47:07 -07:00
MysterD
6e4c39eabe Kept more randomness, fixing tree leaves, fix pole segfault 2020-08-12 19:39:31 -07:00
MysterD
48f42d1873 Fixed visual bug when both players are sliding 2020-08-12 19:14:35 -07:00
MysterD
bdf269c262 Fixed tower platform spawning bug 2020-08-11 23:27:37 -07:00
MysterD
55df4e6bd7 Synchronized whomp 2020-08-11 23:03:40 -07:00
MysterD
4cc3d08769 Synchronized thwomp 2020-08-11 23:03:30 -07:00
MysterD
7165d5ca64 Synchronized all of the various platforms in WF 2020-08-11 23:03:13 -07:00
MysterD
84ef9e97c1 Synchronized piranha plant 2020-08-11 23:02:16 -07:00
MysterD
aec993b5b6 Synchronized kickable board 2020-08-11 23:02:03 -07:00
MysterD
0e72fc2b1f Synchronized bullet bill 2020-08-11 23:01:51 -07:00
MysterD
47948b2a4e Synchronized bomp 2020-08-11 23:01:36 -07:00
MysterD
d5b087acd8 Synchronized hoot 2020-08-11 23:01:13 -07:00
MysterD
697670b519 Synchronized breakable wall 2020-08-11 23:00:55 -07:00
MysterD
3b00aa9e42 Various synchronization enhancements 2020-08-11 23:00:13 -07:00
MysterD
2177094730 Synchronized wing cap and hidden trigger pickups 2020-08-10 23:38:58 -07:00
MysterD
f1789d4e78 Synchronized cap switch, and exclamation box contents 2020-08-10 22:59:11 -07:00
MysterD
5ca3f2ebd7 Synchronized platform-on-tracks 2020-08-10 19:08:47 -07:00
MysterD
0ceba4b372 Synchronized blue coin switch 2020-08-10 18:19:27 -07:00
MysterD
aaf521659e Disabled many timestops 2020-08-10 18:10:04 -07:00
MysterD
8fcf1728bd Synchronized snowman 2020-08-10 18:09:31 -07:00
MysterD
40a3d55f9a Synchronized racing penguin 2020-08-10 15:09:09 -07:00
MysterD
8c7348f10d Synchronized baby and mother Tuxie
Added missing star parameter
2020-08-10 14:27:56 -07:00
MysterD
c26bf586e1 Synchronized Mr Blizzard 2020-08-10 13:29:07 -07:00
MysterD
b2b7c6b9ba Synchronized spindrift 2020-08-10 12:08:53 -07:00
MysterD
1bef126df8 Synchronize area changes 2020-08-10 12:08:40 -07:00
MysterD
6701b6096d Rewrote level synchronization
Synchronized exit course from pause menu
2020-08-10 09:33:40 -07:00
MysterD
2e768869e3 Misc fixing to entering paintings 2020-08-09 18:58:58 -07:00
MysterD
d307fc3f30 Refactor packet_object + misc cleanup 2020-08-09 17:40:37 -07:00
MysterD
9036336f42 Gave each BehaviorScript an ID
Created functions to trivially translate an ID to a Behavior and vice
versa. Sent ID over packets instead of Behavior pointer. This should
allow Linux and Windows to play together.
2020-08-09 16:21:12 -07:00
MysterD
a896713510 Made sockets platform-independent, supporting Linux 2020-08-09 13:23:27 -07:00
MysterD
d7a5a151d0 Added checksums to packets 2020-08-09 10:44:21 -07:00
MysterD
66c1c4f206 Synchronized 1up spawning 2020-08-09 09:04:30 -07:00
MysterD
6c189cebe7 Synchronize course complete screen 2020-08-09 08:23:53 -07:00
MysterD
05ba304050 Synchronized exclamation boxes 2020-08-09 08:07:32 -07:00
MysterD
41647d95c4 Synchronize Bobomb buddies and cannons 2020-08-09 07:42:44 -07:00
MysterD
a49b8f3b1e Synchronized Koopa The Quick 2020-08-09 00:37:36 -07:00
MysterD
eeec6aae49 L is real 2020
Added Luigi model.
Renamed all previous references to 'Luigi' to 'Mario2' since player 1
isn't always mario, and player 2 isn't always luigi.
Now server is always mario and client is always Luigi.

Luigi model credits:
Original model by Cjes, converted by AloXado320, textures added/fixed by
SunlitSpace542.
2020-08-08 21:36:49 -07:00
MysterD
b07aa565d4 Synchronized 3 types of star spawning, adjusted star interactions 2020-08-08 18:57:04 -07:00
MysterD
7f5dec337e Synchronized King Bobomb
Tried to synchronize dialog stuff, it's way too much of a mess to do
2020-08-08 17:13:11 -07:00
MysterD
4b61f7212b Fixed receiving of health, made recovery heart 2-player aware 2020-08-07 22:27:15 -07:00
MysterD
2a0a3df34f Synchronized bowling balls
Added flag to keep randomization for sync objects
2020-08-07 21:13:07 -07:00
MysterD
199bd07bb3 Synchronized water bombs
Added packet system to spawn objects on remote
2020-08-07 20:34:12 -07:00
MysterD
8b24d364bb Synchronized purple switch
Started working toward synchronizing star spawning, not quite there yet
2020-08-07 19:37:19 -07:00
MysterD
444c1fdd3b Synchronized coin collection
Reimplemented how randomness is synchronized
2020-08-07 18:01:58 -07:00
MysterD
5ec9ab9ec0 Synchronized seesaw, started moving toward a MAX_PLAYERS define 2020-08-06 22:52:32 -07:00
MysterD
e86efb9e85 Synchronized checkerboard platforms
Created a max update rate
Created 'full object syncing'
Switched to using clock() instead of ticks for packet_object
2020-08-06 21:47:03 -07:00
MysterD
e0b86b7d59 Synchronized teleports (e.g. flowerbed) and star collection
Fixed infinite packet_level_warp sending
2020-08-06 20:28:21 -07:00
MysterD
6bc4bfea62 Improve chain chomp syncing 2020-08-06 19:04:59 -07:00
MysterD
fac4c20a36 Synchronized player health/death
Now we will never kill remote players locally, they will have to let us
know that they died.
Synchronized more of the small breakable box
Fixed desync where an object wouldn't be dropped sometimes
Fixed infinite loop when remote player was squished
2020-08-06 18:45:39 -07:00
MysterD
0a3b0623a5 Synchronized chain chomp, adjustments to Koopa
Added entity event syncing system. Made sure old events don't override
new events.
2020-08-05 23:44:43 -07:00
MysterD
0a2c76c76e Fixed max sync distance issue, synced Koopas 2020-08-05 20:25:52 -07:00
MysterD
e61b137160 Refactored entity death sync + reliable packets
Embedded an immediate packet send whenever a synced entity is unloaded
from the game.

Added reliable packet sending.
2020-08-05 01:01:50 -07:00
MysterD
6d3a90031c Synchronized breakable boxes
Added maximum sync distance, special cases for infinite distance and
only synchronizing entity deaths.

Started mocking out reliable packets for entity deaths.
2020-08-04 22:42:28 -07:00
MysterD
4452b38848 Synchronized inside-painting state 2020-08-04 20:49:53 -07:00
MysterD
f32d3a2ba7 Added Luigi to courtyard and BoB, fixed some crashing issues 2020-08-03 17:59:44 -07:00
MysterD
6d0d7ffbaa Dialog to toad/signs/doors no longer soft-locks or stops time 2020-08-03 23:23:09 -07:00
MysterD
ec2199892f Force synchronizing of level changes 2020-08-02 23:02:29 -07:00
MysterD
9b5b5acf19 Synchronized goombas, synced randomness, added extra fields to object packets 2020-08-02 18:29:46 -07:00
MysterD
de9eab364f Added update rates for objects based on distance 2020-08-02 16:38:02 -07:00
MysterD
3d055255bc Added ability to sync multiple objects 2020-08-02 16:09:32 -07:00
MysterD
716a924803 Synchronized held objects, made respawners keep their sync ID 2020-08-02 14:18:34 -07:00
MysterD
579415dca9 Started synchronizing objects, refactored networking 2020-08-02 01:43:12 -07:00
MysterD
42a52ad936 Fixed synced crawling/climbing animation speed 2020-08-01 21:35:38 -07:00
MysterD
34b1ec76f6 Started adding networking 2020-08-01 20:22:24 -07:00
MysterD
0ad65c87da Made collision particles Luigi-aware 2020-08-01 20:21:44 -07:00
MysterD
b525b9d43a Made one-ups Luigi-aware 2020-08-01 19:08:08 -07:00
MysterD
01e02affad Saved player index in held objects 2020-08-01 19:03:26 -07:00
MysterD
fa2470327f Prevent situation where both players hold same object 2020-08-01 18:56:42 -07:00
MysterD
7accb94398 Made fish Luigi-aware 2020-07-31 22:35:14 -07:00
MysterD
4351a6345a Made Goomba Luigi-aware, fixed Mario's hurtboxes 2020-07-31 22:13:05 -07:00
MysterD
c437e075ff Separated held objects, made Bobombs Luigi-aware 2020-07-31 18:03:57 -07:00
MysterD
e99ca8cfce Made bird Luigi-aware 2020-07-30 23:17:18 -07:00
MysterD
6597d30095 Butterflies are now Luigi-aware 2020-07-30 21:58:33 -07:00
MysterD
79fdb73e63 Fixed Mario going invisible when both are sliding 2020-07-30 21:43:50 -07:00
MysterD
2d2dff6647 Added IMMEDIATELOAD debug flag to skip all intro stuff 2020-07-30 20:42:39 -07:00
MysterD
4486e8000c Began fixing up Luigi collisions 2020-07-30 18:44:09 -07:00
MysterD
0737d2e03f Separated animations between players 2020-07-30 18:09:47 -07:00
MysterD
6b3ab5f115 Started adding player 2 / Luigi 2020-07-29 21:08:38 -07:00
MysterD
131fc7ea11 60 fps patch 2020-07-28 18:28:12 -07:00
fgsfds
d8ddf20dbb fix GL_LEGACY 2020-07-27 17:28:32 +03:00
fgsfds
bd873a7947 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
5aaa4e399a 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
74fb549516 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
fgsfds
a4b4d6d5e5 do vsync exactly like sm64-port does it
maybe this will finally work better
2020-07-09 17:02:43 +03:00
fgsfds
2982fcdb8e time video frames instead of game frames 2020-07-08 13:07:05 +03:00
fgsfds
d7187b219c time video frames instead of game frames 2020-07-08 13:07:05 +03:00
fgsfds
92e869d263 roll back to using SDL_Delay/SDL_GetTicks 2020-07-08 12:51:15 +03:00
fgsfds
c832bd19b5 roll back to using SDL_Delay/SDL_GetTicks 2020-07-08 12:51:15 +03:00
fgsfds
fde15809b7 add sanity checks in save_file.c
though it would be a better idea to solve the problem that leads to -1 being passed to these instead
2020-07-07 20:57:18 +03:00
fgsfds
7b8a7e4047 add sanity checks in save_file.c
though it would be a better idea to solve the problem that leads to -1 being passed to these instead
2020-07-07 20:57:18 +03:00
fgsfds
b3ddd3a9fc remove garbage from game_loop_one_iteration 2020-07-07 20:43:46 +03:00
fgsfds
442ef7665f remove garbage from game_loop_one_iteration 2020-07-07 20:43:46 +03:00
fgsfds
bc3e94b11e bump gfx pool size 2020-07-07 15:21:14 +03:00
fgsfds
b1d7124110 bump gfx pool size 2020-07-07 15:21:14 +03:00
fgsfds
1486bee60a replace 'double' vsync option with 'auto' from sm64-port 2020-07-07 15:21:14 +03:00
fgsfds
2993a7bed6 replace 'double' vsync option with 'auto' from sm64-port 2020-07-07 15:21:14 +03:00
fgsfds
765a08c846 merge gfx updates from sm64-port 2020-07-07 15:21:14 +03:00
fgsfds
bf174e36a6 nuke TARGET_N64 remnants 2020-07-05 14:42:26 +03:00
n64
c33936e862 Enhance Z-fighting issues for shadows 2020-07-05 14:39:34 +03:00
n64
744b6bf5d6 Don't render low-polygon variants on pc-port 2020-07-05 14:37:11 +03:00
n64
469ad637ed Make sure the first star is initially selected, if all stars are obtained 2020-07-05 14:37:03 +03:00
fgsfds
df1340c37c 'Better skybox position precision' from sm64-port 2020-07-05 14:33:57 +03:00
n64
6330644371 Refresh 11 2020-07-05 14:15:43 +03:00
fgsfds
fccaead53d allow to bind controller triggers 2020-06-25 02:10:03 +03:00
fgsfds
9c2b5f08b6 actually bind L to LSHIFT and LSHOULDER by default 2020-06-25 01:19:38 +03:00
fgsfds
9e4c0f26c9 bettercam: camera centering is bound to L again 2020-06-25 01:18:50 +03:00
fgsfds
026361ad61 force disable free camera during demo playback 2020-06-24 16:25:44 +03:00
fgsfds
89974e786d eu: check if language value is correct 2020-06-23 04:10:38 +03:00
fgsfds
613a23e5e3 I am a dumb fuck
where the fuck are these LANG_ defines from, winapi?
2020-06-23 03:38:04 +03:00
fgsfds
1ba31e1266 fix discordrpc in EU 2020-06-23 02:58:39 +03:00
fgsfds
cb9bd73866 reenable puppycam after level change 2020-06-21 20:42:02 +03:00
fgsfds
7eb65238f6 rename save folder to sm64ex; copy saves from old folder 2020-06-21 20:18:46 +03:00
fgsfds
52e32ba763 properly merge refresh 10.1's audio code
this fixes crashes on EU, there is now audio output but it's still borked
2020-06-21 02:23:03 +03:00
fgsfds
d48db1d9c6 add missing texture indicator 2020-06-20 18:13:10 +03:00
fgsfds
59cbe0ab70 update puppycam; add runtime option to disable it 2020-06-20 17:22:33 +03:00
fgsfds
fe44da4794 fix GRUCODE defines 2020-06-20 04:32:12 +03:00
n64
4a448cf10d merge refresh 10 2020-06-20 02:49:59 +03:00
Pouar
44f9b92124 Bugfix
The bullets snufit shoots immediately got deleted shortly after
shooting when NODRAWDISTANCE was enabled. This fixes it
2020-06-18 19:34:57 -05:00
fgsfds
34af21bad4 premultiply volume scales by master volume
instead of scaling the output
2020-06-18 02:20:32 +03:00
fgsfds
29e915e4df fix JP build 2020-06-17 05:18:05 +03:00
fgsfds
7526a998cb 'filter' is a reserved keyword in GLSL
but only Intel drivers get pissed at this
2020-06-17 04:40:14 +03:00
fgsfds
5abf1baf6a controller_sdl: init haptics separately in case it's not available 2020-06-17 03:11:50 +03:00
fgsfds
2e989e4831 properly scale sound volumes instead of abusing fadeVolume 2020-06-15 00:20:23 +03:00
fgsfds
91f50a4089 remove stray spaces 2020-06-14 23:29:34 +03:00
fgsfds
b1b3fef112
Merge pull request #329 from KiritoDv/nightly
Music Volume Config
2020-06-14 23:27:06 +03:00
fgsfds
fd05cd3adb don't use small resource alignment for large textures
thanks to Emil for this one

see https://docs.microsoft.com/en-us/windows/win32/api/d3d12/ns-d3d12-d3d12_resource_desc#alignment for an explanation
2020-06-13 22:54:33 +03:00
NoHomoBoi
b15bd727c2 Added sfx and env volume settings 2020-06-13 02:16:00 -05:00
fgsfds
208bfdcbf3 move all the discordrpc stuff to pc_main.c
that means it will now work in D3D11 and D3D12

also 'normalized' the sdl2 main loop
2020-06-13 04:21:47 +03:00
fgsfds
eed923e442 sdl2: fix window position saving and alt-enter 2020-06-13 00:51:37 +03:00
NoHomoBoi
7c341334f0 Code cleanup & changed max volume to 127 2020-06-12 03:22:08 -05:00
NoHomoBoi
56c6590bf3 Fixed config indentation 2020-06-12 00:56:51 -05:00
NoHomoBoi
66923e05af Changed configfile variable value
*Changed from configMasterVolume to configMusicVolume
2020-06-12 00:55:21 -05:00
NoHomoBoi
a632ee21ff Changed configfile variable name
*Changed from music_enabled to music_volume
2020-06-12 00:53:40 -05:00
NoHomoBoi
2fa7e4f4ba Merge branch 'nightly' of https://github.com/KiritoDv/sm64pc into nightly 2020-06-11 22:40:55 -05:00
NoHomoBoi
49dc1e3495 Added music volume config 2020-06-11 22:39:13 -05:00
fgsfds
aa5dfaa7c2 'properly' disable noise effect scaling 2020-06-12 00:23:47 +03:00
fgsfds
36bdb54d5e remove precision specifiers from the three-point shader
gives better compatibility on desktop GL

probably shouldn't be used on GLES anyway
2020-06-11 22:24:46 +03:00
fgsfds
8788cfa3ad d3d11 renderer now uses the configWindow values
d3d12 renderer still doesn't because I can't test it
2020-06-11 22:24:46 +03:00
fgsfds
3557e895fe add apply button to display settings 2020-06-11 22:24:46 +03:00
fgsfds
3dff608c7b add D3D12 headers because they're missing in mingw 2020-06-11 22:24:46 +03:00
fgsfds
383983ef9d form window title in pc_main; show correct RAPI in it 2020-06-11 22:24:46 +03:00
fgsfds
a81a8e6ef1 added D3D11 and D3D12 renderers from Emil/n64-fast3d-engine
along with options to select backends for windowing, rendering, audio and controls in the Makefile

use RENDER_API=D3D11 or D3D12 for the D3D renderers, that will also automatically enable using DXGI for windowing; SDL2 will still be used for input and audio for the time being

also adds three-point filtering to the OpenGL backend and an option for it in the menu
2020-06-11 22:24:46 +03:00
fgsfds
ca4986e82d fix GLEW include on OSX 2020-06-10 04:16:46 +03:00
fgsfds
457189bb13 use SDL_opengles2.h only when USE_GLES is defined 2020-06-10 01:01:34 +03:00
fgsfds
fca5ed8846 don't scale the noise to 240 height 2020-06-10 01:00:20 +03:00
fgsfds
33b4bd7f8d don't use the noise shader on GLES 2020-06-10 00:58:44 +03:00
fgsfds
735d032bdd use #version 120 on desktop GL 2020-06-10 00:56:10 +03:00
MaikelChan
fbbb3cba5c Implemented noise effects in OpenGL. (#6) 2020-06-10 00:30:59 +03:00
fgsfds
8d05d2b7e2 check GL version in the GL2.1 backend; check GLEW errors 2020-06-09 23:28:26 +03:00
fgsfds
01e6061276 clean up discord rpc a bit 2020-06-09 20:46:26 +03:00
fgsfds
dc17d19cd1 use snprintf() instead of itoa() 2020-06-09 20:26:00 +03:00
fgsfds
c04c315410 move the discord-rpc libs to lib/ 2020-06-09 20:19:22 +03:00
Jan200101
80e674cc21
remove explicit dereference 2020-06-09 19:02:00 +02:00
Jan
233c2d8f72
Merge branch 'nightly' into feature/discordrpc 2020-06-09 17:16:42 +02:00
Jan200101
5933742f82
replace static linking with dynamically loaded libraries 2020-06-09 17:15:49 +02:00
Jan200101
f1ba90d25b
add discord rpc support 2020-06-09 12:01:31 +02:00
fgsfds
326f8ed071 properly check for basepacks 2020-06-08 08:49:06 +03:00
fgsfds
ef5eab2263 fix sys_file_extension for folders that start with dot 2020-06-08 07:45:22 +03:00
fgsfds
585c24a282 updated usage text 2020-06-08 06:38:41 +03:00
fgsfds
51651d52d0 restore --savepath and replace --datapath with --gamedir 2020-06-07 23:54:39 +03:00
fgsfds
0bf5a192f4 fix sys_fatal() warnings in gfx 2020-06-07 22:00:49 +03:00
fgsfds
b9c94ad57d fix text saves 2020-06-07 22:00:23 +03:00
fgsfds
4feacc0065 add virtual filesystem thing w/ ZIP support
similar to Quake 3: all the archives and folders get mounted to the same mountpoint in the VFS, read access to files in the VFS is transparent
2020-06-07 21:06:25 +03:00
Zerocker
f6ab82d144 Fix a couple of warnings 2020-06-07 22:19:47 +09:00
Zerocker
6733bdb3ae Fix parsing for bonus and cap data 2020-06-07 21:44:00 +09:00
Zerocker
808bd99592 Remove some braindead comments 2020-06-07 21:38:14 +09:00
fgsfds
5d2f4e1ba5 32 chars is too small for this shit 2020-06-05 20:26:43 +03:00
fgsfds
e9f0519bc4 text saves now utilize the save path 2020-06-05 20:23:18 +03:00
Zerocker
ad92b93b39
Fix missed collected stars after gameover 2020-06-05 15:15:40 +09:00
fgsfds
aff081080b unfuck keyboard API; actually use seconds for rumble time 2020-06-04 23:58:18 +03:00
fgsfds
bd68d6cb67 move rumble functions to controller API 2020-06-04 23:39:57 +03:00
Zerocker
77217baf13 Merge remote-tracking branch 'upstream/nightly' into rumble_back 2020-06-04 19:13:41 +09:00
fgsfds
88b044bd76 load external gamecontrollerdb file if it's present 2020-06-03 00:10:42 +03:00
fgsfds
5b14bf3b5e precache is now turned on by default 2020-06-03 00:10:20 +03:00
fgsfds
f00c553f75
Merge pull request #287 from GateGuy/NoDrawFishFix
Fixed fish constantly respawning with NODRAWINGDISTANCE=1
2020-06-02 02:41:14 +03:00
GateGuy
269cd8f60f Fixed constant fish respawning 2020-06-01 17:33:22 -04:00
fgsfds
6cee636382 change EXTERNAL_TEXTURES to EXTERNAL_DATA; load sound data from external files
no separation tho, just binary blobs o shit
2020-06-01 12:13:05 +03:00
fgsfds
8b386a2175 allow binding stick directions to controller buttons 2020-06-01 00:03:53 +03:00
Zerocker
b7b255317f Added backup for slot 0 to slot 1 2020-06-01 00:02:47 +09:00
Zerocker
4a24cb9d16 Removed "Disable BLJ" from branch 2020-05-31 14:23:28 +09:00
Zerocker
9917188ec8 Revert "Secret Cheat was added"
This reverts commit 19990cde38.
2020-05-31 14:18:17 +09:00
Zerocker
82163b706a Merge remote-tracking branch 'upstream/nightly' into textsaves_fix 2020-05-30 21:00:11 +09:00
Zerocker
709a049ab6 Added rumble strength option 2020-05-30 20:50:12 +09:00
Zerocker
2bc577bc3c Added haptic implementation 2020-05-30 20:37:37 +09:00
Zerocker
cf122ee6e8 Merge remote-tracking branch 'upstream/nightly' into rumble_back 2020-05-30 17:34:56 +09:00
fgsfds
f6c54e95b2 read in all config line tokens (fixes the binds not saving) 2020-05-29 20:10:38 +03:00
fgsfds
93030b02a3 don't die after encountering a NULL texture 2020-05-29 19:35:35 +03:00
fgsfds
540a0387c9 fix build 2020-05-29 18:08:00 +03:00
Zerocker
b5cdf7e7f6 Returned back OS functions in the commented state 2020-05-29 23:23:45 +09:00
Zerocker
3f1fd3aba8 Merge remote-tracking branch 'upstream/nightly' into rumble_back 2020-05-29 23:19:09 +09:00
fgsfds
aaa2c71d43
Merge pull request #278 from GateGuy/DeadzoneOption
Added joystick deadzone setting to Controls
2020-05-29 08:22:00 +03:00
GateGuy
2e332c9316 Fixed typo in comment 2020-05-28 18:42:45 -04:00
GateGuy
875d7a9b3c Added deadzone option 2020-05-28 18:40:36 -04:00
fgsfds
a0a256499b
Merge pull request #269 from coltongit/patch-31
Fix a minor error with bettercamera
2020-05-27 03:18:02 +03:00
fgsfds
62e78a74c0 fix crashes with EXTERNAL_TEXTURES on JP/EU and Bowser
related to two huge textures and fonts
2020-05-27 02:51:21 +03:00
Colton G. Rushton
b5b5aab076
Fix a minor error with bettercamera
The bettercamera code set when the player goes to THI is actually supposed to be set when the player goes to TTM. This small PR fixes this minor bug.
2020-05-26 15:28:36 -03:00
fgsfds
655c381d6f add texture preloading
when EXTERNAL_TEXTURES is defined, the texture hashmap in gfx_pc.c uses texture names as keys

all textures are precached on startup if EXTERNAL_TEXTURES is defined and 'precache' is true in the config
2020-05-26 00:54:51 +03:00
Zerocker
6166402626 Removed ifndefs from main 2020-05-25 17:06:50 +09:00
fgsfds
1873f7aba5 game now uses non-working directory paths by default
saves by default go into XDG_DATA_HOME/sm64pc

external data is read from the executable directory, if it's not found there on Unix systems the game will attempt to read it from some paths like /usr/local/share/sm64pc

both save data and readonly data fall back to other options in case of a problem

behavior can be overridden by specifying --datapath and --savepath on the CLI

both of those will expand the exclamation point ('!') to the executable path, e. g. --savepath '!/save'
2020-05-25 07:19:35 +03:00
fgsfds
9825b02f50 add option to load textures from external files
this stores the null terminated texture name instead of the texture data

activated with EXTERNAL_TEXTURES=1
2020-05-25 04:22:03 +03:00
Zerocker
ce864043c1 Enabled rumble for all versions. 2020-05-24 23:52:03 +09:00
Zerocker
19990cde38 Secret Cheat was added 2020-05-24 23:50:55 +09:00
Zerocker
37ff33b0a2 Added blank SDL functions for rumble support. 2020-05-24 23:49:49 +09:00
fgsfds
4bbde37464 this ain't const anymore 2020-05-22 01:42:07 +03:00
fgsfds
686ea5be7b separate options menu strings and add JP strings 2020-05-22 01:36:49 +03:00
fgsfds
a9d16ea76a unfuck BSWAP16 macro, replace it with BE_TO_HOST16() in audio 2020-05-22 01:36:49 +03:00
fgsfds
aaf6eab582 fix text rendering on JP and (maybe) EU
also cache converted IA1 characters so it wouldn't reconvert them every goddamn time they're rendered
2020-05-22 01:36:49 +03:00
IvanDSM
1298cd6017 Add commit hash to window title for nightly builds.
This also adds a flag for detecting nightly builds in the code.
2020-05-21 14:19:20 -03:00
Colton G. Rushton
d139e23177
Unrevert the bettercamera update but this time actually fix it 2020-05-21 13:40:02 -03:00
Colton G. Rushton
4cc5ffff32
Undo the bettercamera update
This screwed up the bettercamera for whatever reason. Urgent hotfix. Please test
2020-05-21 12:52:40 -03:00
Zerocker
84b970cfe1 Merge remote-tracking branch 'upstream/nightly' into textsaves_fix 2020-05-21 16:54:06 +09:00
V. R. Miguel
4e7ce3ffba
Merge pull request #226 from coltongit/puppycam-fixes
Updating Bettercamera (also fixes cannons)
Thanks for the contribution, @coltongit, @porcino  :)
2020-05-20 23:18:43 -03:00
IvanDSM
5071b82150 Merge branch 'nightly' of github.com:sm64pc/sm64pc into nightly 2020-05-20 22:39:27 -03:00
IvanDSM
a6f7cefe96 Quick fix for NODRAWINGDISTANCE=1 hanging fix 2020-05-20 22:39:07 -03:00
IvanDSM
66c9755258
Merge pull request #236 from coltongit/sparkle-texture-fix
Add minor sparkle texture fixes
2020-05-20 21:34:06 -03:00
fgsfds
0724f0ed09 add fog to GL1.3 renderer
uses two different methods, with the first one taking priority if it's available:

a) use the fog factor supplied in the fog colors as a GL_FOG_COORD; GL_FOG_COORD is only available in GL1.4+ or when GL_EXT_fog_coord is present

just blend the same triangles a second time, but replace the color with fog color and multiply the alpha by fog alpha
2020-05-21 03:12:51 +03:00
Colton Rushton
9805dcab32 Minor fix to updated bettercamera 2020-05-20 21:10:00 -03:00
Colton G. Rushton
ba8345377e
Added info that sparkle texture 5 was fixed 2020-05-20 20:59:16 -03:00
Colton G. Rushton
f7355b91ab
Add minor sparkle texture fixes
Controlled by TEXTURE_FIX as mandated by the Koopa shorts issues/PRs
2020-05-20 20:54:25 -03:00
Colton Rushton
6e936174b0 Resolve a few errors with the new additions. 2020-05-20 16:52:52 -03:00