Commit graph

443 commits

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