Sonic-Mania-Decompilation icon indicating copy to clipboard operation
Sonic-Mania-Decompilation copied to clipboard

Crash when trying to play on a new encore mode slot game - Cutscene issue Angel Island Encore Mode

Open ghost opened this issue 3 years ago • 16 comments

On the menu, when we select a slot in Encore Mode, we have the effect of the Ruby, black screen, loading effect with the sonic roll effect, and crash after that.

ghost avatar Aug 16 '22 22:08 ghost

ManiaModeMenu_Initialize() ManiaModeMenu_Initialize() ManiaModeMenu_Initialize() IntegerGeorge802 Loaded File Data/Music/MainMenu.ogg Encore Mode Loaded File Data/Music/EncoreMenu.ogg Attempting to save user file: SaveData.bin Loading Scene "Cutscenes - Angel Island Zone Encore" with filter 5 Loaded File Data/Stages/AIZ/TileConfig.bin Loaded File Data/Stages/AIZ/StageConfig.bin File not found: Data/Objects/Static/E381DC058108A5ACA91DF2583566136D.bin File not found: Data/Objects/Static/09315626295D9940C6BF49DF7FD1664C.bin File not found: Data/Objects/Static/A0E52DC0A4AC416C03FA533409F51C9B.bin File not found: Data/Objects/Static/9FA409F23B2AD7FDC42D93A6A247EB4A.bin File not found: Data/Objects/Static/63696833C1395DE585471441C3DC4F72.bin File not found: Data/Objects/Static/3BFF99F65E7C670153194138B5FAB983.bin File not found: Data/Objects/Static/AC09A42715F4EE7EE3E32FD51979E83C.bin File not found: Data/Objects/Static/989C43E38CCE42E37D7798B2C63449A6.bin File not found: Data/Objects/Static/69D7534EF0F3591B5F83DB426804FBB3.bin File not found: Data/Objects/Static/2D8DC4F14C2F5D5D1F4CB3BD92CD32F6.bin File not found: Data/Objects/Static/536980065DDFA9C30AA21DA617983E00.bin Loaded File Data/Objects/Static/36D61A3DE508B500AE0ECF8D33F32943.bin File not found: Data/Objects/Static/74CDDB38E46629337DBEA81554E62D71.bin File not found: Data/Objects/Static/EFE2039FDAD48C7F4054D7BF9D7C28DE.bin File not found: Data/Objects/Static/4DBD71C74937B827FBC96EE189A81B1F.bin File not found: Data/Objects/Static/89A6167B9E7976DFD2B67F22B44EC733.bin File not found: Data/Objects/Static/79D05A1F2F3EA2BEE984D80D7161A04B.bin File not found: Data/Objects/Static/4C8B9EC9C186BC01DAACA081C69F011B.bin File not found: Data/Objects/Static/4BE02ABEFD4A3A9057EF467BF84ADA14.bin File not found: Data/Objects/Static/8300D88DC1F2D49758CE6F0EECA81F1D.bin File not found: Data/Objects/Static/7E5F1F9A17E1865B802B86B034A44350.bin File not found: Data/Objects/Static/2042A1C4CBE1023AE91534DF6BDAA5B8.bin File not found: Data/Objects/Static/17E35ADD361E13009DB0227FD5D24A8F.bin File not found: Data/Objects/Static/B8F5DAE23FBA0820344991536004A772.bin File not found: Data/Objects/Static/E7A496B3EF81927826F63214938ACD38.bin File not found: Data/Objects/Static/A8630C6DCCE21399E04ABFD295D79B86.bin File not found: Data/Objects/Static/A0B8DB7E3CE18003954A4AAA27E78969.bin File not found: Data/Objects/Static/ED4339AEE6C71B25C999229E5E10AF8F.bin File not found: Data/Objects/Static/71D82C54214A91906BCAE81696E123DC.bin Loaded File Data/Objects/Static/33B8E672A1DEA5654AF81AEF98BDAA6F.bin File not found: Data/Objects/Static/DBB27E917B3CA46A84F1B069B503B3FF.bin File not found: Data/Objects/Static/2158CF7C8BEFB7209E223B51C1723E5D.bin File not found: Data/Objects/Static/14AEC7EF1E30D0261A7EB50905A02C51.bin File not found: Data/Objects/Static/F843B77CECCB9AAFD6797EC0B62CE93B.bin File not found: Data/Objects/Static/111132C9CE3446FDE9228FDDF84C74FA.bin File not found: Data/Objects/Static/D7324745C74349221A103A01B0D02ACD.bin File not found: Data/Objects/Static/6AAE98F3CDE67017FFD64120A8D6F7E3.bin File not found: Data/Objects/Static/9F08353F8E3BFFFDE5A6D008F0F2807C.bin File not found: Data/Objects/Static/B1EDED8A6CBC66D4D42C8FC02468DDC2.bin File not found: Data/Objects/Static/28ACF2D1F78E89176D8C97048E91A08F.bin File not found: Data/Objects/Static/3E0C08BADFF21084B7C14BD2F3DDB36F.bin File not found: Data/Objects/Static/41ABD15D2DB188CB9D247246CD292B6D.bin File not found: Data/Objects/Static/4A6F56A4772748B21089BBB6EF1C1C5C.bin File not found: Data/Objects/Static/EEBB8C48C1DD7523A1A37B0F27B5E9CD.bin File not found: Data/Objects/Static/609CD2D831928DA7B3EB65A4EDFD32ED.bin File not found: Data/Objects/Static/6BE83DAD65E8CD27CDBBEC55BB12F1E4.bin File not found: Data/Objects/Static/24F1CCDBF3067F6EC99580BB8A6D58B0.bin File not found: Data/Objects/Static/F504BF4EE7CB9A185EB40C08D560CFC6.bin File not found: Data/Objects/Static/42CF24E1426E7B9E23035499E6787CDE.bin Loaded File Data/Objects/Static/E89CBBD08E19C44DD87FB3C4C8D1CCA3.bin File not found: Data/Objects/Static/6B9063BB3B500D179DB074C7825EE62C.bin Loaded File Data/Objects/Static/837851AB76D9F726E97291E6F761921C.bin File not found: Data/Objects/Static/55C4B476C19A5FD272BF1CFADED473F4.bin File not found: Data/Objects/Static/EF829052B2A6B80050F1B4280ECB334D.bin File not found: Data/Objects/Static/99FF5932B54958FB64F5D5676D244D4B.bin File not found: Data/Objects/Static/4263754921E0308B70CADB500C4AD89B.bin File not found: Data/Objects/Static/76BA759C2F741C9CE585B2C6A3DE3044.bin File not found: Data/Objects/Static/B7CC2631C9B2A283835222585D8EEACE.bin File not found: Data/Objects/Static/75ED2B0AA3042ABA0C56EA17E0907C47.bin File not found: Data/Objects/Static/4F4B8155D4A6B711826DA54BABCD996F.bin File not found: Data/Objects/Static/3D3B9876382D8F9C9918EE3548D48218.bin File not found: Data/Objects/Static/8FE17E26725F70CBBA275D66C791BCEF.bin File not found: Data/Objects/Static/14F973246EEDE8E04C2BC2EC00E56703.bin File not found: Data/Objects/Static/F32DD0373AA91D302B6C0F680A42E5A4.bin File not found: Data/Objects/Static/DB149FE10038E8E017B255036C6CF79D.bin Loaded File Data/Objects/Static/F6626BD9DD2ED205493601497475537B.bin File not found: Data/Objects/Static/25A6087E4FA88F7ECF69286228443431.bin File not found: Data/Objects/Static/6AF377115A4EBA73F9810CBC43E0B782.bin File not found: Data/Objects/Static/C0D1672F280CA598C3332EC4AB45C509.bin File not found: Data/Objects/Static/26BBD0F0F4732F16B9AA1B7BAAABF51B.bin File not found: Data/Objects/Static/372DC6A988BA0511BFE654F720C2C345.bin File not found: Data/Objects/Static/8E6F9BA205087C7F0F29D2BED0B5E3E8.bin File not found: Data/Objects/Static/29796238A0B9CF98E6B76A461A306B3C.bin File not found: Data/Objects/Static/CEF7F68D59AE519EA3CF04F1E2878301.bin Loaded File Data/Objects/Static/09F50C61464BCFA45F26511A29FB1145.bin Loaded File Data/Objects/Static/7236F48F00B2217ED5890EC7DC00D581.bin File not found: Data/Objects/Static/E80941DDCF2EB1BEB1C37DAD88C8DBAE.bin File not found: Data/Objects/Static/8F5C766AA4FE83DDE0DF53716A1E19A5.bin File not found: Data/Objects/Static/9D943EDCDDE5AF015467F53091DA33B7.bin File not found: Data/Objects/Static/74798DA69F0D1BBE3FD6B4EF1A75FDC8.bin File not found: Data/Objects/Static/F793DB9A5312977FC9BDA1411DD80621.bin File not found: Data/Objects/Static/D8AB08B268E6E378C106C42851D1109C.bin Loaded File Data/SoundFX/Ruby/RedCube_L.wav Loaded File Data/SoundFX/Ruby/RedCube_R.wav Loaded File Data/SoundFX/Ruby/Attack1_L.wav Loaded File Data/SoundFX/Ruby/Attack1_R.wav Loaded File Data/SoundFX/Ruby/Attack4_L.wav Loaded File Data/SoundFX/Ruby/Attack4_R.wav Loaded File Data/SoundFX/Stage/LedgeBreak3.wav Loaded File Data/SoundFX/LRZ/WalkerLegs.wav Loaded File Data/SoundFX/LRZ/Drill.wav Loaded File Data/SoundFX/Stage/Clack.wav Loaded File Data/SoundFX/Stage/Impact4.wav Loaded File Data/SoundFX/SPZ1/HeliWooshIn.wav Loaded File Data/SoundFX/Stage/Drop.wav Loaded File Data/SoundFX/Stage/Explosion2.wav Loaded File Data/SoundFX/Stage/Explosion3.wav Loaded File Data/SoundFX/Stage/HighFive.wav Loaded File Data/SoundFX/MSZ/MysticPoof.wav Loaded File Data/SoundFX/LRZ/KingCharge.wav Loaded File Data/SoundFX/MSZ/MysticHat.wav Loaded File Data/SoundFX/Stage/Huff.wav Loaded File Data/SoundFX/Stage/Shot.wav Loaded File Data/SoundFX/MSZ/MysticTransform.wav Loaded File Data/SoundFX/Stage/Pon.wav Loaded File Data/SoundFX/Stage/LedgeBreak3.wav Loaded File Data/SoundFX/Stage/Splash.wav Loaded File Data/SoundFX/Stage/Warning.wav Loaded File Data/SoundFX/Stage/Breathe.wav Loaded File Data/SoundFX/Stage/Drown.wav Loaded File Data/SoundFX/Stage/DrownAlert.wav Loaded File Data/Stages/AIZ/16x16Tiles.gif Loaded File Data/Stages/AIZ/Scene2.bin dataPtr: 90AB58F4 optionsPtr->screenShader = 0 optionsPtr->volMusic = 1024 optionsPtr->volSfx = 1024 optionsPtr->language = 0 optionsPtr->overrideLanguage = 1 optionsPtr->vsync = 1 optionsPtr->tripleBuffering = 0 optionsPtr->windowBorder = 0 optionsPtr->windowed = 1 optionsPtr->windowSize = 0 Loading EN strings... Loaded File Data/Strings/StringsEN.txt ./RSDKv5/RSDK/User/Dummy/DummyPresence.cpp: SetPresence() # Set Steam rich presence string to Playing Encore Mode

