Commit graph

472 commits

Author SHA1 Message Date
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