Commit graph

2562 commits

Author SHA1 Message Date
PeachyPeach
4fbafc2708
Fixed various audio bugs; DynOS can now detect texture duplicates to decrease generated bin files size (#110)
Fixed the following audio bugs:
    Bug: Rom-hacks sequences don't seem to be affected by volume scaling and
         muting
    Fix: Force the BGM sequences to follow the vanilla behavior:
        Volume can't go higher than default volume
        Volume is reduced to 31% when the game is paused
        Audio is stopped when the game is paused outside the Castle levels
    Bug: (Pointed out by Draco) Mario's voice clips are not replaced by the
         player's character's in the following instances: fall to death
         barrier, "here we go" in the ending cutscene, "let's a go"
         after selecting a star, "okey dokey" after starting the game.
    Fix: The first two ones now call
         play_character_sound(m, CHAR_SOUND_...) instead of
         play_sound(SOUND_MARIO_..., pos). The last two ones couldn't be
         fixed the same way for two reasons: First, the corresponding sounds
         were not referenced in the sound table, second, the sound played is
         always cut-off after a few frames (due to how sm64 resets the sound
         banks after loading a level).

Added SOUND_*_LETS_A_GO and SOUND_*_OKEY_DOKEY sounds for each playable
    character as Bass samples.
    Character Bass sounds work the same way as vanilla sounds (i.e. can be
    played with play_character_sound), but they cannot be prematurely stopped
    by sm64 sound banks shenanigans.
    This fixes the cut-off for both the star select and the castle grounds
    entry, plays the sound corresponding to the player's character, and doesn't
    need to extend or edit the sound table.

DynOS can detect texture duplicates when generating a bin or lvl file.
    When a duplicate is detected, the name of the original texture node is
    written instead of the whole PNG data, decreasing significantly the
    resulting file size.
2022-05-19 16:40:45 -07:00
mjcox244
f63bffc64c
Add Icon to windows build (#96) 2022-05-19 16:33:17 -07:00
Isaac
a1ac136258
change text depending on if you are client or server (#92) 2022-05-17 16:24:56 -07:00
MysterD
897f6712a3 Reset hardcoded values on disconnect 2022-05-17 01:22:45 -07:00
PeachyPeach
27db236b5d
Various bug fixes + Added is_game_paused() and more background music functions to lua (#93)
Bug: DynOS models with animations cannot swap animations if they are
     loaded via lua (smlua_model_util_get_id and
     obj_set_model_extended).
Fix: DynOS_Actor_GetActorGfx takes a graph node instead of a georef,
     and checks for DynosValidActors graph nodes if georef is NULL.

Bug: The game can crash when calling obj_set_model_extended inside a
     HOOK_ON_OBJECT_RENDER hook.
Fix: The crash happens in smlua_model_util_load_with_pool_and_cache_id
     due to pool being NULL. If the game can't allocate an
     AllocOnlyPool object, use DynOS to generate the graph node.

Bug: warp_to_level and similar functions don't trigger HOOK_ON_WARP.
Fix: Call HOOK_ON_WARP hooks in DynOS_Warp_UpdateWarp and
     DynOS_Warp_UpdateExit after level and mario initialization.

Bug: The game sometimes calls HOOK_ON_OBJECT_RENDER hooks for
     unintended objects.
Fix: Initialize hookRender field to 0 when creating an object.

Bug: Actions can't apply gfx offsets to characters that have an anim
     offset (Waluigi, Wario)
Fix: Add m->curAnimOffset to gfx.pos[1] instead of setting it to
     m->pos[1] + m->curAnimOffset, except during the jumbo star
     cutscene.
2022-05-14 14:28:25 -07:00
MysterD
8200b17560 Prevent rendering mirror players - fix crash in mirror room 2022-05-14 02:46:39 -07:00
MysterD
2917b16276 Merge branch 'coop' of github.com:djoslin0/sm64ex-coop into coop 2022-05-13 23:30:10 -07:00
MysterD
5e86a3e9ac Fix crash when loading custom audio on client 2022-05-13 23:27:49 -07:00
MysterD
140dd4e2b3 Merge remote-tracking branch 'public/coop' into coop 2022-05-13 20:21:14 -07:00
Agent X
4bc13ef275
djui_hud_get_raw_mouse_x/y, djui_hud_set_mouse_locked (#91) 2022-05-13 19:55:47 -07:00
EmeraldLoc
d8e669d9d3
Made network_description/player_description hold 1 extra character (#90) 2022-05-13 19:55:38 -07:00
MysterD
933914d984 Add djui_hud_world_pos_to_screen_pos, and render interpolated rect/texture 2022-05-13 19:54:49 -07:00
MysterD
2fd452059b Make red coin star spawn on late join 2022-05-11 18:22:40 -07:00
MysterD
d2f2fa83cf Prevent packet processing when disconnected 2022-05-11 18:15:46 -07:00
MysterD
ceaf41ae14 Set discord network system on shutdown 2022-05-11 18:11:53 -07:00
MysterD
ad09ecd8ef Prevent joining a Discord lobby when you're already hosting 2022-05-11 18:10:27 -07:00
MysterD
37fb101e05 Do more Discord API cleanup on network shutdown 2022-05-11 01:33:56 -07:00
MysterD
a8b94fd225 Merge branch 'coop' of github.com:sm64ex-coop-dev/sm64ex-coop into coop 2022-05-11 01:28:36 -07:00
MysterD
85ad7ed201 Clear network players on disconnect 2022-05-11 01:27:14 -07:00
Isaac
02b99d0443
Crash fix (#87) 2022-05-10 21:20:40 -07:00
EmeraldLoc
2a6c0be1bd
Fixed mac compilation (#88) 2022-05-10 21:20:19 -07:00
Isaac
f552e98cd4
Prevent spoofing moderator packets (#86) 2022-05-10 02:27:29 -07:00
MysterD
780249ab21 Moderator cleanup 2022-05-09 23:20:07 -07:00
MysterD
367f672af7 Merge branch 'unstable' into coop 2022-05-09 23:13:19 -07:00
Isaac
701fddf4dd
Moderator (#80) 2022-05-09 23:11:39 -07:00
EmeraldLoc
694f583a69
Fixed everything in dj's todolist for hns (#85)
* Fixed everything in dj's todolist for hns, and also made it more balanced
in other ways. List of changes roughly: made anticamp off by default, made
mario only have to touch another mario, and made vanish cap off always,
and made caps off for hiders
2022-05-09 23:11:12 -07:00
MysterD
d7bf47c5de Clear hooks on lua shutdown 2022-05-09 09:53:14 -07:00
MysterD
26cc9ee17f Attempt #3 2022-05-09 09:45:14 -07:00
MysterD
739a8c655e Actual fix for crash when disconnecting with custom models in level 2022-05-09 09:28:20 -07:00
MysterD
099a2462ed Fixed crash when disconnecting with custom models in the level 2022-05-09 08:40:18 -07:00
MysterD
d55f8a39ef Possible fixes to shell race level desyncs, prevent first place from getting mushrooms 2022-05-09 08:28:30 -07:00
MysterD
c71273cb60 Allow disconnecting to the main menu 2022-05-09 08:00:34 -07:00
MysterD
b2410f77e5 Fix mod cache on boot 2022-05-09 07:34:49 -07:00
MysterD
d75b0e9133 Started working toward allowing disconnection 2022-05-09 07:27:47 -07:00
MysterD
3e6fd0829a Fix mirror 2022-05-09 05:46:36 -07:00
MysterD
1148dd0ea0 Fix crash in bookshelf_manager_act_2() 2022-05-09 05:16:05 -07:00
MysterD
dd6959fe90 Fix crash in bhv_piranha_plant_bubble_loop 2022-05-09 05:10:53 -07:00
MysterD
059842b600 Fix crash in geo_switch_mario_cap_on_off 2022-05-09 05:09:22 -07:00
MysterD
7a71c9c284 Added a bunch of null checks to object_helpers.c 2022-05-09 05:07:42 -07:00
MysterD
c902bf2b00 Fix crash in obj_angle_to_object 2022-05-09 05:00:15 -07:00
MysterD
f64cd4b8e2 Do a file type check on custom audio 2022-05-09 04:12:54 -07:00
MysterD
5206e125df Fix custom sounds 2022-05-09 04:07:43 -07:00
MysterD
a694bcea20 Remove spawn offsets, a relic of a time where all players were in the same level 2022-05-08 17:40:47 -07:00
MysterD
a0700f8e02 Fix DISCORD_SDK=0 on Linux 2022-05-08 17:01:19 -07:00
MysterD
ac8b03aaf2 The death of the unstable branch 2022-05-08 16:43:09 -07:00
MysterD
c7cfa1be54 Merge branch 'audio' into unstable 2022-05-08 16:41:05 -07:00
MysterD
befd012d7b Cleaned up mod_load_files() 2022-05-08 16:34:10 -07:00
MysterD
f2c032c6d8 Specify filetypes in audio folder, add audio_custom_shutdown() 2022-05-08 15:44:04 -07:00
PeachyPeach
94c531272f
More rom-hacks globals to lua; more bug fixes (#84)
New gLevelValues exposed to lua:
        pssSlideStarTime: the time limit in frames for PSS-style levels (default: 630)
        pssSlideStarIndex: the index of the star spawned below the time limit for PSS-style levels (default: 1)
        coinsRequiredForCoinStar: number of coins required to spawn the 7th star of a main course (default: 100)
        wingCapDuration: duration in frames of the wing cap (default: 1800)
        metalCapDuration: duration in frames of the metal cap (default: 600)
        vanishCapDuration: duration in frames of the vanish cap (default: 600)
        wingCapDurationTotwc: duration in frames of the wing cap given to the player at the entrance of TOTWC (default: 1200)
        metalCapDurationCotmc: duration in frames of the metal cap given to the player at the entrance of COTMC (default: 600)
        vanishCapDurationVcutm: duration in frames of the vanish cap given to the player at the entrance of VCUTM (default: 600)
    Fixed a bug preventing the level music from restarting after defeating a Boss.
    Fixed some bugs with 3D coins or any model with the geo_rotate_coin function:
        Disable billboard and cylboard attributes.
        Set the pitch and roll to 0 for the model to rotate properly.
        The model no longer rotates every frame (even when the game is paused), but every time the object is updated.
2022-05-08 12:18:25 -07:00
MysterD
a722afe122 Various audio fixes, updated audio example 2022-05-08 04:32:18 -07:00