Loaded File Data/Sprites/Global/TitleCard.bin Loaded File Data/Sprites/Global/Display.gif Loaded File Data/Sprites/Global/HUD.bin Loaded File Data/Sprites/Global/SuperButtons.bin Loaded File Data/Sprites/Global/SuperButtons.gif Loaded File Data/Sprites/Players/Sonic.bin Loaded File Data/Sprites/Players/Sonic1.gif Loaded File Data/Sprites/Players/Sonic2.gif Loaded File Data/Sprites/Players/Sonic3.gif Loaded File Data/Sprites/Players/SuperSonic.bin Loaded File Data/Sprites/Players/Sonic4.gif Loaded File Data/Sprites/Global/Ring.bin Loaded File Data/Sprites/Global/Items.gif Loaded File Data/Sprites/Global/ItemBox.bin Loaded File Data/Sprites/Global/Shields.bin Loaded File Data/Sprites/Global/Shields.gif Loaded File Data/Sprites/Global/Objects3.gif Loaded File Data/Sprites/Global/Invincible.bin Loaded File Data/Sprites/Global/Springs.bin Loaded File Data/Sprites/Global/Objects.gif Loaded File Data/Sprites/Global/StarPost.bin Loaded File Data/Sprites/Global/SpeedGate.bin Loaded File Data/Sprites/Global/Spikes.bin Loaded File Data/Sprites/Global/PlaneSwitch.bin Loaded File Data/Sprites/Global/Explosions.bin Loaded File Data/Sprites/Global/Explosions.gif Loaded File Data/Sprites/Global/ScoreBonus.bin Loaded File Data/Sprites/Global/Dust.bin Loaded File Data/Sprites/Global/Animals.bin Loaded File Data/Sprites/Global/Animals.gif Loaded File Data/Sprites/Global/SignPost.bin Loaded File Data/Sprites/Global/Objects2.gif Loaded File Data/Sprites/Global/EggPrison.bin Loaded File Data/Sprites/Global/SpecialRing.bin Loaded File Data/Meshes/Global/SpecialRing.bin Loaded File Data/Sprites/UI/UIElements.bin Loaded File Data/Sprites/UI/UI.gif Loaded File Data/Sprites/UI/SaveSelect.bin Loaded File Data/Sprites/UI/SaveSelectEN.gif Loaded File Data/Sprites/UI/Zones.gif Loaded File Data/Sprites/UI/SmallFont.bin Loaded File Data/Sprites/UI/SmallFont1.gif Loaded File Data/Sprites/UI/SmallFont2.gif Apply Language 0 Loaded File Data/Sprites/UI/TextEN.bin Loaded File Data/Sprites/UI/TextEN.gif Loaded File Data/Sprites/UI/PauseEN.gif Loaded File Data/Sprites/UI/TextPlusEN.gif Loaded File Data/Sprites/UI/WaitSpinner.bin Loaded File Data/Sprites/Global/SuperSparkle.bin Loaded File Data/Sprites/AIZ/AniTiles.gif Loaded File Data/Sprites/Players/KnuxCutsceneAIZ.bin Loaded File Data/Sprites/Players/Knux1.gif Loaded File Data/Sprites/Players/KnuxCutsceneAIZ.gif

