Commit Graph

918 Commits (008b1a7b73b2caaafc27e9720559a8dedf13ee56)

Author SHA1 Message Date
MysterD 54e83b06e2 Shell music only starts and stops for local player 2020-09-01 23:41:56 -07:00
MysterD cc48d55f95 Null checked heldObj in all mario actions
Bobomb clip no longer segfaults the game
2020-09-01 23:40:53 -07:00
MysterD 4705f66517 Fix first sound and size of first punch
The code was skipping playing the sound of the first punch, and changing
the size of the first for the first punch. Added hacky stuff to the
player packet code to ensure those events are hit.

Fixes #10 reported by somario360
2020-09-01 23:35:57 -07:00
MysterD 30ca28469c Synchronize sleeping animations
Sleeping animations were desynchronized previously. Now remote goes to
sitting, and to laying down, at the right times. A snoring remote player
will no longer lower your music, and will no longer get stuck snoring
when they wake up.

Fixes #11 reported by somario360
2020-09-01 23:00:12 -07:00
MysterD ff1946a7f6 Prevent infinite looping of Mario action transitions
There have been several times where the unpredictable behavior of
a remote player where execute_mario_action() would get caught in
an infinite loop. Now we attempt to detect an infinite hang and
escape from it. The sequence of actions will be recorded into an
errorlog.txt file. In debug mode this infinite hang will cause an
assertion to fail, crashing the game. In normal mode the game will
break out of it and hopefully carry on normally after new packets
come in.

I believe this addresses github issue #12 but I can't be sure.
2020-09-01 22:06:36 -07:00
MysterD ac72beed04 Various tuxie synchronization fixes 2020-09-01 20:13:46 -07:00
MysterD efca858a95 Fixed messed up animation when remote is talking to an NPC
fixes #8 found by somario360
2020-09-01 18:10:00 -07:00
MysterD a8db9caede Merge branch 'nightly' into coop 2020-09-01 18:08:46 -07:00
MysterD 6558a8f43d Update Makefile's default compile flags 2020-08-31 23:52:36 -07:00
djoslin0 11b1c534c9 Update README.md 2020-08-31 23:50:43 -07:00
MysterD 4ccc03ee37 Synchronize cannons as soon as they are unlocked 2020-08-31 23:49:51 -07:00
MysterD cc9300f969 Force players who are held by an entity to own that entity 2020-08-31 22:36:07 -07:00
MysterD 2b70dcc255 Synchronized squished values 2020-08-31 22:22:33 -07:00
MysterD 1876e59d77 Re-added King Bobomb dialog 2020-08-31 21:38:08 -07:00
MysterD e6074281c1 Truly deal with the NPC dialog softlock problem
Reported by somario360:
After I (Luigi) gave the baby penguin to the mother, the start spawned,
but I was stuck in the looking up animation.
My friend (Mario) talked to Bowser after defeating him, Bowser turned into
a key, but he was stuck in the looking up animation after (I was able to
grab the key though, but Bowser was slightly visible) (Also don't mind 0
stars, he loves doing the lobby BLJ)

The issue is the state machine moved on without removing the reading
dialog action. There was no straight forward way to deal with this.
Custom functions were written for each call to dialog to ensure that we
should stay reading the dialog.
2020-08-31 21:10:34 -07:00
MysterD 2ff595e630 Fixed crash when changing areas within a level
Bug reported by somario360:
After I (Luigi) exited the slide in CCM, an error message appeared and ignoring would make it pop up again.

This was due to the sync ID reservation system not being flushed and
reset on area change.
2020-08-30 23:13:05 -07:00
MysterD b1d8f0e4cd Fix NPC softlock (cannon and hoot)
Bug reported by somario360:
When trying to open the cannon in a level (so far tested in BOB & WF) the cannon dialogue will repeat infinitely. Sometimes the cannon will open, but the game will crash after.

The code I had written previously to prevent softlocks ended up causing
them due to a incorrect check of activeFlags.
2020-08-30 23:12:28 -07:00
MysterD 53e5b5f89c Added text-input system for typing in-game 2020-08-30 23:25:32 -07:00
fgsfds e539a14374 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 42443dd45a Merge remote-tracking branch 'origin/master' into nightly 2020-08-30 15:41:45 +03:00
fgsfds 8685add4c3 fix spaces 2020-08-30 15:39:41 +03:00
fgsfds 19e0e58b7e Merge pull request #411 from theofficialgman/master
Check for zero rumble setting before allowing rumble
2020-08-30 15:35:03 +03:00
fgsfds 6102ac8400 Merge pull request #350 from pouar/fix-snufit
Bugfix for NODRAWDISTANCE
2020-08-30 15:34:24 +03:00
fgsfds 73b942c8fa GL_LEGACY: this should've been GL_REPLACE all along 2020-08-30 01:29:26 +03:00
Garrett 3891999365 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
MysterD 05739c963f Removed debug enemies from castle grounds 2020-08-28 23:06:56 -07:00
MysterD dca1863392 Synchronized Bowser 1 2020-08-29 12:59:07 -07:00
MysterD 114bbfd703 Synchronized bowser bombs 2020-08-29 12:58:54 -07:00
MysterD 650dbf3c95 Made castle floor trap multiple-player-aware 2020-08-29 12:58:04 -07:00
MysterD f372e44b04 Fixed stomache slide hang, made grabs only happen on local 2020-08-29 12:57:20 -07:00
MysterD f19044cf55 Synchronized sliding platform 2 2020-08-28 20:26:17 -07:00
MysterD 5cb9dbaa61 Synchronized ferris wheel 2020-08-28 20:26:04 -07:00
MysterD fd27aaf0cb Synchronized amps 2020-08-28 20:25:46 -07:00
MysterD 0c33337d35 Synchronized square platforms as groups of two 2020-08-28 20:25:34 -07:00
fgsfds fb28720383 change GL_LEGACY to only use GL1.1 (1.2?) features 2020-08-29 02:13:30 +03:00
fgsfds cdf8e5a437 add --poolsize arg for modifying main pool size 2020-08-29 02:13:30 +03:00
MysterD f0757561e4 Resynchronized checkerboard platforms 2020-08-27 21:39:13 -07:00
MysterD 28d6a6fb07 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 45e5108252 Synchronized Boo 2020-08-24 21:38:49 -07:00
MysterD c0473af271 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 b69b229ae5 Made Luigi a bit bigger 2020-08-23 23:44:11 -07:00
MysterD 1ee5626640 Fixed exclamation box synchronization bug 2020-08-18 18:47:21 -07:00
MysterD eea9c66cae Synchronized unagi 2020-08-18 18:47:06 -07:00
MysterD 8a3e21ed0e Synchronized underwater koopa shell 2020-08-18 18:46:54 -07:00
MysterD 57466a25e4 Made floating platform multiple-player aware 2020-08-18 18:46:13 -07:00
MysterD 0e1dc0e975 Made falling pillar multiple-player aware 2020-08-18 18:45:50 -07:00
MysterD 8c7dc5fa8f Synchronized clam 2020-08-18 18:45:34 -07:00
MysterD 424e3f9158 Synchronized jrb ship and box 2020-08-18 18:45:19 -07:00
MysterD caae3425f4 Synchronized treasure chests 2020-08-18 18:43:42 -07:00
fgsfds 0bd44c1a64 Merge pull request #395 from MartinPham/patch-4
fix mac build for exoquant
2020-08-16 02:01:02 +03:00