ghost avatar Aug 16 '22 22:08 ghost

Issue is when the game is trying to load this cutscene ( tried in Debug Mode, other cutscenes seems to work for me ).

ghost avatar Aug 16 '22 23:08 ghost

How can i get encore update?

PedroKaio avatar Aug 16 '22 23:08 PedroKaio

You must : -> 1°) buy the game on Steam : https://store.steampowered.com/app/584400/Sonic_Mania/ -> 2°) Compile by yourself the project here : https://github.com/Rubberduckycooly/RSDKv5-Decompilation

Autobuild on Github disable the Encore Mode on your RSDK file

ghost avatar Aug 16 '22 23:08 ghost

what platform was this on? I'm not getting the issue on windows

Rubberduckycooly avatar Aug 17 '22 00:08 Rubberduckycooly

Windows 11 - 64 bits .only this cutscene crashes the game. I have the Steam RSDK with DLC bought ( Plus Version ). Tried with RSDKv5 executable that i compiled

Sorry for the late answer. It is 8am for me when I wrote this message.

ghost avatar Aug 17 '22 06:08 ghost

Compiled with MSYS2 on RSDKv5U now with the latest source code of RSDKv5 Decomp and Sonic Mania Decomp, "Angel Island Encore Mode" cutscene still crashes the game on Windows ( tested on Windows 11 - 64 bits - DX9 )

ghost avatar Aug 17 '22 17:08 ghost

It is an issue with MSYS2 compilation method (DX11 tested). Compiling with VS works. But why ?

ghost avatar Aug 17 '22 18:08 ghost

Android (And I Want to play Plus Version)

PedroKaio avatar Aug 17 '22 22:08 PedroKaio

I'll see what I can find today, visual studio is usually very relaxed when it comes to these kinds of errors so they often show up on non-msvc builds

Rubberduckycooly avatar Aug 18 '22 00:08 Rubberduckycooly

Okay. I will try to study that too if i can find the reason of the crash

ghost avatar Aug 18 '22 06:08 ghost

Can confirm there is something bad with Angel Island Encore Mode Cutscene with MSYS2 / Mingw or with VS. When I do temp modification to the GameConfig.bin to load AIZ Normal mode cutscene, the cutscene is loaded. But when I restore the original value ( 2 ) , the cutscene refuses to load.

EDIT: MSYS2 version hang when he tries to load the file Data/Sprites/AIZ/AIZTornado.bin, after he loaded the file Data/Sprites/Players/KnuxCutsceneAIZ.gif

ghost avatar Aug 18 '22 15:08 ghost

Left is the log under MSYS2, Right is the log with DX11 VS. Why after DummyPresence.cpp, one line is present on MSYS2, and on DX11 VS two lines are present ???

ghost avatar Aug 18 '22 16:08 ghost

image

ghost avatar Aug 18 '22 16:08 ghost

image

ghost avatar Aug 18 '22 16:08 ghost

I'm able to reproduce this issue on Linux (Debian Sid, Linux 5.17, glibc 2.33-7). It seems to segfault in Game/Objects/AIZ/AIZSetup.c:183 (in AIZSetup_StageLoad). GDB gives this backtrace:

#0  0x00007fffeefb3430 in AIZSetup_StageLoad ()
    at Game/Objects/AIZ/AIZSetup.c:183
#1  0x000055555558aacb in std::__invoke_impl<void, void (*&)()> (
    __f=@0x555555b18050: 0x7fffeefb2f2e <AIZSetup_StageLoad>)
    at /usr/include/c++/11/bits/invoke.h:61
#2  0x00005555555870f5 in std::__invoke_r<void, void (*&)()> (
    __fn=@0x555555b18050: 0x7fffeefb2f2e <AIZSetup_StageLoad>)
    at /usr/include/c++/11/bits/invoke.h:111
#3  0x0000555555583620 in std::_Function_handler<void (), void (*)()>::_M_invoke(std::_Any_data const&) (__functor=...)
    at /usr/include/c++/11/bits/std_function.h:290
#4  0x00005555555809c6 in std::function<void ()>::operator()() const (
    this=0x555555b18050 <RSDK::objectClassList+2800>)
    at /usr/include/c++/11/bits/std_function.h:590
#5  0x00005555555dd6b3 in RSDK::InitObjects ()
    at RSDKv5/RSDK/Scene/Object.cpp:297
#6  0x000055555556061a in RSDK::ProcessEngine ()
    at RSDKv5/RSDK/Core/RetroEngine.cpp:325
#7  0x0000555555560433 in RSDK::RunRetroEngine (argc=1, argv=0x7fffffffdbc8)
    at RSDKv5/RSDK/Core/RetroEngine.cpp:239
#8  0x0000555555560132 in RSDK_main (argc=1, argv=0x7fffffffdbc8, 
    linkLogicPtr=0x555555567b99 <RSDK::LinkGameLogic(void*)>)
    at RSDKv5/main.cpp:84
#9  0x0000555555560100 in main (argc=1, argv=0x7fffffffdbc8)
    at RSDKv5/main.cpp:71

PatchMixolydic avatar Aug 18 '22 17:08 PatchMixolydic

Couldn't get any issues on mac or anything, so it's not playing nice for sure. This stack trace is very helpful though, thanks! I'm still working on trynna pin it down and fix it for anyone effected!

Rubberduckycooly avatar Aug 21 '22 11:08 Rubberduckycooly

should be fixed in a61137bd56dad8f426d7f9f8022d78bfd35fbb00, found a case where RSDK didn't match up to Game Logic and would return an correct value. Please close this issue if it fixes it, if not please tag me and I'll search some more!

Rubberduckycooly avatar Aug 23 '22 11:08 Rubberduckycooly