diff --git a/AS/Win32/as.msg b/AS/Win32/as.msg index 210488ff..96207237 100644 Binary files a/AS/Win32/as.msg and b/AS/Win32/as.msg differ diff --git a/AS/Win32/asw.exe b/AS/Win32/asw.exe index 2f20da3f..f8fd6466 100755 Binary files a/AS/Win32/asw.exe and b/AS/Win32/asw.exe differ diff --git a/AS/Win32/cmdarg.msg b/AS/Win32/cmdarg.msg index 0bb799fd..e71d1a40 100644 Binary files a/AS/Win32/cmdarg.msg and b/AS/Win32/cmdarg.msg differ diff --git a/AS/Win32/ioerrs.msg b/AS/Win32/ioerrs.msg index 237e26bf..34638ee1 100644 Binary files a/AS/Win32/ioerrs.msg and b/AS/Win32/ioerrs.msg differ diff --git a/AS/Win32/tools.msg b/AS/Win32/tools.msg index 18401821..d2c6cb15 100644 Binary files a/AS/Win32/tools.msg and b/AS/Win32/tools.msg differ diff --git a/AS/s3p2bin/clowncommon.h b/AS/s3p2bin/clowncommon.h new file mode 100644 index 00000000..570c8924 --- /dev/null +++ b/AS/s3p2bin/clowncommon.h @@ -0,0 +1,39 @@ +/* + (C) 2021 Clownacy + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ + +#ifndef CLOWNCOMMON_H +#define CLOWNCOMMON_H + +/* Boolean */ +typedef unsigned char cc_bool_small; +typedef unsigned int cc_bool_fast; +enum +{ + CC_FALSE = 0, + CC_TRUE = 1 +}; + +/* Common macros */ +#define CC_MIN(a, b) ((a) < (b) ? (a) : (b)) +#define CC_MAX(a, b) ((a) > (b) ? (a) : (b)) +#define CC_CLAMP(x, min, max) (CC_MIN((max), CC_MAX((min), (x)))) +#define CC_COUNT_OF(array) (sizeof(array) / sizeof(*array)) + +#endif /* CLOWNCOMMON_H */ diff --git a/Build Scripts/build.py b/Build Scripts/build.py index adcf12f1..7cf02a1e 100755 --- a/Build Scripts/build.py +++ b/Build Scripts/build.py @@ -66,6 +66,7 @@ def build(targetName, def0, def1, accurate): assembleCommand = [asBinary, "-x", "-xx", "-n", "-c", "-A", "-L"]; + basedir = os.path.relpath(os.getcwd()) if def0 is None: assembleCommand.append("-o"); assembleCommand.append("sonic3k.p"); @@ -73,12 +74,16 @@ def build(targetName, def0, def1, accurate): assembleCommand.append("sonic3k.lst"); assembleCommand.append("-shareout"); assembleCommand.append("sonic3k.h"); + assembleCommand.append("-i"); + assembleCommand.append(basedir); # Input asm file assembleCommand.append("s3.asm"); else: assembleCommand.append(def0); assembleCommand.append(def1); + assembleCommand.append("-i"); + assembleCommand.append(basedir); # Input asm file assembleCommand.append("sonic3k.asm"); diff --git a/Build Scripts/buildS3.bat b/Build Scripts/buildS3.bat index 5700ba4b..6e458b37 100755 --- a/Build Scripts/buildS3.bat +++ b/Build Scripts/buildS3.bat @@ -26,7 +26,7 @@ set AS_MSGPATH=AS\Win32 set USEANSI=n REM // allow the user to choose to output error messages to file by supplying the -logerrors parameter -IF "%1"=="-logerrors" ( "AS\Win32\asw.exe" -xx -q -c -o sonic3k.p -olist sonic3k.lst -shareout sonic3k.h -E sonic3k.log -A -L s3.asm ) ELSE "AS\Win32\asw.exe" -xx -q -c -o sonic3k.p -olist sonic3k.lst -shareout sonic3k.h -A -L s3.asm +IF "%1"=="-logerrors" ( "AS\Win32\asw.exe" -xx -q -c -o sonic3k.p -olist sonic3k.lst -shareout sonic3k.h -E sonic3k.log -A -L -i "%cd%" s3.asm ) ELSE "AS\Win32\asw.exe" -xx -q -c -o sonic3k.p -olist sonic3k.lst -shareout sonic3k.h -A -L -i "%cd%" s3.asm REM // if there were errors, a log file is produced IF "%1"=="-logerrors" ( IF EXIST sonic3k.log goto LABLERROR3 ) diff --git a/Build Scripts/buildS3Complete.bat b/Build Scripts/buildS3Complete.bat index 2f400b45..0d89624f 100755 --- a/Build Scripts/buildS3Complete.bat +++ b/Build Scripts/buildS3Complete.bat @@ -26,7 +26,7 @@ set AS_MSGPATH=AS\Win32 set USEANSI=n REM // allow the user to choose to output error messages to file by supplying the -logerrors parameter -IF "%1"=="-logerrors" ( "AS\Win32\asw.exe" -xx -q -c -D Sonic3_Complete=1 -E -A -L sonic3k.asm ) ELSE "AS\Win32\asw.exe" -xx -q -c -D Sonic3_Complete=1 -A -L sonic3k.asm +IF "%1"=="-logerrors" ( "AS\Win32\asw.exe" -xx -q -c -D Sonic3_Complete=1 -E -A -L -i "%cd%" sonic3k.asm ) ELSE "AS\Win32\asw.exe" -xx -q -c -D Sonic3_Complete=1 -A -L -i "%cd%" sonic3k.asm REM // if there were errors, a log file is produced IF "%1"=="-logerrors" ( IF EXIST sonic3k.log goto LABLERROR3 ) diff --git a/Build Scripts/buildSK.bat b/Build Scripts/buildSK.bat index 1a48660a..da2b1bda 100755 --- a/Build Scripts/buildSK.bat +++ b/Build Scripts/buildSK.bat @@ -26,7 +26,7 @@ set AS_MSGPATH=AS\Win32 set USEANSI=n REM // allow the user to choose to output error messages to file by supplying the -logerrors parameter -IF "%1"=="-logerrors" ( "AS\Win32\asw.exe" -xx -q -c -D Sonic3_Complete=0 -E -A -L sonic3k.asm ) ELSE "AS\Win32\asw.exe" -xx -q -c -D Sonic3_Complete=0 -A -L sonic3k.asm +IF "%1"=="-logerrors" ( "AS\Win32\asw.exe" -xx -q -c -D Sonic3_Complete=0 -E -A -L -i "%cd%" sonic3k.asm ) ELSE "AS\Win32\asw.exe" -xx -q -c -D Sonic3_Complete=0 -A -L -i "%cd%" sonic3k.asm REM // if there were errors, a log file is produced IF "%1"=="-logerrors" ( IF EXIST sonic3k.log goto LABLERROR3 ) diff --git a/Build Scripts/s3.txt b/Build Scripts/s3.txt index 37dcd339..019613df 100644 --- a/Build Scripts/s3.txt +++ b/Build Scripts/s3.txt @@ -1,5 +1,6 @@ /* Miscellaneous */ #split 0x00000000,0x00000200,Lockon S3\Header.bin +#split 0x0001AF6A,0x0001AFC2,Levels\LRZ\Misc\Rock Sprite Attribute Data S3.bin #split 0x0006A0E0,0x0006A4E8,General\Special Stage\Layout\S3 1.bin #split 0x0006A4E8,0x0006A8F0,General\Special Stage\Layout\S3 2.bin #split 0x0006A8F0,0x0006ACF8,General\Special Stage\Layout\S3 3.bin @@ -10,7 +11,6 @@ #split 0x0006BD18,0x0006C120,General\Special Stage\Layout\S3 8.bin #split 0x0006D000,0x0006F460,Levels\HCZ\Misc\HCZ Waterline Scroll Data.bin #split 0x0006F460,0x000704A0,Levels\LBZ\Misc\LBZ Waterline Scroll Data.bin -#split 0x00093240,0x00098100,General\Special Stage\Layout\S3 Plane Map.bin #split 0x0009A7DA,0x0009FC3A,General\Special Stage\Layout\S3 Perspective Maps.bin #split 0x00144E80,0x00144F48,Levels\ICZ\Misc\ICZ Snowboard Slope 1.bin #split 0x00144F48,0x00145010,Levels\ICZ\Misc\ICZ Snowboard Slope 2.bin @@ -19,6 +19,7 @@ #split 0x001CBBB4,0x001CCC34,Levels\MGZ\Misc\Act 2 Quake Chunks.bin /* Demo data */ +#split 0x00005A20,0x00005E20,Levels\AIZ\Demodata\1 Proto.bin #split 0x000C5624,0x000C5DA4,Levels\AIZ\Demodata\1.bin #split 0x000C5DA4,0x000C6524,Levels\HCZ\Demodata\1.bin #split 0x000C6524,0x000C6CA4,Levels\MGZ\Demodata\1.bin @@ -36,6 +37,8 @@ #split 0x0000BCB6,0x0000BCD6,General\Save Menu\Palettes\Zone Card 8 S3.bin #split 0x000236AC,0x000236CC,General\Special Stage\Palettes\Eosian Spheres.bin #split 0x0002D39E,0x0002D41E,General\Special Stage\Palettes\Results S3.bin +#split 0x0003C05A,0x0003C07A,Levels\AIZ\Palettes\Battleship.bin +#split 0x0003C07A,0x0003C096,Levels\AIZ\Palettes\Boss Small.bin #split 0x0003F698,0x0003F718,General\Sprites\Continue\Palette S3.bin #split 0x0004160A,0x0004164A,General\Ending\Palettes\S3 Ending.bin #split 0x0004164A,0x0004168A,General\Ending\Palettes\S3 Logo.bin @@ -45,11 +48,11 @@ #split 0x00043470,0x000434E0,General\Sprites\S2Menu\Palettes\Sega Screen 3.bin #split 0x0004D520,0x0004D540,Levels\FBZ\Palettes\S3 Miniboss.bin #split 0x0005215C,0x0005217C,General\Ending\Palettes\S3 Super Sonic End Pose.bin -#split 0x0008C1B4,0x0008C1D4,Levels\Misc\Palettes\Unknown 2 S3.bin -#split 0x0008C1D4,0x0008C234,Levels\Misc\Palettes\Unknown 3 S3.bin +#split 0x0008C1B4,0x0008C1D4,General\Sprites\S2Menu\Palettes\Title Screen.bin +#split 0x0008C1D4,0x0008C234,General\Sprites\S2Menu\Palettes\Proto Level Select.bin #split 0x0008CDB4,0x0008CE14,Levels\Pachinko\Palettes\S3.bin #split 0x0008CE14,0x0008CE74,Levels\Slots\Palettes\S3.bin -#split 0x00164896,0x00164A96,Levels\Misc\Palettes\MGZ Fade to CNZ.bin +#split 0x00164896,0x00164A96,Levels\MGZ\Palettes\Fade to CNZ.bin #split 0x0019D262,0x0019D282,General\Save Menu\Palettes\BG.bin #split 0x0019D282,0x0019D2A2,General\Competition Menu\Palettes\BG.bin @@ -123,11 +126,11 @@ #split 0x0013DB60,0x00140FE0,General\Sprites\Knuckles\Art\Knuckles 2P.bin #split 0x00145010,0x00147850,General\Sprites\Sonic\Art\Sonic Snowboarding.bin #split 0x00147850,0x00147E30,General\Sprites\Snowboard\Snowboard.bin -#split 0x0016732A,0x00167DCA,General\Sprites\Rhino\Rhino.bin +#split 0x0016732A,0x00167DCA,General\Sprites\Rhinobot\Rhinobot.bin #split 0x0016D6A4,0x0016E0C4,General\Sprites\Bubbles Badnik\Bubbles Badnik.bin #split 0x0016EF18,0x00170058,General\Sprites\Clamer\Clamer.bin #split 0x00174154,0x00175134,General\Sprites\Penguinator\Penguinator.bin -#split 0x00177EBE,0x001791DE,General\Sprites\Flybot\Flybot.bin +#split 0x00177EBE,0x001791DE,General\Sprites\Flybot767\Flybot767.bin #split 0x00182DC6,0x00187CA6,General\Sprites\Knuckles\Cutscene\Cutscene Main.bin #split 0x00192394,0x00192B14,Levels\HCZ\Animated Tiles\Water Splash 2.bin #split 0x00192B14,0x00193714,Levels\HCZ\Animated Tiles\Water Splash.bin @@ -153,6 +156,7 @@ #split 0x0015D794,0x0015D7FC,General\Sprites\Level Misc\Horizontal Spikes.bin #split 0x0015D7FC,0x0015D8A2,General\Sprites\Enemy Misc\Enemy Points.bin #split 0x0015D8A2,0x0015DA5A,General\Sprites\Starpost\Starpost.bin +#split 0x0015EEB4,0x0015EFFC,General\Sprites\S2Menu\Tails Continue Icon.bin #split 0x00164BF2,0x00165260,Levels\AIZ\Nemesis Art\Miniboss.bin #split 0x001671A2,0x0016732A,Levels\AIZ\Nemesis Art\Miniboss Small.bin #split 0x00168400,0x0016929E,Levels\HCZ\Nemesis Art\Miniboss.bin @@ -185,8 +189,8 @@ #split 0x0018FD88,0x00190348,Levels\HCZ\Nemesis Art\Misc Art.bin #split 0x00190348,0x00190900,Levels\HCZ\Nemesis Art\Water Rush.bin #split 0x00191B36,0x0019204C,Levels\HCZ\Nemesis Art\Act 2 Slide.bin -#split 0x0019204C,0x00192394,Levels\HCZ\Nemesis Art\Act 2 Block Platform.bin -#split 0x00193714,0x0019382E,Levels\HCZ\Nemesis Art\Act 2 Knuckles Wall.bin +#split 0x0019204C,0x00192394,Levels\HCZ\Nemesis Art\Act 2 Block Platform.bin +#split 0x00193714,0x0019382E,Levels\HCZ\Nemesis Art\Act 2 Knuckles Wall.bin #split 0x0019382E,0x0019426C,Levels\MGZ\Nemesis Art\Misc Art 1.bin #split 0x0019426C,0x0019487C,Levels\MGZ\Nemesis Art\Misc Art 2.bin #split 0x0019487C,0x00194AB6,Levels\MGZ\Nemesis Art\Direction Signs.bin @@ -227,7 +231,7 @@ /* Kosinski-Moduled-Compressed Art */ #split 0x00165260,0x001671A2,Levels\AIZ\KosinskiM Art\End Boss.bin -#split 0x00167DCA,0x0016800C,General\Sprites\Tulipon\Tulipon.bin +#split 0x00167DCA,0x0016800C,General\Sprites\Bloominator\Bloominator.bin #split 0x0016800C,0x001681FE,General\Sprites\Monkey Dude\Monkey Dude.bin #split 0x001681FE,0x00168400,General\Sprites\Caterkiller Jr\Caterkiller Jr.bin #split 0x0016A552,0x0016A6C4,General\Sprites\Jawz\Jawz.bin @@ -250,7 +254,7 @@ #split 0x0017567A,0x0017599C,Levels\LBZ\KosinskiM Art\Miniboss Box.bin #split 0x00176542,0x00176874,Levels\LBZ\KosinskiM Art\End Boss.bin #split 0x00176874,0x00177996,Levels\LBZ\KosinskiM Art\Final Boss 2.bin -#split 0x00177996,0x00177BE8,General\Sprites\Snail Blaster\Snail Blaster.bin +#split 0x00177996,0x00177BE8,General\Sprites\Snale Blaster\Snale Blaster.bin #split 0x00177BE8,0x00177D1A,General\Sprites\Ribot\Ribot.bin #split 0x00177D1A,0x00177DFC,General\Sprites\Orbinaut\Orbinaut.bin #split 0x00177DFC,0x00177EBE,General\Sprites\Corkey\Corkey.bin @@ -332,6 +336,31 @@ #split 0x000DFABE,0x000DFBFE,Sound\Music\Countdown.bin #split 0x000DFBFE,0x000DFEAC,Sound\Music\Sonic 3\Sonic 3 Game Complete.bin +/* Uncompressed plane mappings */ +#split 0x0000A130,0x0000A164,General\Competition Menu\Uncompressed Map\Numbers.bin +#split 0x0000AE7C,0x0000AEA4,General\Competition Menu\Uncompressed Map\Results Letters.bin +#split 0x0000AEA4,0x0000AEF4,General\Competition Menu\Uncompressed Map\Results Dividers.bin +#split 0x0000AEF4,0x0000AF08,General\Competition Menu\Uncompressed Map\Results TOTAL.bin +#split 0x0000AF08,0x0000AF10,General\Competition Menu\Uncompressed Map\Results Win.bin +#split 0x0000AF10,0x0000AF18,General\Competition Menu\Uncompressed Map\Results Lose.bin +#split 0x0000AF18,0x0000AF20,General\Competition Menu\Uncompressed Map\Results Tie.bin +#split 0x0000B326,0x0000B38A,General\Competition Menu\Uncompressed Map\LAP.bin +#split 0x0000B38A,0x0000B3A6,General\Competition Menu\Uncompressed Map\RECORDS.bin +#split 0x0000B3A6,0x0000B3D6,General\Competition Menu\Uncompressed Map\1ST 2ND 3RD.bin +#split 0x0000B3EA,0x0000B41E,General\Competition Menu\Uncompressed Map\AZURE LAKE.bin +#split 0x0000B41E,0x0000B452,General\Competition Menu\Uncompressed Map\BALLOON PARK.bin +#split 0x0000B452,0x0000B486,General\Competition Menu\Uncompressed Map\CHROME GADGET.bin +#split 0x0000B486,0x0000B4BA,General\Competition Menu\Uncompressed Map\DESERT PALACE.bin +#split 0x0000B4BA,0x0000B4EE,General\Competition Menu\Uncompressed Map\ENDLESS MINE.bin +#split 0x00093240,0x00098100,General\Special Stage\Uncompressed Map\Layout S3.bin +#split 0x0019F150,0x0019F228,General\Competition Menu\Uncompressed Map\Time Border.bin +#split 0x0019F228,0x0019F24C,General\Competition Menu\Uncompressed Map\Time Text.bin +#split 0x001A20DE,0x001A216A,General\Save Menu\Uncompressed Map\NEW.bin +#split 0x001A217A,0x001A2206,General\Save Menu\Uncompressed Map\Static 1.bin +#split 0x001A2206,0x001A2292,General\Save Menu\Uncompressed Map\Static 2.bin +#split 0x001A2292,0x001A231E,General\Save Menu\Uncompressed Map\Static 3.bin +#split 0x001A231E,0x001A23AA,General\Save Menu\Uncompressed Map\Static 4.bin + /* Enigma Mappings */ #split 0x0000729C,0x000072EE,General\Sprites\S2Menu\Enigma Map\Level Select 2P.bin #split 0x000072EE,0x0000731A,General\Sprites\S2Menu\Enigma Map\Options Screen.bin @@ -352,7 +381,7 @@ #split 0x0014FF48,0x00150018,General\Title\Enigma Map\S3 Sonic C.bin #split 0x00150018,0x00150112,General\Title\Enigma Map\S3 Sonic D.bin #split 0x00150112,0x001501E0,General\Title\Enigma Map\S3 BG.bin -#split 0x0019D2A2,0x0019D4A4,General\Title\Enigma Map\S3 Menu BG.bin +#split 0x0019D2A2,0x0019D4A4,General\Save Menu\Enigma Map\Menu BG.bin #split 0x0019F104,0x0019F150,General\Competition Menu\Enigma Map\Level Border.bin #split 0x0019F24C,0x0019F36C,General\Competition Menu\Enigma Map\Level Images.bin #split 0x0019F36C,0x0019F46E,General\Competition Menu\Enigma Map\Level Names.bin diff --git a/Build Scripts/sk.txt b/Build Scripts/sk.txt index f117e2d4..5db277f3 100644 --- a/Build Scripts/sk.txt +++ b/Build Scripts/sk.txt @@ -6,8 +6,8 @@ /* Miscellaneous */ #split 0x00001D64,0x00001FE4,Levels\Misc\sine.bin #split 0x00002040,0x00002142,Levels\Misc\arctan.bin -#split 0x00005F82,0x00005FB2,Sound\Music\Music playlist.bin #split 0x00006D2C,0x00006D6C,Levels\Misc\StartingWaterHeights.bin +#split 0x0000A264,0x0000A464,General\Special Stage\Scalars.bin #split 0x0001CBBE,0x0001CCAE,Levels\LRZ\Misc\Rock Sprite Attribute Data.bin #split 0x000B2E36,0x000B6946,General\Special Stage\Layout\Perspective Maps.bin #split 0x000CAD06,0x000CB81A,Levels\LRZ\Misc\Act 1 Rock Placement.bin @@ -79,7 +79,7 @@ #split 0x0000CCF8,0x0000CD18,General\Save Menu\Palettes\Zone Card 10.bin #split 0x0000CD18,0x0000CD38,General\Save Menu\Palettes\Zone Card 11.bin #split 0x0000CD38,0x0000CD58,General\Save Menu\Palettes\Zone Card 12.bin -#split 0x0002E318,0x0002E398,General\Results\Palettes\Main.bin +#split 0x0002E318,0x0002E398,General\Special Stage\Palettes\Results.bin #split 0x0004CB36,0x0004CBB6,General\Blue Sphere\Palettes\Title 1.bin #split 0x0004CBB6,0x0004CC36,General\Blue Sphere\Palettes\Title 2.bin #split 0x0004DE08,0x0004DE68,General\Blue Sphere\Palettes\Results Line 0-2.bin @@ -142,14 +142,22 @@ #split 0x00079726,0x00079786,Levels\LRZ\Palettes\Boss Act Fire.bin #split 0x0007A1EE,0x0007A20E,Levels\LRZ\Palettes\End Boss.bin #split 0x0007B268,0x0007B288,Levels\SSZ\Palettes\MTZOrbs.bin -#split 0x0007D850,0x0007D9EA,Levels\SSZ\Palettes\GHZMisc.bin +#split 0x0007D850,0x0007D870,General\Sprites\Mecha Sonic\Palettes\Main.bin +#split 0x0007DA6E,0x0007DA8E,General\Sprites\Mecha Sonic\Palettes\Flash 1.bin +#split 0x0007DA90,0x0007DAB0,General\Sprites\Mecha Sonic\Palettes\Flash 2.bin +#split 0x0007DAB2,0x0007DAD2,General\Sprites\Mecha Sonic\Palettes\Flash 3.bin +#split 0x0007DADC,0x0007DAFC,General\Sprites\Mecha Sonic\Palettes\Super 1.bin +#split 0x0007DAFE,0x0007DB1E,General\Sprites\Mecha Sonic\Palettes\Super 2.bin +#split 0x0007DB20,0x0007DB40,General\Sprites\Mecha Sonic\Palettes\Super 3.bin #split 0x0007EFFC,0x0007F01C,Levels\DEZ\Palettes\Miniboss 1.bin #split 0x0007F01C,0x0007F03C,Levels\DEZ\Palettes\Miniboss 2.bin #split 0x0007FD08,0x0007FD28,Levels\DEZ\Palettes\End Boss.bin +#split 0x00083CFA,0x00083D1A,Levels\AIZ\Palettes\Miniboss After.bin +#split 0x00083D1A,0x00083D3A,Levels\ICZ\Palettes\Miniboss After.bin #split 0x00090680,0x000906A0,Levels\LRZ\Palettes\Rock Crusher.bin -#split 0x000A893C,0x000A89BC,Levels\Misc\Palettes\Unknown 1.bin -#split 0x000A89BC,0x000A89DC,Levels\Misc\Palettes\Unknown 2.bin -#split 0x000A89DC,0x000A8A3C,Levels\Misc\Palettes\Unknown 3.bin +#split 0x000A893C,0x000A89BC,General\Sprites\S2Menu\Palettes\Sega Screen.bin +#split 0x000A89BC,0x000A89DC,General\Sprites\S2Menu\Palettes\Title Screen SK.bin +#split 0x000A89DC,0x000A8A3C,General\Sprites\S2Menu\Palettes\Proto Level Select SK.bin #split 0x000A8A3C,0x000A8A7C,General\Sprites\Sonic\Palettes\SonicAndTails.bin #split 0x000A8A7C,0x000A8AFC,General\Sprites\S2Menu\Palettes\Main.bin #split 0x000A8AFC,0x000A8B1C,General\Sprites\Knuckles\Palettes\Main.bin @@ -227,7 +235,10 @@ #split 0x000A8044,0x000A872C,Levels\MHZ\Layout\3.bin /* Uncompressed Art */ -#split 0x000A9DFC,0x000AA57C,General\Sprites\Bubbles\Air Countdown.bin +#split 0x0000E18A,0x0000E48A,General\Sprites\HUD Icon\HUD Digits.bin +#split 0x0000E48A,0x0000E5CA,General\Sprites\HUD Icon\Lives Digits.bin +#split 0x0000E5CA,0x0000E8AA,General\Sprites\HUD Icon\Debug Digits.bin +#split 0x000A9DFC,0x000AA57C,General\Sprites\Dash Dust\Air Countdown.bin #split 0x000AA57C,0x000AAA7C,General\Sprites\S2Menu\SONICMILES.bin #split 0x000AAA7C,0x000ABDFC,General\Sprites\Sonic\Art\SStage Sonic.bin #split 0x000ABF22,0x000AD302,General\Sprites\Knuckles\Art\SStage Knuckles.bin @@ -379,14 +390,12 @@ #split 0x0019385A,0x00194388,General\Sprites\Bonus\Bonus Stage.bin /* Kosinski-Compressed Art */ - #split 0x000CC6A0,0x000CCA20,General\Title\Kosinski Art\SK Big SEGA.bin #split 0x000CCA20,0x000CD910,General\Title\Kosinski Art\SK Screen Background.bin #split 0x000D2504,0x000D33E4,General\Title\Kosinski Art\SK Sonic Falling.bin #split 0x000D33E4,0x000D3A64,General\Title\Kosinski Art\SK Death Egg.bin #split 0x000D3A64,0x000D3BB4,General\Title\Kosinski Art\SK Mountain Sprite.bin #split 0x000D4BA6,0x000D5CC6,General\Title\Kosinski Art\SK Sonic and Knuckles Hands.bin -#split 0x000DE364,0x000DE684,General\Title\Kosinski Art\SK ANDKnuckles Subtitle.bin #split 0x00156C08,0x001574E8,Levels\Pachinko\Kosinski Art\Animated BG 1.bin #split 0x001574E8,0x001578F8,Levels\Pachinko\Kosinski Art\Animated BG 2.bin #split 0x0015BAC0,0x0015C130,General\Special Stage\Kosinski Art\SSResults General.bin @@ -394,10 +403,6 @@ #split 0x0015CD62,0x0015EDB2,General\Save Menu\Kosinski Art\SK Zone Art.bin #split 0x0015EDB2,0x0015FC12,General\Save Menu\Kosinski Art\Portraits.bin #split 0x0015A774,0x0015B374,General\Save Menu\Kosinski Art\SK Extra.bin -#split 0x0015FDDE,0x0015FFBE,General\Sprites\Robotnik\Egg Robo Head.bin -#split 0x00163248,0x00163418,General\Ending\Kosinski Art\Robotnik Standing Smug.bin -#split 0x0016416E,0x0016461E,General\Ending\Kosinski Art\Sonic Knuckles Pose Banner.bin -#split 0x0017FCBC,0x0018008C,Levels\HPZ\Kosinski Art\Master Emerald.bin #split 0x00187D1C,0x00188E7C,General\Blue Sphere\Kosinski Art\Characters.bin #split 0x00188F1E,0x001897DE,General\Blue Sphere\Kosinski Art\Character Sprites.bin #split 0x001897DE,0x00189C4E,General\Blue Sphere\Kosinski Art\Normal Text.bin @@ -419,6 +424,7 @@ #split 0x000DB406,0x000DB818,General\Sprites\SS Entry\Badnik Explosion.bin #split 0x000DC6C2,0x000DC9C4,General\Sprites\Blaster\Blaster.bin #split 0x000DC9C4,0x000DCC76,General\Sprites\Technosqueek\Technosqueek.bin +#split 0x000DE362,0x000DE684,General\Ending\KosinskiM Art\ANDKnuckles Subtitle.bin #split 0x0014C652,0x0014C7D4,General\Sprites\Sonic\Art\Hyper Sonic Stars.bin #split 0x0014C7D4,0x0014C926,General\Sprites\Tails\Art\Super Tails birds.bin #split 0x001541B0,0x00154552,Levels\SSZ\KosinskiM Art\Spiral Ramp.bin @@ -440,15 +446,18 @@ #split 0x0015C9BC,0x0015CA9E,Levels\DEZ\KosinskiM Art\Title Card.bin #split 0x0015CA9E,0x0015CC30,Levels\DDZ\KosinskiM Art\Title Card.bin #split 0x0015CC30,0x0015CD62,Levels\HPZ\KosinskiM Art\Title Card.bin +#split 0x0015FDDC,0x0015FFBE,General\Sprites\Robotnik\Egg Robo Head.bin #split 0x001607D8,0x00160AAA,General\Sprites\Robotnik\Robotnik Ship Crane.bin #split 0x00160AAA,0x00160D8C,General\Ending\KosinskiM Art\Island Lift Animated Tiles.bin #split 0x00160D8C,0x0016118E,General\Ending\KosinskiM Art\Pelican and Dolphin.bin #split 0x0016118E,0x00161660,General\Ending\KosinskiM Art\Egg Robo.bin -#split 0x00161660,0x001620D2,General\Ending\KosinskiM Art\Normal Sonic Ending Pose.bin +#split 0x00161660,0x001620D2,General\Ending\KosinskiM Art\Sonic Ending Pose.bin #split 0x001620D2,0x00162914,General\Ending\KosinskiM Art\Super Sonic Ending Pose.bin #split 0x00162914,0x00163246,General\Ending\KosinskiM Art\Sonic Plane Ending.bin +#split 0x00163246,0x00163418,General\Ending\KosinskiM Art\Robotnik Standing Smug.bin #split 0x00163418,0x00163B9A,General\Ending\KosinskiM Art\Sonic Plane.bin #split 0x00163B9A,0x0016416C,General\Sprites\Knuckles\Cutscene\Knuckles Ending Cutscene.bin +#split 0x0016416C,0x0016461E,General\Ending\KosinskiM Art\Sonic Knuckles Pose Banner.bin #split 0x0016461E,0x001649A0,General\Ending\KosinskiM Art\Sonic 3 Pose Banner.bin #split 0x00165000,0x001651D2,General\Sprites\Knuckles\Cutscene\Knuckles Intro Bomb.bin #split 0x001651D2,0x001652B4,Levels\FBZ\KosinskiM Art\Exit Hall.bin @@ -492,6 +501,7 @@ #split 0x0017EDB4,0x0017EFA6,Levels\SSZ\KosinskiM Art\GHZ Ball and Chain.bin #split 0x0017EFA6,0x0017F738,Levels\SSZ\KosinskiM Art\MTZ Orbs.bin #split 0x0017F738,0x0017FCBA,General\Sprites\Mecha Sonic\Mecha Sonic Extra Art.bin +#split 0x0017FCBA,0x0018008C,General\Ending\KosinskiM Art\Master Emerald.bin #split 0x0018008C,0x001803EE,General\Sprites\Spikebonker\Spikebonker.bin #split 0x001803EE,0x001805A0,General\Sprites\Chainspike\Chainspike.bin #split 0x001805A0,0x00181002,Levels\DEZ\KosinskiM Art\Miniboss Misc Art.bin @@ -812,6 +822,10 @@ #split 0x001DFE92,0x001E01B2,Levels\Pachinko\Chunks\Primary.bin #split 0x001E36C4,0x001E3BB4,Levels\Slots\Chunks\Primary.bin +/* Uncompressed plane mappings */ +#split 0x00008CB4,0x00008D2C,General\Special Stage\Uncompressed Map\HUD Numbers.bin +#split 0x00008D2C,0x00008D5C,General\Special Stage\Uncompressed Map\HUD.bin + /* Enigma Compressed plane mappings */ #split 0x000AEDB0,0x000AEED0,General\Special Stage\Enigma Map\BG.bin #split 0x000AEF54,0x000B07B8,General\Special Stage\Enigma Map\Layout.bin diff --git a/General/Title/Kosinski Art/SK ANDKnuckles Subtitle.bin b/General/Ending/KosinskiM Art/ANDKnuckles Subtitle.bin similarity index 75% rename from General/Title/Kosinski Art/SK ANDKnuckles Subtitle.bin rename to General/Ending/KosinskiM Art/ANDKnuckles Subtitle.bin index 9935546f..27025ca8 100644 Binary files a/General/Title/Kosinski Art/SK ANDKnuckles Subtitle.bin and b/General/Ending/KosinskiM Art/ANDKnuckles Subtitle.bin differ diff --git a/General/Ending/KosinskiM Art/Master Emerald.bin b/General/Ending/KosinskiM Art/Master Emerald.bin new file mode 100644 index 00000000..a778dba1 Binary files /dev/null and b/General/Ending/KosinskiM Art/Master Emerald.bin differ diff --git a/General/Ending/Kosinski Art/Robotnik Standing Smug.bin b/General/Ending/KosinskiM Art/Robotnik Standing Smug.bin similarity index 72% rename from General/Ending/Kosinski Art/Robotnik Standing Smug.bin rename to General/Ending/KosinskiM Art/Robotnik Standing Smug.bin index 1d131c78..309bd0ca 100644 Binary files a/General/Ending/Kosinski Art/Robotnik Standing Smug.bin and b/General/Ending/KosinskiM Art/Robotnik Standing Smug.bin differ diff --git a/General/Ending/KosinskiM Art/Normal Sonic Ending Pose.bin b/General/Ending/KosinskiM Art/Sonic Ending Pose.bin similarity index 100% rename from General/Ending/KosinskiM Art/Normal Sonic Ending Pose.bin rename to General/Ending/KosinskiM Art/Sonic Ending Pose.bin diff --git a/General/Ending/Kosinski Art/Sonic Knuckles Pose Banner.bin b/General/Ending/KosinskiM Art/Sonic Knuckles Pose Banner.bin similarity index 78% rename from General/Ending/Kosinski Art/Sonic Knuckles Pose Banner.bin rename to General/Ending/KosinskiM Art/Sonic Knuckles Pose Banner.bin index e795354a..f7d30e79 100644 Binary files a/General/Ending/Kosinski Art/Sonic Knuckles Pose Banner.bin and b/General/Ending/KosinskiM Art/Sonic Knuckles Pose Banner.bin differ diff --git a/General/Title/Map - ANDKnuckles Subtitle.asm b/General/Ending/Map - ANDKnuckles Subtitle.asm similarity index 100% rename from General/Title/Map - ANDKnuckles Subtitle.asm rename to General/Ending/Map - ANDKnuckles Subtitle.asm diff --git a/General/Title/Enigma Map/S3 Menu BG.bin b/General/Save Menu/Enigma Map/Menu BG.bin similarity index 100% rename from General/Title/Enigma Map/S3 Menu BG.bin rename to General/Save Menu/Enigma Map/Menu BG.bin diff --git a/General/Special Stage/Scalars.bin b/General/Special Stage/Scalars.bin new file mode 100644 index 00000000..c5a01ef9 Binary files /dev/null and b/General/Special Stage/Scalars.bin differ diff --git a/General/Special Stage/Uncompressed Map/HUD Numbers.bin b/General/Special Stage/Uncompressed Map/HUD Numbers.bin new file mode 100644 index 00000000..9f826273 --- /dev/null +++ b/General/Special Stage/Uncompressed Map/HUD Numbers.bin @@ -0,0 +1 @@ +ǁρǂǃǁρǁρDŽDždžLJǁρχLjǁρǁρNJϊNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙϙߖߕׁ߁Ǜ׃߈ׇׁ߁ǜǝׁ߁ׁ߁Ǟǟׁ߁ׁ߁ \ No newline at end of file diff --git a/General/Special Stage/Uncompressed Map/HUD.bin b/General/Special Stage/Uncompressed Map/HUD.bin new file mode 100644 index 00000000..6601cfbf --- /dev/null +++ b/General/Special Stage/Uncompressed Map/HUD.bin @@ -0,0 +1 @@ +ωǁρǁρǁρljϚNJϊNJϊNJϊǚ߉ׁ߁ׁ߁ׁ߁׉ \ No newline at end of file diff --git a/General/Special Stage/Layout/S3 Plane Map.bin b/General/Special Stage/Uncompressed Map/Layout S3.bin similarity index 100% rename from General/Special Stage/Layout/S3 Plane Map.bin rename to General/Special Stage/Uncompressed Map/Layout S3.bin diff --git a/General/Sprites/Tulipon/Tulipon.bin b/General/Sprites/Bloominator/Bloominator.bin similarity index 100% rename from General/Sprites/Tulipon/Tulipon.bin rename to General/Sprites/Bloominator/Bloominator.bin diff --git a/General/Sprites/Tulipon/Map - Tulipon.asm b/General/Sprites/Bloominator/Map - Bloominator.asm similarity index 100% rename from General/Sprites/Tulipon/Map - Tulipon.asm rename to General/Sprites/Bloominator/Map - Bloominator.asm diff --git a/General/Sprites/Bubbles/Air Countdown.bin b/General/Sprites/Dash Dust/Air Countdown.bin similarity index 100% rename from General/Sprites/Bubbles/Air Countdown.bin rename to General/Sprites/Dash Dust/Air Countdown.bin diff --git a/General/Sprites/Shields/Anim - Shields.asm b/General/Sprites/Dash Dust/Anim - Air Countdown.asm similarity index 60% rename from General/Sprites/Shields/Anim - Shields.asm rename to General/Sprites/Dash Dust/Anim - Air Countdown.asm index df0d4db6..09500a04 100644 --- a/General/Sprites/Shields/Anim - Shields.asm +++ b/General/Sprites/Dash Dust/Anim - Air Countdown.asm @@ -1,18 +1,18 @@ - dc.w byte_186E2-Ani_Shields - dc.w byte_186EB-Ani_Shields - dc.w byte_186F4-Ani_Shields - dc.w byte_186FD-Ani_Shields - dc.w byte_18706-Ani_Shields - dc.w byte_1870F-Ani_Shields - dc.w byte_18718-Ani_Shields - dc.w byte_1871D-Ani_Shields - dc.w byte_18725-Ani_Shields - dc.w byte_1872D-Ani_Shields - dc.w byte_18735-Ani_Shields - dc.w byte_1873D-Ani_Shields - dc.w byte_18745-Ani_Shields - dc.w byte_1874D-Ani_Shields - dc.w byte_1874F-Ani_Shields + dc.w byte_186E2-Ani_AirCountdown + dc.w byte_186EB-Ani_AirCountdown + dc.w byte_186F4-Ani_AirCountdown + dc.w byte_186FD-Ani_AirCountdown + dc.w byte_18706-Ani_AirCountdown + dc.w byte_1870F-Ani_AirCountdown + dc.w byte_18718-Ani_AirCountdown + dc.w byte_1871D-Ani_AirCountdown + dc.w byte_18725-Ani_AirCountdown + dc.w byte_1872D-Ani_AirCountdown + dc.w byte_18735-Ani_AirCountdown + dc.w byte_1873D-Ani_AirCountdown + dc.w byte_18745-Ani_AirCountdown + dc.w byte_1874D-Ani_AirCountdown + dc.w byte_1874F-Ani_AirCountdown byte_186E2: dc.b 5, 0, 1, 2, 3, 4, 9, $D, $FC byte_186EB: dc.b 5, 0, 1, 2, 3, 4, $C, $12, $FC byte_186F4: dc.b 5, 0, 1, 2, 3, 4, $C, $11, $FC diff --git a/General/Sprites/Flybot/DPLC - Flybot.asm b/General/Sprites/Flybot767/DPLC - Flybot767.asm similarity index 100% rename from General/Sprites/Flybot/DPLC - Flybot.asm rename to General/Sprites/Flybot767/DPLC - Flybot767.asm diff --git a/General/Sprites/Flybot/Flybot.bin b/General/Sprites/Flybot767/Flybot767.bin similarity index 100% rename from General/Sprites/Flybot/Flybot.bin rename to General/Sprites/Flybot767/Flybot767.bin diff --git a/General/Sprites/Flybot/Map - Flybot.asm b/General/Sprites/Flybot767/Map - Flybot767.asm similarity index 100% rename from General/Sprites/Flybot/Map - Flybot.asm rename to General/Sprites/Flybot767/Map - Flybot767.asm diff --git a/General/Sprites/HUD Icon/Knuckles life icon.bin b/General/Sprites/HUD Icon/Knuckles Life icon.bin similarity index 100% rename from General/Sprites/HUD Icon/Knuckles life icon.bin rename to General/Sprites/HUD Icon/Knuckles Life icon.bin diff --git a/General/Sprites/HUD Icon/Sonic life icon.bin b/General/Sprites/HUD Icon/Sonic Life icon.bin similarity index 100% rename from General/Sprites/HUD Icon/Sonic life icon.bin rename to General/Sprites/HUD Icon/Sonic Life icon.bin diff --git a/General/Sprites/Knuckles/Knuckles pattern load cues.asm b/General/Sprites/Knuckles/DPLC - Knuckles.asm similarity index 100% rename from General/Sprites/Knuckles/Knuckles pattern load cues.asm rename to General/Sprites/Knuckles/DPLC - Knuckles.asm diff --git a/General/Sprites/Unused/Map - Obj27 Unused 2.asm b/General/Sprites/Level Misc/Map - Lava Marker S2 Debug.asm similarity index 100% rename from General/Sprites/Unused/Map - Obj27 Unused 2.asm rename to General/Sprites/Level Misc/Map - Lava Marker S2 Debug.asm diff --git a/General/Sprites/Unused/Map - Obj27 Unused.asm b/General/Sprites/Level Misc/Map - Lava Marker S2.asm similarity index 100% rename from General/Sprites/Unused/Map - Obj27 Unused.asm rename to General/Sprites/Level Misc/Map - Lava Marker S2.asm diff --git a/General/Sprites/Mecha Sonic/Palettes/Flash 1.bin b/General/Sprites/Mecha Sonic/Palettes/Flash 1.bin new file mode 100644 index 00000000..6ac18ff0 Binary files /dev/null and b/General/Sprites/Mecha Sonic/Palettes/Flash 1.bin differ diff --git a/General/Sprites/Mecha Sonic/Palettes/Flash 2.bin b/General/Sprites/Mecha Sonic/Palettes/Flash 2.bin new file mode 100644 index 00000000..06cd5efa Binary files /dev/null and b/General/Sprites/Mecha Sonic/Palettes/Flash 2.bin differ diff --git a/General/Sprites/Mecha Sonic/Palettes/Flash 3.bin b/General/Sprites/Mecha Sonic/Palettes/Flash 3.bin new file mode 100644 index 00000000..38677d07 Binary files /dev/null and b/General/Sprites/Mecha Sonic/Palettes/Flash 3.bin differ diff --git a/General/Sprites/Mecha Sonic/Palettes/Main.bin b/General/Sprites/Mecha Sonic/Palettes/Main.bin new file mode 100644 index 00000000..be1f125c Binary files /dev/null and b/General/Sprites/Mecha Sonic/Palettes/Main.bin differ diff --git a/General/Sprites/Mecha Sonic/Palettes/Super 1.bin b/General/Sprites/Mecha Sonic/Palettes/Super 1.bin new file mode 100644 index 00000000..e2166ce3 Binary files /dev/null and b/General/Sprites/Mecha Sonic/Palettes/Super 1.bin differ diff --git a/General/Sprites/Mecha Sonic/Palettes/Super 2.bin b/General/Sprites/Mecha Sonic/Palettes/Super 2.bin new file mode 100644 index 00000000..4565c12d Binary files /dev/null and b/General/Sprites/Mecha Sonic/Palettes/Super 2.bin differ diff --git a/General/Sprites/Mecha Sonic/Palettes/Super 3.bin b/General/Sprites/Mecha Sonic/Palettes/Super 3.bin new file mode 100644 index 00000000..217d0425 Binary files /dev/null and b/General/Sprites/Mecha Sonic/Palettes/Super 3.bin differ diff --git a/General/Sprites/Mega Chomper/Map - Mega Chomper.asm b/General/Sprites/Mega Chopper/Map - Mega Chopper.asm similarity index 100% rename from General/Sprites/Mega Chomper/Map - Mega Chomper.asm rename to General/Sprites/Mega Chopper/Map - Mega Chopper.asm diff --git a/General/Sprites/Rhino/DPLC - RhinoBot.asm b/General/Sprites/Rhinobot/DPLC - Rhinobot.asm similarity index 100% rename from General/Sprites/Rhino/DPLC - RhinoBot.asm rename to General/Sprites/Rhinobot/DPLC - Rhinobot.asm diff --git a/General/Sprites/Rhino/Map - RhinoBot.asm b/General/Sprites/Rhinobot/Map - Rhinobot.asm similarity index 100% rename from General/Sprites/Rhino/Map - RhinoBot.asm rename to General/Sprites/Rhinobot/Map - Rhinobot.asm diff --git a/General/Sprites/Rhino/Rhino.bin b/General/Sprites/Rhinobot/Rhinobot.bin similarity index 100% rename from General/Sprites/Rhino/Rhino.bin rename to General/Sprites/Rhinobot/Rhinobot.bin diff --git a/General/Sprites/Robotnik/Egg Robo Head.bin b/General/Sprites/Robotnik/Egg Robo Head.bin index 8fd33684..3ab5a66f 100644 Binary files a/General/Sprites/Robotnik/Egg Robo Head.bin and b/General/Sprites/Robotnik/Egg Robo Head.bin differ diff --git a/Levels/Misc/Palettes/Unknown 3.bin b/General/Sprites/S2Menu/Palettes/Proto Level Select SK.bin similarity index 100% rename from Levels/Misc/Palettes/Unknown 3.bin rename to General/Sprites/S2Menu/Palettes/Proto Level Select SK.bin diff --git a/Levels/Misc/Palettes/Unknown 3 S3.bin b/General/Sprites/S2Menu/Palettes/Proto Level Select.bin similarity index 100% rename from Levels/Misc/Palettes/Unknown 3 S3.bin rename to General/Sprites/S2Menu/Palettes/Proto Level Select.bin diff --git a/Levels/Misc/Palettes/Unknown 1.bin b/General/Sprites/S2Menu/Palettes/Sega Screen.bin similarity index 100% rename from Levels/Misc/Palettes/Unknown 1.bin rename to General/Sprites/S2Menu/Palettes/Sega Screen.bin diff --git a/Levels/Misc/Palettes/Unknown 2.bin b/General/Sprites/S2Menu/Palettes/Title Screen SK.bin similarity index 100% rename from Levels/Misc/Palettes/Unknown 2.bin rename to General/Sprites/S2Menu/Palettes/Title Screen SK.bin diff --git a/Levels/Misc/Palettes/Unknown 2 S3.bin b/General/Sprites/S2Menu/Palettes/Title Screen.bin similarity index 100% rename from Levels/Misc/Palettes/Unknown 2 S3.bin rename to General/Sprites/S2Menu/Palettes/Title Screen.bin diff --git a/General/Sprites/Shields/Anim - Shield S2.asm b/General/Sprites/Shields/Anim - S2 Shield.asm similarity index 72% rename from General/Sprites/Shields/Anim - Shield S2.asm rename to General/Sprites/Shields/Anim - S2 Shield.asm index 6bd0c8e2..d9873309 100644 --- a/General/Sprites/Shields/Anim - Shield S2.asm +++ b/General/Sprites/Shields/Anim - S2 Shield.asm @@ -1,3 +1,3 @@ - dc.w byte_177B6-Ani_Shield_S2 + dc.w byte_177B6-Ani_S2Shield byte_177B6: dc.b 0, 5, 0, 5, 1, 5, 2, 5, 3, 5, 4, $FF even \ No newline at end of file diff --git a/General/Sprites/Shields/Map - Shield S2.asm b/General/Sprites/Shields/Map - S2 Shield.asm similarity index 83% rename from General/Sprites/Shields/Map - Shield S2.asm rename to General/Sprites/Shields/Map - S2 Shield.asm index 6b285619..b1cb538c 100644 --- a/General/Sprites/Shields/Map - Shield S2.asm +++ b/General/Sprites/Shields/Map - S2 Shield.asm @@ -1,9 +1,9 @@ - dc.w word_177CE-Map_Shield_S2 - dc.w word_177E8-Map_Shield_S2 - dc.w word_17802-Map_Shield_S2 - dc.w word_1781C-Map_Shield_S2 - dc.w word_17836-Map_Shield_S2 - dc.w word_17850-Map_Shield_S2 + dc.w word_177CE-Map_S2Shield + dc.w word_177E8-Map_S2Shield + dc.w word_17802-Map_S2Shield + dc.w word_1781C-Map_S2Shield + dc.w word_17836-Map_S2Shield + dc.w word_17850-Map_S2Shield word_177CE: dc.w 4 dc.b $F0, 5, 0, 0, $FF, $F0 dc.b $F0, 5, 8, 0, 0, 0 diff --git a/General/Sprites/Snail Blaster/Map - Snail Blaster.asm b/General/Sprites/Snale Blaster/Map - Snale Blaster.asm similarity index 100% rename from General/Sprites/Snail Blaster/Map - Snail Blaster.asm rename to General/Sprites/Snale Blaster/Map - Snale Blaster.asm diff --git a/General/Sprites/Snail Blaster/Snail Blaster.bin b/General/Sprites/Snale Blaster/Snale Blaster.bin similarity index 100% rename from General/Sprites/Snail Blaster/Snail Blaster.bin rename to General/Sprites/Snale Blaster/Snale Blaster.bin diff --git a/General/Sprites/Sonic/Anim - Sonic Knuckles 2P.asm b/General/Sprites/Sonic/Anim - Sonic Knuckles 2P.asm index f65ef913..b5b42df9 100644 --- a/General/Sprites/Sonic/Anim - Sonic Knuckles 2P.asm +++ b/General/Sprites/Sonic/Anim - Sonic Knuckles 2P.asm @@ -23,8 +23,8 @@ dc.w AniSonic2P16-AniSonic2P dc.w AniSonic2P17-AniSonic2P dc.w AniSonic2P18-AniSonic2P - dc.w AniSonic2P19-AniSonic2P - dc.w AniSonic2P19-AniSonic2P + dc.w AniSonic2P1A-AniSonic2P + dc.w AniSonic2P1A-AniSonic2P dc.w AniSonic2P1B-AniSonic2P dc.w AniSonic2P1C-AniSonic2P dc.w AniSonic2P05-AniSonic2P @@ -59,8 +59,8 @@ AniKnuckles2P: dc.w AniSonic2P00-AniKnuckles2P dc.w AniSonic2P16-AniKnuckles2P dc.w AniSonic2P17-AniKnuckles2P dc.w AniSonic2P18-AniKnuckles2P - dc.w AniSonic2P19-AniKnuckles2P - dc.w AniSonic2P19-AniKnuckles2P + dc.w AniSonic2P1A-AniKnuckles2P + dc.w AniSonic2P1A-AniKnuckles2P dc.w AniSonic2P1B-AniKnuckles2P dc.w AniSonic2P1C-AniKnuckles2P dc.w AniSonic2P05-AniKnuckles2P @@ -92,7 +92,7 @@ AniSonic2P15: dc.b $B, $15, $FF AniSonic2P16: dc.b $20, $20, $FF AniSonic2P17: dc.b $20, $20, $FF AniSonic2P18: dc.b $20, $20, $FF -AniSonic2P19: dc.b $40, $21, $FF +AniSonic2P1A: dc.b $40, $21, $FF AniSonic2P1B: dc.b 9, $21, $FF AniSonic2P1C: dc.b $77, 0, $FF AniSonic2P20: dc.b 9, $1B, $FF diff --git a/General/Sprites/Sonic/Sonic pattern load cues S3.asm b/General/Sprites/Sonic/DPLC - Sonic S3.asm similarity index 98% rename from General/Sprites/Sonic/Sonic pattern load cues S3.asm rename to General/Sprites/Sonic/DPLC - Sonic S3.asm index f89033ff..dd1fbf43 100644 --- a/General/Sprites/Sonic/Sonic pattern load cues S3.asm +++ b/General/Sprites/Sonic/DPLC - Sonic S3.asm @@ -404,18 +404,18 @@ PLC_SuperSonic: dc.w word_143290-PLC_SuperSonic dc.w word_143442-PLC_SuperSonic dc.w word_14344A-PLC_SuperSonic dc.w word_143454-PLC_SuperSonic - dc.w word_14344A-PLC_SuperSonic + dc.w word_14344A-PLC_SuperSonic ; word_14345E is the proper pointer here dc.w word_143454-PLC_SuperSonic dc.w word_14344A-PLC_SuperSonic - dc.w word_143454-PLC_SuperSonic + dc.w word_143454-PLC_SuperSonic ; word_14345E is the proper pointer here dc.w word_14344A-PLC_SuperSonic dc.w word_143454-PLC_SuperSonic - dc.w word_14344A-PLC_SuperSonic + dc.w word_14344A-PLC_SuperSonic ; word_14345E is the proper pointer here dc.w word_143214-PLC_SuperSonic dc.w word_14321E-PLC_SuperSonic dc.w word_143454-PLC_SuperSonic dc.w word_14344A-PLC_SuperSonic - dc.w word_143454-PLC_SuperSonic + dc.w word_143454-PLC_SuperSonic ; word_14345E is the proper pointer here dc.w word_143244-PLC_SuperSonic dc.w word_14324C-PLC_SuperSonic dc.w word_143254-PLC_SuperSonic @@ -1495,7 +1495,7 @@ word_143454: dc.w 4 dc.w $7FE0 dc.w $2FE8 dc.w $FEB - dc.w 3 +word_14345E: dc.w 3 ; unused PLCs for Super Sonic's third idle frame dc.w $8E01 dc.w $BFEC dc.w $FF8 diff --git a/General/Sprites/Sonic/Sonic pattern load cues.asm b/General/Sprites/Sonic/DPLC - Sonic.asm similarity index 98% rename from General/Sprites/Sonic/Sonic pattern load cues.asm rename to General/Sprites/Sonic/DPLC - Sonic.asm index aee42033..ee6bf2e1 100644 --- a/General/Sprites/Sonic/Sonic pattern load cues.asm +++ b/General/Sprites/Sonic/DPLC - Sonic.asm @@ -440,18 +440,18 @@ PLC_148378: dc.w word_148CC0-PLC_148378 dc.w word_148E72-PLC_148378 dc.w word_148E7A-PLC_148378 dc.w word_148E84-PLC_148378 - dc.w word_148E7A-PLC_148378 + dc.w word_148E7A-PLC_148378 ; word_148E8E is the proper pointer here dc.w word_148E84-PLC_148378 dc.w word_148E7A-PLC_148378 - dc.w word_148E84-PLC_148378 + dc.w word_148E84-PLC_148378 ; word_148E8E is the proper pointer here dc.w word_148E7A-PLC_148378 dc.w word_148E84-PLC_148378 - dc.w word_148E7A-PLC_148378 + dc.w word_148E7A-PLC_148378 ; word_148E8E is the proper pointer here dc.w word_148B6E-PLC_148378 dc.w word_148B78-PLC_148378 dc.w word_148E84-PLC_148378 dc.w word_148E7A-PLC_148378 - dc.w word_148E84-PLC_148378 + dc.w word_148E84-PLC_148378 ; word_148E8E is the proper pointer here dc.w word_148B9E-PLC_148378 dc.w word_148BA6-PLC_148378 dc.w word_148BAE-PLC_148378 @@ -1836,7 +1836,7 @@ word_148E84: dc.w 4 dc.w $7FE0 dc.w $2FE8 dc.w $FEB - dc.w 3 +word_148E8E: dc.w 3 ; unused PLCs for Super Sonic's third idle frame dc.w $8E01 dc.w $BFEC dc.w $FF8 diff --git a/Levels/CNZ/Misc Object Data/Map - Blastoid.asm b/General/Sprites/Sparkle/Map - Sparkle.asm similarity index 100% rename from Levels/CNZ/Misc Object Data/Map - Blastoid.asm rename to General/Sprites/Sparkle/Map - Sparkle.asm diff --git a/General/Sprites/Tails/Anim - Tails 2P.asm b/General/Sprites/Tails/Anim - Tails 2P.asm index c852c68a..bea364fb 100644 --- a/General/Sprites/Tails/Anim - Tails 2P.asm +++ b/General/Sprites/Tails/Anim - Tails 2P.asm @@ -23,8 +23,8 @@ dc.w AniTails2P16-AniTails2P dc.w AniTails2P17-AniTails2P dc.w AniTails2P18-AniTails2P - dc.w AniTails2P19-AniTails2P - dc.w AniTails2P19-AniTails2P + dc.w AniTails2P1A-AniTails2P + dc.w AniTails2P1A-AniTails2P dc.w AniTails2P1B-AniTails2P dc.w AniTails2P1C-AniTails2P dc.w AniTails2P1D-AniTails2P @@ -52,7 +52,7 @@ AniTails2P15: dc.b $B, $15, $FF AniTails2P16: dc.b $20, $20, $FF AniTails2P17: dc.b $20, $20, $FF AniTails2P18: dc.b $20, $20, $FF -AniTails2P19: dc.b $40, $21, $FF +AniTails2P1A: dc.b $40, $21, $FF AniTails2P1B: dc.b 9, $21, $FF AniTails2P1C: dc.b $77, 0, $FF AniTails2P1D: dc.b 3, $1B, $FF diff --git a/General/Sprites/Tails/Tails pattern load cues S3.asm b/General/Sprites/Tails/DPLC - Tails S3.asm similarity index 100% rename from General/Sprites/Tails/Tails pattern load cues S3.asm rename to General/Sprites/Tails/DPLC - Tails S3.asm diff --git a/General/Sprites/Tails/Tails pattern load cues.asm b/General/Sprites/Tails/DPLC - Tails.asm similarity index 100% rename from General/Sprites/Tails/Tails pattern load cues.asm rename to General/Sprites/Tails/DPLC - Tails.asm diff --git a/General/Sprites/Tails/Tails tails pattern load cues.asm b/General/Sprites/Tails/Tails tails pattern load cues.asm deleted file mode 100644 index 2abd62e7..00000000 --- a/General/Sprites/Tails/Tails tails pattern load cues.asm +++ /dev/null @@ -1,134 +0,0 @@ -PLC_344D74: dc.w Frame_344DCE-PLC_344D74 ; ... - dc.w Frame_344DD0-PLC_344D74 - dc.w Frame_344DD4-PLC_344D74 - dc.w Frame_344DD8-PLC_344D74 - dc.w Frame_344DDC-PLC_344D74 - dc.w Frame_344DE0-PLC_344D74 - dc.w Frame_344DE4-PLC_344D74 - dc.w Frame_344DE8-PLC_344D74 - dc.w Frame_344DEC-PLC_344D74 - dc.w Frame_344DF0-PLC_344D74 - dc.w Frame_344DF4-PLC_344D74 - dc.w Frame_344DF8-PLC_344D74 - dc.w Frame_344DFC-PLC_344D74 - dc.w Frame_344E00-PLC_344D74 - dc.w Frame_344E04-PLC_344D74 - dc.w Frame_344E08-PLC_344D74 - dc.w Frame_344E0C-PLC_344D74 - dc.w Frame_344E10-PLC_344D74 - dc.w Frame_344E14-PLC_344D74 - dc.w Frame_344E18-PLC_344D74 - dc.w Frame_344E1C-PLC_344D74 - dc.w Frame_344E20-PLC_344D74 - dc.w Frame_344E24-PLC_344D74 - dc.w Frame_344E28-PLC_344D74 - dc.w Frame_344E2C-PLC_344D74 - dc.w Frame_344E30-PLC_344D74 - dc.w Frame_344E34-PLC_344D74 - dc.w Frame_344E38-PLC_344D74 - dc.w Frame_344E3C-PLC_344D74 - dc.w Frame_344E40-PLC_344D74 - dc.w Frame_344E44-PLC_344D74 - dc.w Frame_344E48-PLC_344D74 - dc.w Frame_344E4C-PLC_344D74 - dc.w Frame_344E50-PLC_344D74 - dc.w Frame_344E54-PLC_344D74 - dc.w Frame_344E58-PLC_344D74 - dc.w Frame_344E5C-PLC_344D74 - dc.w Frame_344E60-PLC_344D74 - dc.w Frame_344E64-PLC_344D74 - dc.w Frame_344E68-PLC_344D74 - dc.w Frame_344E6C-PLC_344D74 - dc.w Frame_344E70-PLC_344D74 - dc.w Frame_344E74-PLC_344D74 - dc.w Frame_344E78-PLC_344D74 - dc.w Frame_344E7C-PLC_344D74 -Frame_344DCE: dc.w 0 -Frame_344DD0: dc.w 1 - dc.w $5000 -Frame_344DD4: dc.w 1 - dc.w $5006 -Frame_344DD8: dc.w 1 - dc.w $500C -Frame_344DDC: dc.w 1 - dc.w $5012 -Frame_344DE0: dc.w 1 - dc.w $5000 -Frame_344DE4: dc.w 1 - dc.w $5006 -Frame_344DE8: dc.w 1 - dc.w $500C -Frame_344DEC: dc.w 1 - dc.w $5012 -Frame_344DF0: dc.w 1 - dc.w $5030 -Frame_344DF4: dc.w 1 - dc.w $5036 -Frame_344DF8: dc.w 1 - dc.w $503C -Frame_344DFC: dc.w 1 - dc.w $5042 -Frame_344E00: dc.w 1 - dc.w $5018 -Frame_344E04: dc.w 1 - dc.w $501E -Frame_344E08: dc.w 1 - dc.w $5024 -Frame_344E0C: dc.w 1 - dc.w $502A -Frame_344E10: dc.w 1 - dc.w $5048 -Frame_344E14: dc.w 1 - dc.w $504E -Frame_344E18: dc.w 1 - dc.w $5054 -Frame_344E1C: dc.w 1 - dc.w $505A -Frame_344E20: dc.w 1 - dc.w $5060 -Frame_344E24: dc.w 1 - dc.w $8066 -Frame_344E28: dc.w 1 - dc.w $806F -Frame_344E2C: dc.w 1 - dc.w $5078 -Frame_344E30: dc.w 1 - dc.w $807E -Frame_344E34: dc.w 1 - dc.w $5000 -Frame_344E38: dc.w 1 - dc.w $5006 -Frame_344E3C: dc.w 1 - dc.w $500C -Frame_344E40: dc.w 1 - dc.w $5012 -Frame_344E44: dc.w 1 - dc.w $5000 -Frame_344E48: dc.w 1 - dc.w $5006 -Frame_344E4C: dc.w 1 - dc.w $500C -Frame_344E50: dc.w 1 - dc.w $5012 -Frame_344E54: dc.w 1 - dc.w $5060 -Frame_344E58: dc.w 1 - dc.w $8066 -Frame_344E5C: dc.w 1 - dc.w $806F -Frame_344E60: dc.w 1 - dc.w $5078 -Frame_344E64: dc.w 1 - dc.w $807E -Frame_344E68: dc.w 1 - dc.w $3087 -Frame_344E6C: dc.w 1 - dc.w $3087 -Frame_344E70: dc.w 1 - dc.w $5000 -Frame_344E74: dc.w 1 - dc.w $5006 -Frame_344E78: dc.w 1 - dc.w $500C -Frame_344E7C: dc.w 1 - dc.w $5012 diff --git a/Levels/AIZ/Debug/Act 1 S3.asm b/Levels/AIZ/Debug/Act 1 S3.asm index f77fb83a..917f8449 100644 --- a/Levels/AIZ/Debug/Act 1 S3.asm +++ b/Levels/AIZ/Debug/Act 1 S3.asm @@ -14,8 +14,8 @@ dbglistobj Obj_AIZRideVine, Map_AIZRideVine, 8, $21, make_art_tile($41B,0,0) dbglistobj Obj_AIZGiantRideVine, Map_AIZRideVine, $F, $21, make_art_tile($41B,0,0) dbglistobj Obj_AIZFallingLog, Map_AIZFallingLog, 7, 0, make_art_tile($3CF,2,0) - dbglistobj Obj_RhinoBot, Map_RhinoBot, 0, 0, make_art_tile($500,1,0) - dbglistobj Obj_Tulipon, Map_Tulipon, 0, 0, make_art_tile($52A,1,0) + dbglistobj Obj_Rhinobot, Map_Rhinobot, 0, 0, make_art_tile($500,1,0) + dbglistobj Obj_Bloominator, Map_Bloominator, 0, 0, make_art_tile($52A,1,0) dbglistobj Obj_MonkeyDude, Map_MonkeyDude, $10, 0, make_art_tile($548,1,0) dbglistobj Obj_AIZSurfboardIntro, Map_SurfboardIntro, 1, 1, make_art_tile($680,0,0) dbglistobj Obj_SphereTest, Map_SphereTest, 0, 0, make_art_tile($4E0,1,0) diff --git a/Levels/AIZ/Debug/Act 1.asm b/Levels/AIZ/Debug/Act 1.asm index 3bde6e77..53a04e16 100644 --- a/Levels/AIZ/Debug/Act 1.asm +++ b/Levels/AIZ/Debug/Act 1.asm @@ -14,8 +14,8 @@ dbglistobj Obj_AIZRideVine, Map_AIZMHZRideVine, 8, $21, make_art_tile($41B,0,0) dbglistobj Obj_AIZGiantRideVine, Map_AIZMHZRideVine, $F, $21, make_art_tile($41B,0,0) dbglistobj Obj_AIZFallingLog, Map_AIZFallingLog, 7, 0, make_art_tile($3CF,2,0) - dbglistobj Obj_RhinoBot, Map_RhinoBot, 0, 0, make_art_tile($500,1,0) - dbglistobj Obj_Tulipon, Map_Tulipon, 0, 0, make_art_tile($52A,1,0) + dbglistobj Obj_Rhinobot, Map_Rhinobot, 0, 0, make_art_tile($500,1,0) + dbglistobj Obj_Bloominator, Map_Bloominator, 0, 0, make_art_tile($52A,1,0) dbglistobj Obj_MonkeyDude, Map_MonkeyDude, $10, 0, make_art_tile($548,1,0) dbglistobj Obj_StarPost, Map_StarPost, 1, 0, make_art_tile($5EC,0,0) dbglistobj Obj_Bubbler, Map_Bubbler, $81, $13, make_art_tile($45C,0,1) diff --git a/Levels/AIZ/Debug/Act 2 S3.asm b/Levels/AIZ/Debug/Act 2 S3.asm index d3f1efd5..a1783660 100644 --- a/Levels/AIZ/Debug/Act 2 S3.asm +++ b/Levels/AIZ/Debug/Act 2 S3.asm @@ -29,8 +29,8 @@ dbglistobj Obj_AIZGiantRideVine, Map_AIZRideVine, $F, $21, make_art_tile($41B,0,0) dbglistobj Obj_AIZDrawBridge, Map_AIZDrawBridge, 0, 1, make_art_tile($2E9,2,0) dbglistobj Obj_Button, Map_Button, $10, 2, make_art_tile($456,0,0) - dbglistobj Obj_RhinoBot, Map_RhinoBot, 0, 0, make_art_tile($500,1,0) - dbglistobj Obj_Tulipon, Map_Tulipon, 0, 0, make_art_tile($52A,1,0) + dbglistobj Obj_Rhinobot, Map_Rhinobot, 0, 0, make_art_tile($500,1,0) + dbglistobj Obj_Bloominator, Map_Bloominator, 0, 0, make_art_tile($52A,1,0) dbglistobj Obj_MonkeyDude, Map_MonkeyDude, 0, 0, make_art_tile($548,1,0) dbglistobj Obj_CaterKillerJr, Map_CaterKillerJr, 0, 0, make_art_tile($55F,1,0) dbglistobj Obj_StarPost, Map_StarPost, 1, 0, make_art_tile($5EC,0,0) diff --git a/Levels/AIZ/Debug/Act 2.asm b/Levels/AIZ/Debug/Act 2.asm index d8f23a40..26d9284b 100644 --- a/Levels/AIZ/Debug/Act 2.asm +++ b/Levels/AIZ/Debug/Act 2.asm @@ -29,8 +29,8 @@ dbglistobj Obj_AIZGiantRideVine, Map_AIZMHZRideVine, $F, $21, make_art_tile($41B,0,0) dbglistobj Obj_AIZDrawBridge, Map_AIZDrawBridge, 0, 1, make_art_tile($2E9,2,0) dbglistobj Obj_Button, Map_Button, $10, 2, make_art_tile($456,0,0) - dbglistobj Obj_RhinoBot, Map_RhinoBot, 0, 0, make_art_tile($500,1,0) - dbglistobj Obj_Tulipon, Map_Tulipon, 0, 0, make_art_tile($52A,1,0) + dbglistobj Obj_Rhinobot, Map_Rhinobot, 0, 0, make_art_tile($500,1,0) + dbglistobj Obj_Bloominator, Map_Bloominator, 0, 0, make_art_tile($52A,1,0) dbglistobj Obj_MonkeyDude, Map_MonkeyDude, 0, 0, make_art_tile($548,1,0) dbglistobj Obj_CaterKillerJr, Map_CaterKillerJr, 0, 0, make_art_tile($55F,1,0) dbglistobj Obj_StarPost, Map_StarPost, 1, 0, make_art_tile($5EC,0,0) diff --git a/Levels/AIZ/Demodata/1 Proto.bin b/Levels/AIZ/Demodata/1 Proto.bin new file mode 100644 index 00000000..1114bad8 Binary files /dev/null and b/Levels/AIZ/Demodata/1 Proto.bin differ diff --git a/Levels/AIZ/Palettes/Miniboss After.bin b/Levels/AIZ/Palettes/Miniboss After.bin new file mode 100644 index 00000000..ba6b5206 Binary files /dev/null and b/Levels/AIZ/Palettes/Miniboss After.bin differ diff --git a/Levels/CNZ/Debug/Main.asm b/Levels/CNZ/Debug/Main.asm index 2cbaf27c..bf288a3d 100644 --- a/Levels/CNZ/Debug/Main.asm +++ b/Levels/CNZ/Debug/Main.asm @@ -9,7 +9,7 @@ dbglistobj Obj_Spikes, Map_Spikes, 0, 0, make_art_tile($49C,0,0) dbglistobj Obj_Spikes, Map_Spikes, $40, 4, make_art_tile($494,0,0) dbglistobj Obj_Clamer, Map_Clamer, 0, 0, make_art_tile($500,1,0) - dbglistobj Obj_CNZBlastoid, Map_CNZBlastoid, 0, 0, make_art_tile($524,1,0) + dbglistobj Obj_Sparkle, Map_Sparkle, 0, 0, make_art_tile($524,1,0) dbglistobj Obj_Batbot, Map_Batbot, 0, 0, make_art_tile($552,1,0) dbglistobj Obj_Door, Map_HCZCNZDEZDoor, 1, 1, make_art_tile($416,2,0) dbglistobj Obj_Bumper, Map_Bumper, 0, 0, make_art_tile($364,2,0) diff --git a/Levels/CNZ/Debug/S3.asm b/Levels/CNZ/Debug/S3.asm index e1f86f4b..2caaac42 100644 --- a/Levels/CNZ/Debug/S3.asm +++ b/Levels/CNZ/Debug/S3.asm @@ -9,7 +9,7 @@ dbglistobj Obj_Spikes, Map_Spikes, 0, 0, make_art_tile($49C,0,0) dbglistobj Obj_Spikes, Map_Spikes, $40, 4, make_art_tile($494,0,0) dbglistobj Obj_Clamer, Map_Clamer, 0, 0, make_art_tile($500,1,0) - dbglistobj Obj_CNZBlastoid, Map_CNZBlastoid, 0, 0, make_art_tile($524,1,0) + dbglistobj Obj_Sparkle, Map_Sparkle, 0, 0, make_art_tile($524,1,0) dbglistobj Obj_Batbot, Map_Batbot, 0, 0, make_art_tile($552,1,0) dbglistobj Obj_Door, Map_HCZCNZDoor, 1, 1, make_art_tile($416,2,0) dbglistobj Obj_Bumper, Map_Bumper, 0, 0, make_art_tile($364,2,0) diff --git a/Levels/DEZ/Debug/Act 1.asm b/Levels/DEZ/Debug/Act 1.asm index 2f84f2d3..8b94bd98 100644 --- a/Levels/DEZ/Debug/Act 1.asm +++ b/Levels/DEZ/Debug/Act 1.asm @@ -9,7 +9,7 @@ dbglistobj Obj_Spikes, Map_Spikes, 0, 0, make_art_tile($49C,0,0) dbglistobj Obj_Spikebonker, Map_Spikebonker, $20, 0, make_art_tile($500,0,0) dbglistobj Obj_Chainspike, Map_Chainspike, 0, 0, make_art_tile($542,0,0) - dbglistobj Obj_TiltingBridge, Map_TiltingBridge, 0, 0, make_art_tile($34D,1,0) + dbglistobj Obj_DEZTiltingBridge, Map_DEZTiltingBridge, 0, 0, make_art_tile($34D,1,0) dbglistobj Obj_DEZHangCarrier, Map_DEZHangCarrier, 8, 0, make_art_tile($35D,1,0) dbglistobj Obj_FBZDEZPlayerLauncher, Map_FBZDEZPlayerLauncher, 0, 1, make_art_tile($2FC,1,0) dbglistobj Obj_Door, Map_HCZCNZDEZDoor, 2, 2, make_art_tile($36B,1,0) @@ -24,8 +24,8 @@ dbglistobj Obj_StillSprite, Map_StillSprites, $31, $31, make_art_tile($3FF,1,0) dbglistobj Obj_StillSprite, Map_StillSprites, $32, $32, make_art_tile($385,1,0) dbglistobj Obj_DEZTunnelLauncher, Map_DEZTunnelLauncher, 0, 2, make_art_tile($385,0,0) - dbglistobj Obj_DEZStaircase, Map_TiltingBridge, 0, 0, make_art_tile($480,1,0) - dbglistobj Obj_DEZStaircase, Map_TiltingBridge, 4, 0, make_art_tile($480,1,0) + dbglistobj Obj_DEZStaircase, Map_DEZTiltingBridge, 0, 0, make_art_tile($480,1,0) + dbglistobj Obj_DEZStaircase, Map_DEZTiltingBridge, 4, 0, make_art_tile($480,1,0) dbglistobj Obj_DEZGravitySwitch, Map_DEZGravitySwitch, 0, 0, make_art_tile($490,1,0) dbglistobj Obj_DEZHoverMachine, Map_DEZHoverMachine, 0, 0, make_art_tile($30D,1,0) dbglistobj Obj_DEZBumperWall, Map_DEZBumperWall, 0, 0, make_art_tile($32D,1,0) diff --git a/Levels/DEZ/Debug/Act 2.asm b/Levels/DEZ/Debug/Act 2.asm index 9c34c7cf..821a997e 100644 --- a/Levels/DEZ/Debug/Act 2.asm +++ b/Levels/DEZ/Debug/Act 2.asm @@ -9,14 +9,14 @@ dbglistobj Obj_Spikes, Map_Spikes, 0, 0, make_art_tile($49C,0,0) dbglistobj Obj_Spikebonker, Map_Spikebonker, $20, 0, make_art_tile($500,0,0) dbglistobj Obj_Chainspike, Map_Chainspike, 0, 0, make_art_tile($542,0,0) - dbglistobj Obj_TiltingBridge, Map_TiltingBridge, 0, 0, make_art_tile($34D,1,0) + dbglistobj Obj_DEZTiltingBridge, Map_DEZTiltingBridge, 0, 0, make_art_tile($34D,1,0) dbglistobj Obj_DEZHangCarrier, Map_DEZHangCarrier, 8, 0, make_art_tile($35D,1,0) dbglistobj Obj_Door, Map_HCZCNZDEZDoor, 2, 2, make_art_tile($36B,1,0) dbglistobj Obj_DEZTorpedoLauncher, Map_TorpedoLauncher, $10, 0, make_art_tile($373,0,0) dbglistobj Obj_DEZFloatingPlatform, Map_DEZFloatingPlatform, 2, 0, make_art_tile($33A,1,0) dbglistobj Obj_DEZFloatingPlatform, Map_DEZFloatingPlatform, 5, 0, make_art_tile($33A,1,0) - dbglistobj Obj_DEZStaircase, Map_TiltingBridge, 0, 0, make_art_tile($480,1,0) - dbglistobj Obj_DEZStaircase, Map_TiltingBridge, 4, 0, make_art_tile($480,1,0) + dbglistobj Obj_DEZStaircase, Map_DEZTiltingBridge, 0, 0, make_art_tile($480,1,0) + dbglistobj Obj_DEZStaircase, Map_DEZTiltingBridge, 4, 0, make_art_tile($480,1,0) dbglistobj Obj_DEZLightning, Map_DEZLightning, $B4, 4, make_art_tile($379,0,0) dbglistobj Obj_DEZConveyorPad, Map_DEZConveyorPad, 0, 0, make_art_tile($408,1,0) dbglistobj Obj_DEZConveyorPad, Map_DEZConveyorPad, $28, 4, make_art_tile($408,1,0) diff --git a/Levels/DEZ/Misc Object Data/Map - Tilting Bridge.asm b/Levels/DEZ/Misc Object Data/Map - Tilting Bridge.asm index b94f82f0..7fa2e7a5 100644 --- a/Levels/DEZ/Misc Object Data/Map - Tilting Bridge.asm +++ b/Levels/DEZ/Misc Object Data/Map - Tilting Bridge.asm @@ -1,3 +1,3 @@ - dc.w word_46F7C-Map_TiltingBridge + dc.w word_46F7C-Map_DEZTiltingBridge word_46F7C: dc.w 1 ; DATA XREF: ROM:00046F7Ao dc.b $F0, $F, 0, 0, $FF, $F0 diff --git a/Levels/FBZ/Debug/Act 1.asm b/Levels/FBZ/Debug/Act 1.asm index 48323425..623b7a2a 100644 --- a/Levels/FBZ/Debug/Act 1.asm +++ b/Levels/FBZ/Debug/Act 1.asm @@ -18,7 +18,7 @@ dbglistobj Obj_FBZFloatingPlatform, Map_FBZFloatingPlatform, $10, 0, make_art_tile($383,1,0) dbglistobj Obj_FBZFloatingPlatform, Map_FBZFloatingPlatform, $30, 0, make_art_tile($383,1,0) dbglistobj Obj_FBZFloatingPlatform, Map_FBZFloatingPlatform, $40, 0, make_art_tile($383,1,0) - dbglistobj Obj_FBZ_ChainLink, Map_FBZChainLink, $1A, 0, make_art_tile($379,2,0) + dbglistobj Obj_FBZChainLink, Map_FBZChainLink, $1A, 0, make_art_tile($379,2,0) dbglistobj Obj_StillSprite, Map_StillSprites, $27, $27, make_art_tile($379,2,0) dbglistobj Obj_StillSprite, Map_StillSprites, $28, $28, make_art_tile($379,2,0) dbglistobj Obj_StillSprite, Map_StillSprites, $29, $29, make_art_tile($379,2,0) diff --git a/Levels/FBZ/Debug/Act 2.asm b/Levels/FBZ/Debug/Act 2.asm index ebd97496..240f13fb 100644 --- a/Levels/FBZ/Debug/Act 2.asm +++ b/Levels/FBZ/Debug/Act 2.asm @@ -18,7 +18,7 @@ dbglistobj Obj_FBZFloatingPlatform, Map_FBZFloatingPlatform, $10, 0, make_art_tile($383,1,0) dbglistobj Obj_FBZFloatingPlatform, Map_FBZFloatingPlatform, $30, 0, make_art_tile($383,1,0) dbglistobj Obj_FBZFloatingPlatform, Map_FBZFloatingPlatform, $40, 0, make_art_tile($383,1,0) - dbglistobj Obj_FBZ_ChainLink, Map_FBZChainLink, $1A, 0, make_art_tile($379,2,0) + dbglistobj Obj_FBZChainLink, Map_FBZChainLink, $1A, 0, make_art_tile($379,2,0) dbglistobj Obj_StillSprite, Map_StillSprites, $27, $27, make_art_tile($379,2,0) dbglistobj Obj_StillSprite, Map_StillSprites, $28, $28, make_art_tile($379,2,0) dbglistobj Obj_StillSprite, Map_StillSprites, $29, $29, make_art_tile($379,2,0) diff --git a/Levels/HCZ/Debug/Main.asm b/Levels/HCZ/Debug/Main.asm index 3af6e4b7..2fe3e605 100644 --- a/Levels/HCZ/Debug/Main.asm +++ b/Levels/HCZ/Debug/Main.asm @@ -10,12 +10,12 @@ dbglistobj Obj_Blastoid, Map_Blastoid, 0, 0, make_art_tile($539,1,0) dbglistobj Obj_Poindexter, Map_Poindexter, $20, 0, make_art_tile($559,1,0) dbglistobj Obj_Buggernaut, Map_Buggernaut, 0, 0, make_art_tile($44C,1,0) - dbglistobj Obj_MegaChomper, Map_MegaChomper, 0, 0, make_art_tile($54D,1,0) + dbglistobj Obj_MegaChopper, Map_MegaChopper, 0, 0, make_art_tile($54D,1,0) dbglistobj Obj_TurboSpiker, Map_TurboSpiker, 0, 0, make_art_tile($500,1,0) dbglistobj Obj_Jawz, Map_Jawz, 0, 0, make_art_tile($539,1,0) dbglistobj Obj_Button, Map_Button2, $20, 2, make_art_tile($426,1,0) - dbglistobj Obj_BreakableBar, Map_BreakableBar, 0, 0, make_art_tile($3CA,2,0) - dbglistobj Obj_BreakableBar, Map_BreakableBar, $80, 4, make_art_tile($3CA,2,0) + dbglistobj Obj_HCZBreakableBar, Map_HCZBreakableBar, 0, 0, make_art_tile($3CA,2,0) + dbglistobj Obj_HCZBreakableBar, Map_HCZBreakableBar, $80, 4, make_art_tile($3CA,2,0) dbglistobj Obj_HCZCGZFan, Map_HCZFan, $16, 0, make_art_tile($40B,1,0) dbglistobj Obj_HCZCGZFan, Map_HCZFan, $4C, 1, make_art_tile($40B,1,0) dbglistobj Obj_HCZLargeFan, Map_HCZLargeFan, 0, 0, make_art_tile($500,1,0) diff --git a/Levels/HCZ/Debug/S3.asm b/Levels/HCZ/Debug/S3.asm index f248fab0..177b7a64 100644 --- a/Levels/HCZ/Debug/S3.asm +++ b/Levels/HCZ/Debug/S3.asm @@ -10,12 +10,12 @@ dbglistobj Obj_Blastoid, Map_Blastoid, 0, 0, make_art_tile($539,1,0) dbglistobj Obj_Poindexter, Map_Poindexter, $20, 0, make_art_tile($559,1,0) dbglistobj Obj_Buggernaut, Map_Buggernaut, 0, 0, make_art_tile($44C,1,0) - dbglistobj Obj_MegaChomper, Map_MegaChomper, 0, 0, make_art_tile($54D,1,0) + dbglistobj Obj_MegaChopper, Map_MegaChopper, 0, 0, make_art_tile($54D,1,0) dbglistobj Obj_TurboSpiker, Map_TurboSpiker, 0, 0, make_art_tile($500,1,0) dbglistobj Obj_Jawz, Map_Jawz, 0, 0, make_art_tile($539,1,0) dbglistobj Obj_Button, Map_Button2, $20, 2, make_art_tile($426,1,0) - dbglistobj Obj_BreakableBar, Map_BreakableBar, 0, 0, make_art_tile($3CA,2,0) - dbglistobj Obj_BreakableBar, Map_BreakableBar, $80, 4, make_art_tile($3CA,2,0) + dbglistobj Obj_HCZBreakableBar, Map_HCZBreakableBar, 0, 0, make_art_tile($3CA,2,0) + dbglistobj Obj_HCZBreakableBar, Map_HCZBreakableBar, $80, 4, make_art_tile($3CA,2,0) dbglistobj Obj_HCZCGZFan, Map_HCZFan, $16, 0, make_art_tile($40B,1,0) dbglistobj Obj_HCZCGZFan, Map_HCZFan, $4C, 1, make_art_tile($40B,1,0) dbglistobj Obj_HCZLargeFan, Map_HCZLargeFan, 0, 0, make_art_tile($500,1,0) diff --git a/Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin b/Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin similarity index 100% rename from Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin rename to Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin diff --git a/Levels/HCZ/Nemesis Art/Act 2 Knuckles Wall.bin b/Levels/HCZ/Nemesis Art/Act 2 Knuckles Wall.bin similarity index 100% rename from Levels/HCZ/Nemesis Art/Act 2 Knuckles Wall.bin rename to Levels/HCZ/Nemesis Art/Act 2 Knuckles Wall.bin diff --git a/Levels/HPZ/Kosinski Art/Master Emerald.bin b/Levels/HPZ/Kosinski Art/Master Emerald.bin deleted file mode 100644 index edf04b17..00000000 Binary files a/Levels/HPZ/Kosinski Art/Master Emerald.bin and /dev/null differ diff --git a/Levels/ICZ/Debug/Act 2 S3.asm b/Levels/ICZ/Debug/Act 2 S3.asm index 8246a126..3ce74c47 100644 --- a/Levels/ICZ/Debug/Act 2 S3.asm +++ b/Levels/ICZ/Debug/Act 2 S3.asm @@ -25,8 +25,8 @@ dbglistobj Obj_ICZIceCube, Map_ICZPlatforms, 0, 3, make_art_tile($3B6,2,0) dbglistobj Obj_ICZHarmfulIce, Map_ICZPlatforms, 2, 5, make_art_tile($3B6,2,0) dbglistobj Obj_ICZHarmfulIce, Map_ICZPlatforms, 0, 4, make_art_tile($3B6,2,0) - dbglistobj Obj_ICZ_SnowPile, Map_ICZPlatforms, 0, $20, make_art_tile($377,2,0) - dbglistobj Obj_ICZ_TensionPlatform, Map_ICZPlatforms, 0, $1F, make_art_tile($377,2,0) + dbglistobj Obj_ICZSnowPile, Map_ICZPlatforms, 0, $20, make_art_tile($377,2,0) + dbglistobj Obj_ICZTensionPlatform, Map_ICZPlatforms, 0, $1F, make_art_tile($377,2,0) dbglistobj Obj_CollapsingPlatform, Map_ICZCollapsingBridge, 0, 0, make_art_tile($001,2,0) dbglistobj Obj_CollapsingBridge, Map_ICZCollapsingBridge, $80, 3, make_art_tile($001,2,0) dbglistobj Obj_CorkFloor, Map_ICZCorkFloor, 0, 0, make_art_tile($001,2,0) diff --git a/Levels/ICZ/Debug/Act 2.asm b/Levels/ICZ/Debug/Act 2.asm index 745bd792..9493b41e 100644 --- a/Levels/ICZ/Debug/Act 2.asm +++ b/Levels/ICZ/Debug/Act 2.asm @@ -26,8 +26,8 @@ dbglistobj Obj_ICZIceCube, Map_ICZPlatforms, 0, 3, make_art_tile($3B6,2,0) dbglistobj Obj_ICZHarmfulIce, Map_ICZPlatforms, 2, 5, make_art_tile($3B6,2,0) dbglistobj Obj_ICZHarmfulIce, Map_ICZPlatforms, 0, 4, make_art_tile($3B6,2,0) - dbglistobj Obj_ICZ_SnowPile, Map_ICZPlatforms, 0, $20, make_art_tile($377,2,0) - dbglistobj Obj_ICZ_TensionPlatform, Map_ICZPlatforms, 0, $1F, make_art_tile($377,2,0) + dbglistobj Obj_ICZSnowPile, Map_ICZPlatforms, 0, $20, make_art_tile($377,2,0) + dbglistobj Obj_ICZTensionPlatform, Map_ICZPlatforms, 0, $1F, make_art_tile($377,2,0) dbglistobj Obj_CollapsingPlatform, Map_ICZCollapsingBridge, 0, 0, make_art_tile($001,2,0) dbglistobj Obj_CollapsingBridge, Map_ICZCollapsingBridge, $80, 3, make_art_tile($001,2,0) dbglistobj Obj_CorkFloor, Map_ICZCorkFloor, 0, 0, make_art_tile($001,2,0) diff --git a/Levels/ICZ/Palettes/Miniboss After.bin b/Levels/ICZ/Palettes/Miniboss After.bin new file mode 100644 index 00000000..32285884 Binary files /dev/null and b/Levels/ICZ/Palettes/Miniboss After.bin differ diff --git a/Levels/LBZ/Misc Object Data/Anim - Unused Unknown 2.asm b/Levels/LBZ/Misc Object Data/Anim - Unused Solid Hurt.asm similarity index 62% rename from Levels/LBZ/Misc Object Data/Anim - Unused Unknown 2.asm rename to Levels/LBZ/Misc Object Data/Anim - Unused Solid Hurt.asm index 5c3cfcb2..5fcc76e2 100644 --- a/Levels/LBZ/Misc Object Data/Anim - Unused Unknown 2.asm +++ b/Levels/LBZ/Misc Object Data/Anim - Unused Solid Hurt.asm @@ -1,3 +1,3 @@ - dc.w byte_269F0-Ani_LBZUnusedUnknown_2 +Ani_Obj1C_01: dc.w byte_269F0-Ani_Obj1C_01 byte_269F0: dc.b $B, 0, 1, 2, 1, 0, 3, 4, 3, $FF even diff --git a/Levels/LBZ/Misc Object Data/Map - Floating Platform Underside (Unused).asm b/Levels/LBZ/Misc Object Data/Map - Unused Bar Platform.asm similarity index 100% rename from Levels/LBZ/Misc Object Data/Map - Floating Platform Underside (Unused).asm rename to Levels/LBZ/Misc Object Data/Map - Unused Bar Platform.asm diff --git a/Levels/LBZ/Misc Object Data/Map - Unused Unknown 2.asm b/Levels/LBZ/Misc Object Data/Map - Unused Solid Hurt.asm similarity index 81% rename from Levels/LBZ/Misc Object Data/Map - Unused Unknown 2.asm rename to Levels/LBZ/Misc Object Data/Map - Unused Solid Hurt.asm index 7b5ceaf7..7d6401c0 100644 --- a/Levels/LBZ/Misc Object Data/Map - Unused Unknown 2.asm +++ b/Levels/LBZ/Misc Object Data/Map - Unused Solid Hurt.asm @@ -1,8 +1,8 @@ - dc.w word_26A04-Map_LBZUnusedUnknown_2 - dc.w word_26A1E-Map_LBZUnusedUnknown_2 - dc.w word_26A38-Map_LBZUnusedUnknown_2 - dc.w word_26A58-Map_LBZUnusedUnknown_2 - dc.w word_26A72-Map_LBZUnusedUnknown_2 +Map_Obj1C_01: dc.w word_26A04-Map_Obj1C_01 + dc.w word_26A1E-Map_Obj1C_01 + dc.w word_26A38-Map_Obj1C_01 + dc.w word_26A58-Map_Obj1C_01 + dc.w word_26A72-Map_Obj1C_01 word_26A04: dc.w 4 dc.b $E8, 7, 0, $10, $FF, $F0 dc.b $E8, 7, 8, $10, 0, 0 diff --git a/Levels/LBZ/Misc Object Data/Map - Unused Unknown.asm b/Levels/LBZ/Misc Object Data/Map - Unused Tilting Bridge.asm similarity index 100% rename from Levels/LBZ/Misc Object Data/Map - Unused Unknown.asm rename to Levels/LBZ/Misc Object Data/Map - Unused Tilting Bridge.asm diff --git a/Levels/LRZ/Debug/Act 1.asm b/Levels/LRZ/Debug/Act 1.asm index 4d0acd06..d0b94f3c 100644 --- a/Levels/LRZ/Debug/Act 1.asm +++ b/Levels/LRZ/Debug/Act 1.asm @@ -9,7 +9,7 @@ dbglistobj Obj_Spikes, Map_Spikes, 0, 0, make_art_tile($49C,0,0) dbglistobj Obj_Toxomister, Map_Toxomister, 0, 0, make_art_tile($562,0,0) dbglistobj Obj_Fireworm, Map_FirewormSegments, 0, 0, make_art_tile($512,3,0) - dbglistobj Obj_LRZExplodingRock, Map_Iwamodoki, 0, 0, make_art_tile($530,0,0) + dbglistobj Obj_Iwamodoki, Map_Iwamodoki, 0, 0, make_art_tile($530,0,0) dbglistobj Obj_LRZSpikeBall, Map_LRZSpikeBall, 0, 0, make_art_tile($442,1,1) dbglistobj Obj_LRZSinkingRock, Map_LRZSinkingRock, 0, 0, make_art_tile($0D3,2,0) dbglistobj Obj_LRZFallingSpike, Map_LRZFallingSpike, $60, 0, make_art_tile($3A1,2,0) diff --git a/Levels/LRZ/Debug/Act 2.asm b/Levels/LRZ/Debug/Act 2.asm index 4a64d4c9..4470a9ab 100644 --- a/Levels/LRZ/Debug/Act 2.asm +++ b/Levels/LRZ/Debug/Act 2.asm @@ -9,7 +9,7 @@ dbglistobj Obj_Spikes, Map_Spikes, 0, 0, make_art_tile($49C,0,0) dbglistobj Obj_Toxomister, Map_Toxomister, 0, 0, make_art_tile($562,0,0) dbglistobj Obj_Fireworm, Map_FirewormSegments, 0, 0, make_art_tile($512,3,0) - dbglistobj Obj_LRZExplodingRock, Map_Iwamodoki, 0, 0, make_art_tile($530,0,0) + dbglistobj Obj_Iwamodoki, Map_Iwamodoki, 0, 0, make_art_tile($530,0,0) dbglistobj Obj_LRZSinkingRock, Map_LRZSinkingRock, 0, 1, make_art_tile($090,2,0) dbglistobj Obj_LRZDoor, Map_LRZDoor, 0, 1, make_art_tile($090,2,0) dbglistobj Obj_LRZSwingingSpikeBall, Map_LRZSwingingSpikeBall, $88, 3, make_art_tile($40D,0,1) diff --git a/Levels/LRZ/Misc/Rock Sprite Attribute Data S3.bin b/Levels/LRZ/Misc/Rock Sprite Attribute Data S3.bin new file mode 100644 index 00000000..a4e28d51 Binary files /dev/null and b/Levels/LRZ/Misc/Rock Sprite Attribute Data S3.bin differ diff --git a/Levels/MGZ/Debug/Main.asm b/Levels/MGZ/Debug/Main.asm index 301e364d..08aa7513 100644 --- a/Levels/MGZ/Debug/Main.asm +++ b/Levels/MGZ/Debug/Main.asm @@ -10,7 +10,7 @@ dbglistobj Obj_Spring, Map_Spring, $40, $A, make_art_tile($478,0,0) dbglistobj Obj_Spikes, Map_Spikes, 0, 0, make_art_tile($49C,0,0) dbglistobj Obj_Spikes, Map_Spikes, $40, 4, make_art_tile($494,0,0) - dbglistobj Obj_MGZMiniBoss, Map_MGZMiniBoss, 0, 0, make_art_tile($54F,1,0) + dbglistobj Obj_Tunnelbot, Map_MGZMiniboss, 0, 0, make_art_tile($54F,1,0) dbglistobj Obj_BubblesBadnik, Map_BubblesBadnik, 0, 0, make_art_tile($500,1,0) dbglistobj Obj_Spiker, Map_Spiker, 0, 0, make_art_tile($530,1,0) dbglistobj Obj_Mantis, Map_Mantis, 0, 0, make_art_tile($54F,1,0) diff --git a/Levels/MGZ/Debug/S3.asm b/Levels/MGZ/Debug/S3.asm index cda75bd4..886769b9 100644 --- a/Levels/MGZ/Debug/S3.asm +++ b/Levels/MGZ/Debug/S3.asm @@ -10,7 +10,7 @@ dbglistobj Obj_Spring, Map_Spring, $40, $A, make_art_tile($478,0,0) dbglistobj Obj_Spikes, Map_Spikes, 0, 0, make_art_tile($49C,0,0) dbglistobj Obj_Spikes, Map_Spikes, $40, 4, make_art_tile($494,0,0) - dbglistobj Obj_MGZMiniBoss, Map_MGZMiniBoss, 0, 0, make_art_tile($54F,1,0) + dbglistobj Obj_Tunnelbot, Map_MGZMiniboss, 0, 0, make_art_tile($54F,1,0) dbglistobj Obj_BubblesBadnik, Map_BubblesBadnik, 0, 0, make_art_tile($500,1,0) dbglistobj Obj_Spiker, Map_Spiker, 0, 0, make_art_tile($530,1,0) dbglistobj Obj_Mantis, Map_Mantis, 0, 0, make_art_tile($54F,1,0) diff --git a/Levels/Misc/Palettes/MGZ Fade to CNZ.bin b/Levels/MGZ/Palettes/Fade to CNZ.bin similarity index 100% rename from Levels/Misc/Palettes/MGZ Fade to CNZ.bin rename to Levels/MGZ/Palettes/Fade to CNZ.bin diff --git a/Levels/Misc/Object pointers - S3 Set.asm b/Levels/Misc/Object pointers - S3 Set.asm index a59ad0d5..5d4dca29 100644 --- a/Levels/Misc/Object pointers - S3 Set.asm +++ b/Levels/Misc/Object pointers - S3 Set.asm @@ -7,16 +7,16 @@ dc.l Obj_AIZRideVine ; 6 dc.l Obj_Spring ; 7 dc.l Obj_Spikes ; 8 - dc.l Obj_09_1 ; 9 - dc.l Obj_0A_1 ; 10 + dc.l Obj_AIZ1Tree ; 9 + dc.l Obj_AIZ1ZiplinePeg ; 10 dc.l Obj_SphereTest ; 11 dc.l Obj_AIZGiantRideVine ; 12 dc.l Obj_BreakableWall ; 13 - dc.l Obj_0E ; 14 + dc.l Obj_TwistedRamp ; 14 dc.l Obj_CollapsingBridge ; 15 dc.l Obj_LBZTubeElevator ; 16 dc.l Obj_LBZMovingPlatform ; 17 - dc.l Obj_12_1 ; 18 + dc.l Obj_LBZUnusedElevator ; 18 dc.l Obj_LBZExplodingTrigger ; 19 dc.l Obj_LBZTriggerBridge ; 20 dc.l Obj_LBZPlayerLauncher ; 21 @@ -24,21 +24,21 @@ dc.l Obj_LBZRideGrapple ; 23 dc.l Obj_LBZCupElevator ; 24 dc.l Obj_LBZCupElevatorPole ; 25 - dc.l Obj_1A_1 ; 26 + dc.l Obj_LBZUnusedTiltingBridge ; 26 dc.l Obj_LBZPipePlug ; 27 - dc.l Obj_1C_1 ; 28 - dc.l Obj_1D_1 ; 29 + dc.l Obj_LBZUnusedSolidHurt ; 28 + dc.l Obj_LBZUnusedBarPlatform ; 29 dc.l Obj_LBZSpinLauncher ; 30 dc.l Obj_LBZLoweringGrapple ; 31 dc.l Obj_MGZLBZSmashingPillar ; 32 dc.l Obj_LBZGateLaser ; 33 - dc.l Obj_22_1 ; 34 - dc.l Obj_23_1 ; 35 + dc.l Obj_LBZAlarm ; 34 + dc.l Obj_LBZUnusedForceFall ; 35 dc.l Obj_AutomaticTunnel ; 36 dc.l Obj_Ring ; 37 - dc.l Obj_26 ; 38 - dc.l Obj_27 ; 39 - dc.l Obj_28_Invisible_Barrier ; 40 + dc.l Obj_AutoSpin ; 38 + dc.l Obj_S2LavaMarker ; 39 + dc.l Obj_InvisibleBlock ; 40 dc.l Obj_AIZDisappearingFloor ; 41 dc.l Obj_CorkFloor ; 42 dc.l Obj_AIZFlippingBridge ; 43 @@ -47,13 +47,13 @@ dc.l Obj_AIZSpikedLog ; 46 dc.l Obj_StillSprite ; 47 dc.l Obj_AnimatedStillSprite ; 48 - dc.l Obj_31_1 ; 49 + dc.l Obj_LBZRollingDrum ; 49 dc.l Obj_AIZDrawBridge ; 50 dc.l Obj_Button ; 51 dc.l Obj_StarPost ; 52 dc.l Obj_AIZForegroundPlant ; 53 - dc.l Obj_BreakableBar ; 54 - dc.l Obj_37_1 ; 55 + dc.l Obj_HCZBreakableBar ; 54 + dc.l Obj_HCZWaterRush ; 55 dc.l Obj_HCZCGZFan ; 56 dc.l Obj_HCZLargeFan ; 57 dc.l Obj_HCZHandLauncher ; 58 @@ -70,15 +70,15 @@ dc.l Obj_CNZLightBulb ; 69 dc.l Obj_CNZHoverFan ; 70 dc.l Obj_CNZCylinder ; 71 - dc.l Obj_48_1 ; 72 - dc.l Obj_49_1 ; 73 + dc.l Obj_CNZVacuumTube ; 72 + dc.l Obj_CNZGiantWheel ; 73 dc.l Obj_Bumper ; 74 - dc.l Obj_4B_1 ; 75 - dc.l Obj_4C_1 ; 76 + dc.l Obj_CNZTriangleBumpers ; 75 + dc.l Obj_CNZSpiralTube ; 76 dc.l Obj_CNZBarberPoleSprite ; 77 - dc.l Obj_4E_1 ; 78 - dc.l Obj_4F_1 ; 79 - dc.l Obj_50_1 ; 80 + dc.l Obj_CNZWireCage ; 78 + dc.l Obj_SinkingMud ; 79 + dc.l Obj_MGZTwistingLoop ; 80 dc.l Obj_FloatingPlatform ; 81 dc.l Obj_MGZLBZSmashingPillar ; 82 dc.l Obj_MGZSwingingPlatform ; 83 @@ -91,7 +91,7 @@ dc.l Obj_MGZPulley ; 90 dc.l Obj_MGZTopPlatform ; 91 dc.l Obj_MGZTopLauncher ; 92 - dc.l Obj_5D_1 ; 93 + dc.l Obj_CGZTriangleBumpers ; 93 dc.l Obj_CGZBladePlatform ; 94 dc.l Obj_2PRetractingSpring ; 95 dc.l Obj_BPZElephantBlock ; 96 @@ -103,7 +103,7 @@ dc.l Obj_EMZDripper ; 102 dc.l Obj_HCZSnakeBlocks ; 103 dc.l Obj_HCZSpinningColumn ; 104 - dc.l Obj_69_1 ; 105 + dc.l Obj_HCZTwistingLoop ; 105 dc.l Obj_InvisibleHurtBlockHorizontal ; 106 dc.l Obj_InvisibleHurtBlockVertical ; 107 dc.l Obj_TensionBridge ; 108 @@ -126,22 +126,22 @@ dc.l Obj_Ring ; 125 dc.l Obj_Ring ; 126 dc.l Obj_Ring ; 127 - dc.l Obj_AIZ_Miniboss_Cutscene ; 128 - dc.l Obj_Tulipon ; 129 - dc.l Obj_RhinoBot ; 130 + dc.l Obj_AIZMinibossCutscene ; 128 + dc.l Obj_Bloominator ; 129 + dc.l Obj_Rhinobot ; 130 dc.l Obj_MonkeyDude ; 131 dc.l Delete_Current_Sprite ; 132 dc.l Obj_LBZMiniboss ; 133 - dc.l Obj_LBZ_FinalBoss1 ; 134 + dc.l Obj_LBZFinalBoss1 ; 134 dc.l Obj_SnaleBlaster ; 135 dc.l Obj_Ribot ; 136 dc.l Obj_Orbinaut ; 137 dc.l Obj_Corkey ; 138 dc.l Obj_Flybot767 ; 139 - dc.l Obj_LBZ_EndBoss ; 140 + dc.l Obj_LBZEndBoss ; 140 dc.l Obj_CNZEndBoss ; 141 dc.l Obj_CNZMiniboss ; 142 - dc.l Obj_AA_1_FBZ1_Boss ; 143 + dc.l Obj_FBZMiniboss ; 143 dc.l Delete_Current_Sprite ; 144 dc.l Delete_Current_Sprite ; 145 dc.l Delete_Current_Sprite ; 146 @@ -155,33 +155,33 @@ dc.l Obj_Blastoid ; 154 dc.l Obj_Buggernaut ; 155 dc.l Obj_TurboSpiker ; 156 - dc.l Obj_MegaChomper ; 157 + dc.l Obj_MegaChopper ; 157 dc.l Obj_Poindexter ; 158 dc.l Obj_CaterKillerJr ; 159 dc.l Obj_Clamer ; 160 - dc.l Obj_CNZBlastoid ; 161 + dc.l Obj_Sparkle ; 161 dc.l Obj_Batbot ; 162 dc.l Obj_BubblesBadnik ; 163 - dc.l Obj_MGZMiniBoss ; 164 + dc.l Obj_Tunnelbot ; 164 dc.l Obj_Spiker ; 165 dc.l Obj_Mantis ; 166 dc.l Obj_Blaster ; 167 dc.l Obj_TechnoSqueek ; 168 - dc.l Obj_AIZ_EndBoss ; 169 + dc.l Obj_AIZEndBoss ; 169 dc.l Obj_Penguinator ; 170 dc.l Obj_StarPointer ; 171 - dc.l Obj_AIZ_Miniboss ; 172 + dc.l Obj_AIZMiniboss ; 172 dc.l Obj_HCZMiniboss ; 173 - dc.l Obj_C3_1 ; 174 - dc.l Obj_MGZ2DrillingEggman ; 175 - dc.l Obj_A1_1_MGZ2_Boss ; 176 - dc.l Obj_A2_1 ; 177 + dc.l Obj_LBZ1Robotnik ; 174 + dc.l Obj_MGZ2DrillingRobotnik ; 175 + dc.l Obj_MGZEndBoss ; 176 + dc.l Obj_MGZEndBossKnux ; 177 dc.l Obj_ICZEndBoss ; 178 dc.l Obj_ICZMiniboss ; 179 dc.l Obj_FBZEndBoss ; 180 dc.l Obj_HCZEndBoss ; 181 - dc.l Obj_AB_1_FBZ_Laser_Boss ; 182 - dc.l Obj_C6_1 ; 183 + dc.l Obj_FBZ2Subboss ; 182 + dc.l Obj_LBZ2RobotnikShip ; 183 dc.l Obj_ICZCrushingColumn ; 184 dc.l Obj_ICZPathFollowPlatform ; 185 dc.l Obj_ICZBreakableWall ; 186 @@ -192,21 +192,21 @@ dc.l Obj_ICZIceCube ; 191 dc.l Obj_ICZIceSpikes ; 192 dc.l Obj_ICZHarmfulIce ; 193 - dc.l Obj_ICZ_SnowPile ; 194 - dc.l Obj_ICZ_TensionPlatform ; 195 - dc.l Obj_9F_1 ; 196 + dc.l Obj_ICZSnowPile ; 194 + dc.l Obj_ICZTensionPlatform ; 195 + dc.l Obj_MGZMiniboss ; 196 dc.l Obj_HiddenMonitor ; 197 - dc.l Obj_81 ; 198 + dc.l Obj_EggCapsule ; 198 dc.l Obj_CutsceneKnuckles ; 199 - dc.l Obj_BB_1 ; 200 - dc.l Obj_83 ; 201 + dc.l Obj_ICZIceBlock ; 200 + dc.l Obj_CutsceneButton ; 201 dc.l Obj_AIZPlaneIntro ; 202 dc.l Obj_SSEntryRing ; 203 - dc.l Obj_C4_1 ; 204 - dc.l Obj_FleeingRobotnik_Unused ; 205 - dc.l Obj_86 ; 206 - dc.l Obj_87 ; 207 - dc.l Obj_LBZ_FinalBoss2 ; 208 - dc.l Obj_88 ; 209 - dc.l Obj_89 ; 210 - dc.l Obj_C8_1 ; 211 + dc.l Obj_LBZMinibossBox ; 204 + dc.l Obj_LBZ2UnusedRobotnik ; 205 + dc.l Obj_GumballMachine ; 206 + dc.l Obj_GumballTriangleBumper ; 207 + dc.l Obj_LBZFinalBoss2 ; 208 + dc.l Obj_CNZWaterLevelCorkFloor ; 209 + dc.l Obj_CNZWaterLevelButton ; 210 + dc.l Obj_LBZKnuxPillar ; 211 diff --git a/Levels/Misc/Object pointers - SK Set 1.asm b/Levels/Misc/Object pointers - SK Set 1.asm index f43303a0..dc070086 100644 --- a/Levels/Misc/Object pointers - SK Set 1.asm +++ b/Levels/Misc/Object pointers - SK Set 1.asm @@ -7,16 +7,16 @@ dc.l Obj_AIZRideVine ; 6 dc.l Obj_Spring ; 7 dc.l Obj_Spikes ; 8 - dc.l Obj_09_1 ; 9 - dc.l Obj_0A_1 ; 10 + dc.l Obj_AIZ1Tree ; 9 + dc.l Obj_AIZ1ZiplinePeg ; 10 dc.l Obj_Ring ; 11 dc.l Obj_AIZGiantRideVine ; 12 dc.l Obj_BreakableWall ; 13 - dc.l Obj_0E ; 14 + dc.l Obj_TwistedRamp ; 14 dc.l Obj_CollapsingBridge ; 15 dc.l Obj_LBZTubeElevator ; 16 dc.l Obj_LBZMovingPlatform ; 17 - dc.l Obj_12_1 ; 18 + dc.l Obj_LBZUnusedElevator ; 18 dc.l Obj_LBZExplodingTrigger ; 19 dc.l Obj_LBZTriggerBridge ; 20 dc.l Obj_LBZPlayerLauncher ; 21 @@ -24,21 +24,21 @@ dc.l Obj_LBZRideGrapple ; 23 dc.l Obj_LBZCupElevator ; 24 dc.l Obj_LBZCupElevatorPole ; 25 - dc.l Obj_1A_1 ; 26 + dc.l Obj_LBZUnusedTiltingBridge ; 26 dc.l Obj_LBZPipePlug ; 27 dc.l Obj_Ring ; 28 - dc.l Obj_1D_1 ; 29 + dc.l Obj_LBZUnusedBarPlatform ; 29 dc.l Obj_LBZSpinLauncher ; 30 dc.l Obj_LBZLoweringGrapple ; 31 dc.l Obj_MGZLBZSmashingPillar ; 32 dc.l Obj_LBZGateLaser ; 33 - dc.l Obj_22_1 ; 34 - dc.l Obj_23_1 ; 35 + dc.l Obj_LBZAlarm ; 34 + dc.l Obj_LBZUnusedForceFall ; 35 dc.l Obj_AutomaticTunnel ; 36 dc.l Obj_Ring ; 37 - dc.l Obj_26 ; 38 - dc.l Obj_27 ; 39 - dc.l Obj_28_Invisible_Barrier ; 40 + dc.l Obj_AutoSpin ; 38 + dc.l Obj_S2LavaMarker ; 39 + dc.l Obj_InvisibleBlock ; 40 dc.l Obj_AIZDisappearingFloor ; 41 dc.l Obj_CorkFloor ; 42 dc.l Obj_AIZFlippingBridge ; 43 @@ -47,13 +47,13 @@ dc.l Obj_AIZSpikedLog ; 46 dc.l Obj_StillSprite ; 47 dc.l Obj_AnimatedStillSprite ; 48 - dc.l Obj_31_1 ; 49 + dc.l Obj_LBZRollingDrum ; 49 dc.l Obj_AIZDrawBridge ; 50 dc.l Obj_Button ; 51 dc.l Obj_StarPost ; 52 dc.l Obj_AIZForegroundPlant ; 53 - dc.l Obj_BreakableBar ; 54 - dc.l Obj_37_1 ; 55 + dc.l Obj_HCZBreakableBar ; 54 + dc.l Obj_HCZWaterRush ; 55 dc.l Obj_HCZCGZFan ; 56 dc.l Obj_HCZLargeFan ; 57 dc.l Obj_HCZHandLauncher ; 58 @@ -70,15 +70,15 @@ dc.l Obj_CNZLightBulb ; 69 dc.l Obj_CNZHoverFan ; 70 dc.l Obj_CNZCylinder ; 71 - dc.l Obj_48_1 ; 72 - dc.l Obj_49_1 ; 73 + dc.l Obj_CNZVacuumTube ; 72 + dc.l Obj_CNZGiantWheel ; 73 dc.l Obj_Bumper ; 74 - dc.l Obj_4B_1 ; 75 - dc.l Obj_4C_1 ; 76 + dc.l Obj_CNZTriangleBumpers ; 75 + dc.l Obj_CNZSpiralTube ; 76 dc.l Obj_CNZBarberPoleSprite ; 77 - dc.l Obj_4E_1 ; 78 - dc.l Obj_4F_1 ; 79 - dc.l Obj_50_1 ; 80 + dc.l Obj_CNZWireCage ; 78 + dc.l Obj_SinkingMud ; 79 + dc.l Obj_MGZTwistingLoop ; 80 dc.l Obj_FloatingPlatform ; 81 dc.l Obj_MGZLBZSmashingPillar ; 82 dc.l Obj_MGZSwingingPlatform ; 83 @@ -91,7 +91,7 @@ dc.l Obj_MGZPulley ; 90 dc.l Obj_MGZTopPlatform ; 91 dc.l Obj_MGZTopLauncher ; 92 - dc.l Obj_5D_1 ; 93 + dc.l Obj_CGZTriangleBumpers ; 93 dc.l Obj_CGZBladePlatform ; 94 dc.l Obj_2PRetractingSpring ; 95 dc.l Obj_BPZElephantBlock ; 96 @@ -103,16 +103,16 @@ dc.l Obj_EMZDripper ; 102 dc.l Obj_HCZSnakeBlocks ; 103 dc.l Obj_HCZSpinningColumn ; 104 - dc.l Obj_69_1 ; 105 + dc.l Obj_HCZTwistingLoop ; 105 dc.l Obj_InvisibleHurtBlockHorizontal ; 106 dc.l Obj_InvisibleHurtBlockVertical ; 107 dc.l Obj_TensionBridge ; 108 dc.l Obj_HCZWaterSplash ; 109 dc.l Obj_WaterDrop ; 110 - dc.l Obj_6F_1 ; 111 - dc.l Obj_70_1_FBZ_Twisting_Cylinders ; 112 + dc.l Obj_FBZWireCage ; 111 + dc.l Obj_FBZWireCageStationary ; 112 dc.l Obj_FBZFloatingPlatform ; 113 - dc.l Obj_FBZ_ChainLink ; 114 + dc.l Obj_FBZChainLink ; 114 dc.l Obj_FBZMagneticSpikeBall ; 115 dc.l Obj_FBZMagneticPlatform ; 116 dc.l Obj_FBZSnakePlatform ; 117 @@ -121,55 +121,55 @@ dc.l Obj_FBZDEZPlayerLauncher ; 120 dc.l Obj_FBZDisappearingPlatform ; 121 dc.l Obj_FBZScrewDoor ; 122 - dc.l Obj_7B_1 ; 123 + dc.l Obj_FBZSpinningPole ; 123 dc.l Obj_FBZPropeller ; 124 dc.l Obj_FBZPiston ; 125 dc.l Obj_FBZPlatformBlocks ; 126 dc.l Obj_FBZMissileLauncher ; 127 dc.l Obj_HiddenMonitor ; 128 - dc.l Obj_81 ; 129 + dc.l Obj_EggCapsule ; 129 dc.l Obj_CutsceneKnuckles ; 130 - dc.l Obj_83 ; 131 + dc.l Obj_CutsceneButton ; 131 dc.l Obj_AIZPlaneIntro ; 132 dc.l Obj_SSEntryRing ; 133 - dc.l Obj_86 ; 134 - dc.l Obj_87 ; 135 - dc.l Obj_88 ; 136 - dc.l Obj_89 ; 137 - dc.l Obj_8A ; 138 - dc.l Obj_8B ; 139 - dc.l Obj_Tulipon ; 140 - dc.l Obj_RhinoBot ; 141 + dc.l Obj_GumballMachine ; 134 + dc.l Obj_GumballTriangleBumper ; 135 + dc.l Obj_CNZWaterLevelCorkFloor ; 136 + dc.l Obj_CNZWaterLevelButton ; 137 + dc.l Obj_FBZExitHall ; 138 + dc.l Obj_SpriteMask ; 139 + dc.l Obj_Bloominator ; 140 + dc.l Obj_Rhinobot ; 141 dc.l Obj_MonkeyDude ; 142 dc.l Obj_CaterKillerJr ; 143 - dc.l Obj_AIZ_Miniboss_Cutscene ; 144 - dc.l Obj_AIZ_Miniboss ; 145 - dc.l Obj_AIZ_EndBoss ; 146 + dc.l Obj_AIZMinibossCutscene ; 144 + dc.l Obj_AIZMiniboss ; 145 + dc.l Obj_AIZEndBoss ; 146 dc.l Obj_Jawz ; 147 dc.l Obj_Blastoid ; 148 dc.l Obj_Buggernaut ; 149 dc.l Obj_TurboSpiker ; 150 - dc.l Obj_MegaChomper ; 151 + dc.l Obj_MegaChopper ; 151 dc.l Obj_Poindexter ; 152 dc.l Obj_HCZMiniboss ; 153 dc.l Obj_HCZEndBoss ; 154 dc.l Obj_BubblesBadnik ; 155 dc.l Obj_Spiker ; 156 dc.l Obj_Mantis ; 157 - dc.l Obj_MGZMiniBoss ; 158 - dc.l Obj_9F_1 ; 159 - dc.l Obj_MGZ2DrillingEggman ; 160 - dc.l Obj_A1_1_MGZ2_Boss ; 161 - dc.l Obj_A2_1 ; 162 + dc.l Obj_Tunnelbot ; 158 + dc.l Obj_MGZMiniboss ; 159 + dc.l Obj_MGZ2DrillingRobotnik ; 160 + dc.l Obj_MGZEndBoss ; 161 + dc.l Obj_MGZEndBossKnux ; 162 dc.l Obj_Clamer ; 163 - dc.l Obj_CNZBlastoid ; 164 + dc.l Obj_Sparkle ; 164 dc.l Obj_Batbot ; 165 dc.l Obj_CNZMiniboss ; 166 dc.l Obj_CNZEndBoss ; 167 dc.l Obj_Blaster ; 168 dc.l Obj_TechnoSqueek ; 169 - dc.l Obj_AA_1_FBZ1_Boss ; 170 - dc.l Obj_AB_1_FBZ_Laser_Boss ; 171 + dc.l Obj_FBZMiniboss ; 170 + dc.l Obj_FBZ2Subboss ; 171 dc.l Obj_FBZEndBoss ; 172 dc.l Obj_Penguinator ; 173 dc.l Obj_StarPointer ; 174 @@ -183,9 +183,9 @@ dc.l Obj_ICZIceCube ; 182 dc.l Obj_ICZIceSpikes ; 183 dc.l Obj_ICZHarmfulIce ; 184 - dc.l Obj_ICZ_SnowPile ; 185 - dc.l Obj_ICZ_TensionPlatform ; 186 - dc.l Obj_BB_1 ; 187 + dc.l Obj_ICZSnowPile ; 185 + dc.l Obj_ICZTensionPlatform ; 186 + dc.l Obj_ICZIceBlock ; 187 dc.l Obj_ICZMiniboss ; 188 dc.l Obj_ICZEndBoss ; 189 dc.l Obj_SnaleBlaster ; 190 @@ -193,17 +193,17 @@ dc.l Obj_Orbinaut ; 192 dc.l Obj_Corkey ; 193 dc.l Obj_Flybot767 ; 194 - dc.l Obj_C3_1 ; 195 - dc.l Obj_C4_1 ; 196 - dc.l Obj_C5_1 ; 197 - dc.l Obj_C6_1 ; 198 + dc.l Obj_LBZ1Robotnik ; 195 + dc.l Obj_LBZMinibossBox ; 196 + dc.l Obj_LBZMinibossBoxKnux ; 197 + dc.l Obj_LBZ2RobotnikShip ; 198 dc.l Obj_Ring ; 199 - dc.l Obj_C8_1 ; 200 + dc.l Obj_LBZKnuxPillar ; 200 dc.l Obj_LBZMiniboss ; 201 - dc.l Obj_LBZ_FinalBoss1 ; 202 - dc.l Obj_LBZ_EndBoss ; 203 - dc.l Obj_LBZ_FinalBoss2 ; 204 - dc.l Obj_CD_1_LBZ2_TallBoss ; 205 + dc.l Obj_LBZFinalBoss1 ; 202 + dc.l Obj_LBZEndBoss ; 203 + dc.l Obj_LBZFinalBoss2 ; 204 + dc.l Obj_LBZFinalBossKnux ; 205 dc.l Obj_FBZExitDoor ; 206 dc.l Obj_FBZEggPrison ; 207 dc.l Obj_FBZSpringPlunger ; 208 @@ -234,7 +234,7 @@ dc.l Obj_PachinkoInvisibleUnknown ; 233 dc.l Obj_Pachinko_Platform ; 234 dc.l Obj_GumballItem ; 235 - dc.l Obj_EC_1 ; 236 + dc.l Obj_PachinkoMagnetOrb ; 236 dc.l Obj_PachinkoItemOrb ; 237 dc.l Obj_Ring ; 238 dc.l Obj_Ring ; 239 diff --git a/Levels/Misc/Object pointers - SK Set 2.asm b/Levels/Misc/Object pointers - SK Set 2.asm index c8ea8ee4..a13ea130 100644 --- a/Levels/Misc/Object pointers - SK Set 2.asm +++ b/Levels/Misc/Object pointers - SK Set 2.asm @@ -1,7 +1,7 @@ dc.l Obj_Ring ; 0 dc.l Obj_Monitor ; 1 dc.l Obj_PathSwap ; 2 - dc.l Obj_03_2 ; 3 + dc.l Obj_MHZTwistedVine ; 3 dc.l Obj_CollapsingPlatform ; 4 dc.l Obj_AIZLRZEMZRock ; 5 dc.l Obj_MHZPulleyLift ; 6 @@ -12,15 +12,15 @@ dc.l Obj_MHZSwingBarHorizontal ; 11 dc.l Obj_MHZSwingBarVertical ; 12 dc.l Obj_BreakableWall ; 13 - dc.l Obj_0E ; 14 + dc.l Obj_TwistedRamp ; 14 dc.l Obj_CollapsingBridge ; 15 dc.l Obj_MHZSwingVine ; 16 dc.l Obj_MHZMushroomPlatform ; 17 dc.l Obj_MHZMushroomParachute ; 18 dc.l Obj_MHZMushroomCatapult ; 19 - dc.l Obj_14_2 ; 20 - dc.l Obj_15_2 ; 21 - dc.l Obj_16_2 ; 22 + dc.l Obj_Updraft ; 20 + dc.l Obj_LRZCorkscrew ; 21 + dc.l Obj_LRZWallRide ; 22 dc.l Obj_LRZSinkingRock ; 23 dc.l Obj_LRZFallingSpike ; 24 dc.l Obj_LRZDoor ; 25 @@ -36,9 +36,9 @@ dc.l Obj_MHZMushroomCap ; 35 dc.l Obj_AutomaticTunnel ; 36 dc.l Obj_LRZChainedPlatforms ; 37 - dc.l Obj_26 ; 38 - dc.l Obj_27 ; 39 - dc.l Obj_28_Invisible_Barrier ; 40 + dc.l Obj_AutoSpin ; 38 + dc.l Obj_S2LavaMarker ; 39 + dc.l Obj_InvisibleBlock ; 40 dc.l Obj_LRZFlameThrower ; 41 dc.l Obj_CorkFloor ; 42 dc.l Obj_LRZOrbitingSpikeBallHorizontal ; 43 @@ -52,12 +52,12 @@ dc.l Obj_Button ; 51 dc.l Obj_StarPost ; 52 dc.l Obj_AIZForegroundPlant ; 53 - dc.l Obj_BreakableBar ; 54 + dc.l Obj_HCZBreakableBar ; 54 dc.l Obj_LRZSpikeBallLauncher ; 55 - dc.l Obj_38_2 ; 56 + dc.l Obj_SOZQuicksand ; 56 dc.l Obj_SOZSpawningSandBlocks ; 57 - dc.l Obj_3A_2 ; 58 - dc.l Obj_3B_2 ; 59 + dc.l Obj_SOZPathSwap ; 58 + dc.l Obj_SOZLoopFallthrough ; 59 dc.l Obj_Door ; 60 dc.l Obj_RetractingSpring ; 61 dc.l Obj_SOZPushableRock ; 62 @@ -73,27 +73,27 @@ dc.l Obj_SOZRapelWire ; 72 dc.l Obj_SOZSolidSprites ; 73 dc.l Obj_DEZFloatingPlatform ; 74 - dc.l Obj_TiltingBridge ; 75 + dc.l Obj_DEZTiltingBridge ; 75 dc.l Obj_DEZHangCarrier ; 76 dc.l Obj_DEZTorpedoLauncher ; 77 dc.l Obj_DEZLiftPad ; 78 dc.l Obj_DEZStaircase ; 79 - dc.l Obj_50_2 ; 80 + dc.l Obj_DEZConveyorBelt ; 80 dc.l Obj_FloatingPlatform ; 81 dc.l Obj_DEZLightning ; 82 dc.l Obj_DEZConveyorPad ; 83 dc.l Obj_Bubbler ; 84 dc.l Obj_DEZEnergyBridge ; 85 - dc.l Obj_56_2 ; 86 + dc.l Obj_DEZEnergyBridgeCurved ; 86 dc.l Obj_DEZTunnelLauncher ; 87 dc.l Obj_DEZGravitySwitch ; 88 - dc.l Obj_59_2 ; 89 - dc.l Obj_5A_2 ; 90 - dc.l Obj_5B_2 ; 91 - dc.l Obj_5C_2 ; 92 + dc.l Obj_DEZTeleporter ; 89 + dc.l Obj_DEZGravityTube ; 90 + dc.l Obj_DEZGravitySwap ; 91 + dc.l Obj_DEZGravityHub ; 92 dc.l Obj_DEZRetractingSpring ; 93 dc.l Obj_DEZHoverMachine ; 94 - dc.l Obj_5F_2 ; 95 + dc.l Obj_DEZGravityRoom ; 95 dc.l Obj_DEZBumperWall ; 96 dc.l Obj_DEZGravityPuzzle ; 97 dc.l Obj_Ring ; 98 @@ -107,8 +107,8 @@ dc.l Obj_InvisibleHurtBlockHorizontal ; 106 dc.l Obj_InvisibleHurtBlockVertical ; 107 dc.l Obj_TensionBridge ; 108 - dc.l Obj_6D_2 ; 109 - dc.l Obj_6E_2 ; 110 + dc.l Obj_InvisibleShockBlock ; 109 + dc.l Obj_InvisibleLavaBlock ; 110 dc.l Obj_Ring ; 111 dc.l Obj_Ring ; 112 dc.l Obj_Ring ; 113 @@ -117,7 +117,7 @@ dc.l Obj_SSZRetractingSpring ; 116 dc.l Obj_SSZSwingingCarrier ; 117 dc.l Obj_SSZRotatingPlatform ; 118 - dc.l Obj_77_2 ; 119 + dc.l Obj_SSZCutsceneBridge ; 119 dc.l Obj_FBZDEZPlayerLauncher ; 120 dc.l Obj_SSZHPZTeleporter ; 121 dc.l Obj_SSZElevatorBar ; 122 @@ -127,59 +127,59 @@ dc.l Obj_SSZCollapsingColumn ; 126 dc.l Obj_SSZFloatingPlatform ; 127 dc.l Obj_HiddenMonitor ; 128 - dc.l Obj_81 ; 129 + dc.l Obj_EggCapsule ; 129 dc.l Obj_CutsceneKnuckles ; 130 - dc.l Obj_83 ; 131 + dc.l Obj_CutsceneButton ; 131 dc.l Obj_AIZPlaneIntro ; 132 dc.l Obj_SSEntryRing ; 133 - dc.l Obj_86 ; 134 - dc.l Obj_87 ; 135 - dc.l Obj_88 ; 136 - dc.l Obj_89 ; 137 - dc.l Obj_8A ; 138 - dc.l Obj_8B ; 139 + dc.l Obj_GumballMachine ; 134 + dc.l Obj_GumballTriangleBumper ; 135 + dc.l Obj_CNZWaterLevelCorkFloor ; 136 + dc.l Obj_CNZWaterLevelButton ; 137 + dc.l Obj_FBZExitHall ; 138 + dc.l Obj_SpriteMask ; 139 dc.l Obj_Madmole ; 140 dc.l Obj_Mushmeanie ; 141 dc.l Obj_Dragonfly ; 142 dc.l Obj_Butterdroid ; 143 dc.l Obj_Cluckoid ; 144 - dc.l Obj_91_2 ; 145 - dc.l Obj_MHZ_Miniboss ; 146 - dc.l Obj_MHZ_EndBoss ; 147 + dc.l Obj_MHZMinibossTree ; 145 + dc.l Obj_MHZMiniboss ; 146 + dc.l Obj_MHZEndBoss ; 147 dc.l Obj_Skorp ; 148 dc.l Obj_Sandworm ; 149 dc.l Obj_Rockn ; 150 - dc.l Obj_SOZ_Miniboss ; 151 - dc.l Obj_SOZ_EndBoss ; 152 + dc.l Obj_SOZMiniboss ; 151 + dc.l Obj_SOZEndBoss ; 152 dc.l Obj_Fireworm ; 153 - dc.l Obj_LRZExplodingRock ; 154 + dc.l Obj_Iwamodoki ; 154 dc.l Obj_Toxomister ; 155 dc.l Obj_LRZRockCrusher ; 156 - dc.l Obj_LRZ_Miniboss ; 157 - dc.l Obj_9E_2 ; 158 + dc.l Obj_LRZMiniboss ; 157 + dc.l Obj_LRZ3Autoscroll ; 158 dc.l Obj_Ring ; 159 dc.l Obj_EggRobo ; 160 dc.l Obj_SSZGHZBoss ; 161 dc.l Obj_SSZMTZBoss ; 162 - dc.l Obj_A3_2 ; 163 + dc.l Obj_SSZEndBoss ; 163 dc.l Obj_Spikebonker ; 164 dc.l Obj_Chainspike ; 165 - dc.l Obj_DEZ_Miniboss ; 166 - dc.l Obj_DEZ_EndBoss ; 167 - dc.l Obj_A8_2 ; 168 - dc.l Obj_A9_2 ; 169 - dc.l Obj_SOZ_Ghosts ; 170 - dc.l Obj_AB_2 ; 171 - dc.l Obj_AC_2_SOZ2_Ghost_Capsule ; 172 - dc.l Obj_AD_2 ; 173 - dc.l Obj_AE_2 ; 174 - dc.l Obj_AF_2 ; 175 - dc.l Obj_B0_2 ; 176 - dc.l Obj_B1_2 ; 177 - dc.l Obj_B2_2 ; 178 - dc.l Obj_B3_2 ; 179 - dc.l Obj_B4_2 ; 180 - dc.l Obj_B5_2 ; 181 - dc.l Obj_B6_2 ; 182 + dc.l Obj_DEZMiniboss ; 166 + dc.l Obj_DEZEndBoss ; 167 + dc.l Obj_MHZ1CutsceneKnuckles ; 168 + dc.l Obj_MHZ1CutsceneButton ; 169 + dc.l Obj_SOZGhosts ; 170 + dc.l Obj_SOZGhostCapsuleLoadArt ; 171 + dc.l Obj_SOZGhostCapsule ; 172 + dc.l Obj_LRZ3Platform ; 173 + dc.l Obj_LRZ2CutsceneKnuckles ; 174 + dc.l Obj_SSZCutsceneButton ; 175 + dc.l Obj_HPZMasterEmerald ; 176 + dc.l Obj_HPZPaletteControl ; 177 + dc.l Obj_KnuxFinalBossCrane ; 178 + dc.l Obj_StartNewLevel ; 179 + dc.l Obj_HPZSuperEmerald ; 180 + dc.l Obj_HPZSSEntryControl ; 181 + dc.l Obj_DDZEndBoss ; 182 dc.l Obj_DDZAsteroid ; 183 dc.l Obj_DDZMissile ; 184 diff --git a/Levels/Misc/Palette pointers S3.asm b/Levels/Misc/Palette pointers S3.asm index e5f17031..1224536b 100644 --- a/Levels/Misc/Palette pointers S3.asm +++ b/Levels/Misc/Palette pointers S3.asm @@ -1,12 +1,12 @@ ; Palette pointers - dc.l Pal_Unknown1 + dc.l Pal_S2Sega dc.w Normal_palette&$FFFF dc.w $1F - dc.l Pal_Unknown2 + dc.l Pal_S2Title dc.w Normal_palette_line_2&$FFFF dc.w 7 - dc.l Pal_Unknown3 + dc.l Pal_S2LevSel dc.w Normal_palette&$FFFF dc.w $1F dc.l Pal_SonicTails @@ -18,16 +18,16 @@ dc.l Pal_Knuckles dc.w Normal_palette_line_2&$FFFF dc.w 7 - dc.l Pal_Unknown1 + dc.l Pal_S2Sega dc.w Normal_palette&$FFFF dc.w $1F - dc.l Pal_Unknown1 + dc.l Pal_S2Sega dc.w Normal_palette&$FFFF dc.w $1F - dc.l Pal_Unknown1 + dc.l Pal_S2Sega dc.w Normal_palette&$FFFF dc.w $1F - dc.l Pal_Unknown1 + dc.l Pal_S2Sega dc.w Normal_palette&$FFFF dc.w $1F dc.l Pal_AIZIntro diff --git a/Levels/Misc/Palette pointers.asm b/Levels/Misc/Palette pointers.asm index f83fc4c6..ca639f6b 100644 --- a/Levels/Misc/Palette pointers.asm +++ b/Levels/Misc/Palette pointers.asm @@ -1,12 +1,12 @@ ; Palette pointers - dc.l Pal_Unknown1 + dc.l Pal_S2Sega dc.w Normal_palette&$FFFF dc.w $1F - dc.l Pal_Unknown2 + dc.l Pal_S2Title dc.w Normal_palette_line_2&$FFFF dc.w 7 - dc.l Pal_Unknown3 + dc.l Pal_S2LevSel dc.w Normal_palette&$FFFF dc.w $1F dc.l Pal_SonicTails @@ -18,16 +18,16 @@ dc.l Pal_Knuckles dc.w Normal_palette&$FFFF dc.w 7 - dc.l Pal_Unknown1 + dc.l Pal_S2Sega dc.w Normal_palette&$FFFF dc.w $1F - dc.l Pal_Unknown1 + dc.l Pal_S2Sega dc.w Normal_palette&$FFFF dc.w $1F - dc.l Pal_Unknown1 + dc.l Pal_S2Sega dc.w Normal_palette&$FFFF dc.w $1F - dc.l Pal_Unknown1 + dc.l Pal_S2Sega dc.w Normal_palette&$FFFF dc.w $1F dc.l Pal_AIZIntro diff --git a/Lockon S3/LockOn Data.asm b/Lockon S3/LockOn Data.asm index 70abaf58..8a6f7b6d 100644 --- a/Lockon S3/LockOn Data.asm +++ b/Lockon S3/LockOn Data.asm @@ -1,5 +1,6 @@ -LockOnROM_Start: binclude "Lockon S3/Header.bin" - even +LockOnROM_Start: + binclude "Lockon S3/Header.bin" + even SSMagic_TestLoc_200114 EQU LockOnROM_Start+$114 SSMagic_TestLoc_20011A EQU LockOnROM_Start+$11A @@ -8,1110 +9,1441 @@ SSMagic_TestLoc_200150 EQU LockOnROM_Start+$150 LockonSerialNumber EQU LockOnROM_Start+$180 SSMagic_TestLoc_2001A4 EQU LockOnROM_Start+$1A4 -Pal_Competition1: binclude "General/Competition Menu/Palettes/1.bin" - even -Map_CompetitionObject: include "General/Competition Menu/Map - Competition Objects.asm" +Pal_Competition1: + binclude "General/Competition Menu/Palettes/1.bin" + even +Map_CompetitionObject: + include "General/Competition Menu/Map - Competition Objects.asm" + +MapUnc_CompetitionNumbers: + binclude "General/Competition Menu/Uncompressed Map/Numbers.bin" + even +Pal_Competition2: + binclude "General/Competition Menu/Palettes/2.bin" + even +Pal_Competition3: + binclude "General/Competition Menu/Palettes/3.bin" + even +Pal_Competition4: + binclude "General/Competition Menu/Palettes/4.bin" + even +Map_CompetitionSelect: + include "General/Competition Menu/Map - Competition Select.asm" + +Pal_CompetitionResults: + binclude "General/Competition Menu/Palettes/Results.bin" + even +MapEni_CompetitionResultsLED: + binclude "General/Competition Menu/Enigma Map/Menu.bin" + even +MapUnc_CompetitionResultsLetters: + binclude "General/Competition Menu/Uncompressed Map/Results Letters.bin" + even +MapUnc_CompetitionResultsDividers: + binclude "General/Competition Menu/Uncompressed Map/Results Dividers.bin" + even +MapUnc_CompetitionResultsTOTAL: + binclude "General/Competition Menu/Uncompressed Map/Results TOTAL.bin" + even +MapUnc_ResultsWin: + binclude "General/Competition Menu/Uncompressed Map/Results Win.bin" + even +MapUnc_ResultsLose: + binclude "General/Competition Menu/Uncompressed Map/Results Lose.bin" + even +MapUnc_ResultsTie: + binclude "General/Competition Menu/Uncompressed Map/Results Tie.bin" + even +Pal_CompetitionTimeAttack: + binclude "General/Competition Menu/Palettes/Time Attack.bin" + even +MapUnc_CompetitionLAPNum: + binclude "General/Competition Menu/Uncompressed Map/LAP.bin" + even +MapUnc_CompetitionRECORDS: + binclude "General/Competition Menu/Uncompressed Map/RECORDS.bin" + even +MapUnc_Competition1st2nd3rd: + binclude "General/Competition Menu/Uncompressed Map/1ST 2ND 3RD.bin" + even +MapUnc_CompetitionAZURELAKE: + binclude "General/Competition Menu/Uncompressed Map/AZURE LAKE.bin" + even +MapUnc_CompetitionBALLOONPARK: + binclude "General/Competition Menu/Uncompressed Map/BALLOON PARK.bin" + even +MapUnc_CompetitionCHROMEGADGET: + binclude "General/Competition Menu/Uncompressed Map/CHROME GADGET.bin" + even +MapUnc_CompetitionDESERTPALACE: + binclude "General/Competition Menu/Uncompressed Map/DESERT PALACE.bin" + even +MapUnc_CompetitionENDLESSMINE: + binclude "General/Competition Menu/Uncompressed Map/ENDLESS MINE.bin" + even +ArtKos_SaveScreenS3Zone: + binclude "General/Save Menu/Kosinski Art/Zone Art.bin" + even +Map_AIZ1Tree: + include "Levels/AIZ/Misc Object Data/Map - Act 1 Tree.asm" +Map_AIZ1ZiplinePeg: + include "Levels/AIZ/Misc Object Data/Map - Act 1 Zipline Peg.asm" +Map_HCZBreakableBar: + include "Levels/HCZ/Misc Object Data/Map - Breakable Bar.asm" +Map_HCZBlock: + include "Levels/HCZ/Misc Object Data/Map - Block.asm" +Map_AIZRock: + include "Levels/AIZ/Misc Object Data/Map - Rock.asm" +Map_AIZRock2: + include "Levels/AIZ/Misc Object Data/Map - Rock 2.asm" +Map_EMZRock: + include "Levels/EMZ/Misc Object Data/Map - Rock.asm" +Map_AIZCollapsingPlatform: + include "Levels/AIZ/Misc Object Data/Map - Collapsing Platform.asm" +Map_AIZCollapsingPlatform2: + include "Levels/AIZ/Misc Object Data/Map - Collapsing Platform 2.asm" +Map_LBZCollapsingBridge: + include "Levels/LBZ/Misc Object Data/Map - Collapsing Bridge.asm" +Map_LBZCollapsingLedge: + include "Levels/LBZ/Misc Object Data/Map - Collapsing Ledge.asm" +Map_HCZCollapsingBridge: + include "Levels/HCZ/Misc Object Data/Map - Collapsing Bridge.asm" +Map_MGZCollapsingBridge: + include "Levels/MGZ/Misc Object Data/Map - Collapsing Bridge.asm" +Map_ICZCollapsingBridge: + include "Levels/ICZ/Misc Object Data/Map - Collapsing Bridge.asm" +Map_AIZBreakableWall: + include "Levels/AIZ/Misc Object Data/Map - Breakable Wall.asm" +Map_MGZBreakableWall: + include "Levels/MGZ/Misc Object Data/Map - Breakable Wall.asm" +Map_HCZBreakableWall: + include "Levels/HCZ/Misc Object Data/Map - Breakable Wall.asm" +Map_LBZBreakableWall: + include "Levels/LBZ/Misc Object Data/Map - Breakable Wall.asm" +Map_AIZIntroWaves: + include "Levels/AIZ/Misc Object Data/Map - Intro Waves.asm" +Map_LBZUnusedElevator: + include "Levels/LBZ/Misc Object Data/Map - Unused Elevator.asm" +Map_LBZExplodingTrigger: + include "Levels/LBZ/Misc Object Data/Map - Exploding Trigger.asm" +Map_MGZDashTrigger: + include "Levels/MGZ/Misc Object Data/Map - Dash Trigger.asm" +Map_LBZTriggerBridge: + include "Levels/LBZ/Misc Object Data/Map - Trigger Bridge.asm" +Map_LBZPlayerLauncher: + include "Levels/LBZ/Misc Object Data/Map - Player Launcher.asm" +Map_LBZFlameThrower: + include "Levels/LBZ/Misc Object Data/Map - Flame Thrower.asm" +Map_LBZCupElevator: + include "Levels/LBZ/Misc Object Data/Map - Cup Elevator.asm" +Map_LBZUnusedTiltingBridge: + include "Levels/LBZ/Misc Object Data/Map - Unused Tilting Bridge.asm" +Map_LBZPipePlug: + include "Levels/LBZ/Misc Object Data/Map - PipePlug.asm" +Map_LBZSpinLauncher: + include "Levels/LBZ/Misc Object Data/Map - Spin Launcher.asm" +Map_LBZLoweringGrapple: + include "Levels/LBZ/Misc Object Data/Map - Lowering Grapple.asm" +Map_LBZSmashingSpikes: + include "Levels/LBZ/Misc Object Data/Map - Smashing Spikes.asm" +Map_MGZSmashingPillar: + include "Levels/MGZ/Misc Object Data/Map - Smashing Pillar.asm" +Map_LBZGateLaser: + include "Levels/LBZ/Misc Object Data/Map - Gate Laser.asm" +Map_LBZTubeElevator: + include "Levels/LBZ/Misc Object Data/Map - Tube Elevator.asm" +Map_AIZDisappearingFloor: + include "Levels/AIZ/Misc Object Data/Map - Disappearing Floor.asm" +Map_AIZCorkFloor: + include "Levels/AIZ/Misc Object Data/Map - Cork Floor.asm" +Map_AIZCorkFloor2: + include "Levels/AIZ/Misc Object Data/Map - Cork Floor 2.asm" +Map_CNZCorkFloor: + include "Levels/CNZ/Misc Object Data/Map - Cork Floor.asm" +Map_ICZCorkFloor: + include "Levels/ICZ/Misc Object Data/Map - Cork Floor.asm" +Map_LBZCorkFloor: + include "Levels/LBZ/Misc Object Data/Map - Cork Floor.asm" +Map_AIZFlippingBridge: + include "Levels/AIZ/Misc Object Data/Map - Flipping Bridge.asm" +Map_AIZFallingLog2: + include "Levels/AIZ/Misc Object Data/Map - Falling Log 2.asm" +Map_AIZFallingLog: + include "Levels/AIZ/Misc Object Data/Map - Falling Log.asm" +Map_AIZFallingLogSplash2: + include "Levels/AIZ/Misc Object Data/Map - Falling Log Splash 2.asm" +Map_AIZFallingLogSplash: + include "Levels/AIZ/Misc Object Data/Map - Falling Log Splash.asm" +Map_AIZSpikedLog: + include "Levels/AIZ/Misc Object Data/Map - Spiked Log.asm" +Map_AIZForegroundPlant: + include "Levels/AIZ/Misc Object Data/Map - Foreground Plant.asm" +Map_Button2: + include "General/Sprites/Buttons/Map - Button 2.asm" +Map_CNZButton: + include "Levels/CNZ/Misc Object Data/Map - Button.asm" +Map_2PButton: + include "General/2P Zone/Map - 2P Button.asm" +Map_HCZWaterRush: + include "Levels/HCZ/Misc Object Data/Map - Water Rush.asm" +Map_HCZWaterRushBlock: + include "Levels/HCZ/Misc Object Data/Map - Water Rush Block.asm" +Map_HCZWaterWall: + include "Levels/HCZ/Misc Object Data/Map - Waterfall.asm" +Map_HCZWaterWallDebris: + include "Levels/HCZ/Misc Object Data/Map - Water Wall Debris.asm" +Map_HCZFan: + include "Levels/HCZ/Misc Object Data/Map - Fan.asm" +Map_HCZLargeFan: + include "Levels/HCZ/Misc Object Data/Map - Large Fan.asm" +Map_CGZFan: + include "Levels/CGZ/Misc Object Data/Map - Fan.asm" +Map_HCZHandLauncher: + include "Levels/HCZ/Misc Object Data/Map - Hand Launcher.asm" +Map_HCZConveyorSpike: + include "Levels/HCZ/Misc Object Data/Map - Conveyor Spike.asm" +Map_CNZBalloon: + include "Levels/CNZ/Misc Object Data/Map - Balloon.asm" +Map_CNZCannon: + include "General/Sprites/CNZ Cannon/Map - CNZ Cannon.asm" +Map_CNZRisingPlatform: + include "Levels/CNZ/Misc Object Data/Map - Rising Platform.asm" +Map_CNZTrapDoor: + include "Levels/CNZ/Misc Object Data/Map - Trap Door.asm" +Map_CNZLightBulb: + include "Levels/CNZ/Misc Object Data/Map - Light Bulb.asm" +Map_CNZHoverFan: + include "Levels/CNZ/Misc Object Data/Map - Hover Fan.asm" +Map_CNZCylinder: + include "Levels/CNZ/Misc Object Data/Map - Cylinder.asm" +Map_HCZSpinningColumn: + include "Levels/HCZ/Misc Object Data/Map - Spinning Column.asm" +Map_Bumper: + include "General/Sprites/Level Misc/Map - Bumper.asm" +Map_2PBumper: + include "General/2P Zone/Map - 2P Bumper.asm" +Map_MGZSwingingPlatform: + include "Levels/MGZ/Misc Object Data/Map - Swinging Platform.asm" +Map_MGZSwingingSpikeBall: + include "Levels/MGZ/Misc Object Data/Map - Swinging Spike Ball.asm" +Map_MGZHeadTrigger: + include "Levels/MGZ/Misc Object Data/Map - Head Trigger.asm" +Map_MGZTriggerPlatform: + include "Levels/MGZ/Misc Object Data/Map - Trigger Platform.asm" +Map_MGZMovingSpikePlatform: + include "Levels/MGZ/Misc Object Data/Map - Moving Spike Platform.asm" +Map_MGZPulley: + include "Levels/MGZ/Misc Object Data/Map - Pulley.asm" +Map_HCZWaterDrop: + include "Levels/HCZ/Misc Object Data/Map - Water Drop.asm" +Map_HCZWaterSplash: + include "Levels/HCZ/Misc Object Data/Map - Water Splash.asm" +Map_HCZWaterSplash2: + include "Levels/HCZ/Misc Object Data/Map - Water Splash 2.asm" + + include "Lockon S3/Screen Events.asm" +Map_S3EndingGraphics: + include "General/Ending/Map - S3 Ending Graphics.asm" +ArtNem_S3EndingGraphics: + binclude "General/Ending/Nemesis Art/S3 Ending Graphics.bin" + even +SStageLayoutPtrs: + dc.l SStage1_Layout + dc.l SStage2_Layout + dc.l SStage3_Layout + dc.l SStage4_Layout + dc.l SStage5_Layout + dc.l SStage6_Layout + dc.l SStage7_Layout + dc.l SStage8_Layout +SStage1_Layout: binclude "General/Special Stage/Layout/S3 1.bin" + even +SStage2_Layout: binclude "General/Special Stage/Layout/S3 2.bin" + even +SStage3_Layout: binclude "General/Special Stage/Layout/S3 3.bin" + even +SStage4_Layout: binclude "General/Special Stage/Layout/S3 4.bin" + even +SStage5_Layout: binclude "General/Special Stage/Layout/S3 5.bin" + even +SStage6_Layout: binclude "General/Special Stage/Layout/S3 6.bin" + even +SStage7_Layout: binclude "General/Special Stage/Layout/S3 7.bin" + even +SStage8_Layout: binclude "General/Special Stage/Layout/S3 8.bin" + even +HCZ_WaterlineScroll_Data: + binclude "Levels/HCZ/Misc/HCZ Waterline Scroll Data.bin" + even +LBZ_WaterlineScroll_Data: + binclude "Levels/LBZ/Misc/LBZ Waterline Scroll Data.bin" + even +Solid_AIZ1: binclude "Levels/AIZ/Collision/1.bin" + even +Solid_AIZ2: binclude "Levels/AIZ/Collision/2.bin" + even +Solid_HCZ1: binclude "Levels/HCZ/Collision/1.bin" + even +Solid_HCZ2: binclude "Levels/HCZ/Collision/2.bin" + even +Solid_MGZ1: binclude "Levels/MGZ/Collision/1.bin" + even +Solid_MGZ2: binclude "Levels/MGZ/Collision/2.bin" + even +Solid_CNZ: binclude "Levels/CNZ/Collision/1.bin" + even +Solid_ICZ1: binclude "Levels/ICZ/Collision/1.bin" + even +Solid_ICZ2: binclude "Levels/ICZ/Collision/2.bin" + even +Solid_LBZ1: binclude "Levels/LBZ/Collision/1.bin" + even +Solid_LBZ2: binclude "Levels/LBZ/Collision/2.bin" + even +Solid_ALZ: binclude "Levels/ALZ/Collision/1.bin" + even +Solid_BPZ: binclude "Levels/BPZ/Collision/1.bin" + even +Solid_DPZ: binclude "Levels/DPZ/Collision/1.bin" + even +Solid_CGZ: binclude "Levels/CGZ/Collision/1.bin" + even +Solid_EMZ: binclude "Levels/EMZ/Collision/1.bin" + even +Solid_Gumball_Special: + binclude "Levels/Gumball/Collision/1.bin" + even +Layout_AIZ1: binclude "Levels/AIZ/Layout/1.bin" + even +Layout_AIZ2: binclude "Levels/AIZ/Layout/2.bin" + even +Layout_HCZ1: binclude "Levels/HCZ/Layout/1.bin" + even +Layout_HCZ2: binclude "Levels/HCZ/Layout/2.bin" + even +Layout_MGZ1: binclude "Levels/MGZ/Layout/1.bin" + even +Layout_MGZ2: binclude "Levels/MGZ/Layout/2.bin" + even +Layout_CNZ1: binclude "Levels/CNZ/Layout/1.bin" + even +Layout_CNZ2: binclude "Levels/CNZ/Layout/2.bin" + even +Layout_ICZ1: binclude "Levels/ICZ/Layout/1.bin" + even +Layout_ICZ2: binclude "Levels/ICZ/Layout/2.bin" + even +Layout_LBZ1: binclude "Levels/LBZ/Layout/1.bin" + even +Layout_LBZ2: binclude "Levels/LBZ/Layout/2.bin" + even +Layout_ALZ: binclude "Levels/ALZ/Layout/1.bin" + even +Layout_BPZ: binclude "Levels/BPZ/Layout/1.bin" + even +Layout_DPZ: binclude "Levels/DPZ/Layout/1.bin" + even +Layout_CGZ: binclude "Levels/CGZ/Layout/1.bin" + even +Layout_EMZ: binclude "Levels/EMZ/Layout/1.bin" + even +Layout_Gumball_Special: + binclude "Levels/Gumball/Layout/1.bin" + even +ArtUnc_CNZCannon: + binclude "General/Sprites/CNZ Cannon/CNZ Cannon.bin" + even +ArtUnc_SStageTails: + binclude "General/Sprites/Tails/Art/SStage Tails.bin" + even +Map_SStageTails: + include "General/Sprites/Tails/Map - SStage Tails.asm" + +ArtUnc_SStageTailstails: + binclude "General/Sprites/Tails/Art/SStage Tails tails.bin" + even +Map_SStageTailstails: + include "General/Sprites/Tails/Map - SStage Tails tails.asm" + +Map_Sonic2P: + include "General/Sprites/Sonic/Map - Sonic 2P.asm" +PLC_Sonic2P: + include "General/Sprites/Sonic/DPLC - Sonic 2P.asm" +Map_Tails2P: + include "General/Sprites/Tails/Map - Tails 2P.asm" +Map_Tails2P_Tail: + include "General/Sprites/Tails/Map - Tails tail 2P.asm" +PLC_Tails2P: + include "General/Sprites/Tails/DPLC - Tails 2P.asm" +DPLC_Tails2P_Tail: + include "General/Sprites/Tails/DPLC - Tails tails 2P.asm" +Map_Knuckles2P: + include "General/Sprites/Knuckles/Map - Knuckles 2P.asm" +PLC_Knuckles2P: + include "General/Sprites/Knuckles/DPLC - Knuckles 2P.asm" -MapUnc_CompetitionNumbers: binclude "General/Competition Menu/Uncompressed Map/Numbers.bin" - even -Pal_Competition2: binclude "General/Competition Menu/Palettes/2.bin" - even -Pal_Competition3: binclude "General/Competition Menu/Palettes/3.bin" - even -Pal_Competition4: binclude "General/Competition Menu/Palettes/4.bin" - even -Map_CompetitionSelect: include "General/Competition Menu/Map - Competition Select.asm" - -Pal_CompetitionResults: binclude "General/Competition Menu/Palettes/Results.bin" - even -MapEni_CompetitionResultsLED: binclude "General/Competition Menu/Enigma Map/Menu.bin" - even -MapUnc_CompetitionResultsLetters:binclude "General/Competition Menu/Uncompressed Map/Results Letters.bin" - even -MapUnc_CompetitionResultsDividers:binclude "General/Competition Menu/Uncompressed Map/Results Dividers.bin" - even -MapUnc_CompetitionResultsTOTAL: binclude "General/Competition Menu/Uncompressed Map/Results TOTAL.bin" - even -MapUnc_ResultsWin: binclude "General/Competition Menu/Uncompressed Map/Results Win.bin" - even -MapUnc_ResultsLose: binclude "General/Competition Menu/Uncompressed Map/Results Lose.bin" - even -MapUnc_ResultsTie: binclude "General/Competition Menu/Uncompressed Map/Results Tie.bin" - even -Pal_CompetitionTimeAttack: binclude "General/Competition Menu/Palettes/Time Attack.bin" - even -MapUnc_CompetitionLAPNum: binclude "General/Competition Menu/Uncompressed Map/LAP.bin" - even -MapUnc_CompetitionRECORDS: binclude "General/Competition Menu/Uncompressed Map/RECORDS.bin" - even -MapUnc_Competition1st2nd3rd: binclude "General/Competition Menu/Uncompressed Map/1ST 2ND 3RD.bin" - even -MapUnc_CompetitionAZURELAKE: binclude "General/Competition Menu/Uncompressed Map/AZURE LAKE.bin" - even -MapUnc_CompetitionBALLOONPARK: binclude "General/Competition Menu/Uncompressed Map/BALLOON PARK.bin" - even -MapUnc_CompetitionCHROMEGADGET: binclude "General/Competition Menu/Uncompressed Map/CHROME GADGET.bin" - even -MapUnc_CompetitionDESERTPALACE: binclude "General/Competition Menu/Uncompressed Map/DESERT PALACE.bin" - even -MapUnc_CompetitionENDLESSMINE: binclude "General/Competition Menu/Uncompressed Map/ENDLESS MINE.bin" - even -ArtKos_SaveScreenS3Zone: binclude "General/Save Menu/Kosinski Art/Zone Art.bin" - even -Map_AIZ1Tree: include "Levels/AIZ/Misc Object Data/Map - Act 1 Tree.asm" - -Map_AIZ1ZiplinePeg: include "Levels/AIZ/Misc Object Data/Map - Act 1 Zipline Peg.asm" - -Map_BreakableBar: include "Levels/HCZ/Misc Object Data/Map - Breakable Bar.asm" - -Map_HCZBlock: include "Levels/HCZ/Misc Object Data/Map - Block.asm" - -Map_AIZRock: include "Levels/AIZ/Misc Object Data/Map - Rock.asm" - -Map_AIZRock2: include "Levels/AIZ/Misc Object Data/Map - Rock 2.asm" - -Map_EMZRock: include "Levels/EMZ/Misc Object Data/Map - Rock.asm" - -Map_AIZCollapsingPlatform: include "Levels/AIZ/Misc Object Data/Map - Collapsing Platform.asm" - -Map_AIZCollapsingPlatform2: include "Levels/AIZ/Misc Object Data/Map - Collapsing Platform 2.asm" - -Map_LBZCollapsingBridge: include "Levels/LBZ/Misc Object Data/Map - Collapsing Bridge.asm" - -Map_LBZCollapsingLedge: include "Levels/LBZ/Misc Object Data/Map - Collapsing Ledge.asm" - -Map_HCZCollapsingBridge: include "Levels/HCZ/Misc Object Data/Map - Collapsing Bridge.asm" - -Map_MGZCollapsingBridge: include "Levels/MGZ/Misc Object Data/Map - Collapsing Bridge.asm" - -Map_ICZCollapsingBridge: include "Levels/ICZ/Misc Object Data/Map - Collapsing Bridge.asm" - -Map_AIZBreakableWall: include "Levels/AIZ/Misc Object Data/Map - Breakable Wall.asm" - -Map_MGZBreakableWall: include "Levels/MGZ/Misc Object Data/Map - Breakable Wall.asm" - -Map_HCZBreakableWall: include "Levels/HCZ/Misc Object Data/Map - Breakable Wall.asm" - -Map_LBZBreakableWall: include "Levels/LBZ/Misc Object Data/Map - Breakable Wall.asm" - -Map_AIZIntroWaves: include "Levels/AIZ/Misc Object Data/Map - Intro Waves.asm" - -Map_LBZUnusedElevator: include "Levels/LBZ/Misc Object Data/Map - Unused Elevator.asm" - -Map_LBZExplodingTrigger: include "Levels/LBZ/Misc Object Data/Map - Exploding Trigger.asm" - -Map_MGZDashTrigger: include "Levels/MGZ/Misc Object Data/Map - Dash Trigger.asm" - -Map_LBZTriggerBridge: include "Levels/LBZ/Misc Object Data/Map - Trigger Bridge.asm" - -Map_LBZPlayerLauncher: include "Levels/LBZ/Misc Object Data/Map - Player Launcher.asm" - -Map_LBZFlameThrower: include "Levels/LBZ/Misc Object Data/Map - Flame Thrower.asm" - -Map_LBZCupElevator: include "Levels/LBZ/Misc Object Data/Map - Cup Elevator.asm" - -Map_LBZUnusedUnknown: include "Levels/LBZ/Misc Object Data/Map - Unused Unknown.asm" - -Map_LBZPipePlug: include "Levels/LBZ/Misc Object Data/Map - PipePlug.asm" - -Map_LBZSpinLauncher: include "Levels/LBZ/Misc Object Data/Map - Spin Launcher.asm" - -Map_LBZLoweringGrapple: include "Levels/LBZ/Misc Object Data/Map - Lowering Grapple.asm" - -Map_LBZSmashingSpikes: include "Levels/LBZ/Misc Object Data/Map - Smashing Spikes.asm" - -Map_MGZSmashingPillar: include "Levels/MGZ/Misc Object Data/Map - Smashing Pillar.asm" - -Map_LBZGateLaser: include "Levels/LBZ/Misc Object Data/Map - Gate Laser.asm" - -Map_LBZTubeElevator: include "Levels/LBZ/Misc Object Data/Map - Tube Elevator.asm" - -Map_AIZDisappearingFloor: include "Levels/AIZ/Misc Object Data/Map - Disappearing Floor.asm" - -Map_AIZCorkFloor: include "Levels/AIZ/Misc Object Data/Map - Cork Floor.asm" - -Map_AIZCorkFloor2: include "Levels/AIZ/Misc Object Data/Map - Cork Floor 2.asm" - -Map_CNZCorkFloor: include "Levels/CNZ/Misc Object Data/Map - Cork Floor.asm" - -Map_ICZCorkFloor: include "Levels/ICZ/Misc Object Data/Map - Cork Floor.asm" - -Map_LBZCorkFloor: include "Levels/LBZ/Misc Object Data/Map - Cork Floor.asm" - -Map_AIZFlippingBridge: include "Levels/AIZ/Misc Object Data/Map - Flipping Bridge.asm" - -Map_AIZFallingLog2: include "Levels/AIZ/Misc Object Data/Map - Falling Log 2.asm" - -Map_AIZFallingLog: include "Levels/AIZ/Misc Object Data/Map - Falling Log.asm" - -Map_AIZFallingLogSplash2: include "Levels/AIZ/Misc Object Data/Map - Falling Log Splash 2.asm" - -Map_AIZFallingLogSplash: include "Levels/AIZ/Misc Object Data/Map - Falling Log Splash.asm" - -Map_AIZSpikedLog: include "Levels/AIZ/Misc Object Data/Map - Spiked Log.asm" - -Map_AIZForegroundPlant: include "Levels/AIZ/Misc Object Data/Map - Foreground Plant.asm" - -Map_Button2: include "General/Sprites/Buttons/Map - Button 2.asm" - -Map_CNZButton: include "Levels/CNZ/Misc Object Data/Map - Button.asm" - -Map_2PButton: include "General/2P Zone/Map - 2P Button.asm" - -Map_HCZWaterRush: include "Levels/HCZ/Misc Object Data/Map - Water Rush.asm" - -Map_HCZWaterRushBlock: include "Levels/HCZ/Misc Object Data/Map - Water Rush Block.asm" - -Map_HCZWaterWall: include "Levels/HCZ/Misc Object Data/Map - Waterfall.asm" - -Map_HCZWaterWallDebris: include "Levels/HCZ/Misc Object Data/Map - Water Wall Debris.asm" - -Map_HCZFan: include "Levels/HCZ/Misc Object Data/Map - Fan.asm" - -Map_HCZLargeFan: include "Levels/HCZ/Misc Object Data/Map - Large Fan.asm" - -Map_CGZFan: include "Levels/CGZ/Misc Object Data/Map - Fan.asm" - -Map_HCZHandLauncher: include "Levels/HCZ/Misc Object Data/Map - Hand Launcher.asm" - -Map_HCZConveyorSpike: include "Levels/HCZ/Misc Object Data/Map - Conveyor Spike.asm" - -Map_CNZBalloon: include "Levels/CNZ/Misc Object Data/Map - Balloon.asm" - -Map_CNZCannon: include "General/Sprites/CNZ Cannon/Map - CNZ Cannon.asm" - -Map_CNZRisingPlatform: include "Levels/CNZ/Misc Object Data/Map - Rising Platform.asm" - -Map_CNZTrapDoor: include "Levels/CNZ/Misc Object Data/Map - Trap Door.asm" - -Map_CNZLightBulb: include "Levels/CNZ/Misc Object Data/Map - Light Bulb.asm" - -Map_CNZHoverFan: include "Levels/CNZ/Misc Object Data/Map - Hover Fan.asm" - -Map_CNZCylinder: include "Levels/CNZ/Misc Object Data/Map - Cylinder.asm" - -Map_HCZSpinningColumn: include "Levels/HCZ/Misc Object Data/Map - Spinning Column.asm" - -Map_Bumper: include "General/Sprites/Level Misc/Map - Bumper.asm" - -Map_2PBumper: include "General/2P Zone/Map - 2P Bumper.asm" - -Map_MGZSwingingPlatform: include "Levels/MGZ/Misc Object Data/Map - Swinging Platform.asm" - -Map_MGZSwingingSpikeBall: include "Levels/MGZ/Misc Object Data/Map - Swinging Spike Ball.asm" - -Map_MGZHeadTrigger: include "Levels/MGZ/Misc Object Data/Map - Head Trigger.asm" - -Map_MGZTriggerPlatform: include "Levels/MGZ/Misc Object Data/Map - Trigger Platform.asm" - -Map_MGZMovingSpikePlatform: include "Levels/MGZ/Misc Object Data/Map - Moving Spike Platform.asm" - -Map_MGZPulley: include "Levels/MGZ/Misc Object Data/Map - Pulley.asm" - -Map_HCZWaterDrop: include "Levels/HCZ/Misc Object Data/Map - Water Drop.asm" - -Map_HCZWaterSplash: include "Levels/HCZ/Misc Object Data/Map - Water Splash.asm" - -Map_HCZWaterSplash2: include "Levels/HCZ/Misc Object Data/Map - Water Splash 2.asm" - - include "Lockon S3/Screen Events.asm" - -Map_S3EndingGraphics: include "General/Ending/Map - S3 Ending Graphics.asm" - -ArtNem_S3EndingGraphics: binclude "General/Ending/Nemesis Art/S3 Ending Graphics.bin" - even -SStageLayoutPtrs: dc.l SStage1_Layout - dc.l SStage2_Layout - dc.l SStage3_Layout - dc.l SStage4_Layout - dc.l SStage5_Layout - dc.l SStage6_Layout - dc.l SStage7_Layout - dc.l SStage8_Layout - -SStage1_Layout: binclude "General/Special Stage/Layout/S3 1.bin" - even -SStage2_Layout: binclude "General/Special Stage/Layout/S3 2.bin" - even -SStage3_Layout: binclude "General/Special Stage/Layout/S3 3.bin" - even -SStage4_Layout: binclude "General/Special Stage/Layout/S3 4.bin" - even -SStage5_Layout: binclude "General/Special Stage/Layout/S3 5.bin" - even -SStage6_Layout: binclude "General/Special Stage/Layout/S3 6.bin" - even -SStage7_Layout: binclude "General/Special Stage/Layout/S3 7.bin" - even -SStage8_Layout: binclude "General/Special Stage/Layout/S3 8.bin" - even -HCZ_WaterlineScroll_Data: binclude "Levels/HCZ/Misc/HCZ Waterline Scroll Data.bin" - even -LBZ_WaterlineScroll_Data: binclude "Levels/LBZ/Misc/LBZ Waterline Scroll Data.bin" - even -Solid_AIZ1: binclude "Levels/AIZ/Collision/1.bin" - even -Solid_AIZ2: binclude "Levels/AIZ/Collision/2.bin" - even -Solid_HCZ1: binclude "Levels/HCZ/Collision/1.bin" - even -Solid_HCZ2: binclude "Levels/HCZ/Collision/2.bin" - even -Solid_MGZ1: binclude "Levels/MGZ/Collision/1.bin" - even -Solid_MGZ2: binclude "Levels/MGZ/Collision/2.bin" - even -Solid_CNZ: binclude "Levels/CNZ/Collision/1.bin" - even -Solid_ICZ1: binclude "Levels/ICZ/Collision/1.bin" - even -Solid_ICZ2: binclude "Levels/ICZ/Collision/2.bin" - even -Solid_LBZ1: binclude "Levels/LBZ/Collision/1.bin" - even -Solid_LBZ2: binclude "Levels/LBZ/Collision/2.bin" - even -Solid_ALZ: binclude "Levels/ALZ/Collision/1.bin" - even -Solid_BPZ: binclude "Levels/BPZ/Collision/1.bin" - even -Solid_DPZ: binclude "Levels/DPZ/Collision/1.bin" - even -Solid_CGZ: binclude "Levels/CGZ/Collision/1.bin" - even -Solid_EMZ: binclude "Levels/EMZ/Collision/1.bin" - even -Solid_Gumball_Special: binclude "Levels/Gumball/Collision/1.bin" - even -Layout_AIZ1: binclude "Levels/AIZ/Layout/1.bin" - even -Layout_AIZ2: binclude "Levels/AIZ/Layout/2.bin" - even -Layout_HCZ1: binclude "Levels/HCZ/Layout/1.bin" - even -Layout_HCZ2: binclude "Levels/HCZ/Layout/2.bin" - even -Layout_MGZ1: binclude "Levels/MGZ/Layout/1.bin" - even -Layout_MGZ2: binclude "Levels/MGZ/Layout/2.bin" - even -Layout_CNZ1: binclude "Levels/CNZ/Layout/1.bin" - even -Layout_CNZ2: binclude "Levels/CNZ/Layout/2.bin" - even -Layout_ICZ1: binclude "Levels/ICZ/Layout/1.bin" - even -Layout_ICZ2: binclude "Levels/ICZ/Layout/2.bin" - even -Layout_LBZ1: binclude "Levels/LBZ/Layout/1.bin" - even -Layout_LBZ2: binclude "Levels/LBZ/Layout/2.bin" - even -Layout_ALZ: binclude "Levels/ALZ/Layout/1.bin" - even -Layout_BPZ: binclude "Levels/BPZ/Layout/1.bin" - even -Layout_DPZ: binclude "Levels/DPZ/Layout/1.bin" - even -Layout_CGZ: binclude "Levels/CGZ/Layout/1.bin" - even -Layout_EMZ: binclude "Levels/EMZ/Layout/1.bin" - even -Layout_Gumball_Special: binclude "Levels/Gumball/Layout/1.bin" - even -ArtUnc_CNZCannon: binclude "General/Sprites/CNZ Cannon/CNZ Cannon.bin" - even -ArtUnc_SStageTails: binclude "General/Sprites/Tails/Art/SStage Tails.bin" - even -Map_SStageTails: include "General/Sprites/Tails/Map - SStage Tails.asm" - -ArtUnc_SStageTailstails: binclude "General/Sprites/Tails/Art/SStage Tails tails.bin" - even -Map_SStageTailstails: include "General/Sprites/Tails/Map - SStage Tails tails.asm" - -Map_Sonic2P: include "General/Sprites/Sonic/Map - Sonic 2P.asm" - -PLC_Sonic2P: include "General/Sprites/Sonic/DPLC - Sonic 2P.asm" - -Map_Tails2P: include "General/Sprites/Tails/Map - Tails 2P.asm" - -Map_Tails2P_Tail: include "General/Sprites/Tails/Map - Tails tail 2P.asm" - -PLC_Tails2P: include "General/Sprites/Tails/DPLC - Tails 2P.asm" - -DPLC_Tails2P_Tail: include "General/Sprites/Tails/DPLC - Tails tails 2P.asm" - -Map_Knuckles2P: include "General/Sprites/Knuckles/Map - Knuckles 2P.asm" - -PLC_Knuckles2P: include "General/Sprites/Knuckles/DPLC - Knuckles 2P.asm" align $20 -ArtUnc_AniAIZ1_0: binclude "Levels/AIZ/Animated Tiles/Act1 0.bin" - even -ArtUnc_AniAIZ1_1: binclude "Levels/AIZ/Animated Tiles/Act1 1.bin" - even -ArtUnc_AniAIZ2_1: binclude "Levels/AIZ/Animated Tiles/Act2 1.bin" - even -ArtUnc_AniAIZ2_0: binclude "Levels/AIZ/Animated Tiles/Act2 0.bin" - even -ArtUnc_AniAIZ2_3: binclude "Levels/AIZ/Animated Tiles/Act2 3.bin" - even -ArtUnc_AniAIZ2_2: binclude "Levels/AIZ/Animated Tiles/Act2 2.bin" - even -ArtUnc_AniAIZ2_FirstTree: binclude "Levels/AIZ/Animated Tiles/Act2 First Tree.bin" - even -ArtUnc_AniHCZ1_0: binclude "Levels/HCZ/Animated Tiles/Act1 0.bin" - even -ArtUnc_AniHCZ1_WaterlineBelow: binclude "Levels/HCZ/Animated Tiles/Act1 Water Below 1.bin" - even -ArtUnc_FixHCZ1_UpperBG1: binclude "Levels/HCZ/Animated Tiles/Act1 Upper BG 1.bin" - even -ArtUnc_AniHCZ1_WaterlineAbove: binclude "Levels/HCZ/Animated Tiles/Act1 Water Above 1.bin" - even -ArtUnc_FixHCZ1_LowerBG1: binclude "Levels/HCZ/Animated Tiles/Act1 Lower BG 1.bin" - even -ArtUnc_AniHCZ1_WaterlineBelow2: binclude "Levels/HCZ/Animated Tiles/Act1 Water Below 2.bin" - even -ArtUnc_FixHCZ1_UpperBG2: binclude "Levels/HCZ/Animated Tiles/Act1 Upper BG 2.bin" - even -ArtUnc_AniHCZ1_WaterlineAbove2: binclude "Levels/HCZ/Animated Tiles/Act1 Water Above 2.bin" - even -ArtUnc_FixHCZ1_LowerBG2: binclude "Levels/HCZ/Animated Tiles/Act1 Lower BG 2.bin" - even -ArtUnc_AniHCZ__1: binclude "Levels/HCZ/Animated Tiles/0.bin" - even -ArtUnc_AniHCZ2_0: binclude "Levels/HCZ/Animated Tiles/Act2 0.bin" - even -ArtUnc_AniHCZ2_SmallBGLine: binclude "Levels/HCZ/Animated Tiles/Act2 1.bin" - even -ArtUnc_AniHCZ2_2: binclude "Levels/HCZ/Animated Tiles/Act2 2.bin" - even -ArtUnc_AniHCZ2_3: binclude "Levels/HCZ/Animated Tiles/Act2 3.bin" - even -ArtUnc_AniHCZ2_4: binclude "Levels/HCZ/Animated Tiles/Act2 4.bin" - even -ArtUnc_AniMGZ__0: binclude "Levels/MGZ/Animated Tiles/MGZ Animated 0.bin" - even -ArtUnc_AniMGZ__1: binclude "Levels/MGZ/Animated Tiles/MGZ Animated 1.bin" - even -ArtUnc_AniCNZ__0: binclude "Levels/CNZ/Animated Tiles/0.bin" - even -ArtUnc_AniCNZ__1: binclude "Levels/CNZ/Animated Tiles/1.bin" - even -ArtUnc_AniCNZ__2: binclude "Levels/CNZ/Animated Tiles/2.bin" - even -ArtUnc_AniCNZ__3: binclude "Levels/CNZ/Animated Tiles/3.bin" - even -ArtUnc_AniCNZ__4: binclude "Levels/CNZ/Animated Tiles/4.bin" - even -ArtUnc_AniCNZ__6: binclude "Levels/CNZ/Animated Tiles/6.bin" - even -ArtUnc_AniCNZ__5: binclude "Levels/CNZ/Animated Tiles/5.bin" - even -ArtUnc_AniICZ__1: binclude "Levels/ICZ/Animated Tiles/1.bin" - even -ArtUnc_AniICZ__2: binclude "Levels/ICZ/Animated Tiles/2.bin" - even -ArtUnc_AniICZ__3: binclude "Levels/ICZ/Animated Tiles/3.bin" - even -ArtUnc_AniICZ__4: binclude "Levels/ICZ/Animated Tiles/4.bin" - even -ArtUnc_AniICZ__5: binclude "Levels/ICZ/Animated Tiles/5.bin" - even -ArtUnc_AniICZ__0: binclude "Levels/ICZ/Animated Tiles/0.bin" - even -ArtUnc_AniLBZ1_0: binclude "Levels/LBZ/Animated Tiles/Act1 0.bin" - even -ArtUnc_AniLBZ1_1: binclude "Levels/LBZ/Animated Tiles/Act1 1.bin" - even -ArtUnc_AniLBZ1_2: binclude "Levels/LBZ/Animated Tiles/Act1 2.bin" - even -ArtUnc_AniLBZ2_2: binclude "Levels/LBZ/Animated Tiles/Act2 2.bin" - even -ArtUnc_AniLBZ2_WaterlineBelow: binclude "Levels/LBZ/Animated Tiles/Act2 Water Below.bin" - even -ArtUnc_AniLBZ2_LowerBG: binclude "Levels/LBZ/Animated Tiles/Act2 Lower BG.bin" - even -ArtUnc_AniLBZ2_WaterlineAbove: binclude "Levels/LBZ/Animated Tiles/Act2 Water Above.bin" - even -ArtUnc_AniLBZ2_UpperBG: binclude "Levels/LBZ/Animated Tiles/Act2 Upper BG.bin" - even -ArtUnc_AniLBZ__0: binclude "Levels/LBZ/Animated Tiles/0.bin" - even -ArtUnc_AniLBZ2_0: binclude "Levels/LBZ/Animated Tiles/Act2 0.bin" - even -ArtUnc_AniLBZ2_1: binclude "Levels/LBZ/Animated Tiles/Act2 1.bin" - even -ArtUnc_AniALZ: binclude "Levels/ALZ/Animated Tiles/0.bin" - even -ArtUnc_AniBPZ__0: binclude "Levels/BPZ/Animated Tiles/0.bin" - even -ArtUnc_AniBPZ__1: binclude "Levels/BPZ/Animated Tiles/1.bin" - even -ArtUnc_AniBPZ__2: binclude "Levels/BPZ/Animated Tiles/2.bin" - even -ArtUnc_AniBPZ__3: binclude "Levels/BPZ/Animated Tiles/3.bin" - even -ArtUnc_AniDPZ: binclude "Levels/DPZ/Animated Tiles/0.bin" - even -ArtUnc_AniDPZ__BG: binclude "Levels/DPZ/Animated Tiles/BG 0.bin" - even -ArtUnc_AniGumball: binclude "Levels/Gumball/Animated Tiles/0.bin" - even -ArtUnc_SplashDrown: binclude "General/Sprites/Dash Dust/Splash Drown.bin" - even -ArtNem_Title_SonicSprites: binclude "General/Title/Nemesis Art/S3 Sonic Sprites.bin" - even -DemoDat_AIZ: binclude "Levels/AIZ/Demodata/1.bin" - even -DemoDat_HCZ: binclude "Levels/HCZ/Demodata/1.bin" - even -DemoDat_MGZ: binclude "Levels/MGZ/Demodata/1.bin" - even -ArtUnc_Tails: binclude "General/Sprites/Tails/Art/Tails.bin" - even -ArtUnc_Tails_Tail: binclude "General/Sprites/Tails/Art/Tails tails.bin" - even -ArtUnc_Sonic2P: binclude "General/Sprites/Sonic/Art/Sonic 2P.bin" - even -ArtUnc_Tails2P: binclude "General/Sprites/Tails/Art/Tails 2P.bin" - even -ArtUnc_Tails2P_Tail: binclude "General/Sprites/Tails/Art/Tails tails 2P.bin" - even -ArtUnc_Knuckles2P: binclude "General/Sprites/Knuckles/Art/Knuckles 2P.bin" - even -Map_Tails_Tail: include "General/Sprites/Tails/Map - Tails tails.asm" - -PLC_Tails_Tail: include "General/Sprites/Tails/Tails tails pattern load cues.asm" - -ICZSnowboard_Slope1: binclude "Levels/ICZ/Misc/ICZ Snowboard Slope 1.bin" - even -ICZSnowboard_Slope2: binclude "Levels/ICZ/Misc/ICZ Snowboard Slope 2.bin" - even -ArtUnc_SonicSnowboard: binclude "General/Sprites/Sonic/Art/Sonic Snowboarding.bin" - even -ArtUnc_Snowboard: binclude "General/Sprites/Snowboard/Snowboard.bin" - even -Map_SonicSnowboard: include "General/Sprites/Sonic/Map - Sonic Snowboarding.asm" - -DPLC_SonicSnowboard: include "General/Sprites/Sonic/DPLC - Sonic Snowboarding.asm" - -Map_Snowboard: include "General/Sprites/Snowboard/Map - Snowboard.asm" - -DPLC_Snowboard: include "General/Sprites/Snowboard/DPLC - Snowboard.asm" - -ArtNem_AIZIntroSprites: binclude "Levels/AIZ/Nemesis Art/Intro Waves.bin" - even -ArtNem_2PDashdust: binclude "General/2P Zone/Nemesis Art/Spindash Dust.bin" - even -MapEni_S3TitleSonic1: binclude "General/Title/Enigma Map/S3 Sonic 1.bin" - even -MapEni_S3TitleSonic2: binclude "General/Title/Enigma Map/S3 Sonic 2.bin" - even -MapEni_S3TitleSonic3: binclude "General/Title/Enigma Map/S3 Sonic 3.bin" - even -MapEni_S3TitleSonic4: binclude "General/Title/Enigma Map/S3 Sonic 4.bin" - even -MapEni_S3TitleSonic5: binclude "General/Title/Enigma Map/S3 Sonic 5.bin" - even -MapEni_S3TitleSonic6: binclude "General/Title/Enigma Map/S3 Sonic 6.bin" - even -MapEni_S3TitleSonic7: binclude "General/Title/Enigma Map/S3 Sonic 7.bin" - even -MapEni_S3TitleSonic8: binclude "General/Title/Enigma Map/S3 Sonic 8.bin" - even -MapEni_S3TitleSonic9: binclude "General/Title/Enigma Map/S3 Sonic 9.bin" - even -MapEni_S3TitleSonicA: binclude "General/Title/Enigma Map/S3 Sonic A.bin" - even -MapEni_S3TitleSonicB: binclude "General/Title/Enigma Map/S3 Sonic B.bin" - even -MapEni_S3TitleSonicC: binclude "General/Title/Enigma Map/S3 Sonic C.bin" - even -MapEni_S3TitleSonicD: binclude "General/Title/Enigma Map/S3 Sonic D.bin" - even -MapEni_S3TitleBg: binclude "General/Title/Enigma Map/S3 BG.bin" - even -Map_S3TitleBanner: include "General/Title/Map - S3 Banner.asm" - -ArtNem_Title_S3Banner: binclude "General/Title/Nemesis Art/S3 Banner.bin" - even -ArtKos_S3TitleSonic1: binclude "General/Title/Kosinski Art/S3 Sonic 1.bin" - even -ArtKos_S3TitleSonic8: binclude "General/Title/Kosinski Art/S3 Sonic 8.bin" - even -ArtKos_S3TitleSonic9: binclude "General/Title/Kosinski Art/S3 Sonic 9.bin" - even -ArtKos_S3TitleSonicA: binclude "General/Title/Kosinski Art/S3 Sonic A.bin" - even -ArtKos_S3TitleSonicB: binclude "General/Title/Kosinski Art/S3 Sonic B.bin" - even -ArtKos_S3TitleSonicC: binclude "General/Title/Kosinski Art/S3 Sonic C.bin" - even -ArtKos_S3TitleSonicD: binclude "General/Title/Kosinski Art/S3 Sonic D.bin" - even -ArtNem_TailsLifeIcon: binclude "General/Sprites/HUD Icon/Tails Life Icon.bin" - even -Map_LBZMiniboss: include "Levels/LBZ/Misc Object Data/Map - Miniboss.asm" - -Map_LBZMinibossBox: include "Levels/LBZ/Misc Object Data/Map - Miniboss Box.asm" - -Map_SnaleBlaster: include "General/Sprites/Snail Blaster/Map - Snail Blaster.asm" - -Map_Orbinaut: include "General/Sprites/Orbinaut/Map - Orbinaut.asm" - -Map_Ribot: include "General/Sprites/Ribot/Map - Ribot.asm" - -Map_Corkey: include "General/Sprites/Corkey/Map - Corkey.asm" - -Map_Flybot767: include "General/Sprites/Flybot/Map - Flybot.asm" - -DPLC_Flybot: include "General/Sprites/Flybot/DPLC - Flybot.asm" - -Map_LBZEndBoss: include "Levels/LBZ/Misc Object Data/Map - End Boss.asm" - -Map_CNZEndBoss: include "Levels/CNZ/Misc Object Data/Map - End Boss.asm" - -CNZEndBossMagnet_AngleX: dc.b 0, 1, 2, 3, 4, 5, 6, 8, 9, $A, $B, $C, $D, $E, $F, $10 - dc.b $11, $12, $13, $14, $15, $16, $17, $18, $18, $19, $1A, $1B, $1C, $1D, $1E, $1E - dc.b $1F, $20, $21, $21, $22, $23, $23, $24, $25, $25, $26, $26, $27, $27, $28, $28 - dc.b $29, $29, $29, $2A, $2A, $2A, $2B, $2B, $2B, $2B, $2C, $2C, $2C, $2C, $2C, $2C -LBZFinalBoss2_CircleLookup: dc.b 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, $A, $B, $C, $D, $D, $E - dc.b $F, $10, $11, $12, $13, $14, $15, $15, $16, $17, $18, $19, $19, $1A, $1B, $1C - dc.b $1C, $1D, $1E, $1E, $1F, $20, $20, $21, $21, $22, $22, $23, $23, $24, $24, $25 - dc.b $25, $25, $26, $26, $26, $27, $27, $27, $27, $27, $28, $28, $28, $28, $28, $28 - -Map_Blastoid: include "General/Sprites/Blastoid/Map - Blastoid.asm" - -Map_Poindexter: include "General/Sprites/Pointdexter/Map - Pointdexter.asm" - -Map_Buggernaut: include "General/Sprites/Buggernaut/Map - Buggernaut.asm" - -Map_MegaChomper: include "General/Sprites/Mega Chomper/Map - Mega Chomper.asm" - -Map_TurboSpiker: include "General/Sprites/Turbo Spiker/Map - Turbo Spiker.asm" - -Map_Jawz: include "General/Sprites/Jawz/Map - Jawz.asm" - -DPLC_RhinoBot: include "General/Sprites/Rhino/DPLC - RhinoBot.asm" - -Map_RhinoBot: include "General/Sprites/Rhino/Map - RhinoBot.asm" - -Map_AIZMinibossFlame: include "Levels/AIZ/Misc Object Data/Map - Miniboss Flame.asm" - -Map_Tulipon: include "General/Sprites/Tulipon/Map - Tulipon.asm" - -Map_MonkeyDude: include "General/Sprites/Monkey Dude/Map - Monkey Dude.asm" - -Map_MGZMiniBoss: include "Levels/MGZ/Misc Object Data/Map - Miniboss.asm" -Map_CaterKillerJr: include "General/Sprites/Caterkiller Jr/Map - Caterkiller Jr.asm" - -DPLC_Clamer: include "General/Sprites/Clamer/DPLC - Clamer.asm" - -Map_Clamer: include "General/Sprites/Clamer/Map - Clamer.asm" - -Map_CNZBlastoid: include "Levels/CNZ/Misc Object Data/Map - Blastoid.asm" - -Map_Batbot: include "General/Sprites/Batbot/Map - Batbot.asm" - -DPLC_BubblesBadnik: include "General/Sprites/Bubbles Badnik/DPLC - Bubbles Badnik.asm" - -Map_BubblesBadnik: include "General/Sprites/Bubbles Badnik/Map - Bubbles Badnik.asm" - -Map_Spiker: include "General/Sprites/Spiker/Map - Spiker.asm" - -Map_Mantis: include "General/Sprites/Mantis/Map - Mantis.asm" - -DPLC_Penguinator: include "General/Sprites/Penguinator/DPLC - Penguinator.asm" - -Map_Penguinator: include "General/Sprites/Penguinator/Map - Penguinator.asm" - -Map_ICZSnowdust: include "Levels/ICZ/Misc Object Data/Map - Snowdust.asm" - -Map_StarPointer: include "General/Sprites/Star Pointer/Map - Star Pointer.asm" - -Map_AIZEndBoss: include "Levels/AIZ/Misc Object Data/Map - End Boss.asm" - -Map_AIZMiniboss: include "Levels/AIZ/Misc Object Data/Map - Miniboss.asm" - -Map_AIZMinibossSmall: include "Levels/AIZ/Misc Object Data/Map - Miniboss Small.asm" - -Map_MGZEndBoss: include "Levels/MGZ/Misc Object Data/Map - End Boss.asm" - -HCZMiniboss_RocketTwistLookup: dc.b $18, $18, $18, $18, $18, $18, $18, $18, $18, $17, $17, $17, $17, $17, $17, $16 - dc.b $16, $16, $16, $15, $15, $15, $15, $14, $14, $14, $13, $13, $13, $12, $12, $11 - dc.b $11, $11, $10, $10, $F, $F, $E, $E, $D, $D, $C, $C, $B, $B, $A, $A - dc.b 9, 9, 8, 8, 7, 6, 6, 5, 5, 4, 4, 3, 2, 2, 1, 1 - dc.b 0, $FF, $FF, $FE, $FE, $FD, $FC, $FC, $FB, $FB, $FA, $FA, $F9, $F8, $F8, $F7 - dc.b $F7, $F6, $F6, $F5, $F5, $F4, $F4, $F3, $F3, $F2, $F2, $F1, $F1, $F0, $F0, $EF - dc.b $EF, $EF, $EE, $EE, $ED, $ED, $ED, $EC, $EC, $EC, $EB, $EB, $EB, $EB, $EA, $EA - dc.b $EA, $EA, $E9, $E9, $E9, $E9, $E9, $E9, $E8, $E8, $E8, $E8, $E8, $E8, $E8, $E8 -LBZ2FinalBoss2_CircleLookup2: dc.b 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7 - dc.b 8, 8, 9, 9, 9, $A, $A, $B, $B, $C, $C, $C, $D, $D, $D, $E - dc.b $E, $E, $F, $F, $F, $10, $10, $10, $11, $11, $11, $11, $12, $12, $12, $12 - dc.b $12, $13, $13, $13, $13, $13, $13, $14, $14, $14, $14, $14, $14, $14, $14, $14 - -Map_HCZMiniboss: include "Levels/HCZ/Misc Object Data/Map - Miniboss.asm" - -Map_HCZMinibossSplash: include "Levels/HCZ/Misc Object Data/Map - Miniboss Splash.asm" - -DPLC_HCZMinibossSplash: include "Levels/HCZ/Misc Object Data/DPLC - Miniboss Splash.asm" - -Map_ICZEndBoss: include "Levels/ICZ/Misc Object Data/Map - End Boss.asm" - -Map_CNZMiniboss: include "Levels/CNZ/Misc Object Data/Map - Miniboss.asm" - -ICZMiniboss_OrbAngleLookup: dc.b 0, 1, 2, 4, 5, 6, 7, 8, 9, $B, $C, $D, $E, $F, $10, $11 - dc.b $12, $13, $15, $16, $17, $18, $19, $1A, $1B, $1C, $1D, $1E, $1E, $1F, $20, $21 - dc.b $22, $23, $24, $24, $25, $26, $27, $27, $28, $29, $29, $2A, $2A, $2B, $2B, $2C - dc.b $2C, $2D, $2D, $2E, $2E, $2E, $2F, $2F, $2F, $2F, $2F, $30, $30, $30, $30, $30 - -Map_ICZMiniboss: include "Levels/ICZ/Misc Object Data/Map - Miniboss.asm" - -Map_HCZEndBoss: include "Levels/HCZ/Misc Object Data/Map - End Boss.asm" - -Map_MGZEndBossDebris: include "Levels/MGZ/Misc Object Data/Map - End Boss Debris.asm" - -Map_ICZWallAndColumn: include "Levels/ICZ/Misc Object Data/Map - Wall and Column.asm" - -Map_ICZPlatforms: include "Levels/ICZ/Misc Object Data/Map - Platforms.asm" - -Map_LBZKnuxBomb: include "Levels/LBZ/Misc Object Data/Map - Knuckles Bomb.asm" - -Map_CutsceneKnux: include "General/Sprites/Knuckles/Cutscene/Map - Cutscene Knuckles.asm" - -DPLC_CutsceneKnux: include "General/Sprites/Knuckles/Cutscene/DPLC - Cutscene Knuckles.asm" - -Map_AIZIntroPlane: include "Levels/AIZ/Misc Object Data/Map - Intro Plane.asm" - -Map_AIZIntroEmeralds: include "Levels/AIZ/Misc Object Data/Map - Intro Emeralds.asm" - -Map_LBZFinalBoss1: include "Levels/LBZ/Misc Object Data/Map - Final Boss 1.asm" - -Map_LBZDeathEggSmall: include "Levels/LBZ/Misc Object Data/Map - Death Egg Small.asm" - -Pal_MGZFadeCNZ: binclude "Levels/Misc/Palettes/MGZ Fade to CNZ.bin" - even -Map_LBZFinalBoss2: include "Levels/LBZ/Misc Object Data/Map - Final Boss 2.asm" - -ArtNem_AIZMiniboss: binclude "Levels/AIZ/Nemesis Art/Miniboss.bin" - even -ArtKosM_AIZEndBoss: binclude "Levels/AIZ/KosinskiM Art/End Boss.bin" - even -ArtNem_AIZMinibossSmall: binclude "Levels/AIZ/Nemesis Art/Miniboss Small.bin" - even -ArtUnc_AIZRhino: binclude "General/Sprites/Rhino/Rhino.bin" - even -ArtKosM_AIZ_Tulipon: binclude "General/Sprites/Tulipon/Tulipon.bin" - even -ArtKosM_AIZ_MonkeyDude: binclude "General/Sprites/Monkey Dude/Monkey Dude.bin" - even -ArtKosM_AIZ_CaterkillerJr: binclude "General/Sprites/Caterkiller Jr/Caterkiller Jr.bin" - even -ArtNem_HCZMiniboss: binclude "Levels/HCZ/Nemesis Art/Miniboss.bin" - even -ArtNem_HCZEndBoss: binclude "Levels/HCZ/Nemesis Art/End Boss.bin" - even -ArtNem_HCZDragonfly: binclude "Levels/HCZ/Nemesis Art/Dragonfly.bin" - even -ArtKosM_Jawz: binclude "General/Sprites/Jawz/Jawz.bin" - even -ArtKosM_MegaChopper: binclude "General/Sprites/Mega Chopper/Mega Chopper.bin" - even -ArtKosM_Blastoid: binclude "General/Sprites/Blastoid/Blastoid.bin" - even -ArtKosM_TurboSpiker: binclude "General/Sprites/Turbo Spiker/Turbo Spiker.bin" - even -ArtKosM_Pointdexter: binclude "General/Sprites/Pointdexter/Pointdexter.bin" - even -ArtKosM_MGZMiniboss: binclude "Levels/MGZ/KosinskiM Art/Miniboss.bin" - even -ArtNem_MGZSpire: binclude "Levels/MGZ/Nemesis Art/Spire.bin" - even -ArtKosM_MGZEndBoss: binclude "Levels/MGZ/KosinskiM Art/End Boss.bin" - even -ArtScaled_MGZEndBoss: binclude "Levels/MGZ/Misc/MGZ End Boss Scaled.bin" - even -ArtKosM_MGZEndBossDebris: binclude "Levels/MGZ/KosinskiM Art/End Boss Debris.bin" - even -ArtUnc_BubblesBadnik: binclude "General/Sprites/Bubbles Badnik/Bubbles Badnik.bin" - even -ArtKosM_Spiker: binclude "General/Sprites/Spiker/Spiker.bin" - even -ArtKosM_Mantis: binclude "General/Sprites/Mantis/Mantis.bin" - even -ArtNem_CNZMiniboss: binclude "Levels/CNZ/Nemesis Art/Miniboss.bin" - even -ArtNem_CNZEndBoss: binclude "Levels/CNZ/Nemesis Art/End Boss.bin" - even -ArtUnc_Clamer: binclude "General/Sprites/Clamer/Clamer.bin" - even -ArtKosM_ClamerShot: binclude "General/Sprites/Clamer/Clamer Shot.bin" - even -ArtKosM_Sparkle: binclude "General/Sprites/Sparkle/Sparkle.bin" - even -ArtKosM_Batbot: binclude "General/Sprites/Batbot/Batbot.bin" - even -ArtKosM_CNZBalloon: binclude "Levels/CNZ/KosinskiM Art/Balloon.bin" - even -ArtNem_ICZMisc1: binclude "Levels/ICZ/Nemesis Art/Misc Art 1.bin" - even -ArtNem_ICZIntroSprites: binclude "Levels/ICZ/Nemesis Art/Intro Sprites.bin" - even -ArtNem_ICZMisc2: binclude "Levels/ICZ/Nemesis Art/Misc Art 2.bin" - even -ArtNem_ICZEndBoss: binclude "Levels/ICZ/Nemesis Art/End Boss.bin" - even -ArtNem_ICZMiniboss: binclude "Levels/ICZ/Nemesis Art/Miniboss.bin" - even -ArtUnc_Penguinator: binclude "General/Sprites/Penguinator/Penguinator.bin" - even -ArtKosM_ICZSnowdust: binclude "Levels/ICZ/KosinskiM Art/Snowdust.bin" - even -ArtKosM_StarPointer: binclude "General/Sprites/Star Pointer/Star Pointer.bin" - even -ArtKosM_LBZMiniboss: binclude "Levels/LBZ/KosinskiM Art/Miniboss.bin" - even -ArtKosM_LBZMinibossBox: binclude "Levels/LBZ/KosinskiM Art/Miniboss Box.bin" - even -ArtNem_LBZFinalBoss1: binclude "Levels/LBZ/Nemesis Art/Final Boss 1.bin" - even -ArtKosM_LBZEndBoss: binclude "Levels/LBZ/KosinskiM Art/End Boss.bin" - even -ArtKosM_LBZFinalBoss2: binclude "Levels/LBZ/KosinskiM Art/Final Boss 2.bin" - even -ArtKosM_SnailBlaster: binclude "General/Sprites/Snail Blaster/Snail Blaster.bin" - even -ArtKosM_Ribot: binclude "General/Sprites/Ribot/Ribot.bin" - even -ArtKosM_Orbinaut: binclude "General/Sprites/Orbinaut/Orbinaut.bin" - even -ArtKosM_Corkey: binclude "General/Sprites/Corkey/Corkey.bin" - even -ArtUnc_Flybot: binclude "General/Sprites/Flybot/Flybot.bin" - even -ArtNem_LBZKnuxBomb: binclude "Levels/LBZ/Nemesis Art/Knuckles Bomb.bin" - even -ArtKosM_LBZ2DeathEggSmall: binclude "Levels/LBZ/KosinskiM Art/Act 2 Death Egg Small.bin" - even -ArtKosM_LBZ2DeathEgg2_8x8: binclude "Levels/LBZ/Tiles/Act 2 Death Egg 2.bin" - even -ArtNem_AIZBossFire: binclude "Levels/AIZ/Nemesis Art/Miniboss Fire.bin" - even -ArtKosM_AIZIntroPlane: binclude "Levels/AIZ/KosinskiM Art/Intro Plane.bin" - even -ArtUnc_CutsceneKnux: binclude "General/Sprites/Knuckles/Cutscene/Cutscene Main.bin" - even -ArtKosM_AIZIntroEmeralds: binclude "Levels/AIZ/KosinskiM Art/Intro Emeralds.bin" - even -ArtKosM_TailsEndPose: binclude "General/Ending/KosinskiM Art/Tails Ending Pose.bin" - even -ArtNem_S38x16Font: binclude "General/Ending/Nemesis Art/S3 8x16 Font.bin" - even -ArtNem_AIZCorkFloor: binclude "Levels/AIZ/Nemesis Art/Cork Floor 1.bin" - even -ArtNem_AIZCorkFloor2: binclude "Levels/AIZ/Nemesis Art/Cork Floor 2.bin" - even -ArtNem_AIZSwingVine: binclude "Levels/AIZ/Nemesis Art/Swing Vine.bin" - even -ArtNem_AIZSlideRope: binclude "Levels/AIZ/Nemesis Art/Zip Vine.bin" - even -ArtNem_AIZBackgroundTree: binclude "Levels/AIZ/Nemesis Art/BG Tree.bin" - even -ArtNem_AIZMisc1: binclude "Levels/AIZ/Nemesis Art/Misc Art 1.bin" - even -ArtNem_AIZFallingLog: binclude "Levels/AIZ/Nemesis Art/Falling Log.bin" - even -ArtNem_AIZMisc2: binclude "Levels/AIZ/Nemesis Art/Misc Art 2.bin" - even -ArtNem_HCZSpikeBall: binclude "Levels/HCZ/Nemesis Art/Spike Ball.bin" - even -ArtNem_HCZWaveSplash: binclude "Levels/HCZ/Nemesis Art/Wave Splash.bin" - even -ArtNem_HCZButton: binclude "Levels/HCZ/Nemesis Art/Button.bin" - even -ArtNem_HCZMisc: binclude "Levels/HCZ/Nemesis Art/Misc Art.bin" - even -ArtNem_HCZWaterRush: binclude "Levels/HCZ/Nemesis Art/Water Rush.bin" - even -ArtKosM_HCZLargeFan: binclude "Levels/HCZ/KosinskiM Art/Large Fan.bin" - even -ArtKosM_HCZGeyserHorz: binclude "Levels/HCZ/KosinskiM Art/Geyser Horizontal.bin" - even -ArtKosM_HCZGeyserVert: binclude "Levels/HCZ/KosinskiM Art/Geyser Vertical.bin" - even -ArtNem_HCZ2Slide: binclude "Levels/HCZ/Nemesis Art/Act 2 Slide.bin" - even -ArtNem_HCZ2BlockPlat: binclude "Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin" - even -ArtUnc_HCZWaterSplash2: binclude "Levels/HCZ/Animated Tiles/Water Splash 2.bin" - even -ArtUnc_HCZWaterSplash: binclude "Levels/HCZ/Animated Tiles/Water Splash.bin" - even -ArtNem_HCZ2KnuxWall: binclude "Levels/HCZ/Nemesis Art/Act 2 Knuckles Wall.bin" - even -ArtNem_MGZMisc1: binclude "Levels/MGZ/Nemesis Art/Misc Art 1.bin" - even -ArtNem_MGZMisc2: binclude "Levels/MGZ/Nemesis Art/Misc Art 2.bin" - even -ArtNem_MGZSigns: binclude "Levels/MGZ/Nemesis Art/Direction Signs.bin" - even -ArtNem_CNZMisc: binclude "Levels/CNZ/Nemesis Art/Misc Art.bin" - even -ArtNem_CNZPlatform: binclude "Levels/CNZ/Nemesis Art/Platform.bin" - even -ArtNem_LBZMisc: binclude "Levels/LBZ/Nemesis Art/Misc Art.bin" - even -ArtNem_LBZTubeTrans: binclude "Levels/LBZ/Nemesis Art/Tube Transport.bin" - even -ArtNem_LBZ2Misc: binclude "Levels/LBZ/Nemesis Art/Act 2 Misc Art.bin" - even -ArtNem_2PArt_1: binclude "General/2P Zone/Nemesis Art/Misc Art 1.bin" - even -ArtNem_2PArt_2: binclude "General/2P Zone/Nemesis Art/Misc Art 2.bin" - even -ArtNem_2PArt_3: binclude "General/2P Zone/Nemesis Art/Misc Art 3.bin" - even -ArtNem_2PStartPost: binclude "General/2P Zone/Nemesis Art/Start Post.bin" - even -ArtNem_2PTime: binclude "General/2P Zone/Nemesis Art/Time Display.bin" - even -ArtNem_2PLapNum: binclude "General/2P Zone/Nemesis Art/Lap Numbers.bin" - even -ArtNem_2PPosIcon: binclude "General/2P Zone/Nemesis Art/Position Icons.bin" - even -ArtNem_BPZMisc: binclude "Levels/BPZ/Nemesis Art/Misc Art.bin" - even -ArtNem_DPZMisc: binclude "Levels/DPZ/Nemesis Art/Misc Art.bin" - even -ArtNem_CGZMisc: binclude "Levels/CGZ/Nemesis Art/Platform.bin" - even -ArtNem_EMZMisc: binclude "Levels/EMZ/Nemesis Art/Misc Art.bin" - even -ArtKosM_AIZ2Bombership2_8x8: binclude "Levels/AIZ/Tiles/Act 2 Bombership 2.bin" - even -ArtKosM_ResultsMILES: binclude "General/Sprites/Results/Results MILES.bin" - even -ArtKosM_ResultsTAILS: binclude "General/Sprites/Results/Results TAILS.bin" - even -ArtKosM_AIZTitleCard: binclude "Levels/AIZ/KosinskiM Art/Title Card.bin" - even -ArtKosM_HCZTitleCard: binclude "Levels/HCZ/KosinskiM Art/Title Card.bin" - even -ArtKosM_MGZTitleCard: binclude "Levels/MGZ/KosinskiM Art/Title Card.bin" - even -ArtKosM_CNZTitleCard: binclude "Levels/CNZ/KosinskiM Art/Title Card.bin" - even -ArtKosM_ICZTitleCard: binclude "Levels/ICZ/KosinskiM Art/Title Card.bin" - even -ArtKosM_LBZTitleCard: binclude "Levels/LBZ/KosinskiM Art/Title Card.bin" - even -ArtKosM_ALZTitleCard: binclude "Levels/ALZ/KosinskiM Art/Title Card.bin" - even -ArtKosM_BPZTitleCard: binclude "Levels/BPZ/KosinskiM Art/Title Card.bin" - even -ArtKosM_CGZTitleCard: binclude "Levels/CGZ/KosinskiM Art/Title Card.bin" - even -ArtKosM_DPZTitleCard: binclude "Levels/DPZ/KosinskiM Art/Title Card.bin" - even -ArtKosM_EMZTitleCard: binclude "Levels/EMZ/KosinskiM Art/Title Card.bin" - even -Pal_SaveMenuBG: binclude "General/Save Menu/Palettes/BG.bin" - even -Pal_CompetitionMenuBG: binclude "General/Competition Menu/Palettes/BG.bin" - even -MapEni_S3MenuBG: binclude "General/Title/Enigma Map/S3 Menu BG.bin" - even -ArtKos_S3MenuBG: binclude "General/Save Menu/Kosinski Art/Menu BG.bin" - even -MapEni_CompetitionLevBorder: binclude "General/Competition Menu/Enigma Map/Level Border.bin" - even -MapUnc_CompetitionTimeBorder: binclude "General/Competition Menu/Uncompressed Map/Time Border.bin" - even -MapUnc_CompetitionBESTTIME: binclude "General/Competition Menu/Uncompressed Map/Time Text.bin" - even -MapEni_CompetitionLevImage: binclude "General/Competition Menu/Enigma Map/Level Images.bin" - even -MapEni_CompetitionLevName: binclude "General/Competition Menu/Enigma Map/Level Names.bin" - even -ArtKos_CompetitionMode: binclude "General/Competition Menu/Kosinski Art/Mode Select.bin" - even -ArtKos_CompetitionLevel: binclude "General/Competition Menu/Kosinski Art/Level Select.bin" - even -ArtKos_CompetitionResults: binclude "General/Competition Menu/Kosinski Art/Results.bin" - even -Map_CompetitionPlayerSprite: include "General/Competition Menu/Map - Competition Player Sprites.asm" - -ArtKos_CompetitionPlayer: binclude "General/Competition Menu/Kosinski Art/Player Sprites.bin" - even -MapEni_SaveScreen_Layout: binclude "General/Save Menu/Enigma Map/Save Screen Layout.bin" - even -MapUnc_SaveScreenNEW: binclude "General/Save Menu/Uncompressed Map/NEW.bin" - even -MapPtrs_SaveScreenStatic: dc.l MapUnc_SaveScreenStatic1 - dc.l MapUnc_SaveScreenStatic2 - dc.l MapUnc_SaveScreenStatic3 - dc.l MapUnc_SaveScreenStatic4 - -MapUnc_SaveScreenStatic1: binclude "General/Save Menu/Uncompressed Map/Static 1.bin" - even -MapUnc_SaveScreenStatic2: binclude "General/Save Menu/Uncompressed Map/Static 2.bin" - even -MapUnc_SaveScreenStatic3: binclude "General/Save Menu/Uncompressed Map/Static 3.bin" - even -MapUnc_SaveScreenStatic4: binclude "General/Save Menu/Uncompressed Map/Static 4.bin" - even -ArtKos_SaveScreenMisc: binclude "General/Save Menu/Kosinski Art/Misc.bin" - even +ArtUnc_AniAIZ1_0: + binclude "Levels/AIZ/Animated Tiles/Act1 0.bin" + even +ArtUnc_AniAIZ1_1: + binclude "Levels/AIZ/Animated Tiles/Act1 1.bin" + even +ArtUnc_AniAIZ2_1: + binclude "Levels/AIZ/Animated Tiles/Act2 1.bin" + even +ArtUnc_AniAIZ2_0: + binclude "Levels/AIZ/Animated Tiles/Act2 0.bin" + even +ArtUnc_AniAIZ2_3: + binclude "Levels/AIZ/Animated Tiles/Act2 3.bin" + even +ArtUnc_AniAIZ2_2: + binclude "Levels/AIZ/Animated Tiles/Act2 2.bin" + even +ArtUnc_AniAIZ2_FirstTree: + binclude "Levels/AIZ/Animated Tiles/Act2 First Tree.bin" + even +ArtUnc_AniHCZ1_0: + binclude "Levels/HCZ/Animated Tiles/Act1 0.bin" + even +ArtUnc_AniHCZ1_WaterlineBelow: + binclude "Levels/HCZ/Animated Tiles/Act1 Water Below 1.bin" + even +ArtUnc_FixHCZ1_UpperBG1: + binclude "Levels/HCZ/Animated Tiles/Act1 Upper BG 1.bin" + even +ArtUnc_AniHCZ1_WaterlineAbove: + binclude "Levels/HCZ/Animated Tiles/Act1 Water Above 1.bin" + even +ArtUnc_FixHCZ1_LowerBG1: + binclude "Levels/HCZ/Animated Tiles/Act1 Lower BG 1.bin" + even +ArtUnc_AniHCZ1_WaterlineBelow2: + binclude "Levels/HCZ/Animated Tiles/Act1 Water Below 2.bin" + even +ArtUnc_FixHCZ1_UpperBG2: + binclude "Levels/HCZ/Animated Tiles/Act1 Upper BG 2.bin" + even +ArtUnc_AniHCZ1_WaterlineAbove2: + binclude "Levels/HCZ/Animated Tiles/Act1 Water Above 2.bin" + even +ArtUnc_FixHCZ1_LowerBG2: + binclude "Levels/HCZ/Animated Tiles/Act1 Lower BG 2.bin" + even +ArtUnc_AniHCZ__1: + binclude "Levels/HCZ/Animated Tiles/0.bin" + even +ArtUnc_AniHCZ2_0: + binclude "Levels/HCZ/Animated Tiles/Act2 0.bin" + even +ArtUnc_AniHCZ2_SmallBGLine: + binclude "Levels/HCZ/Animated Tiles/Act2 1.bin" + even +ArtUnc_AniHCZ2_2: + binclude "Levels/HCZ/Animated Tiles/Act2 2.bin" + even +ArtUnc_AniHCZ2_3: + binclude "Levels/HCZ/Animated Tiles/Act2 3.bin" + even +ArtUnc_AniHCZ2_4: + binclude "Levels/HCZ/Animated Tiles/Act2 4.bin" + even +ArtUnc_AniMGZ__0: + binclude "Levels/MGZ/Animated Tiles/MGZ Animated 0.bin" + even +ArtUnc_AniMGZ__1: + binclude "Levels/MGZ/Animated Tiles/MGZ Animated 1.bin" + even +ArtUnc_AniCNZ__0: + binclude "Levels/CNZ/Animated Tiles/0.bin" + even +ArtUnc_AniCNZ__1: + binclude "Levels/CNZ/Animated Tiles/1.bin" + even +ArtUnc_AniCNZ__2: + binclude "Levels/CNZ/Animated Tiles/2.bin" + even +ArtUnc_AniCNZ__3: + binclude "Levels/CNZ/Animated Tiles/3.bin" + even +ArtUnc_AniCNZ__4: + binclude "Levels/CNZ/Animated Tiles/4.bin" + even +ArtUnc_AniCNZ__6: + binclude "Levels/CNZ/Animated Tiles/6.bin" + even +ArtUnc_AniCNZ__5: + binclude "Levels/CNZ/Animated Tiles/5.bin" + even +ArtUnc_AniICZ__1: + binclude "Levels/ICZ/Animated Tiles/1.bin" + even +ArtUnc_AniICZ__2: + binclude "Levels/ICZ/Animated Tiles/2.bin" + even +ArtUnc_AniICZ__3: + binclude "Levels/ICZ/Animated Tiles/3.bin" + even +ArtUnc_AniICZ__4: + binclude "Levels/ICZ/Animated Tiles/4.bin" + even +ArtUnc_AniICZ__5: + binclude "Levels/ICZ/Animated Tiles/5.bin" + even +ArtUnc_AniICZ__0: + binclude "Levels/ICZ/Animated Tiles/0.bin" + even +ArtUnc_AniLBZ1_0: + binclude "Levels/LBZ/Animated Tiles/Act1 0.bin" + even +ArtUnc_AniLBZ1_1: + binclude "Levels/LBZ/Animated Tiles/Act1 1.bin" + even +ArtUnc_AniLBZ1_2: + binclude "Levels/LBZ/Animated Tiles/Act1 2.bin" + even +ArtUnc_AniLBZ2_2: + binclude "Levels/LBZ/Animated Tiles/Act2 2.bin" + even +ArtUnc_AniLBZ2_WaterlineBelow: + binclude "Levels/LBZ/Animated Tiles/Act2 Water Below.bin" + even +ArtUnc_AniLBZ2_LowerBG: + binclude "Levels/LBZ/Animated Tiles/Act2 Lower BG.bin" + even +ArtUnc_AniLBZ2_WaterlineAbove: + binclude "Levels/LBZ/Animated Tiles/Act2 Water Above.bin" + even +ArtUnc_AniLBZ2_UpperBG: + binclude "Levels/LBZ/Animated Tiles/Act2 Upper BG.bin" + even +ArtUnc_AniLBZ__0: + binclude "Levels/LBZ/Animated Tiles/0.bin" + even +ArtUnc_AniLBZ2_0: + binclude "Levels/LBZ/Animated Tiles/Act2 0.bin" + even +ArtUnc_AniLBZ2_1: + binclude "Levels/LBZ/Animated Tiles/Act2 1.bin" + even +ArtUnc_AniALZ: + binclude "Levels/ALZ/Animated Tiles/0.bin" + even +ArtUnc_AniBPZ__0: + binclude "Levels/BPZ/Animated Tiles/0.bin" + even +ArtUnc_AniBPZ__1: + binclude "Levels/BPZ/Animated Tiles/1.bin" + even +ArtUnc_AniBPZ__2: + binclude "Levels/BPZ/Animated Tiles/2.bin" + even +ArtUnc_AniBPZ__3: + binclude "Levels/BPZ/Animated Tiles/3.bin" + even +ArtUnc_AniDPZ: + binclude "Levels/DPZ/Animated Tiles/0.bin" + even +ArtUnc_AniDPZ__BG: + binclude "Levels/DPZ/Animated Tiles/BG 0.bin" + even +ArtUnc_AniGumball: + binclude "Levels/Gumball/Animated Tiles/0.bin" + even +ArtUnc_SplashDrown: + binclude "General/Sprites/Dash Dust/Splash Drown.bin" + even +ArtNem_Title_SonicSprites: + binclude "General/Title/Nemesis Art/S3 Sonic Sprites.bin" + even +DemoDat_AIZ: binclude "Levels/AIZ/Demodata/1.bin" + even +DemoDat_HCZ: binclude "Levels/HCZ/Demodata/1.bin" + even +DemoDat_MGZ: binclude "Levels/MGZ/Demodata/1.bin" + even +ArtUnc_Tails: + binclude "General/Sprites/Tails/Art/Tails.bin" + even +ArtUnc_Tails_Tail: + binclude "General/Sprites/Tails/Art/Tails tails.bin" + even +ArtUnc_Sonic2P: + binclude "General/Sprites/Sonic/Art/Sonic 2P.bin" + even +ArtUnc_Tails2P: + binclude "General/Sprites/Tails/Art/Tails 2P.bin" + even +ArtUnc_Tails2P_Tail: + binclude "General/Sprites/Tails/Art/Tails tails 2P.bin" + even +ArtUnc_Knuckles2P: + binclude "General/Sprites/Knuckles/Art/Knuckles 2P.bin" + even +Map_Tails_Tail: + include "General/Sprites/Tails/Map - Tails tails.asm" +PLC_Tails_Tail: + include "General/Sprites/Tails/DPLC - Tails tails.asm" + +ICZSnowboard_Slope1: + binclude "Levels/ICZ/Misc/ICZ Snowboard Slope 1.bin" + even +ICZSnowboard_Slope2: + binclude "Levels/ICZ/Misc/ICZ Snowboard Slope 2.bin" + even +ArtUnc_SonicSnowboard: + binclude "General/Sprites/Sonic/Art/Sonic Snowboarding.bin" + even +ArtUnc_Snowboard: + binclude "General/Sprites/Snowboard/Snowboard.bin" + even +Map_SonicSnowboard: + include "General/Sprites/Sonic/Map - Sonic Snowboarding.asm" +DPLC_SonicSnowboard: + include "General/Sprites/Sonic/DPLC - Sonic Snowboarding.asm" +Map_Snowboard: + include "General/Sprites/Snowboard/Map - Snowboard.asm" +DPLC_Snowboard: + include "General/Sprites/Snowboard/DPLC - Snowboard.asm" + +ArtNem_AIZIntroSprites: + binclude "Levels/AIZ/Nemesis Art/Intro Waves.bin" + even +ArtNem_2PDashdust: + binclude "General/2P Zone/Nemesis Art/Spindash Dust.bin" + even +MapEni_S3TitleSonic1: + binclude "General/Title/Enigma Map/S3 Sonic 1.bin" + even +MapEni_S3TitleSonic2: + binclude "General/Title/Enigma Map/S3 Sonic 2.bin" + even +MapEni_S3TitleSonic3: + binclude "General/Title/Enigma Map/S3 Sonic 3.bin" + even +MapEni_S3TitleSonic4: + binclude "General/Title/Enigma Map/S3 Sonic 4.bin" + even +MapEni_S3TitleSonic5: + binclude "General/Title/Enigma Map/S3 Sonic 5.bin" + even +MapEni_S3TitleSonic6: + binclude "General/Title/Enigma Map/S3 Sonic 6.bin" + even +MapEni_S3TitleSonic7: + binclude "General/Title/Enigma Map/S3 Sonic 7.bin" + even +MapEni_S3TitleSonic8: + binclude "General/Title/Enigma Map/S3 Sonic 8.bin" + even +MapEni_S3TitleSonic9: + binclude "General/Title/Enigma Map/S3 Sonic 9.bin" + even +MapEni_S3TitleSonicA: + binclude "General/Title/Enigma Map/S3 Sonic A.bin" + even +MapEni_S3TitleSonicB: + binclude "General/Title/Enigma Map/S3 Sonic B.bin" + even +MapEni_S3TitleSonicC: + binclude "General/Title/Enigma Map/S3 Sonic C.bin" + even +MapEni_S3TitleSonicD: + binclude "General/Title/Enigma Map/S3 Sonic D.bin" + even +MapEni_S3TitleBg: + binclude "General/Title/Enigma Map/S3 BG.bin" + even +Map_S3TitleBanner: + include "General/Title/Map - S3 Banner.asm" + +ArtNem_Title_S3Banner: + binclude "General/Title/Nemesis Art/S3 Banner.bin" + even +ArtKos_S3TitleSonic1: + binclude "General/Title/Kosinski Art/S3 Sonic 1.bin" + even +ArtKos_S3TitleSonic8: + binclude "General/Title/Kosinski Art/S3 Sonic 8.bin" + even +ArtKos_S3TitleSonic9: + binclude "General/Title/Kosinski Art/S3 Sonic 9.bin" + even +ArtKos_S3TitleSonicA: + binclude "General/Title/Kosinski Art/S3 Sonic A.bin" + even +ArtKos_S3TitleSonicB: + binclude "General/Title/Kosinski Art/S3 Sonic B.bin" + even +ArtKos_S3TitleSonicC: + binclude "General/Title/Kosinski Art/S3 Sonic C.bin" + even +ArtKos_S3TitleSonicD: + binclude "General/Title/Kosinski Art/S3 Sonic D.bin" + even +ArtNem_TailsLifeIcon: + binclude "General/Sprites/HUD Icon/Tails Life Icon.bin" + even +Map_LBZMiniboss: + include "Levels/LBZ/Misc Object Data/Map - Miniboss.asm" +Map_LBZMinibossBox: + include "Levels/LBZ/Misc Object Data/Map - Miniboss Box.asm" +Map_SnaleBlaster: + include "General/Sprites/Snale Blaster/Map - Snale Blaster.asm" +Map_Orbinaut: + include "General/Sprites/Orbinaut/Map - Orbinaut.asm" +Map_Ribot: + include "General/Sprites/Ribot/Map - Ribot.asm" +Map_Corkey: + include "General/Sprites/Corkey/Map - Corkey.asm" +Map_Flybot767: + include "General/Sprites/Flybot767/Map - Flybot767.asm" +DPLC_Flybot767: + include "General/Sprites/Flybot767/DPLC - Flybot767.asm" +Map_LBZEndBoss: + include "Levels/LBZ/Misc Object Data/Map - End Boss.asm" +Map_CNZEndBoss: + include "Levels/CNZ/Misc Object Data/Map - End Boss.asm" +CNZEndBossMagnet_AngleX: + dc.b 0, 1, 2, 3, 4, 5, 6, 8, 9, $A, $B, $C, $D, $E, $F, $10 + dc.b $11, $12, $13, $14, $15, $16, $17, $18, $18, $19, $1A, $1B, $1C, $1D, $1E, $1E + dc.b $1F, $20, $21, $21, $22, $23, $23, $24, $25, $25, $26, $26, $27, $27, $28, $28 + dc.b $29, $29, $29, $2A, $2A, $2A, $2B, $2B, $2B, $2B, $2C, $2C, $2C, $2C, $2C, $2C +LBZFinalBoss2_CircleLookup: + dc.b 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, $A, $B, $C, $D, $D, $E + dc.b $F, $10, $11, $12, $13, $14, $15, $15, $16, $17, $18, $19, $19, $1A, $1B, $1C + dc.b $1C, $1D, $1E, $1E, $1F, $20, $20, $21, $21, $22, $22, $23, $23, $24, $24, $25 + dc.b $25, $25, $26, $26, $26, $27, $27, $27, $27, $27, $28, $28, $28, $28, $28, $28 +Map_Blastoid: + include "General/Sprites/Blastoid/Map - Blastoid.asm" +Map_Poindexter: + include "General/Sprites/Pointdexter/Map - Pointdexter.asm" +Map_Buggernaut: + include "General/Sprites/Buggernaut/Map - Buggernaut.asm" +Map_MegaChopper: + include "General/Sprites/Mega Chopper/Map - Mega Chopper.asm" +Map_TurboSpiker: + include "General/Sprites/Turbo Spiker/Map - Turbo Spiker.asm" +Map_Jawz: + include "General/Sprites/Jawz/Map - Jawz.asm" +DPLC_Rhinobot: + include "General/Sprites/Rhinobot/DPLC - Rhinobot.asm" +Map_Rhinobot: + include "General/Sprites/Rhinobot/Map - Rhinobot.asm" +Map_AIZMinibossFlame: + include "Levels/AIZ/Misc Object Data/Map - Miniboss Flame.asm" +Map_Bloominator: + include "General/Sprites/Bloominator/Map - Bloominator.asm" +Map_MonkeyDude: + include "General/Sprites/Monkey Dude/Map - Monkey Dude.asm" +Map_MGZMiniboss: + include "Levels/MGZ/Misc Object Data/Map - Miniboss.asm" +Map_CaterKillerJr: + include "General/Sprites/Caterkiller Jr/Map - Caterkiller Jr.asm" +DPLC_Clamer: + include "General/Sprites/Clamer/DPLC - Clamer.asm" +Map_Clamer: + include "General/Sprites/Clamer/Map - Clamer.asm" +Map_Sparkle: + include "General/Sprites/Sparkle/Map - Sparkle.asm" +Map_Batbot: + include "General/Sprites/Batbot/Map - Batbot.asm" +DPLC_BubblesBadnik: + include "General/Sprites/Bubbles Badnik/DPLC - Bubbles Badnik.asm" +Map_BubblesBadnik: + include "General/Sprites/Bubbles Badnik/Map - Bubbles Badnik.asm" +Map_Spiker: + include "General/Sprites/Spiker/Map - Spiker.asm" +Map_Mantis: + include "General/Sprites/Mantis/Map - Mantis.asm" +DPLC_Penguinator: + include "General/Sprites/Penguinator/DPLC - Penguinator.asm" +Map_Penguinator: + include "General/Sprites/Penguinator/Map - Penguinator.asm" +Map_ICZSnowdust: + include "Levels/ICZ/Misc Object Data/Map - Snowdust.asm" +Map_StarPointer: + include "General/Sprites/Star Pointer/Map - Star Pointer.asm" +Map_AIZEndBoss: + include "Levels/AIZ/Misc Object Data/Map - End Boss.asm" +Map_AIZMiniboss: + include "Levels/AIZ/Misc Object Data/Map - Miniboss.asm" +Map_AIZMinibossSmall: + include "Levels/AIZ/Misc Object Data/Map - Miniboss Small.asm" +Map_MGZEndBoss: + include "Levels/MGZ/Misc Object Data/Map - End Boss.asm" +HCZMiniboss_RocketTwistLookup: + dc.b $18, $18, $18, $18, $18, $18, $18, $18, $18, $17, $17, $17, $17, $17, $17, $16 + dc.b $16, $16, $16, $15, $15, $15, $15, $14, $14, $14, $13, $13, $13, $12, $12, $11 + dc.b $11, $11, $10, $10, $F, $F, $E, $E, $D, $D, $C, $C, $B, $B, $A, $A + dc.b 9, 9, 8, 8, 7, 6, 6, 5, 5, 4, 4, 3, 2, 2, 1, 1 + dc.b 0, $FF, $FF, $FE, $FE, $FD, $FC, $FC, $FB, $FB, $FA, $FA, $F9, $F8, $F8, $F7 + dc.b $F7, $F6, $F6, $F5, $F5, $F4, $F4, $F3, $F3, $F2, $F2, $F1, $F1, $F0, $F0, $EF + dc.b $EF, $EF, $EE, $EE, $ED, $ED, $ED, $EC, $EC, $EC, $EB, $EB, $EB, $EB, $EA, $EA + dc.b $EA, $EA, $E9, $E9, $E9, $E9, $E9, $E9, $E8, $E8, $E8, $E8, $E8, $E8, $E8, $E8 +LBZ2FinalBoss2_CircleLookup2: + dc.b 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7 + dc.b 8, 8, 9, 9, 9, $A, $A, $B, $B, $C, $C, $C, $D, $D, $D, $E + dc.b $E, $E, $F, $F, $F, $10, $10, $10, $11, $11, $11, $11, $12, $12, $12, $12 + dc.b $12, $13, $13, $13, $13, $13, $13, $14, $14, $14, $14, $14, $14, $14, $14, $14 +Map_HCZMiniboss: + include "Levels/HCZ/Misc Object Data/Map - Miniboss.asm" +Map_HCZMinibossSplash: + include "Levels/HCZ/Misc Object Data/Map - Miniboss Splash.asm" +DPLC_HCZMinibossSplash: + include "Levels/HCZ/Misc Object Data/DPLC - Miniboss Splash.asm" +Map_ICZEndBoss: + include "Levels/ICZ/Misc Object Data/Map - End Boss.asm" +Map_CNZMiniboss: + include "Levels/CNZ/Misc Object Data/Map - Miniboss.asm" +ICZMiniboss_OrbAngleLookup: + dc.b 0, 1, 2, 4, 5, 6, 7, 8, 9, $B, $C, $D, $E, $F, $10, $11 + dc.b $12, $13, $15, $16, $17, $18, $19, $1A, $1B, $1C, $1D, $1E, $1E, $1F, $20, $21 + dc.b $22, $23, $24, $24, $25, $26, $27, $27, $28, $29, $29, $2A, $2A, $2B, $2B, $2C + dc.b $2C, $2D, $2D, $2E, $2E, $2E, $2F, $2F, $2F, $2F, $2F, $30, $30, $30, $30, $30 +Map_ICZMiniboss: + include "Levels/ICZ/Misc Object Data/Map - Miniboss.asm" +Map_HCZEndBoss: + include "Levels/HCZ/Misc Object Data/Map - End Boss.asm" +Map_MGZEndBossDebris: + include "Levels/MGZ/Misc Object Data/Map - End Boss Debris.asm" +Map_ICZWallAndColumn: + include "Levels/ICZ/Misc Object Data/Map - Wall and Column.asm" +Map_ICZPlatforms: + include "Levels/ICZ/Misc Object Data/Map - Platforms.asm" +Map_LBZKnuxBomb: + include "Levels/LBZ/Misc Object Data/Map - Knuckles Bomb.asm" +Map_CutsceneKnux: + include "General/Sprites/Knuckles/Cutscene/Map - Cutscene Knuckles.asm" +DPLC_CutsceneKnux: + include "General/Sprites/Knuckles/Cutscene/DPLC - Cutscene Knuckles.asm" +Map_AIZIntroPlane: + include "Levels/AIZ/Misc Object Data/Map - Intro Plane.asm" +Map_AIZIntroEmeralds: + include "Levels/AIZ/Misc Object Data/Map - Intro Emeralds.asm" +Map_LBZFinalBoss1: + include "Levels/LBZ/Misc Object Data/Map - Final Boss 1.asm" +Map_LBZDeathEggSmall: + include "Levels/LBZ/Misc Object Data/Map - Death Egg Small.asm" +Pal_MGZFadeCNZ: + binclude "Levels/MGZ/Palettes/Fade to CNZ.bin" + even +Map_LBZFinalBoss2: + include "Levels/LBZ/Misc Object Data/Map - Final Boss 2.asm" + +ArtNem_AIZMiniboss: + binclude "Levels/AIZ/Nemesis Art/Miniboss.bin" + even +ArtKosM_AIZEndBoss: + binclude "Levels/AIZ/KosinskiM Art/End Boss.bin" + even +ArtNem_AIZMinibossSmall: + binclude "Levels/AIZ/Nemesis Art/Miniboss Small.bin" + even +ArtUnc_AIZRhinobot: + binclude "General/Sprites/Rhinobot/Rhinobot.bin" + even +ArtKosM_AIZ_Bloominator: + binclude "General/Sprites/Bloominator/Bloominator.bin" + even +ArtKosM_AIZ_MonkeyDude: + binclude "General/Sprites/Monkey Dude/Monkey Dude.bin" + even +ArtKosM_AIZ_CaterkillerJr: + binclude "General/Sprites/Caterkiller Jr/Caterkiller Jr.bin" + even +ArtNem_HCZMiniboss: + binclude "Levels/HCZ/Nemesis Art/Miniboss.bin" + even +ArtNem_HCZEndBoss: + binclude "Levels/HCZ/Nemesis Art/End Boss.bin" + even +ArtNem_HCZDragonfly: + binclude "Levels/HCZ/Nemesis Art/Dragonfly.bin" + even +ArtKosM_Jawz: + binclude "General/Sprites/Jawz/Jawz.bin" + even +ArtKosM_MegaChopper: + binclude "General/Sprites/Mega Chopper/Mega Chopper.bin" + even +ArtKosM_Blastoid: + binclude "General/Sprites/Blastoid/Blastoid.bin" + even +ArtKosM_TurboSpiker: + binclude "General/Sprites/Turbo Spiker/Turbo Spiker.bin" + even +ArtKosM_Pointdexter: + binclude "General/Sprites/Pointdexter/Pointdexter.bin" + even +ArtKosM_MGZMiniboss: + binclude "Levels/MGZ/KosinskiM Art/Miniboss.bin" + even +ArtNem_MGZSpire: + binclude "Levels/MGZ/Nemesis Art/Spire.bin" + even +ArtKosM_MGZEndBoss: + binclude "Levels/MGZ/KosinskiM Art/End Boss.bin" + even +ArtScaled_MGZEndBoss: + binclude "Levels/MGZ/Misc/MGZ End Boss Scaled.bin" + even +ArtKosM_MGZEndBossDebris: + binclude "Levels/MGZ/KosinskiM Art/End Boss Debris.bin" + even +ArtUnc_BubblesBadnik: + binclude "General/Sprites/Bubbles Badnik/Bubbles Badnik.bin" + even +ArtKosM_Spiker: + binclude "General/Sprites/Spiker/Spiker.bin" + even +ArtKosM_Mantis: + binclude "General/Sprites/Mantis/Mantis.bin" + even +ArtNem_CNZMiniboss: + binclude "Levels/CNZ/Nemesis Art/Miniboss.bin" + even +ArtNem_CNZEndBoss: + binclude "Levels/CNZ/Nemesis Art/End Boss.bin" + even +ArtUnc_Clamer: + binclude "General/Sprites/Clamer/Clamer.bin" + even +ArtKosM_ClamerShot: + binclude "General/Sprites/Clamer/Clamer Shot.bin" + even +ArtKosM_Sparkle: + binclude "General/Sprites/Sparkle/Sparkle.bin" + even +ArtKosM_Batbot: + binclude "General/Sprites/Batbot/Batbot.bin" + even +ArtKosM_CNZBalloon: + binclude "Levels/CNZ/KosinskiM Art/Balloon.bin" + even +ArtNem_ICZMisc1: + binclude "Levels/ICZ/Nemesis Art/Misc Art 1.bin" + even +ArtNem_ICZIntroSprites: + binclude "Levels/ICZ/Nemesis Art/Intro Sprites.bin" + even +ArtNem_ICZMisc2: + binclude "Levels/ICZ/Nemesis Art/Misc Art 2.bin" + even +ArtNem_ICZEndBoss: + binclude "Levels/ICZ/Nemesis Art/End Boss.bin" + even +ArtNem_ICZMiniboss: + binclude "Levels/ICZ/Nemesis Art/Miniboss.bin" + even +ArtUnc_Penguinator: + binclude "General/Sprites/Penguinator/Penguinator.bin" + even +ArtKosM_ICZSnowdust: + binclude "Levels/ICZ/KosinskiM Art/Snowdust.bin" + even +ArtKosM_StarPointer: + binclude "General/Sprites/Star Pointer/Star Pointer.bin" + even +ArtKosM_LBZMiniboss: + binclude "Levels/LBZ/KosinskiM Art/Miniboss.bin" + even +ArtKosM_LBZMinibossBox: + binclude "Levels/LBZ/KosinskiM Art/Miniboss Box.bin" + even +ArtNem_LBZFinalBoss1: + binclude "Levels/LBZ/Nemesis Art/Final Boss 1.bin" + even +ArtKosM_LBZEndBoss: + binclude "Levels/LBZ/KosinskiM Art/End Boss.bin" + even +ArtKosM_LBZFinalBoss2: + binclude "Levels/LBZ/KosinskiM Art/Final Boss 2.bin" + even +ArtKosM_SnaleBlaster: + binclude "General/Sprites/Snale Blaster/Snale Blaster.bin" + even +ArtKosM_Ribot: + binclude "General/Sprites/Ribot/Ribot.bin" + even +ArtKosM_Orbinaut: + binclude "General/Sprites/Orbinaut/Orbinaut.bin" + even +ArtKosM_Corkey: + binclude "General/Sprites/Corkey/Corkey.bin" + even +ArtUnc_Flybot767: + binclude "General/Sprites/Flybot767/Flybot767.bin" + even +ArtNem_LBZKnuxBomb: + binclude "Levels/LBZ/Nemesis Art/Knuckles Bomb.bin" + even +ArtKosM_LBZ2DeathEggSmall: + binclude "Levels/LBZ/KosinskiM Art/Act 2 Death Egg Small.bin" + even +ArtKosM_LBZ2DeathEgg2_8x8: + binclude "Levels/LBZ/Tiles/Act 2 Death Egg 2.bin" + even +ArtNem_AIZBossFire: + binclude "Levels/AIZ/Nemesis Art/Miniboss Fire.bin" + even +ArtKosM_AIZIntroPlane: + binclude "Levels/AIZ/KosinskiM Art/Intro Plane.bin" + even +ArtUnc_CutsceneKnux: + binclude "General/Sprites/Knuckles/Cutscene/Cutscene Main.bin" + even +ArtKosM_AIZIntroEmeralds: + binclude "Levels/AIZ/KosinskiM Art/Intro Emeralds.bin" + even +ArtKosM_TailsEndPose: + binclude "General/Ending/KosinskiM Art/Tails Ending Pose.bin" + even +ArtNem_S38x16Font: + binclude "General/Ending/Nemesis Art/S3 8x16 Font.bin" + even +ArtNem_AIZCorkFloor: + binclude "Levels/AIZ/Nemesis Art/Cork Floor 1.bin" + even +ArtNem_AIZCorkFloor2: + binclude "Levels/AIZ/Nemesis Art/Cork Floor 2.bin" + even +ArtNem_AIZSwingVine: + binclude "Levels/AIZ/Nemesis Art/Swing Vine.bin" + even +ArtNem_AIZSlideRope: + binclude "Levels/AIZ/Nemesis Art/Zip Vine.bin" + even +ArtNem_AIZBackgroundTree: + binclude "Levels/AIZ/Nemesis Art/BG Tree.bin" + even +ArtNem_AIZMisc1: + binclude "Levels/AIZ/Nemesis Art/Misc Art 1.bin" + even +ArtNem_AIZFallingLog: + binclude "Levels/AIZ/Nemesis Art/Falling Log.bin" + even +ArtNem_AIZMisc2: + binclude "Levels/AIZ/Nemesis Art/Misc Art 2.bin" + even +ArtNem_HCZSpikeBall: + binclude "Levels/HCZ/Nemesis Art/Spike Ball.bin" + even +ArtNem_HCZWaveSplash: + binclude "Levels/HCZ/Nemesis Art/Wave Splash.bin" + even +ArtNem_HCZButton: + binclude "Levels/HCZ/Nemesis Art/Button.bin" + even +ArtNem_HCZMisc: + binclude "Levels/HCZ/Nemesis Art/Misc Art.bin" + even +ArtNem_HCZWaterRush: + binclude "Levels/HCZ/Nemesis Art/Water Rush.bin" + even +ArtKosM_HCZLargeFan: + binclude "Levels/HCZ/KosinskiM Art/Large Fan.bin" + even +ArtKosM_HCZGeyserHorz: + binclude "Levels/HCZ/KosinskiM Art/Geyser Horizontal.bin" + even +ArtKosM_HCZGeyserVert: + binclude "Levels/HCZ/KosinskiM Art/Geyser Vertical.bin" + even +ArtNem_HCZ2Slide: + binclude "Levels/HCZ/Nemesis Art/Act 2 Slide.bin" + even +ArtNem_HCZ2BlockPlat: + binclude "Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin" + even +ArtUnc_HCZWaterSplash2: + binclude "Levels/HCZ/Animated Tiles/Water Splash 2.bin" + even +ArtUnc_HCZWaterSplash: + binclude "Levels/HCZ/Animated Tiles/Water Splash.bin" + even +ArtNem_HCZ2KnuxWall: + binclude "Levels/HCZ/Nemesis Art/Act 2 Knuckles Wall.bin" + even +ArtNem_MGZMisc1: + binclude "Levels/MGZ/Nemesis Art/Misc Art 1.bin" + even +ArtNem_MGZMisc2: + binclude "Levels/MGZ/Nemesis Art/Misc Art 2.bin" + even +ArtNem_MGZSigns: + binclude "Levels/MGZ/Nemesis Art/Direction Signs.bin" + even +ArtNem_CNZMisc: + binclude "Levels/CNZ/Nemesis Art/Misc Art.bin" + even +ArtNem_CNZPlatform: + binclude "Levels/CNZ/Nemesis Art/Platform.bin" + even +ArtNem_LBZMisc: + binclude "Levels/LBZ/Nemesis Art/Misc Art.bin" + even +ArtNem_LBZTubeTrans: + binclude "Levels/LBZ/Nemesis Art/Tube Transport.bin" + even +ArtNem_LBZ2Misc: + binclude "Levels/LBZ/Nemesis Art/Act 2 Misc Art.bin" + even +ArtNem_2PArt_1: + binclude "General/2P Zone/Nemesis Art/Misc Art 1.bin" + even +ArtNem_2PArt_2: + binclude "General/2P Zone/Nemesis Art/Misc Art 2.bin" + even +ArtNem_2PArt_3: + binclude "General/2P Zone/Nemesis Art/Misc Art 3.bin" + even +ArtNem_2PStartPost: + binclude "General/2P Zone/Nemesis Art/Start Post.bin" + even +ArtNem_2PTime: + binclude "General/2P Zone/Nemesis Art/Time Display.bin" + even +ArtNem_2PLapNum: + binclude "General/2P Zone/Nemesis Art/Lap Numbers.bin" + even +ArtNem_2PPosIcon: + binclude "General/2P Zone/Nemesis Art/Position Icons.bin" + even +ArtNem_BPZMisc: + binclude "Levels/BPZ/Nemesis Art/Misc Art.bin" + even +ArtNem_DPZMisc: + binclude "Levels/DPZ/Nemesis Art/Misc Art.bin" + even +ArtNem_CGZMisc: + binclude "Levels/CGZ/Nemesis Art/Platform.bin" + even +ArtNem_EMZMisc: + binclude "Levels/EMZ/Nemesis Art/Misc Art.bin" + even +ArtKosM_AIZ2Bombership2_8x8: + binclude "Levels/AIZ/Tiles/Act 2 Bombership 2.bin" + even +ArtKosM_ResultsMILES: + binclude "General/Sprites/Results/Results MILES.bin" + even +ArtKosM_ResultsTAILS: + binclude "General/Sprites/Results/Results TAILS.bin" + even +ArtKosM_AIZTitleCard: + binclude "Levels/AIZ/KosinskiM Art/Title Card.bin" + even +ArtKosM_HCZTitleCard: + binclude "Levels/HCZ/KosinskiM Art/Title Card.bin" + even +ArtKosM_MGZTitleCard: + binclude "Levels/MGZ/KosinskiM Art/Title Card.bin" + even +ArtKosM_CNZTitleCard: + binclude "Levels/CNZ/KosinskiM Art/Title Card.bin" + even +ArtKosM_ICZTitleCard: + binclude "Levels/ICZ/KosinskiM Art/Title Card.bin" + even +ArtKosM_LBZTitleCard: + binclude "Levels/LBZ/KosinskiM Art/Title Card.bin" + even +ArtKosM_ALZTitleCard: + binclude "Levels/ALZ/KosinskiM Art/Title Card.bin" + even +ArtKosM_BPZTitleCard: + binclude "Levels/BPZ/KosinskiM Art/Title Card.bin" + even +ArtKosM_CGZTitleCard: + binclude "Levels/CGZ/KosinskiM Art/Title Card.bin" + even +ArtKosM_DPZTitleCard: + binclude "Levels/DPZ/KosinskiM Art/Title Card.bin" + even +ArtKosM_EMZTitleCard: + binclude "Levels/EMZ/KosinskiM Art/Title Card.bin" + even +Pal_SaveMenuBG: + binclude "General/Save Menu/Palettes/BG.bin" + even +Pal_CompetitionMenuBG: + binclude "General/Competition Menu/Palettes/BG.bin" + even +MapEni_S3MenuBG: + binclude "General/Save Menu/Enigma Map/Menu BG.bin" + even +ArtKos_S3MenuBG: + binclude "General/Save Menu/Kosinski Art/Menu BG.bin" + even +MapEni_CompetitionLevBorder: + binclude "General/Competition Menu/Enigma Map/Level Border.bin" + even +MapUnc_CompetitionTimeBorder: + binclude "General/Competition Menu/Uncompressed Map/Time Border.bin" + even +MapUnc_CompetitionBESTTIME: + binclude "General/Competition Menu/Uncompressed Map/Time Text.bin" + even +MapEni_CompetitionLevImage: + binclude "General/Competition Menu/Enigma Map/Level Images.bin" + even +MapEni_CompetitionLevName: + binclude "General/Competition Menu/Enigma Map/Level Names.bin" + even +ArtKos_CompetitionMode: + binclude "General/Competition Menu/Kosinski Art/Mode Select.bin" + even +ArtKos_CompetitionLevel: + binclude "General/Competition Menu/Kosinski Art/Level Select.bin" + even +ArtKos_CompetitionResults: + binclude "General/Competition Menu/Kosinski Art/Results.bin" + even +Map_CompetitionPlayerSprite: + include "General/Competition Menu/Map - Competition Player Sprites.asm" + +ArtKos_CompetitionPlayer: + binclude "General/Competition Menu/Kosinski Art/Player Sprites.bin" + even +MapEni_SaveScreen_Layout: + binclude "General/Save Menu/Enigma Map/Save Screen Layout.bin" + even +MapUnc_SaveScreenNEW: + binclude "General/Save Menu/Uncompressed Map/NEW.bin" + even +MapPtrs_SaveScreenStatic: + dc.l MapUnc_SaveScreenStatic1 + dc.l MapUnc_SaveScreenStatic2 + dc.l MapUnc_SaveScreenStatic3 + dc.l MapUnc_SaveScreenStatic4 +MapUnc_SaveScreenStatic1: + binclude "General/Save Menu/Uncompressed Map/Static 1.bin" + even +MapUnc_SaveScreenStatic2: + binclude "General/Save Menu/Uncompressed Map/Static 2.bin" + even +MapUnc_SaveScreenStatic3: + binclude "General/Save Menu/Uncompressed Map/Static 3.bin" + even +MapUnc_SaveScreenStatic4: + binclude "General/Save Menu/Uncompressed Map/Static 4.bin" + even +ArtKos_SaveScreenMisc: + binclude "General/Save Menu/Kosinski Art/Misc.bin" + even ;org $2F8000 -AIZ1_16x16_Primary_Kos: binclude "Levels/AIZ/Blocks/Act 1 Primary.bin" - even -AIZ1_16x16_Secondary_Kos: binclude "Levels/AIZ/Blocks/Act 1 Secondary.bin" - even -AIZ1_16x16_MainLevel_Kos: binclude "Levels/AIZ/Blocks/Act 1 Main Level.bin" - even -AIZ1_8x8_Primary_KosM: binclude "Levels/AIZ/Tiles/Act 1 Primary.bin" - even -AIZ1_8x8_Secondary_KosM: binclude "Levels/AIZ/Tiles/Act 1 Secondary.bin" - even -AIZ1_8x8_MainLevel_KosM: binclude "Levels/AIZ/Tiles/Act 1 Main Level.bin" - even -AIZ1_128x128_Kos: binclude "Levels/AIZ/Chunks/Act 1.bin" - even -AIZ1_8x8_Flames_KosM: binclude "Levels/AIZ/Tiles/Act 1 Fire Overlay.bin" - even -AIZ2_16x16_Primary_Kos: binclude "Levels/AIZ/Blocks/Act 2 Primary.bin" - even -AIZ2_16x16_Secondary_Kos: binclude "Levels/AIZ/Blocks/Act 2 Secondary.bin" - even -AIZ2_16x16_BomberShip_Kos: binclude "Levels/AIZ/Blocks/Act 2 BomberShip.bin" - even -AIZ2_8x8_Primary_KosM: binclude "Levels/AIZ/Tiles/Act 2 Primary.bin" - even -AIZ2_8x8_Secondary_KosM: binclude "Levels/AIZ/Tiles/Act 2 Secondary.bin" - even -AIZ2_8x8_BomberShip_KosM: binclude "Levels/AIZ/Tiles/Act 2 Bombership.bin" - even -AIZ2_128x128_Kos: binclude "Levels/AIZ/Chunks/Act 2.bin" - even -HCZ_16x16_Primary_Kos: binclude "Levels/HCZ/Blocks/Primary.bin" - even -HCZ_8x8_Primary_KosM: binclude "Levels/HCZ/Tiles/Primary.bin" - even -HCZ_128x128_Primary_Kos: binclude "Levels/HCZ/Chunks/Primary.bin" - even -HCZ1_16x16_Secondary_Kos: binclude "Levels/HCZ/Blocks/Act 1 Secondary.bin" - even -HCZ1_8x8_Secondary_KosM: binclude "Levels/HCZ/Tiles/Act 1 Secondary.bin" - even -HCZ1_128x128_Secondary_Kos: binclude "Levels/HCZ/Chunks/Act 1 Secondary.bin" - even -HCZ2_16x16_Secondary_Kos: binclude "Levels/HCZ/Blocks/Act 2 Secondary.bin" - even -HCZ2_8x8_Secondary_KosM: binclude "Levels/HCZ/Tiles/Act 2 Secondary.bin" - even -HCZ2_128x128_Secondary_Kos: binclude "Levels/HCZ/Chunks/Act 2 Secondary.bin" - even -MGZ_16x16_Primary_Kos: binclude "Levels/MGZ/Blocks/Primary.bin" - even -MGZ_8x8_Primary_KosM: binclude "Levels/MGZ/Tiles/Primary.bin" - even -MGZ_128x128_Primary_Kos: binclude "Levels/MGZ/Chunks/Primary.bin" - even -MGZ1_16x16_Secondary_Kos: binclude "Levels/MGZ/Blocks/Act 1 Secondary.bin" - even -MGZ1_8x8_Secondary_KosM: binclude "Levels/MGZ/Tiles/Act 1 Secondary.bin" - even -MGZ1_128x128_Secondary_Kos: binclude "Levels/MGZ/Chunks/Act 1 Secondary.bin" - even -MGZ2_16x16_Secondary_Kos: binclude "Levels/MGZ/Blocks/Act 2 Secondary.bin" - even -MGZ2_8x8_Secondary_KosM: binclude "Levels/MGZ/Tiles/Act 2 Secondary.bin" - even -MGZ2_128x128_Secondary_Kos: binclude "Levels/MGZ/Chunks/Act 2 Secondary.bin" - even -MGZ2_QuakeChunks: binclude "Levels/MGZ/Misc/Act 2 Quake Chunks.bin" - even -CNZ_16x16_Kos: binclude "Levels/CNZ/Blocks/Primary.bin" - even -CNZ_8x8_KosM: binclude "Levels/CNZ/Tiles/Primary.bin" - even -CNZ_128x128_Kos: binclude "Levels/CNZ/Chunks/Primary.bin" - even -ICZ_16x16_Primary_Kos: binclude "Levels/ICZ/Blocks/Primary.bin" - even -ICZ_8x8_Primary_KosM: binclude "Levels/ICZ/Tiles/Primary.bin" - even -ICZ_128x128_Primary_Kos: binclude "Levels/ICZ/Chunks/Primary.bin" - even -ICZ1_16x16_Secondary_Kos: binclude "Levels/ICZ/Blocks/Act 1 Secondary.bin" - even -ICZ1_8x8_Secondary_KosM: binclude "Levels/ICZ/Tiles/Act 1 Secondary.bin" - even -ICZ1_128x128_Secondary_Kos: binclude "Levels/ICZ/Chunks/Act 1 Secondary.bin" - even -ICZ2_16x16_Secondary_Kos: binclude "Levels/ICZ/Blocks/Act 2 Secondary.bin" - even -ICZ2_8x8_Secondary_KosM: binclude "Levels/ICZ/Tiles/Act 2 Secondary.bin" - even -ICZ2_128x128_Secondary_Kos: binclude "Levels/ICZ/Chunks/Act 2 Secondary.bin" - even -LBZ_16x16_Primary_Kos: binclude "Levels/LBZ/Blocks/Primary.bin" - even -LBZ1_16x16_Secondary_Kos: binclude "Levels/LBZ/Blocks/Act 1 Secondary.bin" - even -LBZ_8x8_Primary_KosM: binclude "Levels/LBZ/Tiles/Primary.bin" - even -LBZ1_8x8_Secondary_KosM: binclude "Levels/LBZ/Tiles/Act 1 Secondary.bin" - even -LBZ1_128x128_Kos: binclude "Levels/LBZ/Chunks/Act 1.bin" - even -LBZ2_16x16_Secondary_Kos: binclude "Levels/LBZ/Blocks/Act 2 Secondary.bin" - even -LBZ2_16x16_DeathEgg_Kos: binclude "Levels/LBZ/Blocks/Act 2 Death Egg.bin" - even -LBZ2_8x8_Secondary_KosM: binclude "Levels/LBZ/Tiles/Act 2 Secondary.bin" - even -LBZ2_8x8_DeathEgg_KosM: binclude "Levels/LBZ/Tiles/Act 2 Death Egg.bin" - even -LBZ2_128x128_Kos: binclude "Levels/LBZ/Chunks/Act 2.bin" - even -LBZ2_128x128_DeathEgg_Kos: binclude "Levels/LBZ/Chunks/Act 2 Death Egg.bin" - even -ALZ_16x16_Kos: binclude "Levels/ALZ/Blocks/Primary.bin" - even -ALZ_8x8_KosM: binclude "Levels/ALZ/Tiles/Primary.bin" - even -ALZ_128x128_Kos: binclude "Levels/ALZ/Chunks/Primary.bin" - even -BPZ_16x16_Kos: binclude "Levels/BPZ/Blocks/Primary.bin" - even -BPZ_8x8_KosM: binclude "Levels/BPZ/Tiles/Primary.bin" - even -BPZ_128x128_Kos: binclude "Levels/BPZ/Chunks/Primary.bin" - even -DPZ_16x16_Kos: binclude "Levels/DPZ/Blocks/Primary.bin" - even -DPZ_8x8_KosM: binclude "Levels/DPZ/Tiles/Primary.bin" - even -DPZ_128x128_Kos: binclude "Levels/DPZ/Chunks/Primary.bin" - even -CGZ_16x16_Kos: binclude "Levels/CGZ/Blocks/Primary.bin" - even -CGZ_8x8_KosM: binclude "Levels/CGZ/Tiles/Primary.bin" - even -CGZ_128x128_Kos: binclude "Levels/CGZ/Chunks/Primary.bin" - even -EMZ_16x16_Kos: binclude "Levels/EMZ/Blocks/Primary.bin" - even -EMZ_8x8_KosM: binclude "Levels/EMZ/Tiles/Primary.bin" - even -EMZ_128x128_Kos: binclude "Levels/EMZ/Chunks/Primary.bin" - even -Gumball_16x16_Kos: binclude "Levels/Gumball/Blocks/Primary.bin" - even -Gumball_8x8_KosM: binclude "Levels/Gumball/Tiles/Gumball.bin" - even -Gumball_128x128_Kos: binclude "Levels/Gumball/Chunks/Primary.bin" - even + +AIZ1_16x16_Primary_Kos: + binclude "Levels/AIZ/Blocks/Act 1 Primary.bin" + even +AIZ1_16x16_Secondary_Kos: + binclude "Levels/AIZ/Blocks/Act 1 Secondary.bin" + even +AIZ1_16x16_MainLevel_Kos: + binclude "Levels/AIZ/Blocks/Act 1 Main Level.bin" + even +AIZ1_8x8_Primary_KosM: + binclude "Levels/AIZ/Tiles/Act 1 Primary.bin" + even +AIZ1_8x8_Secondary_KosM: + binclude "Levels/AIZ/Tiles/Act 1 Secondary.bin" + even +AIZ1_8x8_MainLevel_KosM: + binclude "Levels/AIZ/Tiles/Act 1 Main Level.bin" + even +AIZ1_128x128_Kos: + binclude "Levels/AIZ/Chunks/Act 1.bin" + even +AIZ1_8x8_Flames_KosM: + binclude "Levels/AIZ/Tiles/Act 1 Fire Overlay.bin" + even +AIZ2_16x16_Primary_Kos: + binclude "Levels/AIZ/Blocks/Act 2 Primary.bin" + even +AIZ2_16x16_Secondary_Kos: + binclude "Levels/AIZ/Blocks/Act 2 Secondary.bin" + even +AIZ2_16x16_BomberShip_Kos: + binclude "Levels/AIZ/Blocks/Act 2 BomberShip.bin" + even +AIZ2_8x8_Primary_KosM: + binclude "Levels/AIZ/Tiles/Act 2 Primary.bin" + even +AIZ2_8x8_Secondary_KosM: + binclude "Levels/AIZ/Tiles/Act 2 Secondary.bin" + even +AIZ2_8x8_BomberShip_KosM: + binclude "Levels/AIZ/Tiles/Act 2 Bombership.bin" + even +AIZ2_128x128_Kos: + binclude "Levels/AIZ/Chunks/Act 2.bin" + even +HCZ_16x16_Primary_Kos: + binclude "Levels/HCZ/Blocks/Primary.bin" + even +HCZ_8x8_Primary_KosM: + binclude "Levels/HCZ/Tiles/Primary.bin" + even +HCZ_128x128_Primary_Kos: + binclude "Levels/HCZ/Chunks/Primary.bin" + even +HCZ1_16x16_Secondary_Kos: + binclude "Levels/HCZ/Blocks/Act 1 Secondary.bin" + even +HCZ1_8x8_Secondary_KosM: + binclude "Levels/HCZ/Tiles/Act 1 Secondary.bin" + even +HCZ1_128x128_Secondary_Kos: + binclude "Levels/HCZ/Chunks/Act 1 Secondary.bin" + even +HCZ2_16x16_Secondary_Kos: + binclude "Levels/HCZ/Blocks/Act 2 Secondary.bin" + even +HCZ2_8x8_Secondary_KosM: + binclude "Levels/HCZ/Tiles/Act 2 Secondary.bin" + even +HCZ2_128x128_Secondary_Kos: + binclude "Levels/HCZ/Chunks/Act 2 Secondary.bin" + even +MGZ_16x16_Primary_Kos: + binclude "Levels/MGZ/Blocks/Primary.bin" + even +MGZ_8x8_Primary_KosM: + binclude "Levels/MGZ/Tiles/Primary.bin" + even +MGZ_128x128_Primary_Kos: + binclude "Levels/MGZ/Chunks/Primary.bin" + even +MGZ1_16x16_Secondary_Kos: + binclude "Levels/MGZ/Blocks/Act 1 Secondary.bin" + even +MGZ1_8x8_Secondary_KosM: + binclude "Levels/MGZ/Tiles/Act 1 Secondary.bin" + even +MGZ1_128x128_Secondary_Kos: + binclude "Levels/MGZ/Chunks/Act 1 Secondary.bin" + even +MGZ2_16x16_Secondary_Kos: + binclude "Levels/MGZ/Blocks/Act 2 Secondary.bin" + even +MGZ2_8x8_Secondary_KosM: + binclude "Levels/MGZ/Tiles/Act 2 Secondary.bin" + even +MGZ2_128x128_Secondary_Kos: + binclude "Levels/MGZ/Chunks/Act 2 Secondary.bin" + even +MGZ2_QuakeChunks: + binclude "Levels/MGZ/Misc/Act 2 Quake Chunks.bin" + even +CNZ_16x16_Kos: + binclude "Levels/CNZ/Blocks/Primary.bin" + even +CNZ_8x8_KosM: + binclude "Levels/CNZ/Tiles/Primary.bin" + even +CNZ_128x128_Kos: + binclude "Levels/CNZ/Chunks/Primary.bin" + even +ICZ_16x16_Primary_Kos: + binclude "Levels/ICZ/Blocks/Primary.bin" + even +ICZ_8x8_Primary_KosM: + binclude "Levels/ICZ/Tiles/Primary.bin" + even +ICZ_128x128_Primary_Kos: + binclude "Levels/ICZ/Chunks/Primary.bin" + even +ICZ1_16x16_Secondary_Kos: + binclude "Levels/ICZ/Blocks/Act 1 Secondary.bin" + even +ICZ1_8x8_Secondary_KosM: + binclude "Levels/ICZ/Tiles/Act 1 Secondary.bin" + even +ICZ1_128x128_Secondary_Kos: + binclude "Levels/ICZ/Chunks/Act 1 Secondary.bin" + even +ICZ2_16x16_Secondary_Kos: + binclude "Levels/ICZ/Blocks/Act 2 Secondary.bin" + even +ICZ2_8x8_Secondary_KosM: + binclude "Levels/ICZ/Tiles/Act 2 Secondary.bin" + even +ICZ2_128x128_Secondary_Kos: + binclude "Levels/ICZ/Chunks/Act 2 Secondary.bin" + even +LBZ_16x16_Primary_Kos: + binclude "Levels/LBZ/Blocks/Primary.bin" + even +LBZ1_16x16_Secondary_Kos: + binclude "Levels/LBZ/Blocks/Act 1 Secondary.bin" + even +LBZ_8x8_Primary_KosM: + binclude "Levels/LBZ/Tiles/Primary.bin" + even +LBZ1_8x8_Secondary_KosM: + binclude "Levels/LBZ/Tiles/Act 1 Secondary.bin" + even +LBZ1_128x128_Kos: + binclude "Levels/LBZ/Chunks/Act 1.bin" + even +LBZ2_16x16_Secondary_Kos: + binclude "Levels/LBZ/Blocks/Act 2 Secondary.bin" + even +LBZ2_16x16_DeathEgg_Kos: + binclude "Levels/LBZ/Blocks/Act 2 Death Egg.bin" + even +LBZ2_8x8_Secondary_KosM: + binclude "Levels/LBZ/Tiles/Act 2 Secondary.bin" + even +LBZ2_8x8_DeathEgg_KosM: + binclude "Levels/LBZ/Tiles/Act 2 Death Egg.bin" + even +LBZ2_128x128_Kos: + binclude "Levels/LBZ/Chunks/Act 2.bin" + even +LBZ2_128x128_DeathEgg_Kos: + binclude "Levels/LBZ/Chunks/Act 2 Death Egg.bin" + even +ALZ_16x16_Kos: binclude "Levels/ALZ/Blocks/Primary.bin" + even +ALZ_8x8_KosM: binclude "Levels/ALZ/Tiles/Primary.bin" + even +ALZ_128x128_Kos:binclude "Levels/ALZ/Chunks/Primary.bin" + even +BPZ_16x16_Kos: binclude "Levels/BPZ/Blocks/Primary.bin" + even +BPZ_8x8_KosM: binclude "Levels/BPZ/Tiles/Primary.bin" + even +BPZ_128x128_Kos:binclude "Levels/BPZ/Chunks/Primary.bin" + even +DPZ_16x16_Kos: binclude "Levels/DPZ/Blocks/Primary.bin" + even +DPZ_8x8_KosM: binclude "Levels/DPZ/Tiles/Primary.bin" + even +DPZ_128x128_Kos:binclude "Levels/DPZ/Chunks/Primary.bin" + even +CGZ_16x16_Kos: binclude "Levels/CGZ/Blocks/Primary.bin" + even +CGZ_8x8_KosM: binclude "Levels/CGZ/Tiles/Primary.bin" + even +CGZ_128x128_Kos:binclude "Levels/CGZ/Chunks/Primary.bin" + even +EMZ_16x16_Kos: binclude "Levels/EMZ/Blocks/Primary.bin" + even +EMZ_8x8_KosM: binclude "Levels/EMZ/Tiles/Primary.bin" + even +EMZ_128x128_Kos:binclude "Levels/EMZ/Chunks/Primary.bin" + even +Gumball_16x16_Kos: + binclude "Levels/Gumball/Blocks/Primary.bin" + even +Gumball_8x8_KosM: + binclude "Levels/Gumball/Tiles/Gumball.bin" + even +Gumball_128x128_Kos: + binclude "Levels/Gumball/Chunks/Primary.bin" + even diff --git a/Lockon S3/LockOn Pointers.asm b/Lockon S3/LockOn Pointers.asm index d85d5f8e..793318dc 100644 --- a/Lockon S3/LockOn Pointers.asm +++ b/Lockon S3/LockOn Pointers.asm @@ -1,919 +1,625 @@ -; ═══════════════════════════════════════════════════════════════════════════ - - - -LockOnROM_Start:ds.b $11 -S3_Level_Solid_Data EQU $260000 - -byte_200011: ds.b $AC -byte_2000BD: ds.b $43 -LockonHeader: ds.b $14 -SSMagic_TestLoc_200114:ds.b 6 -SSMagic_TestLoc_20011A:ds.b 2 -LockonDate: ds.b $34 -SSMagic_TestLoc_200150:ds.b $19 - ds.b $17 -LockonSerialNumber:ds.b $24 -SSMagic_TestLoc_2001A4:ds.b $51 - ds.b $8C -byte_200281: ds.b $AC -byte_20032D: ds.b $94EB -Pal_Competition1:ds.b $A8 -Map_CompetitionObject:ds.b $870 -MapUnc_CompetitionNumbers:ds.b $42E - - -Pal_Competition2: ds.b $20 -Pal_Competition3: ds.b $40 -Pal_Competition4: ds.b $126 -Map_CompetitionSelect:ds.b $6A0 - -Pal_CompetitionResults:ds.b $DE -MapEni_CompetitionResultsLED:ds.b $1A -MapUnc_CompetitionResultsLetters:ds.b $28 -MapUnc_CompetitionResultsDividers:ds.b $50 -MapUnc_CompetitionResultsTOTAL:ds.b $14 -MapUnc_ResultsWin: ds.b 8 -MapUnc_ResultsLose: ds.b 8 -MapUnc_ResultsTie: ds.b $354 -Pal_CompetitionTimeAttack: ds.b $BA -MapUnc_CompetitionLAPNum:ds.b $64 - -MapUnc_CompetitionRECORDS:ds.b $1C - -MapUnc_Competition1st2nd3rd:ds.b $44 - -MapUnc_CompetitionAZURELAKE:ds.b $34 - -MapUnc_CompetitionBALLOONPARK:ds.b $34 - -MapUnc_CompetitionCHROMEGADGET:ds.b $34 - -MapUnc_CompetitionDESERTPALACE:ds.b $34 - -MapUnc_CompetitionENDLESSMINE:ds.b $1326 - - -ArtKos_SaveScreenS3Zone:ds.b $FC08 -Map_AIZ1Tree: ds.b $42 -Map_AIZ1ZiplinePeg: ds.b $9A0 -Map_BreakableBar:ds.b $280 - -Map_HCZBlock: ds.b $C92 - -Map_AIZRock: ds.b $88 - -Map_AIZRock2: ds.b $88 - -Map_EMZRock: ds.b $8DC - -Map_AIZCollapsingPlatform:ds.b $E4 - -Map_AIZCollapsingPlatform2:ds.b $EA - -Map_LBZCollapsingBridge:ds.b $FC - -Map_LBZCollapsingLedge:ds.b $88 - -Map_HCZCollapsingBridge:ds.b $44E - -Map_MGZCollapsingBridge:ds.b $48A - -Map_ICZCollapsingBridge:ds.b $A60 - -Map_AIZBreakableWall:ds.b $1C6 - -Map_MGZBreakableWall:ds.b $C0 - -Map_HCZBreakableWall:ds.b $86 - -Map_LBZBreakableWall:ds.b $113C - -Map_AIZIntroWaves: ds.b $3750 -Map_LBZUnusedElevator: ds.b $BE -Map_LBZExplodingTrigger:ds.b $1E0 - -Map_MGZDashTrigger:ds.b $25E - -Map_LBZTriggerBridge:ds.b $566 - -Map_LBZPlayerLauncher:ds.b $102 - -Map_LBZFlameThrower:ds.b $D4C -Map_LBZCupElevator:ds.b $346 - -Map_LBZUnusedUnknown: ds.b $374 - -Map_LBZPipePlug:ds.b $136E - -Map_LBZSpinLauncher:ds.b $1FA - -Map_LBZLoweringGrapple:ds.b $47A - -Map_LBZSmashingSpikes:ds.b $10 - -Map_MGZSmashingPillar:ds.b $14E - -Map_LBZGateLaser:ds.b $E10 - -Map_LBZTubeElevator:ds.b $310 - -Map_AIZDisappearingFloor:ds.b $C - -Map_AIZDisappearingFloor2: ds.b $6A0 -Map_AIZCorkFloor:ds.b $74 - -Map_AIZCorkFloor2:ds.b $74 - -Map_CNZCorkFloor:ds.b $98 - -Map_ICZCorkFloor:ds.b $208 - -Map_LBZCorkFloor:ds.b $428 - -Map_AIZFlippingBridge:ds.b $B10 - -Map_AIZFallingLog2:ds.b $10 - -Map_AIZFallingLog:ds.b $10 - -Map_AIZFallingLogSplash2: ds.b $70 -Map_AIZFallingLogSplash: ds.b $240 -Map_AIZSpikedLog:ds.b $7FC - -Map_AIZForegroundPlant:ds.b $42E - -Map_Button2: ds.b $30 - -Map_CNZButton: ds.b $30 - -Map_2PButton: ds.b $2892 - -Map_HCZWaterRush: ds.b $160 -Map_HCZWaterRushBlock: ds.b $6A4 - -Map_HCZWaterWall:ds.b $FE - -Map_HCZWaterWallDebris: ds.b $49C - -Map_HCZFan: ds.b $6E - -Map_HCZLargeFan:ds.b $208 - -Map_CGZFan: ds.b $378 - -Map_HCZHandLauncher:ds.b $9C6 - -Map_HCZConveyorSpike:ds.b $1A4 - -Map_CNZBalloon: ds.b $530 - -Map_CNZCannon: ds.b $2AA - -Map_CNZRisingPlatform:ds.b $F0 - -Map_CNZTrapDoor:ds.b $86 - -Map_CNZLightBulb:ds.b $1BE - -Map_CNZHoverFan:ds.b $7A0 - -Map_CNZCylinder:ds.b $33E - -Map_HCZSpinningColumn:ds.b $7E0 - -Map_Bumper: ds.b $20 - -Map_2PBumper: ds.b $102A - -Map_MGZSwingingPlatform:ds.b $25A - -Map_MGZSwingingSpikeBall:ds.b $2A0 - -Map_MGZHeadTrigger:ds.b $1A0 - -Map_MGZTriggerPlatform:ds.b $1E6 - -Map_MGZMovingSpikePlatform:ds.b $528 - -Map_MGZPulley: ds.b $388E - -Map_HCZWaterDrop:ds.b $312 - -Map_HCZWaterSplash:ds.b $1A - -Map_HCZWaterSplash2: ds.b $29C2 - -Comp_ScreenInit:ds.b $4E -Comp_ScreenEvent:ds.b $22 -CGZ_ScreenEvent:ds.b $20 -ALZ_BackgroundInit:ds.b 6 -BPZ_BackgroundInit: ds.b 6 -DPZ_BackgroundInit:ds.b 6 -CGZ_BackgroundInit:ds.b $38 -EMZ_BackgroundInit:ds.b $28 -ALZ_BackgroundEvent:ds.b $A -BPZ_BackgroundEvent:ds.b $A -CGZ_BackgroundEvent:ds.b $A -EMZ_BackgroundEvent:ds.b $3A -DPZ_BackgroundEvent:ds.b $400 -AIZ_TreeReveal: ds.b $B4 -AIZ_TreeRevealArray: ds.b $388 -AIZ1_IntroDeform: ds.b $6C -AIZ1_Deform: ds.b $96 -AIZ1_ApplyDeformWater: ds.b $7E -AIZ1_FireRise: ds.b $28 -AIZTrans_WavyFlame: ds.b $7C -AIZ1_IntroDrawArray: ds.b $14 -AIZ1_IntroDeformArray: ds.b $4A -AIZ1_BGDrawArray: ds.b $3D2 -AIZ2_Deform: ds.b $5A -AIZ2_ApplyDeform: ds.b $9DA -Pal_AIZBattleship: ds.b $20 -Pal_AIZBossSmall: ds.b $1C -AIZBattleShip_BobbingMotion: ds.b $10 -AIZBattleship_BombScript: ds.b $56 -AIZBombExplodeDat: ds.b $40 -AIZMakeTreeScript: ds.b $46 -Map_AIZShipPropeller: ds.b $28 -Ani_AIZShipPropeller: ds.b 8 -Map_AIZ2BombExplode: ds.b $78 - -Ani_AIZ2BombExplode: ds.b $1E -Map_AIZ2BGTree: ds.b $1C -Map_AIZ2BossSmall: ds.b $32C -HCZ1_BGDeformArray: ds.b $242 -HCZ2_BGDeformArray: ds.b $2E -HCZ2_BGDeformIndex: ds.b $170 -MGZ1_Deform: ds.b $88 -MGZ1_BGDeformArray: ds.b $560 -MGZ2_QuakeEventArray: ds.b $24 -MGZ2_ChunkEventArray: ds.b $24 -MGZ2_ScreenRedrawArray: ds.b $5C -MGZ2_ChunkReplaceArray: ds.b $60 -MGZ2_CollapseScrollDelay: ds.b $14 -MGZ2_FGVScrollArray: ds.b $160 -MGZ2_BGDeform: ds.b $2C4 -MGZ2_BGDrawArray: ds.b 4 -MGZ2_BGDeformArray: ds.b $9EE -ICZ1_SetIntroPal: ds.b $40 -ICZ1_SetIndoorPal: ds.b $34 -ICZ1_IntroBGDeformArray: ds.b $1C8 -ICZ2_OutDeform: ds.b $78 -ICZ2_InDeform: ds.b $70 -ICZ2_SetOutdoorsPal: ds.b $30 -ICZ2_SetIndoorsPal: ds.b $34 -ICZ2_SetICZ1Pal: ds.b $30 -ICZ2_OutBGDeformArray: ds.b 8 -ICZ2_InBGDeformArray: ds.b $212 -LBZ1_CheckLayoutMod: ds.b $78 -LBZ1_DoMod4: ds.b $1C -LBZ1_DoMod3: ds.b $1A -LBZ1_DoMod2: ds.b $20 -LBZ1_DoMod1: ds.b $72 -LBZ1_FGVScrollArray: ds.b $38 -LBZ1_LayoutModExitRange: ds.b $10 -LBZ1_CollapseScrollSpeed: ds.b $176 -LBZ1_Deform: ds.b $78A -LBZ2_BGDeformArray: ds.b $24 -LBZ2_DEBGDeformArray: ds.b $30 -LBZ2_CloudDeformArray: ds.b $1A -LBZ2_BGUWDeformRange: ds.b $A -Gumball_ScreenInit:ds.b $4A -Gumball_ScreenEvent:ds.b $4A -Gumball_BackgroundInit:ds.b $12 -Gumball_BackgroundEvent:ds.b $278C - -Map_S3EndingGraphics: ds.b $1D6 -ArtNem_S3EndingGraphics: ds.b $1C978 -SStageLayoutPtrs:ds.b $ED28 -HCZ_WaterlineScroll_Data:ds.b $2460 -LBZ_WaterlineScroll_Data:ds.b $5300 - -Solid_AIZ1: ds.b $C00 -Solid_AIZ2: ds.b $C00 -Solid_HCZ1: ds.b $C00 -Solid_HCZ2: ds.b $C00 -Solid_MGZ1: ds.b $C00 -Solid_MGZ2: ds.b $C00 -Solid_CNZ: ds.b $C00 -Solid_ICZ1: ds.b $C00 -Solid_ICZ2: ds.b $C00 -Solid_LBZ1: ds.b $C00 -Solid_LBZ2: ds.b $C00 -Solid_ALZ: ds.b $C00 -Solid_BPZ: ds.b $C00 -Solid_DPZ: ds.b $C00 -Solid_CGZ: ds.b $C00 -Solid_EMZ: ds.b $C00 -Solid_Gumball_Special:ds.b $CC0 -Layout_AIZ1: ds.b $84C -Layout_AIZ2: ds.b $D66 -Layout_HCZ1: ds.b $B28 -Layout_HCZ2: ds.b $EA8 -Layout_MGZ1: ds.b $C90 -Layout_MGZ2: ds.b $DB0 -Layout_CNZ1: ds.b $BCA -Layout_CNZ2: ds.b $F8E -Layout_ICZ1: ds.b $FC8 -Layout_ICZ2: ds.b $E50 -Layout_LBZ1: ds.b $FAC -Layout_LBZ2: ds.b $F28 -Layout_ALZ: ds.b $1CC -Layout_BPZ: ds.b $154 -Layout_DPZ: ds.b $F8 -Layout_CGZ: ds.b $F8 -Layout_EMZ: ds.b $F8 -Layout_Gumball_Special:ds.b $1246 -ArtUnc_CNZCannon: ds.b $2AE6 -ArtUnc_SStageTails:ds.b $F60 - -Map_SStageTails: ds.b $18 - -PLC_SStageTails:ds.b $116 - -ArtUnc_SStageTailstails: ds.b $700 -Map_SStageTailstails: ds.b $1E - -PLC_SStageTailstails: ds.b $EB34 - -Map_Sonic2P: ds.b $1AA - -PLC_Sonic2P: ds.b $102 -Map_Tails2P: ds.b $1BE -Map_Tails2P_Tail:ds.b $9A -PLC_Tails2P: ds.b $10E -DPLC_Tails2P_Tail:ds.b $5E -Map_Knuckles2P: ds.b $1EE - -PLC_Knuckles2P: ds.b $24A8 -ArtUnc_AniAIZ1_0:ds.b $900 - -ArtUnc_AniAIZ1_1:ds.b $3C0 -ArtUnc_AniAIZ2_1:ds.b $900 - -ArtUnc_AniAIZ2_0:ds.b $B80 -ArtUnc_AniAIZ2_3:ds.b $C00 -ArtUnc_AniAIZ2_2:ds.b $200 -ArtUnc_AniAIZ2_FirstTree:ds.b $460 -ArtUnc_AniHCZ1_0:ds.b $D80 -ArtUnc_AniHCZ1_WaterlineBelow:ds.b $180 - -ArtUnc_FixHCZ1_UpperBG1:ds.b $180 -ArtUnc_AniHCZ1_WaterlineAbove:ds.b $180 - -ArtUnc_FixHCZ1_LowerBG1:ds.b $180 -ArtUnc_AniHCZ1_WaterlineBelow2: ds.b $180 -ArtUnc_FixHCZ1_UpperBG2:ds.b $180 -ArtUnc_AniHCZ1_WaterlineAbove2:ds.b $180 -ArtUnc_FixHCZ1_LowerBG2:ds.b $180 -ArtUnc_AniHCZ__1:ds.b $6C0 - -ArtUnc_AniHCZ2_0:ds.b $A80 -ArtUnc_AniHCZ2_SmallBGLine:ds.b $400 -ArtUnc_AniHCZ2_2:ds.b $800 -ArtUnc_AniHCZ2_3:ds.b $1000 -ArtUnc_AniHCZ2_4:ds.b $3000 -ArtUnc_AniMGZ__0:ds.b $2400 -ArtUnc_AniMGZ__1:ds.b $60 -ArtUnc_AniCNZ__0:ds.b $1200 - -ArtUnc_AniCNZ__1:ds.b $2000 -ArtUnc_AniCNZ__2:ds.b $2000 -ArtUnc_AniCNZ__3:ds.b $1000 -ArtUnc_AniCNZ__4:ds.b $180 -ArtUnc_AniCNZ__6:ds.b $2000 -ArtUnc_AniCNZ__5:ds.b $A00 -ArtUnc_AniICZ__1:ds.b $1000 -ArtUnc_AniICZ__2:ds.b $200 -ArtUnc_AniICZ__3:ds.b $100 -ArtUnc_AniICZ__4:ds.b $80 -ArtUnc_AniICZ__5:ds.b $40 -ArtUnc_AniICZ__0: ds.b $400 -ArtUnc_AniLBZ1_0: ds.b $500 -ArtUnc_AniLBZ1_1:ds.b $1400 -ArtUnc_AniLBZ1_2:ds.b $100 -ArtUnc_AniLBZ2_2:ds.b $400 -ArtUnc_AniLBZ2_WaterlineBelow:ds.b $200 - -ArtUnc_AniLBZ2_LowerBG:ds.b $200 -ArtUnc_AniLBZ2_WaterlineAbove:ds.b $200 -ArtUnc_AniLBZ2_UpperBG:ds.b $200 -ArtUnc_AniLBZ__0:ds.b $2000 - -ArtUnc_AniLBZ2_0:ds.b $280 - -ArtUnc_AniLBZ2_1:ds.b $300 - -ArtUnc_AniALZ: ds.b $600 -ArtUnc_AniBPZ__0:ds.b $540 -ArtUnc_AniBPZ__1:ds.b $500 -ArtUnc_AniBPZ__2:ds.b $C0 -ArtUnc_AniBPZ__3:ds.b $40 -ArtUnc_AniDPZ: ds.b $780 -ArtUnc_AniDPZ__BG:ds.b $2000 - -ArtUnc_AniGumball:ds.b $100 -ArtUnc_SplashDrown:ds.b $274C - -ArtNem_Title_SonicSprites: ds.b $C58 -DemoDat_AIZ: ds.b $780 -DemoDat_HCZ: ds.b $780 -DemoDat_MGZ: ds.b $1ADC - -; KiS2 -;byte_2E8C80: ds.b $114 -;byte_2E8D94: ds.b $249C -;byte_2EB230: ds.b $24 -;byte_2EB254: ds.b $98A -;byte_2EBBDE: ds.b $16E -;byte_2EBD4C: ds.b $142B4 -;S2KStartup: ds.b $200E0 - -ArtUnc_Tails: ds.b $16540 -ArtUnc_Tails_Tail:ds.b $1160 -ArtUnc_Sonic2P: ds.b $30C0 -ArtUnc_Tails2P: ds.b $2DA0 -ArtUnc_Tails2P_Tail:ds.b $580 -ArtUnc_Knuckles2P:ds.b $150E -byte_33F06E: ds.b $6DE -byte_33F74C: ds.b $546C -Map_Tails_Tail: ds.b $1BC -PLC_Tails_Tail: ds.b $10C -ICZSnowboard_Slope1: ds.b $C8 -ICZSnowboard_Slope2: ds.b $C8 -ArtUnc_SonicSnowboard: ds.b $2840 -ArtUnc_Snowboard: ds.b $5E0 -Map_SonicSnowboard: ds.b $15A -DPLC_SonicSnowboard: ds.b $96 -Map_Snowboard: ds.b $108 -DPLC_Snowboard: ds.b $78 -ArtNem_AIZIntroSprites:ds.b $7442 -ArtNem_2PDashdust: ds.b $BE - -MapEni_S3TitleSonic1:ds.b $BC -MapEni_S3TitleSonic2:ds.b $C2 -MapEni_S3TitleSonic3:ds.b $C4 -MapEni_S3TitleSonic4:ds.b $C4 -MapEni_S3TitleSonic5:ds.b $C4 -MapEni_S3TitleSonic6:ds.b $C6 -MapEni_S3TitleSonic7:ds.b $FE -MapEni_S3TitleSonic8:ds.b $EA -MapEni_S3TitleSonic9:ds.b $CE -MapEni_S3TitleSonicA:ds.b $C4 -MapEni_S3TitleSonicB:ds.b $9E -MapEni_S3TitleSonicC:ds.b $D0 -MapEni_S3TitleSonicD:ds.b $FA - -MapEni_S3TitleBg: ds.b $CE -Map_S3TitleBanner:ds.b $8C - -ArtNem_Title_S3Banner: ds.b $ABA -ArtKos_S3TitleSonic1:ds.b $F60 - -ArtKos_S3TitleSonic8:ds.b $2660 - -ArtKos_S3TitleSonic9:ds.b $2300 -ArtKos_S3TitleSonicA:ds.b $14E0 -ArtKos_S3TitleSonicB:ds.b $1320 -ArtKos_S3TitleSonicC:ds.b $11E0 -ArtKos_S3TitleSonicD:ds.b $3038 - -ArtNem_TailsLifeIcon:ds.b $32CA -Map_LBZMiniboss: ds.b $A2 -Map_LBZMinibossBox: ds.b $96 -Map_SnaleBlaster:ds.b $A4 - -Map_Orbinaut: ds.b $14 - -Map_Ribot: ds.b $10A - -Map_Corkey: ds.b $98 - -Map_Flybot767: ds.b $192 - -DPLC_Flybot: ds.b $AA -Map_LBZEndBoss: ds.b $114 - -Map_CNZEndBoss: ds.b $11E - -CNZEndBossMagnet_AngleX: ds.b $40 -LBZFinalBoss2_CircleLookup: ds.b $2C8 - -Map_Blastoid: ds.b $A2 - -Map_Poindexter: ds.b $42 - -Map_Buggernaut: ds.b $72 - -Map_MegaChomper:ds.b $2EC - -Map_TurboSpiker:ds.b $152 - -Map_Jawz: ds.b $20A - -DPLC_RhinoBot: ds.b $3A -Map_RhinoBot: ds.b $B4 - -Map_AIZMinibossFlame: ds.b $64 -Map_Tulipon: ds.b $B6 - -Map_MonkeyDude: ds.b $1FC - -Map_MGZMiniBoss:ds.b $A6 - -Map_CaterKillerJr:ds.b $60 - -DPLC_Clamer: ds.b $44 -Map_Clamer: ds.b $78 - -Map_CNZBlastoid:ds.b $9C - -Map_Batbot: ds.b $70 - -DPLC_BubblesBadnik: ds.b $28 -Map_BubblesBadnik:ds.b $50 - -Map_Spiker: ds.b $6E - -Map_Mantis: ds.b $128 - -DPLC_Penguinator: ds.b $42 -Map_Penguinator:ds.b $7E - -Map_ICZSnowdust: ds.b $A0 -Map_StarPointer:ds.b $28 - -Map_AIZEndBoss: ds.b $4FA - -Map_AIZMiniboss: ds.b $11A -Map_AIZMinibossSmall: ds.b $1E -Map_MGZEndBoss: ds.b $298 -HCZMiniboss_RocketTwistLookup: ds.b $100 - - - - - - - - - - - - - - - - - -LBZ2FinalBoss2_CircleLookup2: ds.b $40 - - - - -Map_HCZMiniboss: ds.b $244 - -Map_HCZMinibossSplash: ds.b $5A -DPLC_HCZMinibossSplash: ds.b $36 -Map_ICZEndBoss: ds.b $220 - -Map_CNZMiniboss: ds.b $430 - -ICZMiniboss_OrbAngleLookup: ds.b $40 - - - - - - -Map_ICZMiniboss: ds.b $190 - -Map_HCZEndBoss: ds.b $302 - -Map_MGZEndBossDebris: ds.b $1EA - -Map_ICZWallAndColumn:ds.b $284 - -Map_ICZPlatforms:ds.b $3C8 - -Map_LBZKnuxBomb: ds.b $A -Map_CutsceneKnux: ds.b $2F8 -DPLC_CutsceneKnux: ds.b $162 -Map_AIZIntroPlane: ds.b $F2 - -Map_AIZIntroEmeralds: ds.b $46 -Map_LBZFinalBoss1: ds.b $264 - -Map_LBZDeathEggSmall: ds.b $8A - -Pal_MGZFadeCNZ: ds.b $200 -Map_LBZFinalBoss2: ds.b $15C - -ArtNem_AIZMiniboss: ds.b $66E -ArtKosM_AIZEndBoss: ds.b $1F42 -ArtNem_AIZMinibossSmall: ds.b $188 -ArtUnc_AIZRhino: ds.b $AA0 -ArtKosM_AIZ_Tulipon:ds.b $242 -ArtKosM_AIZ_MonkeyDude:ds.b $1F2 -ArtKosM_AIZ_CaterkillerJr:ds.b $202 -ArtNem_HCZMiniboss: ds.b $E9E -ArtNem_HCZEndBoss: ds.b $1142 -ArtNem_HCZDragonfly: ds.b $172 - -ArtKosM_Jawz:ds.b $172 -ArtKosM_MegaChopper:ds.b $102 - -ArtKosM_Blastoid:ds.b $1A2 -ArtKosM_TurboSpiker:ds.b $422 - -ArtKosM_Pointdexter: ds.b $2A2 - -ArtKosM_MGZMiniboss:ds.b $2A2 -ArtNem_MGZSpire: ds.b $72 -ArtKosM_MGZEndBoss: ds.b $1232 - -ArtScaled_MGZEndBoss: ds.b $1000 -ArtKosM_MGZEndBossDebris:ds.b $132 - -ArtUnc_BubblesBadnik: ds.b $A20 -ArtKosM_Spiker:ds.b $212 - -ArtKosM_Mantis:ds.b $272 - -ArtNem_CNZMiniboss: ds.b $4BC -ArtNem_CNZEndBoss: ds.b $514 -ArtUnc_Clamer: ds.b $1140 -ArtKosM_ClamerShot:ds.b $72 -ArtKosM_Sparkle:ds.b $322 -ArtKosM_Batbot:ds.b $222 -ArtKosM_CNZBalloon:ds.b $1500 -ArtNem_ICZMisc1: ds.b $C24 - -ArtNem_ICZIntroSprites: ds.b $482 -ArtNem_ICZMisc2: ds.b $36A -ArtNem_ICZEndBoss: ds.b $DAE -ArtNem_ICZMiniboss: ds.b $488 -ArtUnc_Penguinator: ds.b $FE0 -ArtKosM_ICZSnowdust:ds.b $92 -ArtKosM_StarPointer:ds.b $192 -ArtKosM_LBZMiniboss: ds.b $322 -ArtKosM_LBZMinibossBox: ds.b $322 - -ArtNem_LBZFinalBoss1: ds.b $BA6 -ArtKosM_LBZEndBoss: ds.b $332 -ArtKosM_LBZFinalBoss2: ds.b $1122 -ArtKosM_SnailBlaster:ds.b $252 -ArtKosM_Ribot:ds.b $132 -ArtKosM_Orbinaut:ds.b $E2 -ArtKosM_Corkey:ds.b $C2 -ArtUnc_Flybot: ds.b $1320 -ArtNem_LBZKnuxBomb: ds.b $3E -ArtKosM_LBZ2DeathEggSmall: ds.b $64D2 -ArtKosM_LBZ2DeathEgg2_8x8:ds.b $462 -ArtNem_AIZBossFire: ds.b $2AD4 -ArtKosM_AIZIntroPlane: ds.b $7A2 -ArtUnc_CutsceneKnux: ds.b $4EE0 -ArtKosM_AIZIntroEmeralds: ds.b $44F4 -ArtKosM_TailsEndPose: ds.b $1246 -ArtNem_S38x16Font: ds.b $1A6 -ArtNem_AIZCorkFloor:ds.b $1A4 -ArtNem_AIZCorkFloor2: ds.b $192 - -ArtNem_AIZSwingVine:ds.b $166 - -ArtNem_AIZSlideRope:ds.b $124 -ArtNem_AIZBackgroundTree:ds.b $14A - -ArtNem_AIZMisc1: ds.b $848 -ArtNem_AIZFallingLog:ds.b $288 -ArtNem_AIZMisc2:ds.b $138C - -ArtNem_HCZSpikeBall: ds.b $C8 - -ArtNem_HCZWaveSplash: ds.b $120 - -ArtNem_HCZButton: ds.b $B4 - -ArtNem_HCZMisc: ds.b $5C0 - -ArtNem_HCZWaterRush: ds.b $5B8 -ArtKosM_HCZLargeFan: ds.b $302 -ArtKosM_HCZGeyserHorz: ds.b $792 -ArtKosM_HCZGeyserVert: ds.b $7A2 - -ArtNem_HCZ2Slide: ds.b $516 -ArtNem_HCZ2BlockPlat: ds.b $348 -ArtUnc_HCZWaterSplash2: ds.b $780 -ArtUnc_HCZWaterSplash: ds.b $C00 -ArtNem_HCZ2KnuxWall: ds.b $11A -ArtNem_MGZMisc1: ds.b $A3E - -ArtNem_MGZMisc2: ds.b $610 - -ArtNem_MGZSigns: ds.b $23A - -ArtNem_CNZMisc: ds.b $DBE -ArtNem_CNZPlatform: ds.b $16A -ArtNem_LBZMisc: ds.b $B1E - -ArtNem_LBZTubeTrans: ds.b $264 -ArtNem_LBZ2Misc: ds.b $43C -ArtNem_2PArt_1: ds.b $174 - -ArtNem_2PArt_2: ds.b $1F2 - -ArtNem_2PArt_3: ds.b $4F6 - -ArtNem_2PStartPost: ds.b $178 - -ArtNem_2PTime: ds.b $65A - -ArtNem_2PLapNum: ds.b $4FA - -ArtNem_2PPosIcon: ds.b $9A - -ArtNem_BPZMisc: ds.b $84A -ArtNem_DPZMisc: ds.b $D16 -ArtNem_CGZMisc: ds.b $374 -ArtNem_EMZMisc: ds.b $292 -ArtKosM_AIZ2Bombership2_8x8:ds.b $D54 -ArtKosM_ResultsMILES: ds.b $152 -ArtKosM_ResultsTAILS: ds.b $125E - -ArtKosM_AIZTitleCard:ds.b $112 -ArtKosM_HCZTitleCard:ds.b $152 -ArtKosM_MGZTitleCard:ds.b $1C2 -ArtKosM_CNZTitleCard:ds.b $2F4 -ArtKosM_ICZTitleCard:ds.b $D2 -ArtKosM_LBZTitleCard:ds.b $152 -ArtKosM_ALZTitleCard:ds.b $1B2 -ArtKosM_BPZTitleCard:ds.b $222 -ArtKosM_CGZTitleCard:ds.b $242 -ArtKosM_DPZTitleCard:ds.b $202 -ArtKosM_EMZTitleCard:ds.b $344 -Pal_SaveMenuBG:ds.b $20 -Pal_CompetitionMenuBG: ds.b $20 -MapEni_S3MenuBG:ds.b $202 -ArtKos_S3MenuBG: ds.b $1C60 -MapEni_CompetitionLevBorder:ds.b $4C -MapUnc_CompetitionTimeBorder:ds.b $D8 - - - - - - - - - -MapUnc_CompetitionBESTTIME:ds.b $24 - - - -MapEni_CompetitionLevImage:ds.b $120 -MapEni_CompetitionLevName:ds.b $102 -ArtKos_CompetitionMode: ds.b $410 -ArtKos_CompetitionLevel: ds.b $1E40 -ArtKos_CompetitionResults: ds.b $430 -Map_CompetitionPlayerSprite: ds.b $42 - -ArtKos_CompetitionPlayer: ds.b $4F0 -MapEni_SaveScreen_Layout:ds.b $BE -MapUnc_SaveScreenNEW:ds.b $8C - - - - - - - -MapPtrs_SaveScreenStatic:ds.b $240 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ArtKos_SaveScreenMisc:ds.b $13A0 - -AIZ1_16x16_Primary_Kos:ds.b $200 -AIZ1_16x16_Secondary_Kos:ds.b $C40 -AIZ1_16x16_MainLevel_Kos:ds.b $10E0 -AIZ1_8x8_Primary_KosM:ds.b $E12 -AIZ1_8x8_Secondary_KosM:ds.b $2FD2 -AIZ1_8x8_MainLevel_KosM:ds.b $27F2 -AIZ1_128x128_Kos:ds.b $3990 -AIZ1_8x8_Flames_KosM:ds.b $A82 - -AIZ2_16x16_Primary_Kos:ds.b $8A0 -AIZ2_16x16_Secondary_Kos:ds.b $A80 -AIZ2_16x16_BomberShip_Kos:ds.b $260 -AIZ2_8x8_Primary_KosM:ds.b $21B2 -AIZ2_8x8_Secondary_KosM:ds.b $1142 -AIZ2_8x8_BomberShip_KosM:ds.b $922 -AIZ2_128x128_Kos:ds.b $4010 - -HCZ_16x16_Primary_Kos:ds.b $470 -HCZ_8x8_Primary_KosM:ds.b $C42 -HCZ_128x128_Primary_Kos:ds.b $340 - -HCZ1_16x16_Secondary_Kos:ds.b $890 -HCZ1_8x8_Secondary_KosM:ds.b $2252 -HCZ1_128x128_Secondary_Kos:ds.b $20B0 - -HCZ2_16x16_Secondary_Kos:ds.b $8F0 -HCZ2_8x8_Secondary_KosM:ds.b $1E82 -HCZ2_128x128_Secondary_Kos:ds.b $1C80 - -MGZ_16x16_Primary_Kos:ds.b $950 -MGZ_8x8_Primary_KosM:ds.b $25A2 -MGZ_128x128_Primary_Kos:ds.b $2300 - -MGZ1_16x16_Secondary_Kos:ds.b $310 -MGZ1_8x8_Secondary_KosM:ds.b $9E2 -MGZ1_128x128_Secondary_Kos:ds.b $880 - -MGZ2_16x16_Secondary_Kos:ds.b $460 -MGZ2_8x8_Secondary_KosM:ds.b $1092 -MGZ2_128x128_Secondary_Kos:ds.b $9F0 -MGZ2_QuakeChunks: ds.b $1080 - -CNZ_16x16_Kos: ds.b $1040 -CNZ_8x8_KosM: ds.b $3222 -CNZ_128x128_Kos:ds.b $3120 - -ICZ_16x16_Primary_Kos:ds.b $2E0 -ICZ_8x8_Primary_KosM:ds.b $1412 -ICZ_128x128_Primary_Kos:ds.b $2B0 - -ICZ1_16x16_Secondary_Kos:ds.b $B70 -ICZ1_8x8_Secondary_KosM:ds.b $1F82 -ICZ1_128x128_Secondary_Kos:ds.b $1E20 - -ICZ2_16x16_Secondary_Kos:ds.b $CA0 -ICZ2_8x8_Secondary_KosM:ds.b $20B2 -ICZ2_128x128_Secondary_Kos:ds.b $1AD0 - -LBZ_16x16_Primary_Kos:ds.b $540 -LBZ1_16x16_Secondary_Kos:ds.b $AF0 -LBZ_8x8_Primary_KosM:ds.b $1752 -LBZ1_8x8_Secondary_KosM:ds.b $1D92 -LBZ1_128x128_Kos:ds.b $2FD0 - -LBZ2_16x16_Secondary_Kos:ds.b $A40 -LBZ2_16x16_DeathEgg_Kos:ds.b $E20 -LBZ2_8x8_Secondary_KosM:ds.b $17A2 -LBZ2_8x8_DeathEgg_KosM:ds.b $1F92 -LBZ2_128x128_Kos:ds.b $24D0 -LBZ2_128x128_DeathEgg_Kos:ds.b $CF0 - -ALZ_16x16_Kos: ds.b $AC0 -ALZ_8x8_KosM: ds.b $2DB2 -ALZ_128x128_Kos:ds.b $690 - -BPZ_16x16_Kos: ds.b $8D0 -BPZ_8x8_KosM: ds.b $1FE2 -BPZ_128x128_Kos:ds.b $6F0 - -DPZ_16x16_Kos: ds.b $9E0 -DPZ_8x8_KosM: ds.b $1AF2 -DPZ_128x128_Kos:ds.b $630 - -CGZ_16x16_Kos: ds.b $750 -CGZ_8x8_KosM: ds.b $25A2 -CGZ_128x128_Kos:ds.b $4C0 - -EMZ_16x16_Kos: ds.b $AB0 -EMZ_8x8_KosM: ds.b $2C32 -EMZ_128x128_Kos:ds.b $710 - -Gumball_16x16_Kos:ds.b $420 -Gumball_8x8_KosM:ds.b $D52 -Gumball_128x128_Kos:ds.b $480 +LockOnROM_Start: ds.b $11 +S3_Level_Solid_Data EQU $260000 +byte_200011: ds.b $AC +byte_2000BD: ds.b $43 +LockonHeader: ds.b $14 +SSMagic_TestLoc_200114: ds.b 6 +SSMagic_TestLoc_20011A: ds.b 2 +LockonDate: ds.b $34 +SSMagic_TestLoc_200150: ds.b $19 + ds.b $17 +LockonSerialNumber: ds.b $24 +SSMagic_TestLoc_2001A4: ds.b $51 + ds.b $8C +byte_200281: ds.b $AC +byte_20032D: ds.b $94EB +Pal_Competition1: ds.b $A8 +Map_CompetitionObject: ds.b $870 +MapUnc_CompetitionNumbers: ds.b $42E +Pal_Competition2: ds.b $20 +Pal_Competition3: ds.b $40 +Pal_Competition4: ds.b $126 +Map_CompetitionSelect: ds.b $6A0 +Pal_CompetitionResults: ds.b $DE +MapEni_CompetitionResultsLED: ds.b $1A +MapUnc_CompetitionResultsLetters: ds.b $28 +MapUnc_CompetitionResultsDividers: ds.b $50 +MapUnc_CompetitionResultsTOTAL: ds.b $14 +MapUnc_ResultsWin: ds.b 8 +MapUnc_ResultsLose: ds.b 8 +MapUnc_ResultsTie: ds.b $354 +Pal_CompetitionTimeAttack: ds.b $BA +MapUnc_CompetitionLAPNum: ds.b $64 +MapUnc_CompetitionRECORDS: ds.b $1C +MapUnc_Competition1st2nd3rd: ds.b $44 +MapUnc_CompetitionAZURELAKE: ds.b $34 +MapUnc_CompetitionBALLOONPARK: ds.b $34 +MapUnc_CompetitionCHROMEGADGET: ds.b $34 +MapUnc_CompetitionDESERTPALACE: ds.b $34 +MapUnc_CompetitionENDLESSMINE: ds.b $1326 +ArtKos_SaveScreenS3Zone: ds.b $FC08 +Map_AIZ1Tree: ds.b $42 +Map_AIZ1ZiplinePeg: ds.b $9A0 +Map_HCZBreakableBar: ds.b $280 +Map_HCZBlock: ds.b $C92 +Map_AIZRock: ds.b $88 +Map_AIZRock2: ds.b $88 +Map_EMZRock: ds.b $8DC +Map_AIZCollapsingPlatform: ds.b $E4 +Map_AIZCollapsingPlatform2: ds.b $EA +Map_LBZCollapsingBridge: ds.b $FC +Map_LBZCollapsingLedge: ds.b $88 +Map_HCZCollapsingBridge: ds.b $44E +Map_MGZCollapsingBridge: ds.b $48A +Map_ICZCollapsingBridge: ds.b $A60 +Map_AIZBreakableWall: ds.b $1C6 +Map_MGZBreakableWall: ds.b $C0 +Map_HCZBreakableWall: ds.b $86 +Map_LBZBreakableWall: ds.b $113C +Map_AIZIntroWaves: ds.b $3750 +Map_LBZUnusedElevator: ds.b $BE +Map_LBZExplodingTrigger: ds.b $1E0 +Map_MGZDashTrigger: ds.b $25E +Map_LBZTriggerBridge: ds.b $566 +Map_LBZPlayerLauncher: ds.b $102 +Map_LBZFlameThrower: ds.b $D4C +Map_LBZCupElevator: ds.b $346 +Map_LBZUnusedTiltingBridge: ds.b $374 +Map_LBZPipePlug: ds.b $136E +Map_LBZSpinLauncher: ds.b $1FA +Map_LBZLoweringGrapple: ds.b $47A +Map_LBZSmashingSpikes: ds.b $10 +Map_MGZSmashingPillar: ds.b $14E +Map_LBZGateLaser: ds.b $E10 +Map_LBZTubeElevator: ds.b $310 +Map_AIZDisappearingFloor: ds.b $C +Map_AIZDisappearingFloor2: ds.b $6A0 +Map_AIZCorkFloor: ds.b $74 +Map_AIZCorkFloor2: ds.b $74 +Map_CNZCorkFloor: ds.b $98 +Map_ICZCorkFloor: ds.b $208 +Map_LBZCorkFloor: ds.b $428 +Map_AIZFlippingBridge: ds.b $B10 +Map_AIZFallingLog2: ds.b $10 +Map_AIZFallingLog: ds.b $10 +Map_AIZFallingLogSplash2: ds.b $70 +Map_AIZFallingLogSplash: ds.b $240 +Map_AIZSpikedLog: ds.b $7FC +Map_AIZForegroundPlant: ds.b $42E +Map_Button2: ds.b $30 +Map_CNZButton: ds.b $30 +Map_2PButton: ds.b $2892 +Map_HCZWaterRush: ds.b $160 +Map_HCZWaterRushBlock: ds.b $6A4 +Map_HCZWaterWall: ds.b $FE +Map_HCZWaterWallDebris: ds.b $49C +Map_HCZFan: ds.b $6E +Map_HCZLargeFan: ds.b $208 +Map_CGZFan: ds.b $378 +Map_HCZHandLauncher: ds.b $9C6 +Map_HCZConveyorSpike: ds.b $1A4 +Map_CNZBalloon: ds.b $530 +Map_CNZCannon: ds.b $2AA +Map_CNZRisingPlatform: ds.b $F0 +Map_CNZTrapDoor: ds.b $86 +Map_CNZLightBulb: ds.b $1BE +Map_CNZHoverFan: ds.b $7A0 +Map_CNZCylinder: ds.b $33E +Map_HCZSpinningColumn: ds.b $7E0 +Map_Bumper: ds.b $20 +Map_2PBumper: ds.b $102A +Map_MGZSwingingPlatform: ds.b $25A +Map_MGZSwingingSpikeBall: ds.b $2A0 +Map_MGZHeadTrigger: ds.b $1A0 +Map_MGZTriggerPlatform: ds.b $1E6 +Map_MGZMovingSpikePlatform: ds.b $528 +Map_MGZPulley: ds.b $388E +Map_HCZWaterDrop: ds.b $312 +Map_HCZWaterSplash: ds.b $1A +Map_HCZWaterSplash2: ds.b $29C2 +Comp_ScreenInit: ds.b $4E +Comp_ScreenEvent: ds.b $22 +CGZ_ScreenEvent: ds.b $20 +ALZ_BackgroundInit: ds.b 6 +BPZ_BackgroundInit: ds.b 6 +DPZ_BackgroundInit: ds.b 6 +CGZ_BackgroundInit: ds.b $38 +EMZ_BackgroundInit: ds.b $28 +ALZ_BackgroundEvent: ds.b $A +BPZ_BackgroundEvent: ds.b $A +CGZ_BackgroundEvent: ds.b $A +EMZ_BackgroundEvent: ds.b $3A +DPZ_BackgroundEvent: ds.b $400 +AIZ_TreeReveal: ds.b $B4 +AIZ_TreeRevealArray: ds.b $388 +AIZ1_IntroDeform: ds.b $6C +AIZ1_Deform: ds.b $96 +AIZ1_ApplyDeformWater: ds.b $7E +AIZ1_FireRise: ds.b $28 +AIZTrans_WavyFlame: ds.b $7C +AIZ1_IntroDrawArray: ds.b $14 +AIZ1_IntroDeformArray: ds.b $4A +AIZ1_BGDrawArray: ds.b $3D2 +AIZ2_Deform: ds.b $5A +AIZ2_ApplyDeform: ds.b $9DA +Pal_AIZBattleship: ds.b $20 +Pal_AIZBossSmall: ds.b $1C +AIZBattleShip_BobbingMotion: ds.b $10 +AIZBattleship_BombScript: ds.b $56 +AIZBombExplodeDat: ds.b $40 +AIZMakeTreeScript: ds.b $46 +Map_AIZShipPropeller: ds.b $28 +Ani_AIZShipPropeller: ds.b 8 +Map_AIZ2BombExplode: ds.b $78 +Ani_AIZ2BombExplode: ds.b $1E +Map_AIZ2BGTree: ds.b $1C +Map_AIZ2BossSmall: ds.b $32C +HCZ1_BGDeformArray: ds.b $242 +HCZ2_BGDeformArray: ds.b $2E +HCZ2_BGDeformIndex: ds.b $170 +MGZ1_Deform: ds.b $88 +MGZ1_BGDeformArray: ds.b $560 +MGZ2_QuakeEventArray: ds.b $24 +MGZ2_ChunkEventArray: ds.b $24 +MGZ2_ScreenRedrawArray: ds.b $5C +MGZ2_ChunkReplaceArray: ds.b $60 +MGZ2_CollapseScrollDelay: ds.b $14 +MGZ2_FGVScrollArray: ds.b $160 +MGZ2_BGDeform: ds.b $2C4 +MGZ2_BGDrawArray: ds.b 4 +MGZ2_BGDeformArray: ds.b $9EE +ICZ1_SetIntroPal: ds.b $40 +ICZ1_SetIndoorPal: ds.b $34 +ICZ1_IntroBGDeformArray: ds.b $1C8 +ICZ2_OutDeform: ds.b $78 +ICZ2_InDeform: ds.b $70 +ICZ2_SetOutdoorsPal: ds.b $30 +ICZ2_SetIndoorsPal: ds.b $34 +ICZ2_SetICZ1Pal: ds.b $30 +ICZ2_OutBGDeformArray: ds.b 8 +ICZ2_InBGDeformArray: ds.b $212 +LBZ1_CheckLayoutMod: ds.b $78 +LBZ1_DoMod4: ds.b $1C +LBZ1_DoMod3: ds.b $1A +LBZ1_DoMod2: ds.b $20 +LBZ1_DoMod1: ds.b $72 +LBZ1_FGVScrollArray: ds.b $38 +LBZ1_LayoutModExitRange: ds.b $10 +LBZ1_CollapseScrollSpeed: ds.b $176 +LBZ1_Deform: ds.b $78A +LBZ2_BGDeformArray: ds.b $24 +LBZ2_DEBGDeformArray: ds.b $30 +LBZ2_CloudDeformArray: ds.b $1A +LBZ2_BGUWDeformRange: ds.b $A +Gumball_ScreenInit: ds.b $4A +Gumball_ScreenEvent: ds.b $4A +Gumball_BackgroundInit: ds.b $12 +Gumball_BackgroundEvent: ds.b $278C +Map_S3EndingGraphics: ds.b $1D6 +ArtNem_S3EndingGraphics: ds.b $1C978 +SStageLayoutPtrs: ds.b $ED28 +HCZ_WaterlineScroll_Data: ds.b $2460 +LBZ_WaterlineScroll_Data: ds.b $5300 +Solid_AIZ1: ds.b $C00 +Solid_AIZ2: ds.b $C00 +Solid_HCZ1: ds.b $C00 +Solid_HCZ2: ds.b $C00 +Solid_MGZ1: ds.b $C00 +Solid_MGZ2: ds.b $C00 +Solid_CNZ: ds.b $C00 +Solid_ICZ1: ds.b $C00 +Solid_ICZ2: ds.b $C00 +Solid_LBZ1: ds.b $C00 +Solid_LBZ2: ds.b $C00 +Solid_ALZ: ds.b $C00 +Solid_BPZ: ds.b $C00 +Solid_DPZ: ds.b $C00 +Solid_CGZ: ds.b $C00 +Solid_EMZ: ds.b $C00 +Solid_Gumball_Special: ds.b $CC0 +Layout_AIZ1: ds.b $84C +Layout_AIZ2: ds.b $D66 +Layout_HCZ1: ds.b $B28 +Layout_HCZ2: ds.b $EA8 +Layout_MGZ1: ds.b $C90 +Layout_MGZ2: ds.b $DB0 +Layout_CNZ1: ds.b $BCA +Layout_CNZ2: ds.b $F8E +Layout_ICZ1: ds.b $FC8 +Layout_ICZ2: ds.b $E50 +Layout_LBZ1: ds.b $FAC +Layout_LBZ2: ds.b $F28 +Layout_ALZ: ds.b $1CC +Layout_BPZ: ds.b $154 +Layout_DPZ: ds.b $F8 +Layout_CGZ: ds.b $F8 +Layout_EMZ: ds.b $F8 +Layout_Gumball_Special: ds.b $1246 +ArtUnc_CNZCannon: ds.b $2AE6 +ArtUnc_SStageTails: ds.b $F60 +Map_SStageTails: ds.b $18 +PLC_SStageTails: ds.b $116 +ArtUnc_SStageTailstails: ds.b $700 +Map_SStageTailstails: ds.b $1E +PLC_SStageTailstails: ds.b $EB34 +Map_Sonic2P: ds.b $1AA +PLC_Sonic2P: ds.b $102 +Map_Tails2P: ds.b $1BE +Map_Tails2P_Tail: ds.b $9A +PLC_Tails2P: ds.b $10E +DPLC_Tails2P_Tail: ds.b $5E +Map_Knuckles2P: ds.b $1EE +PLC_Knuckles2P: ds.b $24A8 +ArtUnc_AniAIZ1_0: ds.b $900 +ArtUnc_AniAIZ1_1: ds.b $3C0 +ArtUnc_AniAIZ2_1: ds.b $900 +ArtUnc_AniAIZ2_0: ds.b $B80 +ArtUnc_AniAIZ2_3: ds.b $C00 +ArtUnc_AniAIZ2_2: ds.b $200 +ArtUnc_AniAIZ2_FirstTree: ds.b $460 +ArtUnc_AniHCZ1_0: ds.b $D80 +ArtUnc_AniHCZ1_WaterlineBelow: ds.b $180 +ArtUnc_FixHCZ1_UpperBG1: ds.b $180 +ArtUnc_AniHCZ1_WaterlineAbove: ds.b $180 +ArtUnc_FixHCZ1_LowerBG1: ds.b $180 +ArtUnc_AniHCZ1_WaterlineBelow2: ds.b $180 +ArtUnc_FixHCZ1_UpperBG2: ds.b $180 +ArtUnc_AniHCZ1_WaterlineAbove2: ds.b $180 +ArtUnc_FixHCZ1_LowerBG2: ds.b $180 +ArtUnc_AniHCZ__1: ds.b $6C0 +ArtUnc_AniHCZ2_0: ds.b $A80 +ArtUnc_AniHCZ2_SmallBGLine: ds.b $400 +ArtUnc_AniHCZ2_2: ds.b $800 +ArtUnc_AniHCZ2_3: ds.b $1000 +ArtUnc_AniHCZ2_4: ds.b $3000 +ArtUnc_AniMGZ__0: ds.b $2400 +ArtUnc_AniMGZ__1: ds.b $60 +ArtUnc_AniCNZ__0: ds.b $1200 +ArtUnc_AniCNZ__1: ds.b $2000 +ArtUnc_AniCNZ__2: ds.b $2000 +ArtUnc_AniCNZ__3: ds.b $1000 +ArtUnc_AniCNZ__4: ds.b $180 +ArtUnc_AniCNZ__6: ds.b $2000 +ArtUnc_AniCNZ__5: ds.b $A00 +ArtUnc_AniICZ__1: ds.b $1000 +ArtUnc_AniICZ__2: ds.b $200 +ArtUnc_AniICZ__3: ds.b $100 +ArtUnc_AniICZ__4: ds.b $80 +ArtUnc_AniICZ__5: ds.b $40 +ArtUnc_AniICZ__0: ds.b $400 +ArtUnc_AniLBZ1_0: ds.b $500 +ArtUnc_AniLBZ1_1: ds.b $1400 +ArtUnc_AniLBZ1_2: ds.b $100 +ArtUnc_AniLBZ2_2: ds.b $400 +ArtUnc_AniLBZ2_WaterlineBelow: ds.b $200 +ArtUnc_AniLBZ2_LowerBG: ds.b $200 +ArtUnc_AniLBZ2_WaterlineAbove: ds.b $200 +ArtUnc_AniLBZ2_UpperBG: ds.b $200 +ArtUnc_AniLBZ__0: ds.b $2000 +ArtUnc_AniLBZ2_0: ds.b $280 +ArtUnc_AniLBZ2_1: ds.b $300 +ArtUnc_AniALZ: ds.b $600 +ArtUnc_AniBPZ__0: ds.b $540 +ArtUnc_AniBPZ__1: ds.b $500 +ArtUnc_AniBPZ__2: ds.b $C0 +ArtUnc_AniBPZ__3: ds.b $40 +ArtUnc_AniDPZ: ds.b $780 +ArtUnc_AniDPZ__BG: ds.b $2000 +ArtUnc_AniGumball: ds.b $100 +ArtUnc_SplashDrown: ds.b $274C +ArtNem_Title_SonicSprites: ds.b $C58 +DemoDat_AIZ: ds.b $780 +DemoDat_HCZ: ds.b $780 +DemoDat_MGZ: ds.b $1ADC +DacBank2: ds.b $7F7 +ArtUnc_Tails: ds.b $16540 +ArtUnc_Tails_Tail: ds.b $1160 +ArtUnc_Sonic2P: ds.b $30C0 +ArtUnc_Tails2P: ds.b $2DA0 +ArtUnc_Tails2P_Tail: ds.b $580 +ArtUnc_Knuckles2P: ds.b $150E +byte_33F06E: ds.b $6DE +byte_33F74C: ds.b $546C +Map_Tails_Tail: ds.b $1BC +PLC_Tails_Tail: ds.b $10C +ICZSnowboard_Slope1: ds.b $C8 +ICZSnowboard_Slope2: ds.b $C8 +ArtUnc_SonicSnowboard: ds.b $2840 +ArtUnc_Snowboard: ds.b $5E0 +Map_SonicSnowboard: ds.b $15A +DPLC_SonicSnowboard: ds.b $96 +Map_Snowboard: ds.b $108 +DPLC_Snowboard: ds.b $78 +ArtNem_AIZIntroSprites: ds.b $7442 +ArtNem_2PDashdust: ds.b $BE +MapEni_S3TitleSonic1: ds.b $BC +MapEni_S3TitleSonic2: ds.b $C2 +MapEni_S3TitleSonic3: ds.b $C4 +MapEni_S3TitleSonic4: ds.b $C4 +MapEni_S3TitleSonic5: ds.b $C4 +MapEni_S3TitleSonic6: ds.b $C6 +MapEni_S3TitleSonic7: ds.b $FE +MapEni_S3TitleSonic8: ds.b $EA +MapEni_S3TitleSonic9: ds.b $CE +MapEni_S3TitleSonicA: ds.b $C4 +MapEni_S3TitleSonicB: ds.b $9E +MapEni_S3TitleSonicC: ds.b $D0 +MapEni_S3TitleSonicD: ds.b $FA +MapEni_S3TitleBg: ds.b $CE +Map_S3TitleBanner: ds.b $8C +ArtNem_Title_S3Banner: ds.b $ABA +ArtKos_S3TitleSonic1: ds.b $F60 +ArtKos_S3TitleSonic8: ds.b $2660 +ArtKos_S3TitleSonic9: ds.b $2300 +ArtKos_S3TitleSonicA: ds.b $14E0 +ArtKos_S3TitleSonicB: ds.b $1320 +ArtKos_S3TitleSonicC: ds.b $11E0 +ArtKos_S3TitleSonicD: ds.b $3038 +ArtNem_TailsLifeIcon: ds.b $32CA +Map_LBZMiniboss: ds.b $A2 +Map_LBZMinibossBox: ds.b $96 +Map_SnaleBlaster: ds.b $A4 +Map_Orbinaut: ds.b $14 +Map_Ribot: ds.b $10A +Map_Corkey: ds.b $98 +Map_Flybot767: ds.b $192 +DPLC_Flybot767: ds.b $AA +Map_LBZEndBoss: ds.b $114 +Map_CNZEndBoss: ds.b $11E +CNZEndBossMagnet_AngleX: ds.b $40 +LBZFinalBoss2_CircleLookup: ds.b $2C8 +Map_Blastoid: ds.b $A2 +Map_Poindexter: ds.b $42 +Map_Buggernaut: ds.b $72 +Map_MegaChopper: ds.b $2EC +Map_TurboSpiker: ds.b $152 +Map_Jawz: ds.b $20A +DPLC_Rhinobot: ds.b $3A +Map_Rhinobot: ds.b $B4 +Map_AIZMinibossFlame: ds.b $64 +Map_Bloominator: ds.b $B6 +Map_MonkeyDude: ds.b $1FC +Map_MGZMiniboss: ds.b $A6 +Map_CaterKillerJr: ds.b $60 +DPLC_Clamer: ds.b $44 +Map_Clamer: ds.b $78 +Map_Sparkle: ds.b $9C +Map_Batbot: ds.b $70 +DPLC_BubblesBadnik: ds.b $28 +Map_BubblesBadnik: ds.b $50 +Map_Spiker: ds.b $6E +Map_Mantis: ds.b $128 +DPLC_Penguinator: ds.b $42 +Map_Penguinator: ds.b $7E +Map_ICZSnowdust: ds.b $A0 +Map_StarPointer: ds.b $28 +Map_AIZEndBoss: ds.b $4FA +Map_AIZMiniboss: ds.b $11A +Map_AIZMinibossSmall: ds.b $1E +Map_MGZEndBoss: ds.b $298 +HCZMiniboss_RocketTwistLookup: ds.b $100 +LBZ2FinalBoss2_CircleLookup2: ds.b $40 +Map_HCZMiniboss: ds.b $244 +Map_HCZMinibossSplash: ds.b $5A +DPLC_HCZMinibossSplash: ds.b $36 +Map_ICZEndBoss: ds.b $220 +Map_CNZMiniboss: ds.b $430 +ICZMiniboss_OrbAngleLookup: ds.b $40 +Map_ICZMiniboss: ds.b $190 +Map_HCZEndBoss: ds.b $302 +Map_MGZEndBossDebris: ds.b $1EA +Map_ICZWallAndColumn: ds.b $284 +Map_ICZPlatforms: ds.b $3C8 +Map_LBZKnuxBomb: ds.b $A +Map_CutsceneKnux: ds.b $2F8 +DPLC_CutsceneKnux: ds.b $162 +Map_AIZIntroPlane: ds.b $F2 +Map_AIZIntroEmeralds: ds.b $46 +Map_LBZFinalBoss1: ds.b $264 +Map_LBZDeathEggSmall: ds.b $8A +Pal_MGZFadeCNZ: ds.b $200 +Map_LBZFinalBoss2: ds.b $15C +ArtNem_AIZMiniboss: ds.b $66E +ArtKosM_AIZEndBoss: ds.b $1F42 +ArtNem_AIZMinibossSmall: ds.b $188 +ArtUnc_AIZRhinobot: ds.b $AA0 +ArtKosM_AIZ_Bloominator: ds.b $242 +ArtKosM_AIZ_MonkeyDude: ds.b $1F2 +ArtKosM_AIZ_CaterkillerJr: ds.b $202 +ArtNem_HCZMiniboss: ds.b $E9E +ArtNem_HCZEndBoss: ds.b $1142 +ArtNem_HCZDragonfly: ds.b $172 +ArtKosM_Jawz: ds.b $172 +ArtKosM_MegaChopper: ds.b $102 +ArtKosM_Blastoid: ds.b $1A2 +ArtKosM_TurboSpiker: ds.b $422 +ArtKosM_Pointdexter: ds.b $2A2 +ArtKosM_MGZMiniboss: ds.b $2A2 +ArtNem_MGZSpire: ds.b $72 +ArtKosM_MGZEndBoss: ds.b $1232 +ArtScaled_MGZEndBoss: ds.b $1000 +ArtKosM_MGZEndBossDebris: ds.b $132 +ArtUnc_BubblesBadnik: ds.b $A20 +ArtKosM_Spiker: ds.b $212 +ArtKosM_Mantis: ds.b $272 +ArtNem_CNZMiniboss: ds.b $4BC +ArtNem_CNZEndBoss: ds.b $514 +ArtUnc_Clamer: ds.b $1140 +ArtKosM_ClamerShot: ds.b $72 +ArtKosM_Sparkle: ds.b $322 +ArtKosM_Batbot: ds.b $222 +ArtKosM_CNZBalloon: ds.b $1500 +ArtNem_ICZMisc1: ds.b $C24 +ArtNem_ICZIntroSprites: ds.b $482 +ArtNem_ICZMisc2: ds.b $36A +ArtNem_ICZEndBoss: ds.b $DAE +ArtNem_ICZMiniboss: ds.b $488 +ArtUnc_Penguinator: ds.b $FE0 +ArtKosM_ICZSnowdust: ds.b $92 +ArtKosM_StarPointer: ds.b $192 +ArtKosM_LBZMiniboss: ds.b $322 +ArtKosM_LBZMinibossBox: ds.b $322 +ArtNem_LBZFinalBoss1: ds.b $BA6 +ArtKosM_LBZEndBoss: ds.b $332 +ArtKosM_LBZFinalBoss2: ds.b $1122 +ArtKosM_SnaleBlaster: ds.b $252 +ArtKosM_Ribot: ds.b $132 +ArtKosM_Orbinaut: ds.b $E2 +ArtKosM_Corkey: ds.b $C2 +ArtUnc_Flybot767: ds.b $1320 +ArtNem_LBZKnuxBomb: ds.b $3E +ArtKosM_LBZ2DeathEggSmall: ds.b $64D2 +ArtKosM_LBZ2DeathEgg2_8x8: ds.b $462 +ArtNem_AIZBossFire: ds.b $2AD4 +ArtKosM_AIZIntroPlane: ds.b $7A2 +ArtUnc_CutsceneKnux: ds.b $4EE0 +ArtKosM_AIZIntroEmeralds: ds.b $44F4 +ArtKosM_TailsEndPose: ds.b $1246 +ArtNem_S38x16Font: ds.b $1A6 +ArtNem_AIZCorkFloor: ds.b $1A4 +ArtNem_AIZCorkFloor2: ds.b $192 +ArtNem_AIZSwingVine: ds.b $166 +ArtNem_AIZSlideRope: ds.b $124 +ArtNem_AIZBackgroundTree: ds.b $14A +ArtNem_AIZMisc1: ds.b $848 +ArtNem_AIZFallingLog: ds.b $288 +ArtNem_AIZMisc2: ds.b $138C +ArtNem_HCZSpikeBall: ds.b $C8 +ArtNem_HCZWaveSplash: ds.b $120 +ArtNem_HCZButton: ds.b $B4 +ArtNem_HCZMisc: ds.b $5C0 +ArtNem_HCZWaterRush: ds.b $5B8 +ArtKosM_HCZLargeFan: ds.b $302 +ArtKosM_HCZGeyserHorz: ds.b $792 +ArtKosM_HCZGeyserVert: ds.b $7A2 +ArtNem_HCZ2Slide: ds.b $516 +ArtNem_HCZ2BlockPlat: ds.b $348 +ArtUnc_HCZWaterSplash2: ds.b $780 +ArtUnc_HCZWaterSplash: ds.b $C00 +ArtNem_HCZ2KnuxWall: ds.b $11A +ArtNem_MGZMisc1: ds.b $A3E +ArtNem_MGZMisc2: ds.b $610 +ArtNem_MGZSigns: ds.b $23A +ArtNem_CNZMisc: ds.b $DBE +ArtNem_CNZPlatform: ds.b $16A +ArtNem_LBZMisc: ds.b $B1E +ArtNem_LBZTubeTrans: ds.b $264 +ArtNem_LBZ2Misc: ds.b $43C +ArtNem_2PArt_1: ds.b $174 +ArtNem_2PArt_2: ds.b $1F2 +ArtNem_2PArt_3: ds.b $4F6 +ArtNem_2PStartPost: ds.b $178 +ArtNem_2PTime: ds.b $65A +ArtNem_2PLapNum: ds.b $4FA +ArtNem_2PPosIcon: ds.b $9A +ArtNem_BPZMisc: ds.b $84A +ArtNem_DPZMisc: ds.b $D16 +ArtNem_CGZMisc: ds.b $374 +ArtNem_EMZMisc: ds.b $292 +ArtKosM_AIZ2Bombership2_8x8: ds.b $D54 +ArtKosM_ResultsMILES: ds.b $152 +ArtKosM_ResultsTAILS: ds.b $125E +ArtKosM_AIZTitleCard: ds.b $112 +ArtKosM_HCZTitleCard: ds.b $152 +ArtKosM_MGZTitleCard: ds.b $1C2 +ArtKosM_CNZTitleCard: ds.b $2F4 +ArtKosM_ICZTitleCard: ds.b $D2 +ArtKosM_LBZTitleCard: ds.b $152 +ArtKosM_ALZTitleCard: ds.b $1B2 +ArtKosM_BPZTitleCard: ds.b $222 +ArtKosM_CGZTitleCard: ds.b $242 +ArtKosM_DPZTitleCard: ds.b $202 +ArtKosM_EMZTitleCard: ds.b $344 +Pal_SaveMenuBG: ds.b $20 +Pal_CompetitionMenuBG: ds.b $20 +MapEni_S3MenuBG: ds.b $202 +ArtKos_S3MenuBG: ds.b $1C60 +MapEni_CompetitionLevBorder: ds.b $4C +MapUnc_CompetitionTimeBorder: ds.b $D8 +MapUnc_CompetitionBESTTIME: ds.b $24 +MapEni_CompetitionLevImage: ds.b $120 +MapEni_CompetitionLevName: ds.b $102 +ArtKos_CompetitionMode: ds.b $410 +ArtKos_CompetitionLevel: ds.b $1E40 +ArtKos_CompetitionResults: ds.b $430 +Map_CompetitionPlayerSprite: ds.b $42 +ArtKos_CompetitionPlayer: ds.b $4F0 +MapEni_SaveScreen_Layout: ds.b $BE +MapUnc_SaveScreenNEW: ds.b $8C +MapPtrs_SaveScreenStatic: ds.b $240 +ArtKos_SaveScreenMisc: ds.b $13A0 +AIZ1_16x16_Primary_Kos: ds.b $200 +AIZ1_16x16_Secondary_Kos: ds.b $C40 +AIZ1_16x16_MainLevel_Kos: ds.b $10E0 +AIZ1_8x8_Primary_KosM: ds.b $E12 +AIZ1_8x8_Secondary_KosM: ds.b $2FD2 +AIZ1_8x8_MainLevel_KosM: ds.b $27F2 +AIZ1_128x128_Kos: ds.b $3990 +AIZ1_8x8_Flames_KosM: ds.b $A82 +AIZ2_16x16_Primary_Kos: ds.b $8A0 +AIZ2_16x16_Secondary_Kos: ds.b $A80 +AIZ2_16x16_BomberShip_Kos: ds.b $260 +AIZ2_8x8_Primary_KosM: ds.b $21B2 +AIZ2_8x8_Secondary_KosM: ds.b $1142 +AIZ2_8x8_BomberShip_KosM: ds.b $922 +AIZ2_128x128_Kos: ds.b $4010 +HCZ_16x16_Primary_Kos: ds.b $470 +HCZ_8x8_Primary_KosM: ds.b $C42 +HCZ_128x128_Primary_Kos: ds.b $340 +HCZ1_16x16_Secondary_Kos: ds.b $890 +HCZ1_8x8_Secondary_KosM: ds.b $2252 +HCZ1_128x128_Secondary_Kos: ds.b $20B0 +HCZ2_16x16_Secondary_Kos: ds.b $8F0 +HCZ2_8x8_Secondary_KosM: ds.b $1E82 +HCZ2_128x128_Secondary_Kos: ds.b $1C80 +MGZ_16x16_Primary_Kos: ds.b $950 +MGZ_8x8_Primary_KosM: ds.b $25A2 +MGZ_128x128_Primary_Kos: ds.b $2300 +MGZ1_16x16_Secondary_Kos: ds.b $310 +MGZ1_8x8_Secondary_KosM: ds.b $9E2 +MGZ1_128x128_Secondary_Kos: ds.b $880 +MGZ2_16x16_Secondary_Kos: ds.b $460 +MGZ2_8x8_Secondary_KosM: ds.b $1092 +MGZ2_128x128_Secondary_Kos: ds.b $9F0 +MGZ2_QuakeChunks: ds.b $1080 +CNZ_16x16_Kos: ds.b $1040 +CNZ_8x8_KosM: ds.b $3222 +CNZ_128x128_Kos: ds.b $3120 +ICZ_16x16_Primary_Kos: ds.b $2E0 +ICZ_8x8_Primary_KosM: ds.b $1412 +ICZ_128x128_Primary_Kos: ds.b $2B0 +ICZ1_16x16_Secondary_Kos: ds.b $B70 +ICZ1_8x8_Secondary_KosM: ds.b $1F82 +ICZ1_128x128_Secondary_Kos: ds.b $1E20 +ICZ2_16x16_Secondary_Kos: ds.b $CA0 +ICZ2_8x8_Secondary_KosM: ds.b $20B2 +ICZ2_128x128_Secondary_Kos: ds.b $1AD0 +LBZ_16x16_Primary_Kos: ds.b $540 +LBZ1_16x16_Secondary_Kos: ds.b $AF0 +LBZ_8x8_Primary_KosM: ds.b $1752 +LBZ1_8x8_Secondary_KosM: ds.b $1D92 +LBZ1_128x128_Kos: ds.b $2FD0 +LBZ2_16x16_Secondary_Kos: ds.b $A40 +LBZ2_16x16_DeathEgg_Kos: ds.b $E20 +LBZ2_8x8_Secondary_KosM: ds.b $17A2 +LBZ2_8x8_DeathEgg_KosM: ds.b $1F92 +LBZ2_128x128_Kos: ds.b $24D0 +LBZ2_128x128_DeathEgg_Kos: ds.b $CF0 +ALZ_16x16_Kos: ds.b $AC0 +ALZ_8x8_KosM: ds.b $2DB2 +ALZ_128x128_Kos: ds.b $690 +BPZ_16x16_Kos: ds.b $8D0 +BPZ_8x8_KosM: ds.b $1FE2 +BPZ_128x128_Kos: ds.b $6F0 +DPZ_16x16_Kos: ds.b $9E0 +DPZ_8x8_KosM: ds.b $1AF2 +DPZ_128x128_Kos: ds.b $630 +CGZ_16x16_Kos: ds.b $750 +CGZ_8x8_KosM: ds.b $25A2 +CGZ_128x128_Kos: ds.b $4C0 +EMZ_16x16_Kos: ds.b $AB0 +EMZ_8x8_KosM: ds.b $2C32 +EMZ_128x128_Kos: ds.b $710 +Gumball_16x16_Kos: ds.b $420 +Gumball_8x8_KosM: ds.b $D52 +Gumball_128x128_Kos: ds.b $480 diff --git a/Lockon S3/Screen Events.asm b/Lockon S3/Screen Events.asm index 82f36778..9c2cb814 100644 --- a/Lockon S3/Screen Events.asm +++ b/Lockon S3/Screen Events.asm @@ -1,32 +1,3 @@ - -AIZ1_WaterFGDeformDelta: - dc.w 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 - dc.w 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 - dc.w -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0 - dc.w 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 - dc.w 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 - dc.w 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 - dc.w -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0 - dc.w 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 - dc.w 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 - dc.w 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 - dc.w -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0 - dc.w 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 - dc.w 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 - dc.w 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 - dc.w -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0 - dc.w 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 - dc.w 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 - dc.w 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 -AIZ1_WaterBGDeformDelta: - dc.w 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1 - dc.w 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1 - dc.w 1, 1, 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1 - dc.w 1, 1, 1, 1, 1, 0, -1, -2, -2, -1, 0, 2, 2, 2, 2, 0 - dc.w 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1 - dc.w 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1 -; --------------------------------------------------------------------------- - Comp_ScreenInit: jsr (Update_CameraPositionP2).l move.w (Camera_X_pos_copy).w,d0 @@ -102,7 +73,7 @@ CGZ_BackgroundInit: move.w d0,(Events_bg+$04).w move.w d0,(Events_bg+$06).w moveq #0,d0 - move.b (_unkFEDA).w,d0 + move.b (Competition_total_laps).w,d0 addq.w #1,d0 lsl.w #8,d0 subi.w #$70,d0 @@ -139,19 +110,19 @@ ALZ_BackgroundEvent: BPZ_BackgroundEvent: jsr BPZ_Deformation(pc) - lea BPZ_DeformArray(pc),a4 + lea BPZ_BGDeformArray(pc),a4 bra.s loc_23A764 ; --------------------------------------------------------------------------- CGZ_BackgroundEvent: jsr CGZ_Deformation(pc) - lea CGZ_DeformArray(pc),a4 + lea CGZ_BGDeformArray(pc),a4 bra.s loc_23A764 ; --------------------------------------------------------------------------- EMZ_BackgroundEvent: jsr EMZ_Deformation(pc) - lea EMZ_DeformArray(pc),a4 + lea EMZ_BGDeformArray(pc),a4 loc_23A764: lea (H_scroll_buffer).w,a1 @@ -209,7 +180,7 @@ ALZ_Deformation: move.w d0,(_unkEE74).w addq.w #3,(Events_bg+$00).w addi.l #$1000,(Events_bg+$02).w - lea ALZ_AIZ2_BGDeformDelta(pc),a4 + lea (AIZ2_ALZ_BGDeformDelta).l,a4 lea (HScroll_table).w,a1 move.w (Events_fg_1).w,d0 bsr.s sub_23A81E @@ -467,9 +438,12 @@ Comp_ScreenInitArray: dc.w $3FF, $1FF, $1F0, $C, $100, $100, $F, $40 ALZ_BGDeformArray: dc.w $18, 8, 8, 8, 8, 8, $2E, 6, $D,$803F,$7FFF -BPZ_DeformArray:dc.w $88, $16, $A, $28, $10, 8,$7FFF -CGZ_DeformArray:dc.w $50, 8, $10, $10,$7FFF -EMZ_DeformArray:dc.w $10, $10, $10, $10, 8, $C, $24, $38, $20,$7FFF +BPZ_BGDeformArray: + dc.w $88, $16, $A, $28, $10, 8,$7FFF +CGZ_BGDeformArray: + dc.w $50, 8, $10, $10,$7FFF +EMZ_BGDeformArray: + dc.w $10, $10, $10, $10, 8, $C, $24, $38, $20,$7FFF ; --------------------------------------------------------------------------- AIZ_TreeReveal: @@ -677,7 +651,7 @@ loc_23B0EE: jsr (ApplyDeformation3).l move.l a1,-(sp) lea (HScroll_table+$040).w,a1 - lea AIZ1_WaterFGDeformDelta(pc),a6 + lea (AIZ1_WaterFGDeformDelta).l,a6 move.w (Water_level).w,d0 subi.w #$DE,d1 neg.w d1 @@ -693,7 +667,7 @@ loc_23B0EE: lea (HScroll_table+$040).w,a2 lea AIZ1_DeformArray(pc),a4 lea (HScroll_table+$008).w,a5 - lea AIZ1_WaterBGDeformDelta(pc),a6 + lea (AIZ1_WaterBGDeformDelta).l,a6 move.w (Water_level).w,d0 sub.w (Camera_Y_pos_copy).w,d0 add.w (Camera_Y_pos_BG_copy).w,d0 @@ -759,9 +733,12 @@ AIZ1_IntroDrawArray: AIZ1_IntroDeformArray: dc.w $3E0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 dc.w 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, $7FFF -AIZ1_BGDrawArray:dc.w $220, $7FFF -AIZ1_DeformArray:dc.w $D0, $20, $30, $30, $10, $10, $10, $800D, $F, 6, $E, $50, $20, $7FFF -AIZ_FlameVScroll:dc.b 0, $FF, $FE, $FB, $F8, $F6, $F3, $F2, $F1, $F2, $F3, $F6, $F9, $FB, $FE, $FF +AIZ1_BGDrawArray: + dc.w $220, $7FFF +AIZ1_DeformArray: + dc.w $D0, $20, $30, $30, $10, $10, $10, $800D, $F, 6, $E, $50, $20, $7FFF +AIZ_FlameVScroll: + dc.b 0, $FF, $FE, $FB, $F8, $F6, $F3, $F2, $F1, $F2, $F3, $F6, $F9, $FB, $FE, $FF ; --------------------------------------------------------------------------- AIZ2_Deform: @@ -811,7 +788,7 @@ locret_23B67E: AIZ2_ApplyDeform: lea (HScroll_table).w,a1 - lea AIZ2_FGDeformDelta(pc),a6 + lea (AIZ2_SOZ1_LRZ3_FGDeformDelta).l,a6 move.w (Camera_Y_pos_copy).w,d0 move.w #$DF,d1 move.w (Level_frame_counter).w,d2 @@ -838,7 +815,7 @@ AIZ2_ApplyDeform: add.w d0,d2 loc_23B6CA: - lea AIZ1_WaterFGDeformDelta(pc),a6 + lea (AIZ1_WaterFGDeformDelta).l,a6 moveq #$7E,d3 loc_23B6D0: @@ -849,7 +826,7 @@ loc_23B6D0: lea (HScroll_table).w,a2 lea AIZ2_BGDeformArray(pc),a4 lea (HScroll_table+$1C0).w,a5 - lea ALZ_AIZ2_BGDeformDelta(pc),a6 + lea (AIZ2_ALZ_BGDeformDelta).l,a6 move.w (Camera_Y_pos_BG_copy).w,d0 move.w #$DF,d1 move.w (Level_frame_counter).w,d2 @@ -880,7 +857,7 @@ loc_23B6D0: add.w d0,d2 loc_23B73E: - lea AIZ1_WaterBGDeformDelta(pc),a6 + lea (AIZ1_WaterBGDeformDelta).l,a6 moveq #$7E,d3 loc_23B744: @@ -920,40 +897,6 @@ AIZ2_BGDeformMake: dc.b 3, 4, 8, $1C, $20 dc.b 1, 6, $1E dc.b $FF, 0 -AIZ2_FGDeformDelta: - dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 - dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 - dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 - dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 - dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 - dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 - dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 - dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 - dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 - dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 - dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 - dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 - dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 - dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 - dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 - dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 -ALZ_AIZ2_BGDeformDelta: - dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1 - dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2 - dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1 - dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2 - dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1 - dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2 - dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1 - dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2 - dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1 - dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2 - dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1 - dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2 - dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1 - dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2 - dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1 - dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2 Pal_AIZBattleship: binclude "Levels/AIZ/Palettes/Battleship.bin" even @@ -1025,11 +968,13 @@ Map_AIZ2BGTree: include "Levels/AIZ/Misc Object Data/Map - Act 2 Background Tree.asm" Map_AIZ2BossSmall: include "Levels/AIZ/Misc Object Data/Map - Act 2 Boss Small.asm" - -HCZ1_BGDeformArray:dc.w $40, 8, 8, 5, 5, 6, $F0, 6, 5, 5, 8, 8, $30, $80C0, $7FFF -HCZ2_BGDeformArray:dc.w 8, 8, $90, $10, 8, $30, $18, 8, 8, $A8, $30, $18 +HCZ1_BGDeformArray: + dc.w $40, 8, 8, 5, 5, 6, $F0, 6, 5, 5, 8, 8, $30, $80C0, $7FFF +HCZ2_BGDeformArray: + dc.w 8, 8, $90, $10, 8, $30, $18, 8, 8, $A8, $30, $18 dc.w 8, 8, $A8, $30, $18, 8, 8, $B0, $10, 8, $7FFF -HCZ2_BGDeformIndex:dc.b 3, $A +HCZ2_BGDeformIndex: + dc.b 3, $A dc.b $14,$1E dc.b $2C, 2 dc.b $C,$16 @@ -1083,7 +1028,8 @@ loc_23C9AA: move.w d0,-4(a1) rts ; --------------------------------------------------------------------------- -MGZ1_BGDeformArray:dc.w $10, 4, 4, 8, 8, 8, $D, $13, 8, 8, 8, 8, $18, $7FFF +MGZ1_BGDeformArray: + dc.w $10, 4, 4, 8, 8, 8, $D, $13, 8, 8, 8, 8, $18, $7FFF MGZ2_QuakeEventArray: dc.w $780, $7C0, $580, $600, $5A0, $7E0 ; Player X boundaries, Player Y boundaries, Level size reset val dc.w $31C0, $3200, $1C0, $280, $1E0, $2F60 @@ -1092,7 +1038,8 @@ MGZ2_ChunkEventArray: dc.w $F68, $F78, $500, $580, $F00, $500 ; Player X boundaries, Player Y boundaries, Screen redraw area dc.w $3680, $3700, $2F0, $380, $3700, $280 dc.w $3000, $3080, $770, $800, $3080, $700 -MGZ2_ScreenRedrawArray:dc.w $40, 3 +MGZ2_ScreenRedrawArray: + dc.w $40, 3 dc.w $50, 3 dc.w $50, 4 dc.w $60, 4 @@ -1115,7 +1062,8 @@ MGZ2_ScreenRedrawArray:dc.w $40, 3 dc.w $C0, 3 dc.w $D0, 2 dc.w $E0, 1 -MGZ2_ChunkReplaceArray:dc.w $100, $500 +MGZ2_ChunkReplaceArray: + dc.w $100, $500 dc.w $180, $580 dc.w $200, $600 dc.w $280, $680 @@ -1139,8 +1087,10 @@ MGZ2_ChunkReplaceArray:dc.w $100, $500 dc.w 0, $F80 dc.w 0,$1000 dc.w $80, $480 -MGZ2_CollapseScrollDelay:dc.w $A, $10, 2, 8, $E, 6, 0, $C, $12, 4 -MGZ2_FGVScrollArray:dc.w $3CA0, $20, $20, $20, $20, $20, $20, $20, $20,$7FFF +MGZ2_CollapseScrollDelay: + dc.w $A, $10, 2, 8, $E, 6, 0, $C, $12, 4 +MGZ2_FGVScrollArray: + dc.w $3CA0, $20, $20, $20, $20, $20, $20, $20, $20,$7FFF ; --------------------------------------------------------------------------- MGZ2_BGDeform: @@ -1255,11 +1205,15 @@ loc_23D2B4: dbf d0,loc_23D2B4 rts ; --------------------------------------------------------------------------- -MGZ2_BGDrawArray:dc.w $200, $7FFF -MGZ2_BGDeformArray:dc.w $10, $10, $10, $10, $10, $18, 8, $10, 8, 8, $10, 8 +MGZ2_BGDrawArray: + dc.w $200, $7FFF +MGZ2_BGDeformArray: + dc.w $10, $10, $10, $10, $10, $18, 8, $10, 8, 8, $10, 8 dc.w 8, 8, 5, $2B, $C, 6, 6, 8, 8, $18, $D8, $7FFF -MGZ2_BGDeformIndex:dc.w $1C, $18, $1A, $C, 6, $14, 2, $10, $16, $12, $A, 0, 8, 4, $E -MGZ2_BGDeformOffset:dc.w -5, -8, 9, $A, 2, -$C, 3, $10, -1, $D, -$F, 6, -$B, -4, $E +MGZ2_BGDeformIndex: + dc.w $1C, $18, $1A, $C, 6, $14, 2, $10, $16, $12, $A, 0, 8, 4, $E +MGZ2_BGDeformOffset: + dc.w -5, -8, 9, $A, 2, -$C, 3, $10, -1, $D, -$F, 6, -$B, -4, $E dc.w -8, $10, 8, 0, -8, $10, 8, 0 ; --------------------------------------------------------------------------- @@ -1302,7 +1256,8 @@ sub_23DED6: move.w #$402,(a1) rts ; --------------------------------------------------------------------------- -ICZ1_IntroBGDeformArray:dc.w $44, $C, $B, $D, $18, $50, 2, 6, 8, $10, $18, $20, $28, $7FFF +ICZ1_IntroBGDeformArray: + dc.w $44, $C, $B, $D, $18, $50, 2, 6, 8, $10, $18, $20, $28, $7FFF ; --------------------------------------------------------------------------- ICZ2_OutDeform: @@ -1346,7 +1301,7 @@ loc_23E0E8: move.w (Level_frame_counter).w,d1 lsr.w #2,d1 andi.w #$3E,d1 - lea ALZ_AIZ2_BGDeformDelta(pc),a5 + lea (AIZ2_ALZ_BGDeformDelta).l,a5 adda.w d1,a5 moveq #7,d1 @@ -1455,8 +1410,10 @@ sub_23E21E: move.l #$2000600,(a1) rts ; --------------------------------------------------------------------------- -ICZ2_OutBGDeformArray:dc.w $5A, $26, $8030, $7FFF -ICZ2_InBGDeformArray:dc.w $1A0, $40, $20, $18, $40, 8, 8, $18, $7FFF +ICZ2_OutBGDeformArray: + dc.w $5A, $26, $8030, $7FFF +ICZ2_InBGDeformArray: + dc.w $1A0, $40, $20, $18, $40, 8, 8, $18, $7FFF ; --------------------------------------------------------------------------- LBZ1_CheckLayoutMod: @@ -1597,16 +1554,20 @@ loc_23E536: dbf d1,loc_23E536 rts ; --------------------------------------------------------------------------- -LBZ1_FGVScrollArray:dc.w $3B60, $10, $10, $10, $10, $10, $10, $10, $10, $10, $10, $7FFF -LBZ1_LayoutModRange:dc.w $13E0,$16A0, $100, $580 +LBZ1_FGVScrollArray: + dc.w $3B60, $10, $10, $10, $10, $10, $10, $10, $10, $10, $10, $7FFF +LBZ1_LayoutModRange: + dc.w $13E0,$16A0, $100, $580 dc.w $2160,$2520, 0, $700 dc.w $3A60,$3BA0, 0, $600 dc.w $3DE0,$3FA0, 0, $300 -LBZ1_LayoutModExitRange:dc.w $1376,$170A +LBZ1_LayoutModExitRange: + dc.w $1376,$170A dc.w $20F6,$258A dc.w $39F6,$3C0A dc.w $3D76,$400A -LBZ1_CollapseScrollSpeed:dc.w $1EE, $1F2, $C7, $1B3, $1B7, $198, $E, $139 +LBZ1_CollapseScrollSpeed: + dc.w $1EE, $1F2, $C7, $1B3, $1B7, $198, $E, $139 ; --------------------------------------------------------------------------- LBZ1_Deform: @@ -1653,12 +1614,16 @@ loc_23E79A: addq.w #7,(a1) rts ; --------------------------------------------------------------------------- -LBZ2_BGDeformArray:dc.w $C0, $40, $38, $18, $28, $10, $10, $10, $18, $40, $20, $10, $20 +LBZ2_BGDeformArray: + dc.w $C0, $40, $38, $18, $28, $10, $10, $10, $18, $40, $20, $10, $20 dc.w $70, $30, $80E0, $20, $7FFF -LBZ2_DEBGDeformArray:dc.w $38, $18, $28, $10, $10, $10, $18, $40, $38, $18, $28, $10, $10 +LBZ2_DEBGDeformArray: + dc.w $38, $18, $28, $10, $10, $10, $18, $40, $38, $18, $28, $10, $10 dc.w $10, $18, $40, $20, $10, $20, $70, $60, $10, $805F, $7FFF -LBZ2_CloudDeformArray:dc.w $16, $E, $A, $14, $C, 6, $18, $10, $12, 2, 8, 4, 0 -LBZ2_BGUWDeformRange:dc.w 7, 1, 3, 1, 7 +LBZ2_CloudDeformArray: + dc.w $16, $E, $A, $14, $C, 6, $18, $10, $12, 2, 8, 4, 0 +LBZ2_BGUWDeformRange: + dc.w 7, 1, 3, 1, 7 ; --------------------------------------------------------------------------- Gumball_ScreenInit: @@ -1678,7 +1643,7 @@ Gumball_ScreenInit: lea Gumball_VScrollArray(pc),a4 lea (HScroll_table).w,a5 move.w (Camera_X_pos_rounded).w,d0 - jmp (RefreshPlaneDirectVScroll).l + jmp (Refresh_PlaneDirectVScroll).l ; --------------------------------------------------------------------------- Gumball_ScreenEvent: @@ -1708,7 +1673,8 @@ Gumball_VScroll: move.w d1,$E(a1) rts ; --------------------------------------------------------------------------- -Gumball_VScrollArray:dc.w $C0, $80, $7FFF +Gumball_VScrollArray: + dc.w $C0, $80, $7FFF ; --------------------------------------------------------------------------- Gumball_BackgroundInit: diff --git a/SonLVL INI Files/AIZ/Bloominator.xml b/SonLVL INI Files/AIZ/Bloominator.xml new file mode 100644 index 00000000..e26b2347 --- /dev/null +++ b/SonLVL INI Files/AIZ/Bloominator.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/SonLVL INI Files/AIZ/E-S3.ini b/SonLVL INI Files/AIZ/E-S3.ini index bdfa09a3..1a1f2c53 100644 --- a/SonLVL INI Files/AIZ/E-S3.ini +++ b/SonLVL INI Files/AIZ/E-S3.ini @@ -1,7 +1,7 @@ [81] -xmlfile=AIZ/Tulipon.xml +xmlfile=AIZ/Bloominator.xml [82] -xmlfile=AIZ/RhinoBot.xml +xmlfile=AIZ/Rhinobot.xml [83] xmlfile=AIZ/MonkeyDude.xml [9F] diff --git a/SonLVL INI Files/AIZ/E.ini b/SonLVL INI Files/AIZ/E.ini index edd94994..2f1746ae 100644 --- a/SonLVL INI Files/AIZ/E.ini +++ b/SonLVL INI Files/AIZ/E.ini @@ -1,9 +1,9 @@ [85] xmlfile=Common/SSEntryRing.xml [8C] -xmlfile=AIZ/Tulipon.xml +xmlfile=AIZ/Bloominator.xml [8D] -xmlfile=AIZ/RhinoBot.xml +xmlfile=AIZ/Rhinobot.xml [8E] xmlfile=AIZ/MonkeyDude.xml [8F] diff --git a/SonLVL INI Files/AIZ/RhinoBot.xml b/SonLVL INI Files/AIZ/Rhinobot.xml similarity index 51% rename from SonLVL INI Files/AIZ/RhinoBot.xml rename to SonLVL INI Files/AIZ/Rhinobot.xml index d70b8a20..8d81216a 100644 --- a/SonLVL INI Files/AIZ/RhinoBot.xml +++ b/SonLVL INI Files/AIZ/Rhinobot.xml @@ -2,8 +2,8 @@ - - + + \ No newline at end of file diff --git a/SonLVL INI Files/AIZ/Tulipon.xml b/SonLVL INI Files/AIZ/Tulipon.xml deleted file mode 100644 index fd32137c..00000000 --- a/SonLVL INI Files/AIZ/Tulipon.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/SonLVL INI Files/CNZ/E-S3.ini b/SonLVL INI Files/CNZ/E-S3.ini index 86358afd..c44905f4 100644 --- a/SonLVL INI Files/CNZ/E-S3.ini +++ b/SonLVL INI Files/CNZ/E-S3.ini @@ -1,7 +1,7 @@ [A0] xmlfile=CNZ/Clamer.xml [A1] -xmlfile=CNZ/Blastoid.xml +xmlfile=CNZ/Sparkle.xml [A2] xmlfile=CNZ/Batbot.xml [CB] diff --git a/SonLVL INI Files/CNZ/E.ini b/SonLVL INI Files/CNZ/E.ini index c800ec25..304e944f 100644 --- a/SonLVL INI Files/CNZ/E.ini +++ b/SonLVL INI Files/CNZ/E.ini @@ -3,6 +3,6 @@ xmlfile=Common/SSEntryRing.xml [A3] xmlfile=CNZ/Clamer.xml [A4] -xmlfile=CNZ/Blastoid.xml +xmlfile=CNZ/Sparkle.xml [A5] xmlfile=CNZ/Batbot.xml \ No newline at end of file diff --git a/SonLVL INI Files/CNZ/Blastoid.xml b/SonLVL INI Files/CNZ/Sparkle.xml similarity index 75% rename from SonLVL INI Files/CNZ/Blastoid.xml rename to SonLVL INI Files/CNZ/Sparkle.xml index c4bcc97f..dbc7d3ac 100644 --- a/SonLVL INI Files/CNZ/Blastoid.xml +++ b/SonLVL INI Files/CNZ/Sparkle.xml @@ -3,7 +3,7 @@ - + \ No newline at end of file diff --git a/SonLVL INI Files/CNZ/SpiralTube.cs b/SonLVL INI Files/CNZ/SpiralTube.cs index e8ff2b8d..fd5a49ec 100644 --- a/SonLVL INI Files/CNZ/SpiralTube.cs +++ b/SonLVL INI Files/CNZ/SpiralTube.cs @@ -93,8 +93,7 @@ public override Sprite GetDebugOverlay(ObjectEntry obj) public override Rectangle GetBounds(ObjectEntry obj) { - if (obj.SubType > 2) - return new Rectangle(obj.X - 8, obj.Y - 7, 16, 14); + if (obj.SubType > 2) return base.GetBounds(obj); return new Rectangle(obj.X - 64, obj.Y - 16, 128, 32); } diff --git a/SonLVL INI Files/CNZ/TriangleBumpers.cs b/SonLVL INI Files/CNZ/TriangleBumpers.cs index 8b74e758..8a9e8bae 100644 --- a/SonLVL INI Files/CNZ/TriangleBumpers.cs +++ b/SonLVL INI Files/CNZ/TriangleBumpers.cs @@ -55,6 +55,8 @@ public override Sprite GetDebugOverlay(ObjectEntry obj) public override Rectangle GetBounds(ObjectEntry obj) { + if (obj.SubType == 0) return base.GetBounds(obj); + return new Rectangle(obj.X - obj.SubType, obj.Y - 8, obj.SubType * 2, 16); } diff --git a/SonLVL INI Files/Common/BreakableWall.cs b/SonLVL INI Files/Common/BreakableWall.cs index 6a5802b2..d2771379 100644 --- a/SonLVL INI Files/Common/BreakableWall.cs +++ b/SonLVL INI Files/Common/BreakableWall.cs @@ -54,7 +54,7 @@ class BreakableWall2 : BreakableWall public override void Init(ObjectData data) { base.Init(data); - var art = LevelData.ReadFile("../Levels/HCZ/Nemesis Art/Act 2 Knuckles Wall.bin", CompressionType.Nemesis); + var art = LevelData.ReadFile("../Levels/HCZ/Nemesis Art/Act 2 Knuckles Wall.bin", CompressionType.Nemesis); var sprite = ObjectHelper.MapASMToBmp(art, "../Levels/HCZ/Misc Object Data/Map - Breakable Wall.asm", 2, 2); sprites[1] = BuildFlippedSprites(sprite); properties[0].Enumeration.Add("Knuckles Wall", 1); diff --git a/SonLVL INI Files/Common/CutsceneKnuckles.cs b/SonLVL INI Files/Common/CutsceneKnuckles.cs index 8edfd671..21221cd3 100644 --- a/SonLVL INI Files/Common/CutsceneKnuckles.cs +++ b/SonLVL INI Files/Common/CutsceneKnuckles.cs @@ -182,7 +182,7 @@ protected void BuildSpritesSubtypes(int startpal, bool s3, string girderart = ". art = LevelData.ReadFile("../General/Sprites/Knuckles/Art/Knuckles.bin", CompressionType.Uncompressed); map = LevelData.ASMToBin("../General/Sprites/Knuckles/Map - Knuckles.asm", EngineVersion.S3K); - plc = LevelData.ASMToBin("../General/Sprites/Knuckles/Knuckles pattern load cues.asm", EngineVersion.S2); + plc = LevelData.ASMToBin("../General/Sprites/Knuckles/DPLC - Knuckles.asm", EngineVersion.S2); subtypeNames[9] = "Lava Reef 2"; sprites[10] = BuildFlippedSprites(ObjectHelper.MapDPLCToBmp( diff --git a/SonLVL INI Files/Common/KnucklesStartFall.xml b/SonLVL INI Files/Common/KnucklesStartFall.xml index 2a79e858..a6349791 100644 --- a/SonLVL INI Files/Common/KnucklesStartFall.xml +++ b/SonLVL INI Files/Common/KnucklesStartFall.xml @@ -3,6 +3,6 @@ + dplcfile="../General/Sprites/Knuckles/DPLC - Knuckles.asm" dplcver="S2" frame="140" startpal="4" /> \ No newline at end of file diff --git a/SonLVL INI Files/Common/KnucklesStartSpin.xml b/SonLVL INI Files/Common/KnucklesStartSpin.xml index 27907780..31dfb7ce 100644 --- a/SonLVL INI Files/Common/KnucklesStartSpin.xml +++ b/SonLVL INI Files/Common/KnucklesStartSpin.xml @@ -3,6 +3,6 @@ + dplcfile="../General/Sprites/Knuckles/DPLC - Knuckles.asm" dplcver="S2" frame="150" startpal="4" /> \ No newline at end of file diff --git a/SonLVL INI Files/Common/KnucklesStartWalk.xml b/SonLVL INI Files/Common/KnucklesStartWalk.xml index 2eb2e58d..275f149b 100644 --- a/SonLVL INI Files/Common/KnucklesStartWalk.xml +++ b/SonLVL INI Files/Common/KnucklesStartWalk.xml @@ -3,6 +3,6 @@ + dplcfile="../General/Sprites/Knuckles/DPLC - Knuckles.asm" dplcver="S2" frame="5" startpal="4" /> \ No newline at end of file diff --git a/SonLVL INI Files/Common/Main.ini b/SonLVL INI Files/Common/Main.ini index 080a5b7e..351e6219 100644 --- a/SonLVL INI Files/Common/Main.ini +++ b/SonLVL INI Files/Common/Main.ini @@ -2,13 +2,13 @@ art=../General/Sprites/Sonic/Art/Sonic.bin artcmp=Uncompressed mapasm=../General/Sprites/Sonic/Map - Sonic.asm -dplcasm=../General/Sprites/Sonic/Sonic pattern load cues.asm +dplcasm=../General/Sprites/Sonic/DPLC - Sonic.asm frame=186 [Knuckles] art=../General/Sprites/Knuckles/Art/Knuckles.bin artcmp=Uncompressed mapasm=../General/Sprites/Knuckles/Map - Knuckles.asm -dplcasm=../General/Sprites/Knuckles/Knuckles pattern load cues.asm +dplcasm=../General/Sprites/Knuckles/DPLC - Knuckles.asm frame=86 pal=4 [Ring] diff --git a/SonLVL INI Files/Common/SinkingMud.cs b/SonLVL INI Files/Common/SinkingMud.cs index fff853fd..e9f89eaa 100644 --- a/SonLVL INI Files/Common/SinkingMud.cs +++ b/SonLVL INI Files/Common/SinkingMud.cs @@ -73,6 +73,8 @@ public override Sprite GetDebugOverlay(ObjectEntry obj) public override Rectangle GetBounds(ObjectEntry obj) { var width = obj.SubType << 4; + if (width == 0) return base.GetBounds(obj); + return new Rectangle(obj.X - (width / 2), obj.Y - (height / 2), width, height); } diff --git a/SonLVL INI Files/Common/SonicStartFall.xml b/SonLVL INI Files/Common/SonicStartFall.xml index b6ccb064..647d10c0 100644 --- a/SonLVL INI Files/Common/SonicStartFall.xml +++ b/SonLVL INI Files/Common/SonicStartFall.xml @@ -3,6 +3,6 @@ + dplcfile="../General/Sprites/Sonic/DPLC - Sonic.asm" dplcver="S2" frame="141" /> \ No newline at end of file diff --git a/SonLVL INI Files/Common/SonicStartSpin.xml b/SonLVL INI Files/Common/SonicStartSpin.xml index 4a6b4772..45fd5729 100644 --- a/SonLVL INI Files/Common/SonicStartSpin.xml +++ b/SonLVL INI Files/Common/SonicStartSpin.xml @@ -3,6 +3,6 @@ + dplcfile="../General/Sprites/Sonic/DPLC - Sonic.asm" dplcver="S2" frame="151" /> \ No newline at end of file diff --git a/SonLVL INI Files/Common/SonicStartTails.xml b/SonLVL INI Files/Common/SonicStartTails.xml index 901a477a..37eb1d23 100644 --- a/SonLVL INI Files/Common/SonicStartTails.xml +++ b/SonLVL INI Files/Common/SonicStartTails.xml @@ -3,17 +3,17 @@ + dplcfile="../General/Sprites/Tails/DPLC - Tails tails.asm" dplcver="S2" frame="39" /> + dplcfile="../General/Sprites/Tails/DPLC - Tails.asm" dplcver="S2" frame="162" /> + dplcfile="../General/Sprites/Sonic/DPLC - Sonic.asm" dplcver="S2" frame="144" /> \ No newline at end of file diff --git a/SonLVL INI Files/Common/SonicStartWalk.xml b/SonLVL INI Files/Common/SonicStartWalk.xml index 55e323a4..7a7cf389 100644 --- a/SonLVL INI Files/Common/SonicStartWalk.xml +++ b/SonLVL INI Files/Common/SonicStartWalk.xml @@ -3,6 +3,6 @@ + dplcfile="../General/Sprites/Sonic/DPLC - Sonic.asm" dplcver="S2" frame="5" /> \ No newline at end of file diff --git a/SonLVL INI Files/Common/StillSprite.cs b/SonLVL INI Files/Common/StillSprite.cs index a3560af6..88fa6677 100644 --- a/SonLVL INI Files/Common/StillSprite.cs +++ b/SonLVL INI Files/Common/StillSprite.cs @@ -81,7 +81,7 @@ public override void Init(ObjectData data) var art5 = indexer.ToArray(); indexer.AddFile(new List(LevelData.ReadFile( - "../Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin", CompressionType.Nemesis)), -512); + "../Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin", CompressionType.Nemesis)), -512); var art6 = indexer.ToArray(); BuildSpritesSubtypes( diff --git a/SonLVL INI Files/Common/TensionBridge.cs b/SonLVL INI Files/Common/TensionBridge.cs index dd8885bd..e7498727 100644 --- a/SonLVL INI Files/Common/TensionBridge.cs +++ b/SonLVL INI Files/Common/TensionBridge.cs @@ -11,7 +11,7 @@ class TensionBridge : Common.TensionBridge public override void Init(ObjectData data) { BuildSpritesProperties( - "../Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin", -512, + "../Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin", -512, "../Levels/Misc/Map - Tension Bridge.asm", 2, false, null, null, 0); } } diff --git a/SonLVL INI Files/DEZ/ConveyorBelt.cs b/SonLVL INI Files/DEZ/ConveyorBelt.cs index 9ea5daec..18322f17 100644 --- a/SonLVL INI Files/DEZ/ConveyorBelt.cs +++ b/SonLVL INI Files/DEZ/ConveyorBelt.cs @@ -63,6 +63,7 @@ public override Sprite GetDebugOverlay(ObjectEntry obj) public override Rectangle GetBounds(ObjectEntry obj) { var width = (obj.SubType & 0x7F) << 4; + if (width == 0) return base.GetBounds(obj); return new Rectangle(obj.X - (width / 2), obj.Y - 16, width, 32); } diff --git a/SonLVL INI Files/DEZ/GravityTube.cs b/SonLVL INI Files/DEZ/GravityTube.cs index cd356542..aba54c11 100644 --- a/SonLVL INI Files/DEZ/GravityTube.cs +++ b/SonLVL INI Files/DEZ/GravityTube.cs @@ -64,7 +64,7 @@ public override Sprite GetDebugOverlay(ObjectEntry obj) public override Rectangle GetBounds(ObjectEntry obj) { - if ((obj.SubType & 0x3F) == 0) return new Rectangle(obj.X - 8, obj.Y - 7, 16, 14); + if ((obj.SubType & 0x3F) == 0) return base.GetBounds(obj); var length = (obj.SubType & 0x3F) << 4; if (obj.SubType >= 0x80) diff --git a/SonLVL INI Files/FBZ/WireCage.cs b/SonLVL INI Files/FBZ/WireCage.cs index 9306dc7a..506567f6 100644 --- a/SonLVL INI Files/FBZ/WireCage.cs +++ b/SonLVL INI Files/FBZ/WireCage.cs @@ -73,6 +73,7 @@ public override Sprite GetDebugOverlay(ObjectEntry obj) public override Rectangle GetBounds(ObjectEntry obj) { var length = (obj.SubType & 0x7F) << 4; + if (length == 0) return base.GetBounds(obj); if (obj.SubType < 0x80) return new Rectangle(obj.X - (length / 2), obj.Y - 64, length, 128); diff --git a/SonLVL INI Files/HCZ/1.ini b/SonLVL INI Files/HCZ/1.ini index fc1d12ba..ab195e8c 100644 --- a/SonLVL INI Files/HCZ/1.ini +++ b/SonLVL INI Files/HCZ/1.ini @@ -4,7 +4,7 @@ xmlfile=Common/SonicStartFall.xml art=../General/Sprites/Knuckles/Art/Knuckles.bin artcmp=Uncompressed mapasm=../General/Sprites/Knuckles/Map - Knuckles.asm -dplcasm=../General/Sprites/Knuckles/Knuckles pattern load cues.asm +dplcasm=../General/Sprites/Knuckles/DPLC - Knuckles.asm frame=203 pal=4 [0D] diff --git a/SonLVL INI Files/HCZ/E-S3.ini b/SonLVL INI Files/HCZ/E-S3.ini index 853de770..759de610 100644 --- a/SonLVL INI Files/HCZ/E-S3.ini +++ b/SonLVL INI Files/HCZ/E-S3.ini @@ -3,8 +3,8 @@ xmlfile=HCZ/Buggernaut.xml [9C] xmlfile=HCZ/TurboSpiker.xml [9D] -xmlfile=HCZ/MegaChomper.xml +xmlfile=HCZ/MegaChopper.xml [9E] -xmlfile=HCZ/Poindexter.xml +xmlfile=HCZ/Pointdexter.xml [CB] xmlfile=Common/SSEntryRing.xml \ No newline at end of file diff --git a/SonLVL INI Files/HCZ/E.ini b/SonLVL INI Files/HCZ/E.ini index 56635869..4d67bb0a 100644 --- a/SonLVL INI Files/HCZ/E.ini +++ b/SonLVL INI Files/HCZ/E.ini @@ -5,6 +5,6 @@ xmlfile=HCZ/Buggernaut.xml [96] xmlfile=HCZ/TurboSpiker.xml [97] -xmlfile=HCZ/MegaChomper.xml +xmlfile=HCZ/MegaChopper.xml [98] -xmlfile=HCZ/Poindexter.xml \ No newline at end of file +xmlfile=HCZ/Pointdexter.xml \ No newline at end of file diff --git a/SonLVL INI Files/HCZ/MegaChomper.xml b/SonLVL INI Files/HCZ/MegaChopper.xml similarity index 68% rename from SonLVL INI Files/HCZ/MegaChomper.xml rename to SonLVL INI Files/HCZ/MegaChopper.xml index fb44a61b..a94b6970 100644 --- a/SonLVL INI Files/HCZ/MegaChomper.xml +++ b/SonLVL INI Files/HCZ/MegaChopper.xml @@ -1,13 +1,13 @@ - + - + - + diff --git a/SonLVL INI Files/HCZ/Poindexter.xml b/SonLVL INI Files/HCZ/Pointdexter.xml similarity index 100% rename from SonLVL INI Files/HCZ/Poindexter.xml rename to SonLVL INI Files/HCZ/Pointdexter.xml diff --git a/SonLVL INI Files/HCZ/SnakeBlocks.cs b/SonLVL INI Files/HCZ/SnakeBlocks.cs index e5285c4a..1fe27f8f 100644 --- a/SonLVL INI Files/HCZ/SnakeBlocks.cs +++ b/SonLVL INI Files/HCZ/SnakeBlocks.cs @@ -77,7 +77,7 @@ public override void Init(ObjectData data) properties = new PropertySpec[2]; subtypes = new ReadOnlyCollection(new byte[0]); sprite = ObjectHelper.MapASMToBmp(LevelData.ReadFile( - "../Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin", CompressionType.Nemesis), + "../Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin", CompressionType.Nemesis), "../Levels/HCZ/Misc Object Data/Map - Floating Platform.asm", 1, 0); var bitmap = new BitmapBits(129, 129); diff --git a/SonLVL INI Files/HCZ/SpinningColumn.cs b/SonLVL INI Files/HCZ/SpinningColumn.cs index 016658dc..3ef0f3cf 100644 --- a/SonLVL INI Files/HCZ/SpinningColumn.cs +++ b/SonLVL INI Files/HCZ/SpinningColumn.cs @@ -98,7 +98,7 @@ public override void Init(ObjectData data) { var indexer = new MultiFileIndexer(); indexer.AddFile(new List(LevelData.ReadFile( - "../Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin", CompressionType.Nemesis)), -768); + "../Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin", CompressionType.Nemesis)), -768); properties = new PropertySpec[2]; subtypes = new ReadOnlyCollection(new byte[0]); diff --git a/SonLVL INI Files/HPZ/3.ini b/SonLVL INI Files/HPZ/3.ini index cc882be1..1b02136b 100644 --- a/SonLVL INI Files/HPZ/3.ini +++ b/SonLVL INI Files/HPZ/3.ini @@ -2,14 +2,14 @@ art=../General/Sprites/Sonic/Art/Sonic.bin artcmp=Uncompressed mapasm=../General/Sprites/Sonic/Map - Sonic.asm -dplcasm=../General/Sprites/Sonic/Sonic pattern load cues.asm +dplcasm=../General/Sprites/Sonic/DPLC - Sonic.asm frame=186 pri=true [Knuckles] art=../General/Sprites/Knuckles/Art/Knuckles.bin artcmp=Uncompressed mapasm=../General/Sprites/Knuckles/Map - Knuckles.asm -dplcasm=../General/Sprites/Knuckles/Knuckles pattern load cues.asm +dplcasm=../General/Sprites/Knuckles/DPLC - Knuckles.asm frame=86 pal=4 pri=true diff --git a/SonLVL INI Files/LBZ/1.ini b/SonLVL INI Files/LBZ/1.ini index c63aff45..aca1d001 100644 --- a/SonLVL INI Files/LBZ/1.ini +++ b/SonLVL INI Files/LBZ/1.ini @@ -2,13 +2,13 @@ art=../General/Sprites/Sonic/Art/Sonic.bin artcmp=Uncompressed mapasm=../General/Sprites/Sonic/Map - Sonic.asm -dplcasm=../General/Sprites/Sonic/Sonic pattern load cues.asm +dplcasm=../General/Sprites/Sonic/DPLC - Sonic.asm frame=142 [Knuckles] art=../General/Sprites/Knuckles/Art/Knuckles.bin artcmp=Uncompressed mapasm=../General/Sprites/Knuckles/Map - Knuckles.asm -dplcasm=../General/Sprites/Knuckles/Knuckles pattern load cues.asm +dplcasm=../General/Sprites/Knuckles/DPLC - Knuckles.asm frame=142 pal=4 [10] diff --git a/SonLVL INI Files/LBZ/Flybot767.xml b/SonLVL INI Files/LBZ/Flybot767.xml index 1dea3bb0..cb63a42c 100644 --- a/SonLVL INI Files/LBZ/Flybot767.xml +++ b/SonLVL INI Files/LBZ/Flybot767.xml @@ -2,9 +2,9 @@ - - + + \ No newline at end of file diff --git a/SonLVL INI Files/LBZ/RollingDrum.cs b/SonLVL INI Files/LBZ/RollingDrum.cs index c657113c..d13168d4 100644 --- a/SonLVL INI Files/LBZ/RollingDrum.cs +++ b/SonLVL INI Files/LBZ/RollingDrum.cs @@ -57,6 +57,8 @@ public override Sprite GetDebugOverlay(ObjectEntry obj) public override Rectangle GetBounds(ObjectEntry obj) { var width = obj.SubType << 1; + if (width == 0) return base.GetBounds(obj); + return new Rectangle(obj.X - (width / 2), obj.Y - 64, width, 128); } diff --git a/SonLVL INI Files/LBZ/SnaleBlaster.xml b/SonLVL INI Files/LBZ/SnaleBlaster.xml index 32742550..f83d6ee1 100644 --- a/SonLVL INI Files/LBZ/SnaleBlaster.xml +++ b/SonLVL INI Files/LBZ/SnaleBlaster.xml @@ -2,12 +2,12 @@ - - + + - - + + diff --git a/SonLVL INI Files/LRZ/CutsceneTrigger.cs b/SonLVL INI Files/LRZ/CutsceneTrigger.cs index cb453087..3fa65880 100644 --- a/SonLVL INI Files/LRZ/CutsceneTrigger.cs +++ b/SonLVL INI Files/LRZ/CutsceneTrigger.cs @@ -65,7 +65,7 @@ public override void Init(ObjectData data) sprite = ObjectHelper.MapDPLCToBmp(LevelData.ReadFile( "../General/Sprites/Knuckles/Art/Knuckles.bin", CompressionType.Uncompressed), LevelData.ASMToBin( "../General/Sprites/Knuckles/Map - Knuckles.asm", EngineVersion.S3K), EngineVersion.S3K, LevelData.ASMToBin( - "../General/Sprites/Knuckles/Knuckles pattern load cues.asm", EngineVersion.S2), EngineVersion.S2, 0x56, 7, true); + "../General/Sprites/Knuckles/DPLC - Knuckles.asm", EngineVersion.S2), EngineVersion.S2, 0x56, 7, true); sprite.Flip(true, false); sprite.Offset(48, 10); diff --git a/SonLVL INI Files/LRZ/RockSprite.cs b/SonLVL INI Files/LRZ/RockSprite.cs index 93985a4d..bf2b4af8 100644 --- a/SonLVL INI Files/LRZ/RockSprite.cs +++ b/SonLVL INI Files/LRZ/RockSprite.cs @@ -6,7 +6,8 @@ namespace S3KObjectDefinitions.LRZ { - class RockSprite : ExtraObjEntry + [Serializable] + public class RockSprite : ExtraObjEntry { private static Sprite[] sprites; diff --git a/SonLVL INI Files/SOZ/CapsuleArtLoadTrigger.cs b/SonLVL INI Files/SOZ/CapsuleArtLoadTrigger.cs index efacf948..a82f5dda 100644 --- a/SonLVL INI Files/SOZ/CapsuleArtLoadTrigger.cs +++ b/SonLVL INI Files/SOZ/CapsuleArtLoadTrigger.cs @@ -61,7 +61,7 @@ public override Rectangle GetBounds(ObjectEntry obj) { if (obj.SubType == 0) return new Rectangle(obj.X - 16, obj.Y - 64, 32, 128); if (obj.SubType == 4) return new Rectangle(obj.X - 16, obj.Y - 128, 32, 256); - return new Rectangle(obj.X - 8, obj.Y - 7, 16, 14); + return base.GetBounds(obj); } public override void Init(ObjectData data) diff --git a/SonLVL INI Files/SOZ/Quicksand.cs b/SonLVL INI Files/SOZ/Quicksand.cs index 32462494..f5f39aa5 100644 --- a/SonLVL INI Files/SOZ/Quicksand.cs +++ b/SonLVL INI Files/SOZ/Quicksand.cs @@ -64,8 +64,9 @@ public override Rectangle GetBounds(ObjectEntry obj) { var direction = obj.SubType & 0xC0; var width = (obj.SubType & 0x3F) << 4; - var height = width; + if (width == 0) return base.GetBounds(obj); + var height = width; if (direction == 0x00) width = 32; else if (direction == 0x40) height = 32; else if (direction == 0x80) width = 64; diff --git a/SonLVL INI Files/SSZ/EggMobile.cs b/SonLVL INI Files/SSZ/EggMobile.cs index 93f58211..3af27493 100644 --- a/SonLVL INI Files/SSZ/EggMobile.cs +++ b/SonLVL INI Files/SSZ/EggMobile.cs @@ -80,7 +80,7 @@ public override void Init(ObjectData data) "../General/Sprites/Mecha Sonic/Map - Mecha Sonic.asm", 0, 1, true); var emerald = ObjectHelper.MapASMToBmp(LevelData.ReadFile( - "../Levels/HPZ/Kosinski Art/Master Emerald.bin", CompressionType.Kosinski), + "../General/Ending/KosinskiM Art/Master Emerald.bin", CompressionType.KosinskiM), "../Levels/SSZ/Misc Object Data/Map - Master Emerald.asm", 0, 0, true); subtypes = new ReadOnlyCollection(new byte[0]); diff --git a/SonLVL INI Files/SonLVL - S&K.ini b/SonLVL INI Files/SonLVL - S&K.ini index 96c49349..b1f438c9 100644 --- a/SonLVL INI Files/SonLVL - S&K.ini +++ b/SonLVL INI Files/SonLVL - S&K.ini @@ -270,7 +270,7 @@ layout=../Levels/SSZ/Layout/2.bin objects=../Levels/SSZ/Object Pos/2.bin rings=../Levels/SSZ/Ring Pos/2.bin startpos=../Levels/SSZ/Start Location/Sonic/2.bin:Sonic:Sonic Start|../Levels/SSZ/Start Location/Knuckles/2.bin:Knuckles:Knuckles Start -palette=../General/Sprites/Sonic/Palettes/SonicAndTails.bin:0:0:16|../Levels/SSZ/Palettes/GHZMisc.bin:0:16:16|../General/Ending/Palettes/Objects.bin:0:32:32 +palette=../General/Sprites/Sonic/Palettes/SonicAndTails.bin:0:0:16|../General/Sprites/Mecha Sonic/Palettes/Main.bin:0:16:16|../General/Ending/Palettes/Objects.bin:0:32:32 palette2=Ending|../General/Sprites/Sonic/Palettes/SonicAndTails.bin:0:0:16|../General/Ending/Palettes/Ending 1.bin:0:16:48 extracolors=../General/Sprites/Knuckles/Palettes/Main.bin:0:0:16 colind=../Levels/SSZ/Collision/2.bin diff --git a/SonLVL INI Files/SonLVL.ini b/SonLVL INI Files/SonLVL.ini index d4f55c0f..4b2abcb8 100644 --- a/SonLVL INI Files/SonLVL.ini +++ b/SonLVL INI Files/SonLVL.ini @@ -566,7 +566,7 @@ layout=../Levels/SSZ/Layout/2.bin objects=../Levels/SSZ/Object Pos/2.bin rings=../Levels/SSZ/Ring Pos/2.bin startpos=../Levels/SSZ/Start Location/Sonic/2.bin:Sonic:Sonic Start|../Levels/SSZ/Start Location/Knuckles/2.bin:Knuckles:Knuckles Start -palette=../General/Sprites/Sonic/Palettes/SonicAndTails.bin:0:0:16|../Levels/SSZ/Palettes/GHZMisc.bin:0:16:16|../General/Ending/Palettes/Objects.bin:0:32:32 +palette=../General/Sprites/Sonic/Palettes/SonicAndTails.bin:0:0:16|../General/Sprites/Mecha Sonic/Palettes/Main.bin:0:16:16|../General/Ending/Palettes/Objects.bin:0:32:32 palette2=Ending|../General/Sprites/Sonic/Palettes/SonicAndTails.bin:0:0:16|../General/Ending/Palettes/Ending 1.bin:0:16:48 extracolors=../General/Sprites/Knuckles/Palettes/Main.bin:0:0:16 colind=../Levels/SSZ/Collision/2.bin diff --git a/SonLVL INI Files/SonPLN.ini b/SonLVL INI Files/SonPLN.ini index 0ef55f9b..a0d5e041 100644 --- a/SonLVL INI Files/SonPLN.ini +++ b/SonLVL INI Files/SonPLN.ini @@ -221,7 +221,7 @@ height=32 displayname=Data Select - Background tiles=../General/Save Menu/Kosinski Art/Menu BG.bin tilecmp=Kosinski -mappings=../General/Title/Enigma Map/S3 Menu BG.bin +mappings=../General/Save Menu/Enigma Map/Menu BG.bin palette=../General/Save Menu/Palettes/BG.bin:0:0:16 palette2=Competition|../General/Competition Menu/Palettes/BG.bin:0:0:16 width=40 @@ -483,10 +483,28 @@ palette=../General/Blue Sphere/Palettes/Title 1.bin:16:0:16 palette2=Dark|../General/Blue Sphere/Palettes/Title 2.bin:16:0:16 width=40 height=16 +[Special Stage\\HUD] +displayname=Special Stage - HUD +tiles=../General/Special Stage/Nemesis Art/Digits.bin +tileoff=0x781 +mappings=../General/Special Stage/Uncompressed Map/HUD.bin +mapcmp=Uncompressed +palette=../General/Special Stage/Palettes/Main.bin:0:0:64 +width=8 +height=3 +[Special Stage\\HUD Numbers] +displayname=Special Stage - HUD Numbers +tiles=../General/Special Stage/Nemesis Art/Digits.bin +tileoff=0x781 +mappings=../General/Special Stage/Uncompressed Map/HUD Numbers.bin +mapcmp=Uncompressed +palette=../General/Special Stage/Palettes/Main.bin:0:0:64 +width=20 +height=3 [Special Stage\\Foreground (S3)] displayname=Special Stage - Foreground (S3) tiles=../General/Special Stage/Nemesis Art/Layout.bin -mappings=../General/Special Stage/Layout/S3 Plane Map.bin +mappings=../General/Special Stage/Uncompressed Map/Layout S3.bin mapcmp=Uncompressed palette=../General/Special Stage/Palettes/Main.bin:0:0:64 width=40 diff --git a/Sound/Flamedriver.asm b/Sound/Flamedriver.asm index d72511d9..ef710b16 100644 --- a/Sound/Flamedriver.asm +++ b/Sound/Flamedriver.asm @@ -22,6 +22,9 @@ ; Constants ; =========================================================================== +; Set this to 1 to fix some bugs in the driver. +fix_sndbugs = 0 + ; Used by SMPS2ASM include file. SonicDriverVer = 5 ; Set the following to non-zero to use all S2 DAC samples, or to zero otherwise. @@ -207,6 +210,7 @@ zSFX_PSG1: zTrack zSFX_PSG2: zTrack zSFX_PSG3: zTrack zTracksSFXEnd: + dephase phase zTracksSFXStart zTracksSaveStart: zSaveSongDAC: zTrack @@ -467,11 +471,19 @@ bankswitch macro rrca ld (hl), a endm + if fix_sndbugs + ld (hl),h ; The low bit of h is 0 + else xor a ld (hl), a + endif endm bankswitchLoop macro + if fix_sndbugs + ld (hl),h ; The low bit of h is 0 + else + endif ld b, 8 .bankloop: ld (zBankRegister), a @@ -484,6 +496,10 @@ bankswitchLoop macro bankswitchToMusic macro ld a, (zSongBank) bankswitch + if fix_sndbugs + ld (hl),h ; The low bit of h is 0 + else + endif endm ; macro to make a certain error message clearer should you happen to get it... @@ -1118,8 +1134,8 @@ zFinishTrackUpdate: bit 1, (ix+zTrack.PlaybackControl) ; Is 'do not attack next note' flag set? ret nz ; Branch if yes xor a ; Clear a - ld (ix+zTrack.ModulationSpeed), a ; Clear modulation speed - ld (ix+zTrack.ModulationValLow), a ; Clear low byte of accumulated modulation + ld (ix+zTrack.ModEnvIndex), a ; Clear modulation envelope index + ld (ix+zTrack.ModEnvSens), a ; Clear modulation envelope multiplier ld (ix+zTrack.VolEnv), a ; Reset volume envelope ld a, (ix+zTrack.NoteFillMaster) ; Get master note fill ld (ix+zTrack.NoteFillTimeout), a ; Set note fill timeout @@ -1236,7 +1252,10 @@ zDoFMVolEnv: push bc ; Save bc jr nc, .skip_reg ; Branch if c bit shifted was zero add a, (hl) ; Add TL value to volume envelope + if fix_sndbugs=0 + ; This isn't actually needed and 7Fh ; Strip sign bit + endif ld c, a ; c = TL + volume envelope ld a, (de) ; a = YM2612 register call zWriteFMIorII ; Send TL data to YM2612 @@ -2778,18 +2797,20 @@ zFadeInToPrevious: ; --------------------------------------------------------------------------- ;loc_AA5 zPSGFrequencies: - ; This table starts with 12 notes not in S1 or S2: + ; This table differs from the one in Sonic 1 and 2's drivers by + ; having an extra octave at the start and two extra notes at + ; the end, allowing it to span notes c-0 to b-7. dw 3FFh,3FFh,3FFh,3FFh,3FFh,3FFh,3FFh,3FFh,3FFh,3F7h,3BEh,388h - ; The following notes are present on S1 and S2 too: dw 356h,326h,2F9h,2CEh,2A5h,280h,25Ch,23Ah,21Ah,1FBh,1DFh,1C4h dw 1ABh,193h,17Dh,167h,153h,140h,12Eh,11Dh,10Dh,0FEh,0EFh,0E2h dw 0D6h,0C9h,0BEh,0B4h,0A9h,0A0h,097h,08Fh,087h,07Fh,078h,071h dw 06Bh,065h,05Fh,05Ah,055h,050h,04Bh,047h,043h,040h,03Ch,039h dw 036h,033h,030h,02Dh,02Bh,028h,026h,024h,022h,020h,01Fh,01Dh dw 01Bh,01Ah,018h,017h,016h,015h,013h,012h,011h,010h,000h,000h - ; Then, it falls through to the 12 base notes from FM octaves. ;loc_B4D zFMFrequencies: + ; This table spans only a single octave, as the octave frequency + ; is calculated at run-time unlike in Sonic 1 and 2's drivers. dw 284h,2ABh,2D3h,2FEh,32Dh,35Ch,38Fh,3C5h,3FFh,43Ch,47Ch,4C0h ; --------------------------------------------------------------------------- @@ -3132,6 +3153,14 @@ zSendTL: .loop: zFastWriteFM (de), (hl), calcVolume + if fix_sndbugs + ; Perform some clamping, to prevent volume attenuation overflow (quiet sounds becoming loud) + jr nc,.skip_track_vol + ld a, 7Fh + endif + if fix_sndbugs=0 + ; Not actually needed + endif inc de ; Advance pointer inc hl ; Advance pointer djnz .loop ; Loop @@ -4433,16 +4462,13 @@ z80_ModEnvPointers: dw ModEnv_06 dw ModEnv_07 ModEnv_01: db 0 -ModEnv_00: db 1, 2, 1, 0,0FFh,0FEh,0FDh,0FCh,0FDh,0FEh,0FFh, 83h +ModEnv_00: db 1, 2, 1, 0, -1, -2, -3, -4, -3, -2, -1, 83h ModEnv_02: db 0, 0, 0, 0, 13h, 26h, 39h, 4Ch, 5Fh, 72h, 7Fh, 72h, 83h -ModEnv_03: db 1, 2, 3, 2, 1, 0,0FFh,0FEh,0FDh,0FEh,0FFh, 0, 82h, 0 -ModEnv_04: db 0, 0, 1, 3, 1, 0,0FFh,0FDh,0FFh, 0, 82h, 2 -ModEnv_05: db 0, 0, 0, 0, 0, 0Ah, 14h, 1Eh, 14h, 0Ah, 0,0F6h,0ECh,0E2h,0ECh,0F6h - db 82h, 4 -ModEnv_06: db 0, 0, 0, 0, 16h, 2Ch, 42h, 2Ch, 16h, 0,0EAh,0D4h,0BEh,0D4h,0EAh, 82h - db 3 -ModEnv_07: db 1, 2, 3, 4, 3, 2, 1, 0,0FFh,0FEh,0FDh,0FCh,0FDh,0FEh,0FFh, 0 - db 82h, 1 +ModEnv_03: db 1, 2, 3, 2, 1, 0, -1, -2, -3, -2, -1, 0, 82h, 0 +ModEnv_04: db 0, 0, 1, 3, 1, 0, -1, -3, -1, 0, 82h, 2 +ModEnv_05: db 0, 0, 0, 0, 0, 10, 20, 30, 20, 10, 0, -10, -20, -30, -20, -10, 82h, 4 +ModEnv_06: db 0, 0, 0, 0, 22, 44, 66, 44, 22, 0, -22, -44, -66, -44, -22, 82h, 3 +ModEnv_07: db 1, 2, 3, 4, 3, 2, 1, 0, -1, -2, -3, -4, -3, -2, -1, 0, 82h, 1 ; --------------------------------------------------------------------------- ; =========================================================================== ; Volume Envelope Pointers @@ -4472,7 +4498,15 @@ VolEnv_07: db 0, 0, 0, 2, 3, 3, 4, 5, 6, 7, 8, 9, 0Ah, VolEnv_08: db 3, 2, 1, 1, 0, 0, 1, 2, 3, 4, 81h VolEnv_09: db 1, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4 db 4, 4, 5, 5, 81h -VolEnv_0A: db 10h, 20h, 30h, 40h, 30h, 20h, 10h, 0,0F0h, 80h +; The -10h in this FM volume envelope appears to be erroneous: +; negative volume attenuations aren't supported, and instead +; trigger the code intended for byte 82h. +; This envelope appears in many SMPS Z80 Type 2 DAC drivers, +; suggesting it was some kind of poorly-thought-out example. +; Oddly, this same envelope appears in Ristar (whose driver +; *does* support negative attenuations), despite SMPS 68k not +; supporting FM volume envelopes. +VolEnv_0A: db 10h, 20h, 30h, 40h, 30h, 20h, 10h, 0,-10h, 80h VolEnv_0B: db 0, 0, 1, 1, 3, 3, 4, 5, 83h VolEnv_0C: db 0, 81h VolEnv_0D: db 2, 83h diff --git a/s3.asm b/s3.asm index 165e3cb8..b15b008c 100644 --- a/s3.asm +++ b/s3.asm @@ -406,7 +406,7 @@ Test_Checksum: bne.s Test_Checksum btst #6,(HW_Expansion_Control).l beq.s loc_6BC - cmpi.l #"init",(Checksum_string).w + cmpi.l #Ref_Checksum_String,(Checksum_string).w beq.w Test_Checksum_Done loc_6BC: @@ -430,9 +430,9 @@ loc_6EA: move.l d7,(a6)+ dbf d6,loc_6EA move.b (HW_Version).l,d0 - andi.b #-$40,d0 + andi.b #$C0,d0 move.b d0,(Graphics_flags).w - move.l #"init",(Checksum_string).w + move.l #Ref_Checksum_String,(Checksum_string).w Test_Checksum_Done: bsr.w DetectPAL @@ -604,7 +604,7 @@ VInt_0_Main: loc_8B2: btst #0,(Z80_bus_request).l bne.s loc_8B2 - bsr.w nullsub_1 + bsr.w sndDriverInput move.w #0,(Z80_bus_request).l bra.s VInt_Done ; --------------------------------------------------------------------------- @@ -650,7 +650,7 @@ VInt_0_FullyUnderwater: VInt_0_Water_Cont: move.w (H_int_counter_command).w,(a5) - bsr.w nullsub_1 + bsr.w sndDriverInput move.w #0,(Z80_bus_request).l bra.w VInt_Done ; --------------------------------------------------------------------------- @@ -698,7 +698,7 @@ loc_9DE: move.w (DMA_trigger_word).w,(a5) VInt_0_Done: - bsr.w nullsub_1 + bsr.w sndDriverInput move.w #0,(Z80_bus_request).l bra.w VInt_Done ; --------------------------------------------------------------------------- @@ -835,7 +835,7 @@ loc_BA8: move.l (V_scroll_value_P2).w,(V_scroll_value_P2_copy).w jsr (SpecialVInt_Function).l jsr (VInt_DrawLevel).l - bsr.w nullsub_1 + bsr.w sndDriverInput move.w #0,(Z80_bus_request).l move #$2300,sr tst.b (Water_flag).w @@ -936,7 +936,7 @@ loc_CDE: loc_D02: bsr.w Process_DMA_Queue move.l (V_scroll_value_P2).w,(V_scroll_value_P2_copy).w - jsr (nullsub_1).l + jsr (sndDriverInput).l move.w #0,(Z80_bus_request).l bsr.w Process_Nem_Queue jmp (Set_Kos_Bookmark).l @@ -994,7 +994,7 @@ loc_D44: loc_DEA: bsr.w Process_DMA_Queue - bsr.w nullsub_1 + bsr.w sndDriverInput move.w #0,(Z80_bus_request).l rts ; --------------------------------------------------------------------------- @@ -1028,7 +1028,7 @@ loc_E04: move.w #$83,(DMA_trigger_word).w move.w (DMA_trigger_word).w,(a5) bsr.w Process_DMA_Queue - bsr.w nullsub_1 + bsr.w sndDriverInput move.w #0,(Z80_bus_request).l bsr.w Process_Nem_Queue tst.w (Demo_timer).w @@ -1111,7 +1111,7 @@ loc_F44: move.w #$83,(DMA_trigger_word).w move.w (DMA_trigger_word).w,(a5) bsr.w Process_DMA_Queue - bsr.w nullsub_1 + bsr.w sndDriverInput move.w #0,(Z80_bus_request).l rts ; End of function Do_ControllerPal @@ -1477,9 +1477,9 @@ HInt2_Do_Updates: ; =============== S U B R O U T I N E ======================================= -nullsub_1: +sndDriverInput: rts -; End of function nullsub_1 +; End of function sndDriverInput ; =============== S U B R O U T I N E ======================================= @@ -1727,27 +1727,27 @@ loc_15B0: ; --------------------------------------------------------------------------- Z80_DefaultVariables: - dc.b 0 ; Unused 1 - dc.b 0 ; Unused 2 - dc.b 0 ; zPalFlag - dc.b 0 ; Unused 3 - dc.b 0 ; zPalDblUpdCounter - dc.b 0 ; zSoundQueue0 - dc.b 0 ; zSoundQueue1 - dc.b 0 ; zSoundQueue2 - dc.b 0 ; zTempoSpeedup - dc.b 0 ; zNextSound - dc.b 0 ; zMusicNumber - dc.b 0 ; zSFXNumber0 - dc.b 0 ; zSFXNumber1 - dc.b 0 ; zFadeOutTimeout - dc.b 0 ; zFadeDelay - dc.b 0 ; zFadeDelayTimeout - -; =============== S U B R O U T I N E ======================================= - - -Play_Sound: + dc.b 0 ; Unused 1 + dc.b 0 ; Unused 2 + dc.b 0 ; zPalFlag + dc.b 0 ; Unused 3 + dc.b 0 ; zPalDblUpdCounter + dc.b 0 ; zSoundQueue0 + dc.b 0 ; zSoundQueue1 + dc.b 0 ; zSoundQueue2 + dc.b 0 ; zTempoSpeedup + dc.b 0 ; zNextSound + dc.b 0 ; zMusicNumber + dc.b 0 ; zSFXNumber0 + dc.b 0 ; zSFXNumber1 + dc.b 0 ; zFadeOutTimeout + dc.b 0 ; zFadeDelay + dc.b 0 ; zFadeDelayTimeout + +; =============== S U B R O U T I N E ======================================= + + +Play_Music: move.w #$100,(Z80_bus_request).l loc_15EA: @@ -1756,18 +1756,18 @@ loc_15EA: move.b d0,(Z80_RAM+$1C0A).l move.w #0,(Z80_bus_request).l rts -; End of function Play_Sound +; End of function Play_Music ; --------------------------------------------------------------------------- -Play_Sound_Local: +Play_SFX_Local: tst.b 4(a0) bpl.s locret_164A ; =============== S U B R O U T I N E ======================================= -Play_Sound_2: +Play_SFX: move.w #$100,(Z80_bus_request).l loc_1612: @@ -1790,7 +1790,7 @@ loc_1642: locret_164A: rts -; End of function Play_Sound_2 +; End of function Play_SFX ; =============== S U B R O U T I N E ======================================= @@ -1855,7 +1855,7 @@ Pause_NoSlowMo: bcs.s Pause_ChkStart cmpi.b #$12,(Current_zone).w bhi.s Pause_ChkStart - tst.b (Competition_mode_type).w + tst.b (Competition_type).w bpl.s Pause_ChkStart btst #4,(Ctrl_1_pressed).w beq.s Pause_ChkStart @@ -2003,7 +2003,7 @@ loc_181C: loc_1834: move.w #0,(DMA_queue).w - move.l #-$500,(DMA_queue_slot).w + move.l #DMA_queue,(DMA_queue_slot).w rts ; End of function Process_DMA_Queue @@ -2703,12 +2703,8 @@ locret_1CBA: Kos_Decomp: - -var_2 = -2 -var_1 = -1 - subq.l #2,sp - move.b (a0)+,2+var_1(sp) + move.b (a0)+,1(sp) move.b (a0)+,(sp) move.w (sp),d5 moveq #$F,d4 @@ -2717,7 +2713,7 @@ Kos_Decomp_Loop: lsr.w #1,d5 move sr,d6 dbf d4,Kos_Decomp_ChkBit - move.b (a0)+,2+var_1(sp) + move.b (a0)+,1(sp) move.b (a0)+,(sp) move.w (sp),d5 moveq #$F,d4 @@ -2734,7 +2730,7 @@ Kos_Decomp_Match: lsr.w #1,d5 move sr,d6 dbf d4,Kos_Decomp_ChkBit2 - move.b (a0)+,2+var_1(sp) + move.b (a0)+,1(sp) move.b (a0)+,(sp) move.w (sp),d5 moveq #$F,d4 @@ -2744,7 +2740,7 @@ Kos_Decomp_ChkBit2: bcs.s Kos_Decomp_FullMatch lsr.w #1,d5 dbf d4,loc_1D0A - move.b (a0)+,2+var_1(sp) + move.b (a0)+,1(sp) move.b (a0)+,(sp) move.w (sp),d5 moveq #$F,d4 @@ -2753,7 +2749,7 @@ loc_1D0A: roxl.w #1,d3 lsr.w #1,d5 dbf d4,loc_1D1C - move.b (a0)+,2+var_1(sp) + move.b (a0)+,1(sp) move.b (a0)+,(sp) move.w (sp),d5 moveq #$F,d4 @@ -3221,7 +3217,7 @@ AnPal_Load: OffsAnPal: dc.w AnPal_AIZ1-OffsAnPal dc.w AnPal_AIZ2-OffsAnPal dc.w AnPal_HCZ1-OffsAnPal - dc.w AnPal_None2-OffsAnPal + dc.w AnPal_HCZ2-OffsAnPal dc.w AnPal_None-OffsAnPal dc.w AnPal_None-OffsAnPal dc.w AnPal_CNZ-OffsAnPal @@ -3416,7 +3412,7 @@ locret_2608: ; --------------------------------------------------------------------------- -AnPal_None2: +AnPal_HCZ2: rts ; --------------------------------------------------------------------------- @@ -4092,7 +4088,7 @@ loc_33B8: ; =============== S U B R O U T I N E ======================================= -Pal_FromBlackWhite: +Pal_FadeFromWhite: move.w #$3F,(Palette_fade_info).w moveq #0,d0 lea (Normal_palette).w,a0 @@ -4113,7 +4109,7 @@ loc_33E0: bsr.w Process_Nem_Queue_Init dbf d4,loc_33E0 rts -; End of function Pal_FromBlackWhite +; End of function Pal_FadeFromWhite ; =============== S U B R O U T I N E ======================================= @@ -4352,8 +4348,8 @@ Sega_Screen: ; --------------------------------------------------------------------------- Title_Screen: - moveq #mus_FadeOut,d0 - bsr.w Play_Sound + moveq #signextendB(mus_FadeOut),d0 + bsr.w Play_Music bsr.w Clear_Nem_Queue bsr.w Pal_FadeToBlack move #$2700,sr @@ -4448,11 +4444,11 @@ loc_36AE: ori.b #$40,d0 move.w d0,(VDP_control_port).l bsr.w Pal_FadeFromBlack - moveq #mus_SEGA,d0 - bsr.w Play_Sound + moveq #signextendB(mus_SEGA),d0 + bsr.w Play_Music move.w #$B4,(Demo_timer).w -Wait_SegaS3K: +Wait_Sega: move.b #$14,(V_int_routine).w bsr.w Wait_VSync move.b (Ctrl_1_pressed).w,d0 @@ -4460,11 +4456,11 @@ Wait_SegaS3K: andi.b #-$80,d0 bne.w loc_36F8 tst.w (Demo_timer).w - bne.s Wait_SegaS3K + bne.s Wait_Sega loc_36F8: - moveq #mus_StopSEGA,d0 - bsr.w Play_Sound + moveq #signextendB(mus_StopSEGA),d0 + bsr.w Play_Music lea (Pal_Title).l,a1 loc_3704: @@ -4488,10 +4484,10 @@ loc_3704: lea (ArtKos_S3TitleSonic8).l,a1 lea (RAM_start).l,a2 jsr (Queue_Kos).l - moveq #mus_TitleScreen,d0 - bsr.w Play_Sound + moveq #signextendB(mus_TitleScreen),d0 + bsr.w Play_Music -Wait_TitleS3K: +Wait_Title: move.b #4,(V_int_routine).w jsr (Process_Kos_Queue).l bsr.w Wait_VSync @@ -4505,7 +4501,7 @@ Wait_TitleS3K: andi.b #-$80,d0 bne.w loc_379E cmpi.w #$C,(Title_anim_frame).w - bcs.s Wait_TitleS3K + bcs.s Wait_Title loc_379E: move.w #$C,(Title_anim_frame).w @@ -4605,8 +4601,8 @@ loc_38D8: move.b d0,(Continue_count).w move.l #5000,(Next_extra_life_score).w move.l #5000,(Next_extra_life_score_P2).w - moveq #mus_FadeOut,d0 - bsr.w Play_Sound_2 + moveq #signextendB(mus_FadeOut),d0 + bsr.w Play_SFX moveq #0,d0 move.b (Title_screen_option).w,d0 bne.w loc_3964 @@ -4627,8 +4623,8 @@ loc_3970: ; --------------------------------------------------------------------------- loc_3978: - moveq #mus_FadeOut,d0 - bsr.w Play_Sound_2 + moveq #signextendB(mus_FadeOut),d0 + bsr.w Play_SFX move.w (Next_demo_number).w,d0 andi.w #7,d0 add.w d0,d0 @@ -4738,8 +4734,6 @@ SonicFrameIndex:dc.b 1, 2, 3, 4, 5, 6, 7, 8, 9, $A, $B, $FF locret_3AB0: rts -; End of function Iterate_TitleSonicFrame - ; --------------------------------------------------------------------------- move.b (Title_anim_buffer).w,d2 cmpi.b #1,d2 @@ -4773,6 +4767,8 @@ loc_3AFC: locret_3B0A: rts +; End of function Iterate_TitleSonicFrame + ; =============== S U B R O U T I N E ======================================= @@ -5018,8 +5014,8 @@ OldDebugCode: tst.b 1(a1) bne.s locret_406C move.w #$101,(Debug_cheat_flag).w - moveq #sfx_RingLoss,d0 - bsr.w Play_Sound_2 + moveq #signextendB(sfx_RingLoss),d0 + bsr.w Play_SFX loc_4066: move.w #0,(Debug_mode_cheat_counter).w @@ -5027,18 +5023,8 @@ loc_4066: locret_406C: rts ; --------------------------------------------------------------------------- -OldDebugCodeDat:dc.b $20 - dc.b $30 - dc.b $70 - dc.b $10 - dc.b $50 - dc.b $70 - dc.b $40 - dc.b $60 - dc.b $70 - dc.b $71 - dc.b $72 - dc.b 0 +OldDebugCodeDat:dc.b $20, $30, $70, $10, $50, $70, $40, $60, $70, $71, $72, 0 + even ; --------------------------------------------------------------------------- Obj_TitleCopyright: @@ -5097,8 +5083,8 @@ loc_4124: move.b d2,(Title_screen_option).w andi.b #3,d0 beq.s loc_413A - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l loc_413A: jmp (Draw_Sprite).l @@ -5200,8 +5186,8 @@ S3_Level_Select_Code: bne.s locret_42C8 move.w #$101,(Level_select_flag).w move.w #$101,(Debug_cheat_flag).w - moveq #sfx_RingRight,d0 - bsr.w Play_Sound_2 + moveq #signextendB(sfx_RingRight),d0 + bsr.w Play_SFX loc_42C2: move.w #0,(Level_select_cheat_counter).w @@ -5211,16 +5197,8 @@ locret_42C8: ; End of function S3_Level_Select_Code ; --------------------------------------------------------------------------- -LSelect3CodeDat:dc.b 1 - dc.b 1 - dc.b 2 - dc.b 2 - dc.b 1 - dc.b 1 - dc.b 1 - dc.b 1 - dc.b 0 - dc.b 0 +LSelect3CodeDat:dc.b 1, 1, 2, 2, 1, 1, 1, 1, 0 + even Map_TitleScreenText: include "General/Title/Map - S3 Screen Text.asm" ArtNem_TitleScreenText: @@ -5231,39 +5209,39 @@ Map_TitleSonicAnim: Map_TitleTailsPlane: include "General/Title/Map - S3 Tails Plane.asm" LevelMusic_Playlist: - dc.b mus_AIZ1, mus_AIZ2 ; ANGEL ISLAND ZONE - dc.b mus_HCZ1, mus_HCZ2 ; HYDROCITY ZONE ACT - dc.b mus_MGZ1, mus_MGZ2 ; MARBLE GARDEN ZONE - dc.b mus_CNZ1, mus_CNZ2 ; CARNIVAL NIGHT ZONE - dc.b mus_FBZ1, mus_FBZ2 ; FLYING BATTERY ZONE - dc.b mus_ICZ1, mus_ICZ2 ; ICE CAP ZONE - dc.b mus_LBZ1, mus_LBZ2 ; LAUNCH BASE ZONE - dc.b mus_MHZ1, mus_MHZ2 ; MUSHROOM HILL ZONE - dc.b mus_SOZ1, mus_SOZ2 ; SANDOPOLIS ZONE - dc.b mus_LRZ1, mus_HPZ ; LAVA REEF ZONE - dc.b mus_SSZ, mus_DEZ1 ; SKY SANCTUARY ZONE - dc.b mus_DEZ2, mus_DEZ2 ; DEATH EGG ZONE - dc.b mus_DDZ, mus_DDZ ; DOOMSDAY ZONE - dc.b mus_SpecialStage, mus_SpecialStage; AIZ INTRO & ENDING - dc.b mus_ALZ, mus_ALZ ; AZURE LAKE ZONE - dc.b mus_BPZ, mus_BPZ ; BALLOON PARK ZONE - dc.b mus_DPZ, mus_DPZ ; DESERT PALACE ZONE - dc.b mus_CGZ, mus_CGZ ; CHROME GADGET ZONE - dc.b mus_EMZ, mus_EMZ ; ENDLESS MINE ZONE - dc.b mus_Gumball, mus_Gumball ; GUMBALL - dc.b mus_SlotMachine, mus_SlotMachine ; PACHINKO? - dc.b mus_Gumball, mus_Gumball ; SLOTS? - dc.b mus_SpecialStage, mus_SpecialStage; LAVA REEF ZONE BOSS & HIDDEN PALACE ZONE - dc.b mus_SpecialStage, mus_SpecialStage; FINAL BOSS & SPECIAL STAGE? - even + dc.b mus_AIZ1, mus_AIZ2 ; ANGEL ISLAND ZONE + dc.b mus_HCZ1, mus_HCZ2 ; HYDROCITY ZONE + dc.b mus_MGZ1, mus_MGZ2 ; MARBLE GARDEN ZONE + dc.b mus_CNZ1, mus_CNZ2 ; CARNIVAL NIGHT ZONE + dc.b mus_FBZ1, mus_FBZ2 ; FLYING BATTERY ZONE + dc.b mus_ICZ1, mus_ICZ2 ; ICECAP ZONE + dc.b mus_LBZ1, mus_LBZ2 ; LAUNCH BASE ZONE + dc.b mus_MHZ1, mus_MHZ2 ; MUSHROOM HILL ZONE + dc.b mus_SOZ1, mus_SOZ2 ; SANDOPOLIS ZONE + dc.b mus_LRZ1, mus_LRZ2 ; LAVA REEF ZONE + dc.b mus_SSZ, mus_DEZ1 ; SKY SANCTUARY ZONE + dc.b mus_DEZ2, mus_DEZ2 ; DEATH EGG ZONE + dc.b mus_DDZ, mus_DDZ ; DOOMSDAY ZONE + dc.b mus_SpecialStage, mus_SpecialStage; AIZ INTRO & ENDING + dc.b mus_ALZ, mus_ALZ ; AZURE LAKE ZONE + dc.b mus_BPZ, mus_BPZ ; BALLOON PARK ZONE + dc.b mus_DPZ, mus_DPZ ; DESERT PALACE ZONE + dc.b mus_CGZ, mus_CGZ ; CHROME GADGET ZONE + dc.b mus_EMZ, mus_EMZ ; ENDLESS MINE ZONE + dc.b mus_Gumball, mus_Gumball ; GUMBALL + dc.b mus_Slots, mus_Slots ; PACHINKO + dc.b mus_Gumball, mus_Gumball ; SLOTS + dc.b mus_SpecialStage, mus_SpecialStage; LAVA REEF ZONE BOSS & HIDDEN PALACE ZONE + dc.b mus_SpecialStage, mus_SpecialStage; FINAL BOSS & SPECIAL STAGE HUB + even ; --------------------------------------------------------------------------- Level: bset #7,(Game_mode).w tst.w (Demo_mode_flag).w bmi.s loc_46C2 - moveq #mus_FadeOut,d0 - bsr.w Play_Sound_2 + moveq #signextendB(mus_FadeOut),d0 + bsr.w Play_SFX loc_46C2: clr.w (Kos_decomp_queue_count).w @@ -5298,6 +5276,9 @@ loc_4712: loc_471E: move.w (Current_zone_and_act).w,d0 + + ; Useless code. Player_mode has not been set yet, and even if none of + ; these branches get taken, level $D00 has the same PLCs as level 0. bne.s loc_4736 cmpi.w #2,(Player_mode).w beq.s loc_4732 @@ -5456,8 +5437,8 @@ loc_48BA: lsr.w #7,d0 lea (LevelMusic_Playlist).l,a1 move.b (a1,d0.w),d0 - move.w d0,(Level_music).w - bsr.w Play_Sound + move.w d0,(Current_music).w + bsr.w Play_Music tst.w (Current_zone_and_act).w bne.s loc_48F2 cmpi.w #2,(Player_mode).w @@ -5499,7 +5480,7 @@ loc_4942: jsr (j_LevelSetup).l move #$2300,sr jsr (Animate_Init).l - jsr (nullsub_4).l + jsr (ConvertCollisionArray).l bsr.w LoadSolids bsr.w Handle_Onscreen_Water_Height move.w (Ctrl_2).w,(_unkFF7C).w @@ -5547,7 +5528,7 @@ loc_4A0C: move.w d0,(Total_ring_count_P2).w move.w d0,(Monitors_broken).w move.w d0,(Monitors_broken_P2).w - move.w d0,(_unkFEDE).w + move.w d0,(Loser_time_left).w move.b d0,(LRZ_rocks_routine).w bsr.w sub_58F4 move.b #1,(Update_HUD_score).w @@ -5558,7 +5539,7 @@ loc_4A0C: jsr (Load_Sprites).l jsr (Load_Rings).l jsr (S2_SpecialCNZBumpers).l - jsr (nullsub_5).l + jsr (Draw_LRZ_Special_Rock_Sprites).l jsr (Process_Sprites).l jsr (Render_Sprites).l jsr (Animate_Tiles).l @@ -5617,13 +5598,13 @@ LevelLoop: jsr (DeformBgLayer).l jsr (ScreenEvents).l bsr.w Handle_Onscreen_Water_Height - bsr.w nullsub_3 + bsr.w UpdateWaterSurface jsr (Load_Rings).l jsr (Animate_Tiles).l bsr.w Process_Nem_Queue_Init jsr (Process_Kos_Module_Queue).l - bsr.w sub_594A - bsr.w sub_59E0 + bsr.w OscillateNumDo + bsr.w ChangeRingFrame jsr (Render_Sprites).l jsr (Load_Sprites).l cmpi.b #8,(Game_mode).w @@ -5812,7 +5793,7 @@ loc_4DAE: SpawnLevelMainSprites: - move.l #Obj_Level_50B2,(Reserved_object_3).w + move.l #Obj_ResetCollisionResponseList,(Reserved_object_3).w bsr.w SpawnLevelMainSprites_SpawnPlayers bsr.w SpawnLevelMainSprites_SpawnPowerup tst.b (Last_star_post_hit).w @@ -5931,7 +5912,7 @@ loc_4EF2: andi.b #$8E,$2B(a1) bset #0,$2B(a1) bset #4,$2B(a1) - move.l #Obj_Fire_Shield,(Shield).w + move.l #Obj_FireShield,(Shield).w move.w a1,(Shield+parent).w rts ; --------------------------------------------------------------------------- @@ -5942,7 +5923,7 @@ loc_4F18: andi.b #$8E,$2B(a1) bset #0,$2B(a1) bset #5,$2B(a1) - move.l #Obj_Lightning_Shield,(Shield).w + move.l #Obj_LightningShield,(Shield).w move.w a1,(Shield+parent).w rts ; --------------------------------------------------------------------------- @@ -5953,7 +5934,7 @@ loc_4F3E: andi.b #$8E,$2B(a1) bset #0,$2B(a1) bset #6,$2B(a1) - move.l #Obj_Bubble_Shield,(Shield).w + move.l #Obj_BubbleShield,(Shield).w move.w a1,(Shield+parent).w rts ; --------------------------------------------------------------------------- @@ -5973,7 +5954,7 @@ SpawnLevelMainSprites_SpawnPlayers: bne.s loc_4FC2 move.l #Obj_Sonic,(Player_1).w move.l #Obj_DashDust,(Dust).w - move.l #Obj_Insta_Shield,(Shield).w + move.l #Obj_InstaShield,(Shield).w move.w #Player_1,(Shield+parent).w move.l #Obj_Tails,(Player_2).w move.w (Player_1+x_pos).w,(Player_2+x_pos).w @@ -5990,7 +5971,7 @@ loc_4FC2: bne.s loc_4FE6 move.l #Obj_Sonic,(Player_1).w move.l #Obj_DashDust,(Dust).w - move.l #Obj_Insta_Shield,(Shield).w + move.l #Obj_InstaShield,(Shield).w move.w #Player_1,(Shield+parent).w rts ; --------------------------------------------------------------------------- @@ -6068,17 +6049,15 @@ Pal_Level_2P: binclude "Levels/Misc/Palettes/2P Level Secondary.bin" even ; --------------------------------------------------------------------------- -Obj_Level_50B2: +Obj_ResetCollisionResponseList: move.w #0,(Collision_response_list).w rts ; =============== S U B R O U T I N E ======================================= -nullsub_3: +UpdateWaterSurface: rts -; End of function nullsub_3 - ; --------------------------------------------------------------------------- tst.b (Water_flag).w beq.s locret_50DC @@ -6094,6 +6073,8 @@ loc_50D2: locret_50DC: rts +; End of function UpdateWaterSurface + ; =============== S U B R O U T I N E ======================================= @@ -6728,7 +6709,8 @@ loc_572E: byte_573A: dc.b $F8, $F8, 8, 8, $F4, $F4, $F4, $C, $C, $C dc.b $1C, $72, $83, $84, $8B, $91, $9F, $A0, $A5, $A6 byte_574E: dc.b $2E, $C6, $33, $C5, $24, $2A, $44, $1F, $27, $2B -WaterTransition_AIZ1:dc.w $F +WaterTransition_AIZ1: + dc.w $F dc.w 2 dc.w $68 dc.w $62 @@ -6745,7 +6727,8 @@ WaterTransition_AIZ1:dc.w $F dc.w $3A dc.w $2E dc.w $28 -WaterTransition_AIZ2:dc.w $12 +WaterTransition_AIZ2: + dc.w $12 dc.w $6E dc.w $68 dc.w 2 @@ -6765,7 +6748,8 @@ WaterTransition_AIZ2:dc.w $12 dc.w $3A dc.w $2E dc.w $28 -WaterTransition_CNZ2ICZ2:dc.w $13 +WaterTransition_CNZ2ICZ2: + dc.w $13 dc.w $6E dc.w $68 dc.w $7A @@ -6786,7 +6770,8 @@ WaterTransition_CNZ2ICZ2:dc.w $13 dc.w $2E dc.w $28 dc.w $54 -WaterTransition_HCZLBZ1:dc.w $13 +WaterTransition_HCZLBZ1: + dc.w $13 dc.w 2 dc.w $74 dc.w $62 @@ -6807,7 +6792,8 @@ WaterTransition_HCZLBZ1:dc.w $13 dc.w $3A dc.w $22 dc.w $4E -WaterTransition_LBZ2:dc.w $13 +WaterTransition_LBZ2: + dc.w $13 dc.w 2 dc.w $6E dc.w $68 @@ -6828,7 +6814,8 @@ WaterTransition_LBZ2:dc.w $13 dc.w $3A dc.w $22 dc.w $4E -WaterTransition_Unk:dc.w $13 +WaterTransition_Unk: + dc.w $13 dc.w 2 dc.w 8 dc.w $E @@ -6928,62 +6915,46 @@ LoadSolids: sub_58F4: lea (Oscillating_table).w,a1 - lea (word_5908).l,a2 + lea (Osc_Data).l,a2 moveq #(Oscillating_table_end-Oscillating_table)/2-1,d1 -loc_5900: +Osc_Loop: move.w (a2)+,(a1)+ - dbf d1,loc_5900 + dbf d1,Osc_Loop rts -; End of function sub_58F4 +; End of function OscillateNumInit ; --------------------------------------------------------------------------- -word_5908: dc.w $7D - dc.w $80 - dc.w 0 - dc.w $80 - dc.w 0 - dc.w $80 - dc.w 0 - dc.w $80 - dc.w 0 - dc.w $80 - dc.w 0 - dc.w $80 - dc.w 0 - dc.w $80 - dc.w 0 - dc.w $80 - dc.w 0 - dc.w $80 - dc.w 0 - dc.w $3848 - dc.w $EE - dc.w $2080 - dc.w $B4 - dc.w $3080 - dc.w $10E - dc.w $5080 - dc.w $1C2 - dc.w $7080 - dc.w $276 - dc.w $80 - dc.w 0 - dc.w $4000 - dc.w $FE +Osc_Data: dc.w %0000000001111101 ; oscillation direction bitfield + dc.w $80, 0 ; baseline values + dc.w $80, 0 + dc.w $80, 0 + dc.w $80, 0 + dc.w $80, 0 + dc.w $80, 0 + dc.w $80, 0 + dc.w $80, 0 + dc.w $80, 0 + dc.w $3848, $EE + dc.w $2080, $B4 + dc.w $3080, $10E + dc.w $5080, $1C2 + dc.w $7080, $276 + dc.w $80, 0 + dc.w $4000, $FE ; =============== S U B R O U T I N E ======================================= -sub_594A: +OscillateNumDo: tst.w (Competition_mode).w bne.s loc_5958 cmpi.b #6,(Player_1+routine).w - bcc.s locret_599E + bcc.s OscillateNumDo_Return loc_5958: lea (Oscillating_table).w,a1 - lea (word_59A0).l,a2 + lea (Osc_Data2).l,a2 move.w (a1)+,d3 moveq #$F,d1 @@ -7016,48 +6987,32 @@ loc_5994: dbf d1,loc_5966 move.w d3,(Oscillating_table).w -locret_599E: +OscillateNumDo_Return: rts -; End of function sub_594A +; End of function OscillateNumDo ; --------------------------------------------------------------------------- -word_59A0: dc.w 2 - dc.w $10 - dc.w 2 - dc.w $18 - dc.w 2 - dc.w $20 - dc.w 2 - dc.w $30 - dc.w 4 - dc.w $20 - dc.w 8 - dc.w 8 - dc.w 8 - dc.w $40 - dc.w 4 - dc.w $40 - dc.w 2 - dc.w $38 - dc.w 2 - dc.w $38 - dc.w 2 - dc.w $20 - dc.w 3 - dc.w $30 - dc.w 5 - dc.w $50 - dc.w 7 - dc.w $70 - dc.w 2 - dc.w $40 - dc.w 2 - dc.w $40 +Osc_Data2: dc.w 2, $10 + dc.w 2, $18 + dc.w 2, $20 + dc.w 2, $30 + dc.w 4, $20 + dc.w 8, 8 + dc.w 8, $40 + dc.w 4, $40 + dc.w 2, $38 + dc.w 2, $38 + dc.w 2, $20 + dc.w 3, $30 + dc.w 5, $50 + dc.w 7, $70 + dc.w 2, $40 + dc.w 2, $40 ; =============== S U B R O U T I N E ======================================= -sub_59E0: +ChangeRingFrame: subq.b #1,(Rings_frame_timer).w bpl.s loc_59F6 move.b #7,(Rings_frame_timer).w @@ -7079,95 +7034,11 @@ loc_59F6: loc_5A18: addi.w #$180,(AIZ_vine_angle).w rts -; End of function sub_59E0 - -; --------------------------------------------------------------------------- - dc.b 0, $FF, 0, $FF - dc.b 0, $BA, 2, 4, 0, 6, $20, $27, 0, $73, 8, 8 - dc.b 0, $57, 2, 4, 0, 7, 8, $AB, $28, 5, 8, $64 - dc.b 0, $D, 8, 3, 0, 4, 4, $12, 0, 8, $20, $C - dc.b 0, $D, 4, $12, 0, 3, 8, $37, $28, $B, 8, 2 - dc.b 0, 2, 4, 9, 0, $F, 8, $20, $28, $D, $20, 3 - dc.b $28, 3, $20, 0, 0, 3, 4, $F, 5, 0, 9, 0 - dc.b 8, $B, $28, 2, $20, $C, 0, $B, 4, 5, 0, 7 - dc.b 4, $30, 5, 0, 0, 3, 8, $12, 0, $1A, $20, $22 - dc.b $28, 0, 8, $E, 0, $75, 8, $5B, $28, 4, 8, $47 - dc.b $28, $A, $20, 0, 0, 9, 8, $C, 0, 9, 4, $1D - dc.b $24, 3, $20, 4, 0, 5, 8, 8, 0, 2, 4, 8 - dc.b 0, $B, 8, 8, 0, 3, 4, 4, 0, $C, 8, $1B - dc.b $28, $A, 8, $CD, $28, 7, 8, $54, $28, $E, 8, $12 - dc.b 0, 4, 4, 9, 0, $B, 8, $10, $28, 1, $20, 0 - dc.b $24, 7, $25, 0, $28, 3, 8, 5, 4, 8, 5, 0 - dc.b 9, 0, 8, $2B, 0, $AD, $20, $A, $28, $14, 8, $5C - dc.b $28, 9, 8, $14, 9, 0, 5, $12, 1, 0, 8, $FF - dc.b 8, $72, 9, 0, 5, 9, 1, 0, 0, 7, 8, $1B - dc.b 0, $36, 4, $56, 0, $A, 8, $13, 0, $13, 8, $C - dc.b 0, $1B, 8, $11, 0, $17, 4, $E, 0, $D, 8, $14 - dc.b 0, $C, 4, $17, 0, $14, 8, $E, 0, $23, 4, $13 - dc.b 0, $F, 8, $C, 0, $28, 4, 3, 0, 4, 4, $1F - dc.b 0, $B, 8, 7, 0, $F, 8, $F, 0, $1A, 4, 6 - dc.b 0, 5, 4, $E, 0, 7, 8, 8, 0, 3, 4, $10 - dc.b 0, 4, 8, $4D, 0, 5, 4, $24, $24, 8, 4, $2D - dc.b 0, 2, 8, 9, $28, 9, 8, $34, 0, $15, 4, $B - dc.b $24, 7, 4, $2D, 0, $2A, 8, $1D, 0, $1E, 8, $10 - dc.b 0, $F5, $80, 0, $40, 0, 8, $1E, 0, $18, 4, $26 - dc.b 0, $10, 8, $18, 0, $E, $80, 0, $40, 0, 8, $24 - dc.b 0, 1, $20, 5, 0, $E, 8, $34, 0, $FF, 0, $9B - dc.b $80, 0, $40, 0, $20, 7, 0, 6, 4, $2A, $25, 2 - dc.b $21, 0, $29, 1, $28, 2, $20, 8, $25, $C, 5, 1 - dc.b 8, $30, $28, $21, 8, $1A, $28, $3D, 8, 6, 0, 4 - dc.b 4, $25, $24, $18, 4, $15, 0, 8, 4, $3A, $24, $C - dc.b 4, 9, 0, $14, 4, $52, 5, 0, 1, 0, 8, $7C - dc.b $28, $17, 8, $22, $28, $23, 8, 2, 0, 7, 4, $33 - dc.b $24, $19, 4, $3C, $24, $18, 4, $49, 0, 8, 8, $6A - dc.b $28, $1B, 8, 2, $28, $12, 8, $11, 0, 4, $20, 6 - dc.b 0, 4, 8, 8, 0, $B, 8, $10, $28, $30, 8, $E - dc.b 0, $10, 4, $1E, $24, $14, 4, $33, $24, $1C, 4, $52 - dc.b 0, 5, 8, $76, $28, 9, 8, $F, 9, 0, 5, 8 - dc.b 8, $38, $28, $3B, 8, 5, 0, 9, 4, $1D, $24, $1B - dc.b 4, $5D, $24, $D, 4, $1A, 0, $E, 4, $1A, 5, 0 - dc.b 9, 0, 8, $38, $28, $24, 8, 6, 9, 1, 1, 0 - dc.b 5, 5, 1, 0, 8, 5, $28, $24, 8, 0, 0, 3 - dc.b 4, $3B, $24, $15, 4, $44, 0, $20, 8, $7B, $28, $26 - dc.b 8, $14, $28, $21, $29, 0, 1, 0, 5, $32, $25, $18 - dc.b 5, $10, 9, 0, 8, $1E, $28, $F, 8, 3, 0, 0 - dc.b 5, 2, 4, 0, 0, $11, 8, $19, $28, $23, 0, 3 - dc.b 4, $2B, $24, 8, $20, 7, 0, $1B, 8, $25, 0, 0 - dc.b 4, $13, 0, 0, 8, 9, $28, $1B, 8, 1, 0, $14 - dc.b 4, $C, $24, $13, 4, $C, 0, 2, 8, $1B, $28, $10 - dc.b 8, 2, 0, $1F, 4, $A, 5, 0, $25, 9, $24, $A - dc.b 4, $18, 0, $A, 8, $2D, $28, $28, 8, 7, 0, 6 - dc.b 4, $1C, $24, $13, 4, 4, 0, $16, 8, $2B, $28, $26 - dc.b 8, $A, 0, $B, 4, $23, $24, $12, 4, 2, 0, 9 - dc.b 8, $2F, $28, $30, 8, $D, 0, 2, 4, $1A, $24, $11 - dc.b 4, $15, 0, 8, 8, $21, $28, $14, $20, $2D, $24, 8 - dc.b $20, $11, 0, 2, 4, 6, $24, $19, 4, $2E, 0, 0 - dc.b $20, $B, 0, $A, 4, $1C, $24, 8, 4, 9, 0, 8 - dc.b 4, $17, 0, $13, 8, $1C, $28, $32, 8, $B, $28, $1D - dc.b 8, $1B, $28, 6, $20, 0, 0, $1F, 8, $10, $28, 5 - dc.b $20, 2, 0, 3, 4, 8, 0, 7, 4, 9, 0, 0 - dc.b 8, $A, 0, $F, 8, $17, $28, 6, $20, 0, 0, $B - dc.b 4, 5, 0, 2, 8, 5, 0, $A, 8, 9, $28, 8 - dc.b 8, 2, 0, $1C, 8, $2A, $28, 1, $20, $A, 0, 0 - dc.b 4, $31, $24, 2, $20, 6, 0, 9, 8, 7, 0, 5 - dc.b $A, 4, 8, 4, 0, 3, 4, $D, 0, 0, 8, $2C - dc.b $28, 2, $20, 3, $24, $A, $25, 0, $29, 0, $28, 5 - dc.b $24, 4, $25, 0, $21, 0, $28, 8, $25, $D, 5, $17 - dc.b $25, 0, $29, 1, $28, $16, $20, 1, 0, $2C, 8, $8C - dc.b $28, $2A, 8, $B, $28, $23, 8, $25, $28, $12, 8, 2 - dc.b $28, $F, 8, $FF, 8, $DD, 0, $1E, $80, 0, $40, 0 - dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 4, $27, 8 - dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 4, $27, 8 - dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 0, $27, 8 - dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 4, $27, 8 - dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 4, $27, 8 - dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 0, $27, 8 - dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 4, $27, 8 - dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 4, $27, 8 - dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 0, $27, 8 - dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 4, $27, 8 - dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 4, $27, 8 - dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 0, $27, 8 +; End of function ChangeRingFrame + +; --------------------------------------------------------------------------- +S2_DemoDat_AIZ: binclude "Levels/AIZ/Demodata/1 Proto.bin" + even ; =============== S U B R O U T I N E ======================================= @@ -7497,8 +7368,8 @@ loc_62E0: move.l (a1),(a2)+ clr.l (a1)+ dbf d1,loc_62E0 - moveq #mus_DataSelect,d0 - bsr.w Play_Sound + moveq #signextendB(mus_DataSelect),d0 + bsr.w Play_Music move.w #$707,(Demo_timer).w clr.w (Competition_mode).w clr.l (Camera_X_pos).w @@ -7530,8 +7401,8 @@ LevelSelect2P_Main: LevelSelect2P_PressStart: bsr.w Chk2PZoneCompletion bmi.s loc_6368 - moveq #sfx_Error,d0 - bsr.w Play_Sound_2 + moveq #signextendB(sfx_Error),d0 + bsr.w Play_SFX bra.w LevelSelect2P_Main ; --------------------------------------------------------------------------- @@ -7564,7 +7435,7 @@ loc_63BE: move.b #$10,(Game_mode).w moveq #1,d0 move.w d0,(Competition_mode).w - move.w d0,(Competition_mode_monitors).w + move.w d0,(Competition_settings).w rts ; --------------------------------------------------------------------------- LevelSelect2P_LevelOrder: @@ -7755,8 +7626,8 @@ MenuScreen_Options: jsr (AnimateTiles_DoAniPLC).l moveq #4,d0 bsr.w LoadPalette - moveq #mus_DataSelect,d0 - bsr.w Play_Sound + moveq #signextendB(mus_DataSelect),d0 + bsr.w Play_Music clr.w (Competition_mode).w clr.l (Camera_X_pos).w clr.l (Camera_Y_pos).w @@ -7791,7 +7662,7 @@ OptionScreen_Select: bne.s OptionScreen_Select_Not1P moveq #0,d0 move.w d0,(Competition_mode).w - move.w d0,(Competition_mode_monitors).w + move.w d0,(Competition_settings).w move.w d0,(Current_zone_and_act).w move.w d0,(Apparent_zone_and_act).w move.w d0,(Saved_zone_and_act).w @@ -7804,7 +7675,7 @@ OptionScreen_Select_Not1P: bne.s OptionScreen_Select_Other moveq #1,d0 move.w d0,(Competition_mode).w - move.w d0,(Competition_mode_monitors).w + move.w d0,(Competition_settings).w move.b #$1C,(Game_mode).w move.b #0,(Current_zone_2P).w move.w #0,(Player_mode).w @@ -7872,7 +7743,7 @@ loc_66D0: andi.w #$30,d0 beq.s locret_66FE move.w (Sound_test_sound).w,d0 - bsr.w Play_Sound + bsr.w Play_Music lea (S2LevelSelectCodeDat).l,a0 lea (S2ContinueCodeDat).l,a2 lea (Level_select_flag).w,a1 @@ -8121,8 +7992,8 @@ loc_696C: move.l (a1),(a2)+ clr.l (a1)+ dbf d1,loc_696C - moveq #mus_DataSelect,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_DataSelect),d0 + jsr (Play_Music).l move.w #$707,(Demo_timer).w clr.w (Competition_mode).w clr.l (Camera_X_pos).w @@ -8250,10 +8121,10 @@ LevelSelect_StartZone: move.b d0,(Continue_count).w move.l #5000,(Next_extra_life_score).w move.l #5000,(Next_extra_life_score_P2).w - moveq #mus_FadeOut,d0 - jsr (Play_Sound_2).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_SFX).l moveq #0,d0 - move.w d0,(Competition_mode_monitors).w + move.w d0,(Competition_settings).w move.w d0,(Competition_mode).w cmpi.b #$E,(Current_zone).w bcs.s locret_6B48 @@ -8329,7 +8200,7 @@ loc_6BCA: btst #5,d1 beq.s loc_6BF4 move.w (Sound_test_sound).w,d0 - jsr (Play_Sound).l + jsr (Play_Music).l lea (DebugCodeDat).l,a0 lea (AllEmeraldsCodeDat).l,a2 lea (Debug_cheat_flag).w,a1 @@ -8340,8 +8211,8 @@ loc_6BCA: loc_6BF4: btst #4,d1 beq.s locret_6C02 - moveq #mus_MutePSG,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_MutePSG),d0 + jsr (Play_Music).l locret_6C02: rts @@ -8356,7 +8227,7 @@ LevSelControls_SwitchSide: move.w d0,(Level_select_option).w loc_6C1A: - bra.s loc_6C3C + bra.s LevelSelect_PickCharacterNumber ; --------------------------------------------------------------------------- rts ; --------------------------------------------------------------------------- @@ -8393,7 +8264,7 @@ LevelSelect_SwitchTable: dc.b $B ; 29 ; --------------------------------------------------------------------------- -loc_6C3C: +LevelSelect_PickCharacterNumber: btst #5,(Ctrl_1_pressed).w beq.s loc_6C56 addq.b #1,(P1_character).w @@ -8636,8 +8507,8 @@ CheckCheats: tst.b 1(a0) bne.s loc_6E8E move.w #$101,(a1) - moveq #sfx_RingRight,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_RingRight),d0 + jsr (Play_SFX).l loc_6E88: move.w #0,(Level_select_cheat_counter).w @@ -8654,15 +8525,15 @@ loc_6E8E: tst.w d2 bne.s loc_6EBA move.b #$F,(Continue_count).w - moveq #mus_Continue,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Continue),d0 + jsr (Play_Music).l bra.s loc_6EC8 ; --------------------------------------------------------------------------- loc_6EBA: - move.w #7,(Emerald_count).w - moveq #mus_Emerald,d0 - jsr (Play_Sound).l + move.w #7,(Chaos_emerald_count).w + moveq #signextendB(mus_Emerald),d0 + jsr (Play_Music).l loc_6EC8: move.w #0,(Debug_mode_cheat_counter).w @@ -8750,7 +8621,8 @@ MapEni_S2LevSel:binclude "General/Sprites/S2Menu/Enigma Map/Level Select.bin" MapEni_S2LevSelIcon: binclude "General/Sprites/S2Menu/Enigma Map/Level Select Icons.bin" even -AniPLC_SONICMILES:dc.w 0 +AniPLC_SONICMILES: + dc.w 0 dc.l ArtUnc_SONICMILES+$FF000000 dc.w $20 dc.b 6, $A @@ -8763,8 +8635,8 @@ AniPLC_SONICMILES:dc.w 0 ; --------------------------------------------------------------------------- SpecialStage: - moveq #mus_Stop,d0 - bsr.w Play_Sound + moveq #signextendB(mus_Stop),d0 + bsr.w Play_Music bsr.w Clear_Nem_Queue bsr.w Pal_FadeToWhite move #$2700,sr @@ -8845,12 +8717,12 @@ loc_7546: move.l #$74000003,(VDP_control_port).l lea (ArtNem_SStageShadow).l,a0 bsr.w Nem_Decomp - lea (SSNum000_Map).l,a1 + lea (MapUnc_SSNum000).l,a1 move.l #$40840003,d0 moveq #7,d1 moveq #2,d2 jsr (Plane_Map_To_VRAM).l - lea (SSNum000_Map).l,a1 + lea (MapUnc_SSNum000).l,a1 move.l #$40BC0003,d0 moveq #7,d1 moveq #2,d2 @@ -8874,7 +8746,7 @@ loc_7546: loc_7692: moveq #0,d0 move.b (Current_special_stage).w,d0 - cmpi.w #7,(Emerald_count).w + cmpi.w #7,(Chaos_emerald_count).w bcc.s loc_76B6 lea (Collected_emeralds_array).w,a1 @@ -8946,12 +8818,12 @@ loc_7770: bsr.w Wait_VSync move.b #0,(Special_stage_fade_timer).w move.w #$8C89,(VDP_control_port).l - moveq #mus_SpecialStage,d0 - bsr.w Play_Sound + moveq #signextendB(mus_SpecialStage),d0 + bsr.w Play_Music move.w (VDP_reg_1_command).w,d0 ori.b #$40,d0 move.w d0,(VDP_control_port).l - bsr.w Pal_FromBlackWhite + bsr.w Pal_FadeFromWhite loc_77D2: bsr.w Pause_Game @@ -9167,7 +9039,7 @@ Pal_SStage_8: binclude "General/Special Stage/Palettes/3-8 S3.bin" Draw_SSNum: lea (SSNum_Precision).l,a2 moveq #2,d6 - lea SSNum_Map(pc),a1 + lea MapUnc_SSNum(pc),a1 loc_7BE2: moveq #0,d2 @@ -9199,15 +9071,13 @@ loc_7BEE: ; End of function Draw_SSNum ; --------------------------------------------------------------------------- -SSNum_Precision:dc.w $64 - dc.w $A +SSNum_Precision:dc.w 100 + dc.w 10 dc.w 1 -SSNum_Map: dc.l $C781CF81,$C782C783,$C781CF81,$C781CF81,$C784C785,$C786C787,$C781CF81,$CF87C788,$C781CF81,$C781CF81 - dc.l $C78ACF8A,$C78BC78C,$C78DC78E,$C78FC790,$C791C792,$C793C794,$C795C796,$C797C798,$C799CF99,$DF96DF95 - dc.l $D781DF81,$C79BD783,$DF88D787,$D781DF81,$C79CC79D,$D781DF81,$D781DF81,$C79EC79F,$D781DF81,$D781DF81 -SSNum000_Map: dc.w $CF89, $C781, $CF81, $C781, $CF81, $C781, $CF81, $C789 - dc.w $CF9A, $C78A, $CF8A, $C78A, $CF8A, $C78A, $CF8A, $C79A - dc.w $DF89, $D781, $DF81, $D781, $DF81, $D781, $DF81, $D789 +MapUnc_SSNum: binclude "General/Special Stage/Uncompressed Map/HUD Numbers.bin" + even +MapUnc_SSNum000:binclude "General/Special Stage/Uncompressed Map/HUD.bin" + even ; =============== S U B R O U T I N E ======================================= @@ -9451,8 +9321,8 @@ loc_803E: move.l #-$100000,$40(a0) move.b #-$80,(Special_stage_jumping).w move.b #0,(Special_stage_turning).w - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l loc_806E: tst.b (Special_stage_jumping).w @@ -9583,8 +9453,8 @@ loc_81FA: bne.s loc_8226 move.l #-$100000,$40(a0) move.b #1,(Special_stage_jumping_P2).w - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l loc_8226: move.l $3C(a0),d0 @@ -9985,8 +9855,8 @@ sub_85FE: ori.b #-$80,(Last_star_post_hit).w loc_8664: - moveq #sfx_Goal,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Goal),d0 + jsr (Play_SFX).l locret_866C: rts @@ -10001,8 +9871,8 @@ loc_866E: move.l a1,4(a2) loc_8682: - moveq #sfx_BlueSphere,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BlueSphere),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -10014,8 +9884,8 @@ loc_868C: move.w d1,(Special_stage_interact).w move.b #1,(Special_stage_bumper_lock).w move.b #0,(Special_stage_advancing).w - moveq #sfx_Bumper,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Bumper),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -10030,8 +9900,8 @@ loc_86B2: loc_86C6: subq.w #1,(Special_stage_rings_left).w bne.s loc_86D4 - moveq #sfx_Perfect,d0 - jsr (Play_Sound).l + moveq #signextendB(sfx_Perfect),d0 + jsr (Play_Music).l loc_86D4: addi.w #1,(Special_stage_ring_count).w @@ -10042,11 +9912,11 @@ loc_86D4: bne.s loc_86FE addq.b #1,(Continue_count).w move.w #$FF00|sfx_Continue,d0 - jmp (Play_Sound).l + jmp (Play_Music).l ; --------------------------------------------------------------------------- loc_86FE: - moveq #sfx_RingRight,d0 + moveq #signextendB(sfx_RingRight),d0 cmpi.w #100,(Special_stage_ring_count).w bcs.s loc_8726 bset #1,(Special_stage_extra_life_flags).w @@ -10058,10 +9928,10 @@ loc_86FE: loc_8720: addq.b #1,(Life_count).w - moveq #sfx_RingLoss,d0 + moveq #signextendB(sfx_RingLoss),d0 loc_8726: - jsr (Play_Sound_2).l + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -10378,8 +10248,8 @@ sub_89E2: addq.w #2,(Special_stage_clear_timer).w cmpi.w #2,(Special_stage_clear_timer).w bne.s loc_8A0C - moveq #sfx_AllSpheres,d0 - jsr (Play_Sound).l + moveq #signextendB(sfx_AllSpheres),d0 + jsr (Play_Music).l loc_8A0C: cmpi.w #$40,(Special_stage_clear_timer).w @@ -10446,8 +10316,8 @@ loc_8AB6: subq.b #1,(Special_stage_emerald_timer).w bne.s locret_8AD8 addq.b #1,(Special_stage_clear_routine).w - moveq #mus_Emerald,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Emerald),d0 + jsr (Play_Music).l locret_8AD8: rts @@ -10472,9 +10342,9 @@ loc_8ADA: or.w (Special_stage_Y_pos).w,d0 andi.w #$E0,d0 bne.s locret_8B58 - cmpi.w #7,(Emerald_count).w + cmpi.w #7,(Chaos_emerald_count).w bcc.s loc_8B2E - addq.w #1,(Emerald_count).w + addq.w #1,(Chaos_emerald_count).w lea (Collected_emeralds_array).w,a1 moveq #0,d0 move.b (Current_special_stage).w,d0 @@ -10490,8 +10360,8 @@ loc_8B2E: ori.b #$80,(Last_star_post_hit).w loc_8B50: - moveq #sfx_Goal,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Goal),d0 + jsr (Play_SFX).l locret_8B58: rts @@ -10740,8 +10610,8 @@ loc_8D64: dbf d0,loc_8D52 subq.w #2,d1 bne.s loc_8D46 - moveq #sfx_RingLoss,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_RingLoss),d0 + jsr (Play_SFX).l moveq #1,d1 locret_8D76: @@ -11107,22 +10977,8 @@ GetScalars2: ; End of function GetScalars2 ; --------------------------------------------------------------------------- -ScalarTable2: dc.w 0, $192, $324, $4B5, $646, $7D6, $964, $AF1, $C7C, $E06, $F8D, $1112, $1294, $1413, $1590, $1709 - dc.w $187E, $19EF, $1B5D, $1CC6, $1E2B, $1F8C, $20E7, $223D, $238E, $24DA, $2620, $2760, $289A, $29CE, $2AFB, $2C21 - dc.w $2D41, $2E5A, $2F6C, $3076, $3179, $3274, $3368, $3453, $3537, $3612, $36E5, $37B0, $3871, $392B, $39DB, $3A82 - dc.w $3B21, $3BB6, $3C42, $3CC5, $3D3F, $3DAF, $3E15, $3E72, $3EC5, $3F0F, $3F4F, $3F85, $3FB1, $3FD4, $3FEC, $3FFB - dc.w $4000, $3FFB, $3FEC, $3FD4, $3FB1, $3F85, $3F4F, $3F0F, $3EC5, $3E72, $3E15, $3DAF, $3D3F, $3CC5, $3C42, $3BB6 - dc.w $3B21, $3A82, $39DB, $392B, $3871, $37B0, $36E5, $3612, $3537, $3453, $3368, $3274, $3179, $3076, $2F6C, $2E5A - dc.w $2D41, $2C21, $2AFB, $29CE, $289A, $2760, $2620, $24DA, $238E, $223D, $20E7, $1F8C, $1E2B, $1CC6, $1B5D, $19EF - dc.w $187E, $1709, $1590, $1413, $1294, $1112, $F8D, $E06, $C7C, $AF1, $964, $7D6, $646, $4B5, $324, $192 - dc.w 0, $FE6E, $FCDC, $FB4B, $F9BA, $F82A, $F69C, $F50F, $F384, $F1FA, $F073, $EEEE, $ED6C, $EBED, $EA70, $E8F7 - dc.w $E782, $E611, $E4A3, $E33A, $E1D5, $E074, $DF19, $DDC3, $DC72, $DB26, $D9E0, $D8A0, $D766, $D632, $D505, $D3DF - dc.w $D2BF, $D1A6, $D094, $CF8A, $CE87, $CD8C, $CC98, $CBAD, $CAC9, $C9EE, $C91B, $C850, $C78F, $C6D5, $C625, $C57E - dc.w $C4DF, $C44A, $C3BE, $C33B, $C2C1, $C251, $C1EB, $C18E, $C13B, $C0F1, $C0B1, $C07B, $C04F, $C02C, $C014, $C005 - dc.w $C000, $C005, $C014, $C02C, $C04F, $C07B, $C0B1, $C0F1, $C13B, $C18E, $C1EB, $C251, $C2C1, $C33B, $C3BE, $C44A - dc.w $C4DF, $C57E, $C625, $C6D5, $C78F, $C850, $C91B, $C9EE, $CAC9, $CBAD, $CC98, $CD8C, $CE87, $CF8A, $D094, $D1A6 - dc.w $D2BF, $D3DF, $D505, $D632, $D766, $D8A0, $D9E0, $DB26, $DC72, $DDC3, $DF19, $E074, $E1D5, $E33A, $E4A3, $E611 - dc.w $E782, $E8F7, $EA70, $EBED, $ED6C, $EEEE, $F073, $F1FA, $F384, $F50F, $F69C, $F82A, $F9BA, $FB4B, $FCDC, $FE6E +ScalarTable2: binclude "General/Special Stage/Scalars.bin" + even Map_SStageSphere: include "General/Special Stage/Map - Sphere.asm" Map_SStageRing: @@ -11228,8 +11084,8 @@ loc_9658: jsr (Init_SpriteTable).l jsr (Process_Sprites).l jsr (Render_Sprites).l - moveq #mus_CompetitionMenu,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_CompetitionMenu),d0 + jsr (Play_Music).l move.b #$1E,(V_int_routine).w jsr (Wait_VSync).l move.w (VDP_reg_1_command).w,d0 @@ -11270,8 +11126,8 @@ loc_96FE: ; --------------------------------------------------------------------------- loc_9706: - clr.b (Competition_mode_type).w - move.b (Competition_menu_monitors).w,(Competition_mode_monitors).w + clr.b (Competition_type).w + move.b (Competition_menu_items).w,(Competition_items).w move.b (Ctrl_2_pressed).w,d0 andi.b #-$20,d0 sne (Not_ghost_flag).w @@ -11280,8 +11136,8 @@ loc_9706: ; --------------------------------------------------------------------------- loc_9724: - move.b #3,(Competition_mode_type).w - move.b (Competition_menu_monitors).w,(Competition_mode_monitors).w + move.b #3,(Competition_type).w + move.b (Competition_menu_items).w,(Competition_items).w move.b (Ctrl_2_pressed).w,d0 andi.b #-$20,d0 sne (Not_ghost_flag).w @@ -11293,7 +11149,7 @@ loc_9744: move.b (Ctrl_1_pressed).w,d2 andi.w #$E0,d2 beq.s loc_9776 - move.w #-1,(Competition_mode_monitors).w + move.w #-1,(Competition_settings).w clr.b (Not_ghost_flag).w move.b #-$40,(Game_mode).w @@ -11305,8 +11161,8 @@ loc_975E: loc_9768: move.l d0,(a1)+ dbf d1,loc_9768 - moveq #sfx_Starpost,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Starpost),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_9776: @@ -11314,7 +11170,7 @@ loc_9776: move.b (Competition_menu_selection).w,d1 lsr.w #1,d0 bcc.s loc_978A - moveq #sfx_Switch,d2 + moveq #signextendB(sfx_Switch),d2 subq.b #1,d1 bcc.s loc_979A moveq #3,d1 @@ -11324,7 +11180,7 @@ loc_9776: loc_978A: lsr.w #1,d0 bcc.s loc_979A - moveq #sfx_Switch,d2 + moveq #signextendB(sfx_Switch),d2 addq.b #1,d1 cmpi.b #3,d1 bls.s loc_979A @@ -11334,7 +11190,7 @@ loc_979A: move.b d1,(Competition_menu_selection).w move.w d2,d0 beq.s loc_97A8 - jsr (Play_Sound_2).l + jsr (Play_SFX).l loc_97A8: bra.w loc_96B8 @@ -11363,14 +11219,14 @@ Obj_Competition_97D0: or.b (Ctrl_2_pressed).w,d0 andi.w #$C,d0 beq.s loc_97F6 - tst.b (Competition_menu_monitors).w - seq (Competition_menu_monitors).w - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + tst.b (Competition_menu_items).w + seq (Competition_menu_items).w + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l loc_97F6: move.w #$15C,d0 - tst.b (Competition_menu_monitors).w + tst.b (Competition_menu_items).w beq.s loc_9804 addi.w #$20,d0 @@ -11570,8 +11426,8 @@ loc_9BF4: move.l #Map_CompetitionSelect,$C(a0) addi.w #$C29F,$A(a0) move.w #$B0,$10(a0) - moveq #mus_CompetitionMenu,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_CompetitionMenu),d0 + jsr (Play_Music).l move.b #$1E,(V_int_routine).w jsr (Wait_VSync).l move.w (VDP_reg_1_command).w,d0 @@ -11662,8 +11518,8 @@ loc_9D04: bcs.s loc_9D3C cmpi.b #4,(a0) beq.s loc_9D5C - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l addq.b #1,(a0) cmpi.b #4,(a0) beq.s loc_9D5C @@ -11676,8 +11532,8 @@ loc_9D04: loc_9D3C: tst.b (a0) beq.s loc_9D5C - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l subq.b #1,(a0) beq.s loc_9D5C cmpi.b #3,(a0) @@ -11689,8 +11545,8 @@ loc_9D3C: loc_9D5C: andi.w #$E0,d1 beq.w loc_9C5C - moveq #sfx_Starpost,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Starpost),d0 + jsr (Play_SFX).l moveq #0,d0 move.b (Competition_menu_zone).w,d0 move.b Comp_ZoneList(pc,d0.w),(Current_zone_and_act).w @@ -11935,7 +11791,8 @@ sub_9F48: ; End of function sub_9F48 ; --------------------------------------------------------------------------- -VRAMDatList_CompetitionLevelSelect:dc.w $18 +VRAMDatList_CompetitionLevelSelect: + dc.w $18 dc.l RAM_start dc.w $C098 dc.w $1A @@ -12036,7 +11893,8 @@ VRAMDatList_CompetitionLevelSelect:dc.w $18 dc.w $D3D0 dc.w 8 dc.w 1 -ObjDat_CompetitionMatchRace:dc.w $B +ObjDat_CompetitionMatchRace: + dc.w $B dc.l Obj_Competition_ZoneSelect dc.w $F4 dc.w 0 @@ -12109,7 +11967,8 @@ ObjDat_CompetitionMatchRace:dc.w $B dc.w $2000 dc.b 5 dc.b 0 -ObjDat_CompetitionTimeAttack:dc.w 5 +ObjDat_CompetitionTimeAttack: + dc.w 5 dc.l Obj_Competition_ZoneSelect dc.w $F4 dc.w $30 @@ -12262,8 +12121,8 @@ loc_A29C: jsr sub_B596(pc) jsr (Process_Sprites).l jsr (Render_Sprites).l - moveq #mus_CompetitionMenu,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_CompetitionMenu),d0 + jsr (Play_Music).l move.b #$1E,(V_int_routine).w jsr (Wait_VSync).l move.w (VDP_reg_1_command).w,d0 @@ -12346,8 +12205,8 @@ loc_A3EE: andi.w #$C,d0 beq.w loc_A498 move.l d0,-(sp) - moveq #sfx_GravityTunnel,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GravityTunnel),d0 + jsr (Play_SFX).l move.l (sp)+,d0 clr.b $34(a0) move.b $2E(a0),$35(a0) @@ -12429,8 +12288,8 @@ loc_A4A6: beq.s loc_A4BC st $2F(a0) sf (a2) - moveq #sfx_Starpost,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Starpost),d0 + jsr (Play_SFX).l loc_A4BC: moveq #1,d0 @@ -12684,8 +12543,8 @@ loc_AAF4: jsr (Init_SpriteTable).l jsr (Process_Sprites).l jsr (Render_Sprites).l - moveq #mus_Continue,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Continue),d0 + jsr (Play_Music).l move.b #$1E,(V_int_routine).w jsr (Wait_VSync).l move.w (VDP_reg_1_command).w,d0 @@ -12987,7 +12846,8 @@ ObjDat_ADA4: dc.w 7 dc.w 0 dc.b 0 dc.b 1 -VRAMDatList_AE06:dc.w 8 +VRAMDatList_AE06: + dc.w 8 dc.l RAM_start dc.w $E000 dc.w $27 @@ -13182,8 +13042,8 @@ loc_B0FC: jsr (Init_SpriteTable).l jsr (Process_Sprites).l jsr (Render_Sprites).l - moveq #mus_Continue,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Continue),d0 + jsr (Play_Music).l move.b #$1E,(V_int_routine).w jsr (Wait_VSync).l move.w (VDP_reg_1_command).w,d0 @@ -13279,7 +13139,7 @@ loc_B244: move.l #loc_B252,(a0) loc_B252: - move.b (_unkEE5A).w,d0 + move.b (Competition_time_attack_new_top_record).w,d0 cmp.b $2E(a0),d0 bne.s loc_B264 btst #3,(Level_frame_counter+1).w @@ -13326,7 +13186,8 @@ ObjDat_B28C: dc.w 4 dc.w 0 dc.b 0 dc.b 2 -VRAMDatList_B2CA:dc.w 8 +VRAMDatList_B2CA: + dc.w 8 dc.l RAM_start dc.w $E000 dc.w $27 @@ -13775,7 +13636,8 @@ locret_B80E: ; End of function SaveGame ; --------------------------------------------------------------------------- -SaveGame_NextLevel:dc.b 1, 2, 3, 5, 5, 6, 7, 0 +SaveGame_NextLevel: + dc.b 1, 2, 3, 5, 5, 6, 7, 0 ; =============== S U B R O U T I N E ======================================= @@ -13785,7 +13647,7 @@ SaveGame_SpecialStage: beq.s locret_B858 movea.l d0,a1 move.b (Current_special_stage).w,4(a1) - move.b (Emerald_count+1).w,5(a1) + move.b (Chaos_emerald_count+1).w,5(a1) lea (Collected_emeralds_array).w,a2 moveq #0,d0 moveq #6,d1 @@ -13823,18 +13685,9 @@ SaveScreen: andi.b #$BF,d0 move.w d0,(VDP_control_port).l jsr (Clear_DisplayData).l - lea (VDP_control_port).l,a5 - move.w #$8F01,(a5) - move.l #$940F93FF,(a5) - move.w #$9780,(a5) - move.l #$50000083,(a5) - move.w #0,(VDP_data_port).l -loc_B89C: - move.w (a5),d1 - btst #1,d1 - bne.s loc_B89C - move.w #$8F02,(a5) + dmaFillVRAM 0,$D000,$1000 + lea (VDP_control_port).l,a6 move.w #$8004,(a6) move.w #$8238,(a6) @@ -13943,8 +13796,8 @@ loc_BA3E: lea (ArtKos_SaveScreenS3Zone).l,a0 lea (RAM_start).l,a1 jsr (Kos_Decomp).l - moveq #mus_DataSelect,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_DataSelect),d0 + jsr (Play_Music).l move.l #loc_BB0A,(_unkEF44_1).w move.b #$1E,(V_int_routine).w jsr (Wait_VSync).l @@ -13981,8 +13834,8 @@ loc_BAC8: loc_BAD0: cmpi.b #$4C,(Game_mode).w beq.s SaveScreen_MainLoop - moveq #sfx_EnterSS,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_EnterSS),d0 + jmp (Play_SFX).l ; =============== S U B R O U T I N E ======================================= @@ -14155,7 +14008,8 @@ word_BD16: dc.w 7 dc.w $A dc.w $B Map_SaveScreen: include "General/Save Menu/Map - Save Screen General S3.asm" -ObjDat_SaveScreen:dc.w 9 +ObjDat_SaveScreen: + dc.w 9 dc.l Draw_Sprite dc.w $120 dc.w $14C @@ -14267,13 +14121,13 @@ loc_C0EA: tst.b (Dataselect_entry).w beq.s loc_C106 subq.b #1,(Dataselect_entry).w - moveq #sfx_SlotMachine,d0 + moveq #signextendB(sfx_SlotMachine),d0 tst.w (Events_bg+$12).w beq.s loc_C0FE - moveq #sfx_SmallBumpers,d0 + moveq #signextendB(sfx_SmallBumpers),d0 loc_C0FE: - jsr (Play_Sound_2).l + jsr (Play_SFX).l moveq #-8,d0 loc_C106: @@ -14282,13 +14136,13 @@ loc_C106: cmpi.b #7,(Dataselect_entry).w beq.s loc_C12C addq.b #1,(Dataselect_entry).w - moveq #sfx_SlotMachine,d0 + moveq #signextendB(sfx_SlotMachine),d0 tst.w (Events_bg+$12).w beq.s loc_C124 - moveq #sfx_SmallBumpers,d0 + moveq #signextendB(sfx_SmallBumpers),d0 loc_C124: - jsr (Play_Sound_2).l + jsr (Play_SFX).l moveq #8,d0 loc_C12C: @@ -14382,7 +14236,7 @@ Obj_SaveScreen_NoSave_Slot: clr.w (Current_zone_and_act).w clr.w (Apparent_zone_and_act).w clr.w (Current_special_stage).w - clr.w (Emerald_count).w + clr.w (Chaos_emerald_count).w clr.l (Collected_emeralds_array).w clr.w (Collected_emeralds_array+4).w clr.b (Collected_emeralds_array+6).w @@ -14479,7 +14333,7 @@ loc_C306: move.b (Ctrl_1_pressed).w,d0 btst #1,d0 beq.s loc_C32A - moveq #sfx_Switch,d2 + moveq #signextendB(sfx_Switch),d2 subq.w #1,d1 bpl.s loc_C320 moveq #6,d1 @@ -14496,7 +14350,7 @@ loc_C320: loc_C32A: btst #0,d0 beq.s loc_C344 - moveq #sfx_Switch,d2 + moveq #signextendB(sfx_Switch),d2 addq.w #1,d1 cmpi.w #4,d1 bne.s loc_C33C @@ -14510,7 +14364,7 @@ loc_C33C: loc_C344: move.w d1,$36(a0) move.l d2,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.b #$1A,$1D(a0) btst #4,(Level_frame_counter+1).w beq.s loc_C368 @@ -14560,7 +14414,7 @@ loc_C3C0: move.b 4(a1),(Current_special_stage).w moveq #0,d0 move.b 5(a1),d0 - move.w d0,(Emerald_count).w + move.w d0,(Chaos_emerald_count).w move.b 6(a1),d0 lea (Collected_emeralds_array).w,a3 moveq #6,d1 @@ -14597,7 +14451,7 @@ loc_C40A: clr.w (Current_zone_and_act).w clr.w (Apparent_zone_and_act).w clr.w (Current_special_stage).w - clr.w (Emerald_count).w + clr.w (Chaos_emerald_count).w clr.l (Collected_emeralds_array).w clr.w (Collected_emeralds_array+4).w clr.b (Collected_emeralds_array+6).w @@ -14645,7 +14499,7 @@ sub_C4CC: move.b (Ctrl_1_pressed).w,d1 lsr.w #1,d1 bcc.s loc_C4EA - moveq #sfx_Switch,d2 + moveq #signextendB(sfx_Switch),d2 addq.w #1,d0 cmpi.w #2,d0 bls.s loc_C4F6 @@ -14656,7 +14510,7 @@ sub_C4CC: loc_C4EA: lsr.w #1,d1 bcc.s loc_C4F6 - moveq #sfx_Switch,d2 + moveq #signextendB(sfx_Switch),d2 subq.w #1,d0 bpl.s loc_C4F6 moveq #2,d0 @@ -14666,7 +14520,7 @@ loc_C4F6: beq.s locret_C506 move.l d0,-(sp) move.l d2,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.l (sp)+,d0 locret_C506: @@ -14740,8 +14594,8 @@ loc_C5AA: move.b (Ctrl_1_pressed).w,d0 andi.w #$E0,d0 beq.w loc_C688 - moveq #sfx_Starpost,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Starpost),d0 + jsr (Play_SFX).l st (Events_bg+$12).w addq.b #4,5(a0) bra.w loc_C688 @@ -14768,8 +14622,8 @@ loc_C5D4: movea.l d0,a1 tst.b (a1) bmi.s loc_C63C - moveq #sfx_Starpost,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Starpost),d0 + jsr (Play_SFX).l st (Events_bg+$10).w addq.b #8,5(a0) @@ -14830,8 +14684,8 @@ loc_C6AC: bne.s loc_C6DA btst #2,(Ctrl_1_pressed).w beq.s loc_C6E8 - moveq #sfx_Perfect,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Perfect),d0 + jsr (Play_SFX).l movea.l $2E(a0),a1 clr.l (a1) clr.l 4(a1) @@ -14965,7 +14819,8 @@ locret_C7BC: byte_C7BE: dc.b $2B, $2C, 0, $30, $1E, $33, $22, $FF, $21, $22, $29, $22, $31, $22, $FF byte_C7CD: dc.b 0, 0, 0, 0, 0, $FF byte_C7D3: dc.b $37, $2C, $2B, $22, 0, $FF -byte_C7D9: dc.b $20, $29, $22, $1E, $2F, $FF, 0 +byte_C7D9: dc.b $20, $29, $22, $1E, $2F, $FF + even ArtKos_SaveScreenS3Zone: binclude "General/Save Menu/Kosinski Art/Zone Art.bin" even @@ -14973,17 +14828,17 @@ ArtKos_SaveScreenS3Zone: ; =============== S U B R O U T I N E ======================================= -sub_E8C0: +Render_HUD_P1: tst.w (Debug_mode_flag).w - bne.s sub_E8C8 + bne.s Render_HUD rts -; End of function sub_E8C0 +; End of function Render_HUD_P1 ; =============== S U B R O U T I N E ======================================= -sub_E8C8: +Render_HUD: cmpi.b #$13,(Current_zone).w bcs.s loc_E8E4 moveq #8,d4 @@ -15029,15 +14884,15 @@ loc_E90E: locret_E92E: rts -; End of function sub_E8C8 +; End of function Render_HUD ; =============== S U B R O U T I N E ======================================= -nullsub_2: +Render_HUD_P2: rts -; End of function nullsub_2 +; End of function Render_HUD_P2 ; --------------------------------------------------------------------------- Map_HUD: include "General/Sprites/HUD Icon/Map - HUD.asm" @@ -15049,7 +14904,7 @@ HUD_AddToScore: move.b #1,(Update_HUD_score).w lea (Score).w,a3 add.l d0,(a3) - move.l #$F423F,d1 + move.l #999999,d1 cmp.l (a3),d1 bhi.s loc_EA5E move.l d1,(a3) @@ -15062,7 +14917,7 @@ loc_EA5E: addq.b #1,(Life_count).w addq.b #1,(Update_HUD_life_count).w move.w #mus_ExtraLife,d0 - jmp (Play_Sound).l + jmp (Play_Music).l ; --------------------------------------------------------------------------- locret_EA80: @@ -15926,7 +15781,7 @@ loc_F80A: ; =============== S U B R O U T I N E ======================================= -sub_F816: +Render_Rings: movea.l (Ring_start_addr_ROM).w,a0 move.l (Ring_end_addr_ROM).w,d2 sub.l a0,d2 @@ -15974,7 +15829,7 @@ loc_F876: locret_F87C: rts -; End of function sub_F816 +; End of function Render_Rings ; --------------------------------------------------------------------------- CMap_Ring: dc.w $FFF8, $0005, $0000+make_art_tile(ArtTile_Ring,1,0), $FFF8 @@ -15997,7 +15852,8 @@ S2_SpecialCNZBumpers: ; End of function S2_SpecialCNZBumpers ; --------------------------------------------------------------------------- -SpecialCNZBumpers_Index:dc.w SpecialCNZBumpers_Init-SpecialCNZBumpers_Index +SpecialCNZBumpers_Index: + dc.w SpecialCNZBumpers_Init-SpecialCNZBumpers_Index dc.w SpecialCNZBumpers_Main-SpecialCNZBumpers_Index ; --------------------------------------------------------------------------- @@ -16518,7 +16374,7 @@ loc_FCFC: bclr #5,$2A(a0) clr.b $40(a0) move.w #sfx_MagneticSpike,d0 - jmp (Play_Sound_2).l + jmp (Play_SFX).l ; End of function Check_CNZ_Bumpers ; --------------------------------------------------------------------------- @@ -17527,9 +17383,9 @@ loc_1096E: ; =============== S U B R O U T I N E ======================================= -nullsub_4: +ConvertCollisionArray: rts -; End of function nullsub_4 +; End of function ConvertCollisionArray ; =============== S U B R O U T I N E ======================================= @@ -18567,7 +18423,7 @@ Touch_Monitor: ; --------------------------------------------------------------------------- loc_11312: - cmpa.w #-$5000,a0 + cmpa.w #Player_1,a0 beq.s loc_1131E tst.w (Competition_mode).w beq.s locret_11334 @@ -18771,8 +18627,8 @@ loc_11544: move.w #0,$1C(a0) move.b #$1A,$20(a0) move.b #$78,$34(a0) - moveq #sfx_Death,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Death),d0 + jsr (Play_SFX).l moveq #-1,d0 rts ; End of function HurtCharacter @@ -18794,8 +18650,8 @@ Kill_Character: move.w #0,$1C(a0) move.b #$18,$20(a0) bset #7,$A(a0) - moveq #sfx_Death,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Death),d0 + jsr (Play_SFX).l loc_115A8: moveq #-1,d0 @@ -19247,7 +19103,7 @@ loc_11A30: move.b #2,$20(a0) addq.w #4,$14(a0) move.w #sfx_Roll,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l tst.w $1C(a0) bne.s locret_11A62 move.w #$200,$1C(a0) @@ -19270,7 +19126,7 @@ sub_11A64: beq.w locret_11AAE move.b #9,$20(a0) move.w #$FF00|sfx_Spindash,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l addq.l #4,sp move.b #1,$3D(a0) move.w #0,$3E(a0) @@ -19323,8 +19179,8 @@ loc_11B14: loc_11B22: bset #2,$2A(a0) move.b #0,$20(a6) - moveq #sfx_Dash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Dash),d0 + jsr (Play_SFX).l bra.s loc_11BA4 ; --------------------------------------------------------------------------- word_11B38: dc.w $800 @@ -19362,7 +19218,7 @@ loc_11B74: beq.w loc_11BA4 move.w #$900,$20(a0) move.w #$FF00|sfx_Spindash,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l addi.w #$200,$3E(a0) cmpi.w #$800,$3E(a0) bcs.s loc_11BA4 @@ -19569,8 +19425,8 @@ loc_11DB6: bne.s Sonic_RmvInvin cmpi.b #$C,$2C(a0) bcs.s Sonic_RmvInvin - move.w (Level_music).w,d0 - jsr (Play_Sound).l + move.w (Current_music).w,d0 + jsr (Play_Music).l Sonic_RmvInvin: bclr #1,$2B(a0) @@ -19670,7 +19526,7 @@ Sonic_RecordPosCompetitionP2: Reset_Player_Position_Array: - cmpa.w #-$5000,a0 + cmpa.w #Player_1,a0 bne.s Reset_Player_Position_ArrayP2 lea (Pos_table).w,a1 lea (Stat_table).w,a2 @@ -19720,7 +19576,7 @@ Sonic_InWater: addq.b #1,(Water_entered_counter).w movea.l a0,a1 bsr.w Player_ResetAirTimer - move.l #Obj_Air_CountDown,(Breathing_bubbles).w + move.l #Obj_AirCountdown,(Breathing_bubbles).w move.b #$81,(Breathing_bubbles+subtype).w move.l a0,(Breathing_bubbles+$40).w move.w #$300,(a4) @@ -19741,7 +19597,7 @@ loc_11F88: beq.s locret_11F32 move.w #$100,$20(a6) move.w #sfx_Splash,d0 - jmp (Play_Sound_2).l + jmp (Play_SFX).l ; --------------------------------------------------------------------------- Sonic_OutWater: @@ -19781,7 +19637,7 @@ loc_12002: loc_12028: move.w #sfx_Splash,d0 - jmp (Play_Sound_2).l + jmp (Play_SFX).l ; End of function Sonic_Water ; --------------------------------------------------------------------------- @@ -20233,7 +20089,7 @@ loc_124C2: tst.b $2D(a0) bmi.s locret_1250A move.w #sfx_Skid,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.b #$D,$20(a0) bclr #0,$2A(a0) cmpi.b #$C,$2C(a0) @@ -20288,7 +20144,7 @@ loc_12548: tst.b $2D(a0) bmi.s locret_12590 move.w #sfx_Skid,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.b #$D,$20(a0) bset #0,$2A(a0) cmpi.b #$C,$2C(a0) @@ -20604,7 +20460,7 @@ Player_DoRoll: move.b #2,$20(a0) addq.w #5,$14(a0) move.w #sfx_Roll,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l tst.w $1C(a0) bne.s locret_1280E move.w #$200,$1C(a0) @@ -20656,7 +20512,7 @@ loc_12854: move.b #1,$40(a0) clr.b $3C(a0) move.w #sfx_Jump,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.b $44(a0),$1E(a0) move.b $45(a0),$1F(a0) btst #2,$2A(a0) @@ -20693,7 +20549,7 @@ Sonic_JumpHeight: loc_128F0: cmp.w $1A(a0),d1 - ble.w Sonic_InstaAndShieldMoves + ble.w Sonic_ShieldMoves move.b (Ctrl_1_held_logical).w,d0 andi.b #$70,d0 bne.s locret_12906 @@ -20714,7 +20570,7 @@ locret_1291C: rts ; --------------------------------------------------------------------------- -Sonic_InstaAndShieldMoves: +Sonic_ShieldMoves: tst.b $2F(a0) bne.w locret_12A20 move.b (Ctrl_1_pressed_logical).w,d0 @@ -20746,7 +20602,7 @@ loc_12972: move.w #$2000,(H_scroll_frame_offset).w bsr.w Reset_Player_Position_Array move.w #sfx_FireAttack,d0 - jmp (Play_Sound_2).l + jmp (Play_SFX).l ; --------------------------------------------------------------------------- Sonic_LightningShield: @@ -20757,7 +20613,7 @@ Sonic_LightningShield: move.w #-$580,$1A(a0) clr.b $40(a0) move.w #sfx_ElectricAttack,d0 - jmp (Play_Sound_2).l + jmp (Play_SFX).l ; --------------------------------------------------------------------------- Sonic_BubbleShield: @@ -20769,11 +20625,11 @@ Sonic_BubbleShield: move.w #0,$1C(a0) move.w #$800,$1A(a0) move.w #sfx_BubbleAttack,d0 - jmp (Play_Sound_2).l + jmp (Play_SFX).l ; --------------------------------------------------------------------------- Sonic_CheckTransform: - cmpi.w #7,(Emerald_count).w + cmpi.w #7,(Chaos_emerald_count).w bcs.s Sonic_InstaShield cmpi.w #50,(Ring_count).w bcs.s Sonic_InstaShield @@ -20786,7 +20642,7 @@ Sonic_InstaShield: move.b #1,(Shield+anim).w move.b #1,$2F(a0) move.w #sfx_InstaAttack,d0 - jmp (Play_Sound_2).l + jmp (Play_SFX).l ; --------------------------------------------------------------------------- locret_12A20: @@ -20808,9 +20664,9 @@ Sonic_Transform: move.b #0,$35(a0) bset #1,$2B(a0) move.w #$FF00|sfx_SuperTransform,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.w #mus_Invincibility,d0 - jmp (Play_Sound).l + jmp (Play_Music).l ; End of function Sonic_JumpHeight @@ -20830,9 +20686,9 @@ Sonic_Super: ori.b #1,(Update_HUD_ring_count).w cmpi.w #1,(Ring_count).w beq.s loc_12AC6 - cmpi.w #$A,(Ring_count).w + cmpi.w #10,(Ring_count).w beq.s loc_12AC6 - cmpi.w #$64,(Ring_count).w + cmpi.w #100,(Ring_count).w bne.s loc_12ACC loc_12AC6: @@ -20877,7 +20733,7 @@ Sonic_Spindash: beq.w locret_12B9A move.b #9,$20(a0) move.w #$FF00|sfx_Spindash,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l addq.l #4,sp move.b #1,$3D(a0) move.w #0,$3E(a0) @@ -20942,8 +20798,8 @@ loc_12C00: loc_12C0E: bset #2,$2A(a0) move.b #0,$20(a6) - moveq #sfx_Dash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Dash),d0 + jsr (Play_SFX).l bra.s loc_12C90 ; --------------------------------------------------------------------------- word_12C24: dc.w $800 @@ -20981,7 +20837,7 @@ loc_12C60: beq.w loc_12C90 move.w #$900,$20(a0) move.w #$FF00|sfx_Spindash,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l addi.w #$200,$3E(a0) cmpi.w #$800,$3E(a0) bcs.s loc_12C90 @@ -21515,7 +21371,7 @@ loc_130D2: sub.w d0,$14(a0) move.b #2,(Shield+anim).w move.w #sfx_BubbleAttack,d0 - jmp (Play_Sound_2).l + jmp (Play_SFX).l ; End of function BubbleShield_Bounce ; --------------------------------------------------------------------------- @@ -21648,8 +21504,8 @@ loc_1328A: subq.b #1,(Life_count).w bne.s loc_132F0 move.w #0,$3E(a0) - move.l #loc_2C9AC,(Reserved_object_3).w - move.l #loc_2C9AC,(Dynamic_object_RAM).w + move.l #Obj_GameOver,(Reserved_object_3).w + move.l #Obj_GameOver,(Dynamic_object_RAM).w move.b #0,(Reserved_object_3+mapping_frame).w move.b #1,(Dynamic_object_RAM+mapping_frame).w move.w a0,(Reserved_object_3+objoff_3E).w @@ -21657,10 +21513,10 @@ loc_1328A: loc_132D0: clr.b (Update_HUD_timer).w - clr.b (_unkFEC7).w + clr.b (Update_HUD_timer_P2).w move.b #8,5(a0) move.w #mus_GameOver,d0 - jsr (Play_Sound).l + jsr (Play_Music).l moveq #3,d0 jmp (Load_PLC_2).l ; --------------------------------------------------------------------------- @@ -21669,8 +21525,8 @@ loc_132F0: tst.b (Time_over_flag).w beq.s locret_1331E move.w #0,$3E(a0) - move.l #loc_2C9AC,(Reserved_object_3).w - move.l #loc_2C9AC,(Dynamic_object_RAM).w + move.l #Obj_GameOver,(Reserved_object_3).w + move.l #Obj_GameOver,(Dynamic_object_RAM).w move.b #2,(Reserved_object_3+mapping_frame).w move.b #3,(Dynamic_object_RAM+mapping_frame).w move.w a0,(Reserved_object_3+objoff_3E).w @@ -22655,7 +22511,7 @@ loc_1400A: move.w (Ctrl_2).w,(Ctrl_2_logical).w loc_14016: - bsr.w sub_14626 + bsr.w Tails_Display btst #0,$2E(a0) bne.s loc_14034 moveq #0,d0 @@ -22800,8 +22656,8 @@ loc_1418E: addq.b #8,d0 andi.b #$F,d0 bne.s locret_141A8 - moveq #sfx_FlyTired,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FlyTired),d0 + jsr (Play_SFX).l locret_141A8: rts @@ -22812,8 +22668,8 @@ loc_141AA: addq.b #8,d0 andi.b #$F,d0 bne.s locret_141BE - moveq #sfx_Flying,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Flying),d0 + jsr (Play_SFX).l locret_141BE: rts @@ -22886,7 +22742,7 @@ loc_14242: move.b #2,$20(a0) addq.w #4,$14(a0) move.w #sfx_Roll,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l tst.w $1C(a0) bne.s locret_14274 move.w #$200,$1C(a0) @@ -22909,7 +22765,7 @@ sub_14276: beq.w locret_142C4 move.b #9,$20(a0) move.w #$FF00|sfx_Spindash,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l addq.l #4,sp move.b #1,$3D(a0) move.w #0,$3E(a0) @@ -22959,7 +22815,7 @@ loc_1432C: bset #2,$2A(a0) move.b #0,$20(a6) move.w #$FF00|sfx_Dash,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l bra.s loc_1439E ; --------------------------------------------------------------------------- word_14344: dc.w $800 @@ -22988,7 +22844,7 @@ loc_1436E: beq.w loc_1439E move.w #$900,$20(a0) move.w #$FF00|sfx_Spindash,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l addi.w #$200,$3E(a0) cmpi.w #$800,$3E(a0) bcs.s loc_1439E @@ -23016,9 +22872,9 @@ Obj_Tails: lea (Distance_from_top_P2).w,a5 lea (Dust_P2).w,a6 cmpi.w #2,(Player_mode).w - bne.s loc_14404 + bne.s Tails_Normal tst.w (Debug_placement_mode).w - beq.s loc_14404 + beq.s Tails_Normal cmpi.b #1,(Debug_placement_type).w beq.s loc_143FE btst #4,(Ctrl_1_pressed).w @@ -23040,22 +22896,22 @@ loc_143FE: jmp (DebugMode).l ; --------------------------------------------------------------------------- -loc_14404: +Tails_Normal: moveq #0,d0 move.b 5(a0),d0 - move.w off_14412(pc,d0.w),d1 - jmp off_14412(pc,d1.w) + move.w Tails_Index(pc,d0.w),d1 + jmp Tails_Index(pc,d1.w) ; --------------------------------------------------------------------------- -off_14412: dc.w loc_14420-off_14412 - dc.w loc_14514-off_14412 - dc.w loc_1620A-off_14412 - dc.w loc_162C4-off_14412 - dc.w loc_162F4-off_14412 - dc.w loc_16308-off_14412 - dc.w loc_16324-off_14412 +Tails_Index: dc.w Tails_Init-Tails_Index + dc.w Tails_Control-Tails_Index + dc.w loc_1620A-Tails_Index + dc.w loc_162C4-Tails_Index + dc.w loc_162F4-Tails_Index + dc.w loc_16308-Tails_Index + dc.w loc_16324-Tails_Index ; --------------------------------------------------------------------------- -loc_14420: +Tails_Init: addq.b #2,5(a0) move.b #$F,$1E(a0) move.b #9,$1F(a0) @@ -23073,27 +22929,27 @@ loc_14420: cmpi.w #2,(Player_mode).w bne.s loc_144B4 tst.b (Last_star_post_hit).w - bne.s loc_144CC + bne.s Tails_Init_Continued move.w #ArtTile_Player_2,$A(a0) move.b #$C,$46(a0) move.b #$D,$47(a0) cmpi.b #2,(Special_bonus_entry_flag).w - beq.s loc_144CC + beq.s Tails_Init_Continued move.w $10(a0),(Saved_X_pos).w move.w $14(a0),(Saved_Y_pos).w move.w $A(a0),(Saved_art_tile).w move.w $46(a0),(Saved_solid_bits).w - bra.s loc_144CC + bra.s Tails_Init_Continued ; --------------------------------------------------------------------------- loc_144B4: move.w #ArtTile_Player_2,$A(a0) move.w (Player_1+top_solid_bit).w,$46(a0) tst.w (Player_1+art_tile).w - bpl.s loc_144CC + bpl.s Tails_Init_Continued ori.w #$8000,$A(a0) -loc_144CC: +Tails_Init_Continued: move.b #0,$30(a0) move.b #4,$31(a0) move.b #$1E,$2C(a0) @@ -23112,7 +22968,7 @@ loc_144F4: rts ; --------------------------------------------------------------------------- -loc_14514: +Tails_Control: cmpi.w #2,(Player_mode).w bne.s loc_14544 tst.w (Debug_mode_flag).w @@ -23170,8 +23026,8 @@ loc_145AA: moveq #0,d0 move.b $2A(a0),d0 andi.w #6,d0 - move.w off_1461E(pc,d0.w),d1 - jsr off_1461E(pc,d1.w) + move.w Tails_Modes(pc,d0.w),d1 + jsr Tails_Modes(pc,d1.w) movem.l (sp)+,a4-a6 loc_145C4: @@ -23181,9 +23037,9 @@ loc_145C4: and.w d0,$14(a0) loc_145D4: - bsr.s sub_14626 + bsr.s Tails_Display bsr.w Sonic_RecordPos - bsr.w sub_15284 + bsr.w Tails_Water move.b (Primary_Angle).w,$3A(a0) move.b (Secondary_Angle).w,$3B(a0) tst.b (WindTunnel_flag_P2).w @@ -23207,15 +23063,15 @@ loc_1460C: locret_1461C: rts ; --------------------------------------------------------------------------- -off_1461E: dc.w Tails_Stand_Path-off_1461E - dc.w Tails_Stand_Freespace-off_1461E - dc.w Tails_Spin_Path-off_1461E - dc.w Tails_Spin_Freespace-off_1461E +Tails_Modes: dc.w Tails_Stand_Path-Tails_Modes + dc.w Tails_Stand_Freespace-Tails_Modes + dc.w Tails_Spin_Path-Tails_Modes + dc.w Tails_Spin_Freespace-Tails_Modes ; =============== S U B R O U T I N E ======================================= -sub_14626: +Tails_Display: move.b $34(a0),d0 beq.s loc_14634 subq.b #1,$34(a0) @@ -23239,8 +23095,8 @@ loc_1463A: bne.s loc_14670 cmpi.b #$C,$2C(a0) bcs.s loc_14670 - move.w (Level_music).w,d0 - jsr (Play_Sound).l + move.w (Current_music).w,d0 + jsr (Play_Music).l loc_14670: bclr #1,$2B(a0) @@ -23280,7 +23136,7 @@ loc_146BA: move.w (a1)+,4(a4) bclr #2,$2B(a0) rts -; End of function sub_14626 +; End of function Tails_Display ; =============== S U B R O U T I N E ======================================= @@ -23406,7 +23262,7 @@ loc_14804: move.b d0,$2F(a0) move.b #2,$2A(a0) move.b #$1E,$2C(a0) - move.b #-$7F,$2E(a0) + move.b #$81,$2E(a0) move.b d0,$30(a0) move.b d0,$31(a0) move.w d0,$32(a0) @@ -23422,7 +23278,7 @@ loc_14804: move.w d0,$3E(a0) move.b d0,$40(a0) move.b d0,$41(a0) - move.b #-$10,$25(a0) + move.b #$F0,$25(a0) bsr.w Tails_Set_Flying_Animation locret_148A0: @@ -23441,13 +23297,13 @@ Tails_FlySwim_Unknown: move.b #2,$2A(a0) move.w #0,$10(a0) move.w #0,$14(a0) - move.b #-$10,$25(a0) + move.b #$F0,$25(a0) bsr.w Tails_Set_Flying_Animation rts ; --------------------------------------------------------------------------- loc_148E4: - move.b #-$10,$25(a0) + move.b #$F0,$25(a0) ori.b #2,$2A(a0) bsr.w Tails_Set_Flying_Animation move.w #0,(Tails_CPU_flight_timer).w @@ -23553,7 +23409,7 @@ loc_149E8: move.w #4,(Tails_CPU_routine).w move.b #0,$3D(a0) move.w #0,$3E(a0) - move.b #-$7F,$2E(a0) + move.b #$81,$2E(a0) move.b #2,$2A(a0) move.b #$20,$20(a0) rts @@ -23605,7 +23461,7 @@ loc_14A90: neg.w d2 cmpi.w #$30,d2 bcs.s loc_14AA8 - andi.w #-$C0D,d1 + andi.w #$F3F3,d1 ori.w #$404,d1 loc_14AA8: @@ -23620,7 +23476,7 @@ loc_14AA8: loc_14ABC: cmpi.w #$30,d2 bcs.s loc_14ACA - andi.w #-$C0D,d1 + andi.w #$F3F3,d1 ori.w #$808,d1 loc_14ACA: @@ -23640,12 +23496,12 @@ loc_14ADE: bset #0,$2A(a0) loc_14AF2: - tst.b (_unkF70F).w + tst.b (Tails_CPU_auto_jump_flag).w beq.s loc_14B0A ori.w #$7000,d1 btst #1,$2A(a0) bne.s loc_14B46 - move.b #0,(_unkF70F).w + move.b #0,(Tails_CPU_auto_jump_flag).w loc_14B0A: move.w (Level_frame_counter).w,d0 @@ -23669,7 +23525,7 @@ loc_14B2A: cmpi.b #8,$20(a0) beq.s loc_14B46 ori.w #$7070,d1 - move.b #1,(_unkF70F).w + move.b #1,(Tails_CPU_auto_jump_flag).w loc_14B46: move.w d1,(Ctrl_2_logical).w @@ -23788,7 +23644,7 @@ locret_14C46: loc_14C48: move.b #1,$2F(a0) - move.b #-$10,$25(a0) + move.b #$F0,$25(a0) move.b #2,$2A(a0) move.w #$100,$18(a0) move.w #0,$1A(a0) @@ -23822,7 +23678,7 @@ loc_14C9C: andi.w #$7FFF,$A(a0) tst.b $A(a1) bpl.s loc_14CEE - ori.w #-$8000,$A(a0) + ori.w #$8000,$A(a0) loc_14CEE: move.b $46(a1),$46(a0) @@ -23838,7 +23694,7 @@ loc_14D08: loc_14D10: move.w #0,(Tails_CPU_idle_timer).w - move.b #-$10,$25(a0) + move.b #$F0,$25(a0) move.w #0,(Ctrl_2_logical).w move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 @@ -23863,7 +23719,7 @@ loc_14D4C: loc_14D54: move.b #1,$2F(a0) - move.b #-$10,$25(a0) + move.b #$F0,$25(a0) move.b #2,$2A(a0) move.w #0,$18(a0) move.w #0,$1A(a0) @@ -23875,7 +23731,7 @@ loc_14D54: loc_14D8C: move.w #0,(Tails_CPU_idle_timer).w - move.b #-$10,$25(a0) + move.b #$F0,$25(a0) move.w #0,(Ctrl_2_logical).w move.b (Level_frame_counter+1).w,d0 andi.b #7,d0 @@ -23897,7 +23753,7 @@ loc_14DC2: ; --------------------------------------------------------------------------- loc_14DD2: - move.b #-$10,$25(a0) + move.b #$F0,$25(a0) tst.w (Tails_CPU_idle_timer).w beq.s loc_14DEA tst.b (Flying_carrying_Sonic_flag).w @@ -23912,10 +23768,10 @@ loc_14DEA: clr.b (_unkFAAC).w btst #1,(Ctrl_1_held).w beq.s loc_14E1E - addq.b #1,(_unkF70E).w - cmpi.b #-$40,(_unkF70E).w + addq.b #1,(Tails_CPU_auto_fly_timer).w + cmpi.b #$C0,(Tails_CPU_auto_fly_timer).w bcs.s loc_14E58 - move.b #0,(_unkF70E).w + move.b #0,(Tails_CPU_auto_fly_timer).w ori.w #$7070,(Ctrl_2_logical).w bra.s loc_14E58 ; --------------------------------------------------------------------------- @@ -23923,19 +23779,19 @@ loc_14DEA: loc_14E1E: btst #0,(Ctrl_1_held).w beq.s loc_14E40 - addq.b #1,(_unkF70E).w - cmpi.b #$20,(_unkF70E).w + addq.b #1,(Tails_CPU_auto_fly_timer).w + cmpi.b #$20,(Tails_CPU_auto_fly_timer).w bcs.s loc_14E58 - move.b #0,(_unkF70E).w + move.b #0,(Tails_CPU_auto_fly_timer).w ori.w #$7070,(Ctrl_2_logical).w bra.s loc_14E58 ; --------------------------------------------------------------------------- loc_14E40: - addq.b #1,(_unkF70E).w - cmpi.b #$58,(_unkF70E).w + addq.b #1,(Tails_CPU_auto_fly_timer).w + cmpi.b #$58,(Tails_CPU_auto_fly_timer).w bcs.s loc_14E58 - move.b #0,(_unkF70E).w + move.b #0,(Tails_CPU_auto_fly_timer).w ori.w #$7070,(Ctrl_2_logical).w loc_14E58: @@ -23953,7 +23809,7 @@ loc_14E68: loc_14E78: move.b #1,$2F(a0) - move.b #-$10,$25(a0) + move.b #$F0,$25(a0) move.b #2,$2A(a0) move.w #0,$18(a0) move.w #0,$1A(a0) @@ -23962,7 +23818,7 @@ loc_14E78: loc_14EA2: move.w #0,(Tails_CPU_idle_timer).w - move.b #-$10,$25(a0) + move.b #$F0,$25(a0) move.w #0,(Ctrl_2_logical).w move.b (Level_frame_counter+1).w,d0 andi.b #7,d0 @@ -23981,13 +23837,13 @@ locret_14ED8: ; --------------------------------------------------------------------------- loc_14EDA: - move.b #-$10,$25(a0) + move.b #$F0,$25(a0) rts ; --------------------------------------------------------------------------- loc_14EE2: move.b #1,$2F(a0) - move.b #-$10,$25(a0) + move.b #$F0,$25(a0) move.b #2,$2A(a0) move.w #$100,$18(a0) move.w #0,$1A(a0) @@ -24033,10 +23889,10 @@ loc_14F68: move.w #0,(Ctrl_2_logical).w cmpi.w #$200,$1A(a0) bge.s loc_14FAE - addq.b #1,(_unkF70E).w - cmpi.b #$58,(_unkF70E).w + addq.b #1,(Tails_CPU_auto_fly_timer).w + cmpi.b #$58,(Tails_CPU_auto_fly_timer).w bcs.s loc_14FB4 - move.b #0,(_unkF70E).w + move.b #0,(Tails_CPU_auto_fly_timer).w loc_14FAE: ori.w #$7070,(Ctrl_2_logical).w @@ -24057,7 +23913,7 @@ loc_14FC6: move.w d1,d2 lsr.w #1,d2 add.w d2,d1 - move.w d1,(Target_camera_min_X_pos).w + move.w d1,(Camera_stored_min_X_pos).w move.w $10(a1),d1 sub.w $10(a0),d1 bpl.s loc_14FDE @@ -24065,7 +23921,7 @@ loc_14FC6: loc_14FDE: lsr.w #2,d1 - move.w d1,(Target_camera_max_X_pos).w + move.w d1,(Camera_stored_max_X_pos).w bra.w loc_15030 ; --------------------------------------------------------------------------- @@ -24075,7 +23931,7 @@ loc_14FE8: move.w $10(a0),d0 move.w $14(a0),d1 subi.w #$10,d1 - move.w (Target_camera_max_X_pos).w,d2 + move.w (Camera_stored_max_X_pos).w,d2 bclr #0,$2A(a0) cmp.w $10(a1),d0 bcs.s loc_15016 @@ -24086,7 +23942,7 @@ loc_15016: add.w d2,$18(a0) cmp.w $14(a1),d1 bcc.s loc_15030 - move.w (Target_camera_min_X_pos).w,d2 + move.w (Camera_stored_min_X_pos).w,d2 cmp.w $14(a1),d1 bcs.s loc_1502C neg.w d2 @@ -24180,11 +24036,11 @@ loc_150FA: moveq #0,d1 move.b $23(a1),d1 addq.b #1,$23(a1) - move.b byte_15190(pc,d1.w),d0 + move.b AniRaw_Tails_Carry(pc,d1.w),d0 cmpi.b #-1,d0 bne.s loc_15152 move.b #0,$23(a1) - move.b byte_15190(pc),d0 + move.b AniRaw_Tails_Carry(pc),d0 loc_15152: move.b d0,$22(a1) @@ -24205,24 +24061,9 @@ loc_15166: movem.l (sp)+,d0-a6 rts ; --------------------------------------------------------------------------- -byte_15190: dc.b $91 - dc.b $91 - dc.b $90 - dc.b $90 - dc.b $90 - dc.b $90 - dc.b $90 - dc.b $90 - dc.b $92 - dc.b $92 - dc.b $92 - dc.b $92 - dc.b $92 - dc.b $92 - dc.b $91 - dc.b $91 - dc.b $FF - dc.b 0 +AniRaw_Tails_Carry: + dc.b $91, $91, $90, $90, $90, $90, $90, $90, $92, $92, $92, $92, $92, $92, $91, $91, $FF + even ; --------------------------------------------------------------------------- loc_151A2: @@ -24251,8 +24092,8 @@ loc_151B0: tst.b $3D(a1) bne.s locret_15200 bsr.s sub_15202 - moveq #sfx_Grab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Grab),d0 + jsr (Play_SFX).l move.b #1,(a2) locret_15200: @@ -24295,7 +24136,7 @@ sub_15202: ; =============== S U B R O U T I N E ======================================= -sub_15284: +Tails_Water: tst.b (Water_flag).w bne.s loc_1528C @@ -24312,7 +24153,7 @@ loc_1528C: addq.b #1,(Water_entered_counter).w movea.l a0,a1 bsr.w Player_ResetAirTimer - move.l #Obj_Air_CountDown,(Breathing_bubbles_P2).w + move.l #Obj_AirCountdown,(Breathing_bubbles_P2).w move.b #$81,(Breathing_bubbles_P2+subtype).w move.l a0,(Breathing_bubbles_P2+$40).w move.w #$300,(a4) @@ -24330,7 +24171,7 @@ loc_152D8: beq.s locret_1528A move.w #$100,$20(a6) move.w #sfx_Splash,d0 - jmp (Play_Sound_2).l + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_152F6: @@ -24367,8 +24208,8 @@ loc_1533C: loc_15362: move.w #sfx_Splash,d0 - jmp (Play_Sound_2).l -; End of function sub_15284 + jmp (Play_SFX).l +; End of function Tails_Water ; --------------------------------------------------------------------------- @@ -24529,8 +24370,8 @@ loc_154E4: addq.b #8,d0 andi.b #$F,d0 bne.s locret_1550A - moveq #sfx_FlyTired,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FlyTired),d0 + jsr (Play_SFX).l locret_1550A: rts @@ -24544,8 +24385,8 @@ loc_1550C: addq.b #8,d0 andi.b #$F,d0 bne.s locret_1552A - moveq #sfx_Flying,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Flying),d0 + jsr (Play_SFX).l locret_1552A: rts @@ -24885,7 +24726,7 @@ loc_15828: tst.b $2D(a0) bmi.s locret_15870 move.w #sfx_Skid,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.b #$D,$20(a0) bclr #0,$2A(a0) cmpi.b #$C,$2C(a0) @@ -24940,7 +24781,7 @@ loc_158AE: tst.b $2D(a0) bmi.s locret_158F6 move.w #sfx_Skid,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.b #$D,$20(a0) bset #0,$2A(a0) cmpi.b #$C,$2C(a0) @@ -25257,7 +25098,7 @@ loc_15B44: move.b #2,$20(a0) addq.w #1,$14(a0) move.w #sfx_Roll,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l tst.w $1C(a0) bne.s locret_15B76 move.w #$200,$1C(a0) @@ -25304,7 +25145,7 @@ loc_15BB2: move.b #1,$40(a0) clr.b $3C(a0) move.w #sfx_Jump,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.b $44(a0),$1E(a0) move.b $45(a0),$1F(a0) btst #2,$2A(a0) @@ -25408,7 +25249,7 @@ Tails_Spindash: beq.w locret_15D4E move.b #9,$20(a0) move.w #$FF00|sfx_Spindash,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l addq.l #4,sp move.b #1,$3D(a0) move.w #0,$3E(a0) @@ -25455,7 +25296,7 @@ loc_15D50: neg.w d0 addi.w #$2000,d0 lea (H_scroll_frame_offset).w,a1 - cmpa.w #-$5000,a0 + cmpa.w #Player_1,a0 beq.s loc_15DA8 lea (H_scroll_frame_offset_P2).w,a1 @@ -25469,7 +25310,7 @@ loc_15DB6: bset #2,$2A(a0) move.b #0,$20(a6) move.w #$FF00|sfx_Dash,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l bra.s loc_15E28 ; --------------------------------------------------------------------------- word_15DCE: dc.w $800 @@ -25498,7 +25339,7 @@ loc_15DF8: beq.w loc_15E28 move.w #$900,$20(a0) move.w #$FF00|sfx_Spindash,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l addi.w #$200,$3E(a0) cmpi.w #$800,$3E(a0) bcs.s loc_15E28 @@ -26100,11 +25941,6 @@ loc_16362: Animate_Tails: lea (AniTails).l,a1 -; End of function Animate_Tails - - -; =============== S U B R O U T I N E ======================================= - Animate_Tails_Part2: moveq #0,d0 @@ -26128,7 +25964,7 @@ loc_16392: subq.b #1,$24(a0) bpl.s locret_163D0 move.b d0,$24(a0) -; End of function Animate_Tails_Part2 +; End of function Animate_Tails ; =============== S U B R O U T I N E ======================================= @@ -26777,7 +26613,7 @@ Obj_Tails_Tail_Main: andi.w #$7FFF,$A(a0) tst.w $A(a2) bpl.s loc_16BE2 - ori.w #-$8000,$A(a0) + ori.w #$8000,$A(a0) loc_16BE2: moveq #0,d0 @@ -26889,8 +26725,31 @@ loc_16D44: bsr.w Tails2P_Tail_Load_PLC jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -byte_16D58: dc.b 0, 0, 3, 3, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +byte_16D58: dc.b 0,0 + dc.b 3 + dc.b 3 + dc.b 0 + dc.b 1 + dc.b 1 + dc.b 1 + dc.b 1 + dc.b 0 + dc.b 1,1,1 + dc.b 0 + dc.b 0,0 + dc.b 0 + dc.b 0 + dc.b 0 + dc.b 0 + dc.b 0 + dc.b 0 + dc.b 0,0,0 + dc.b 0 + dc.b 0,0 + dc.b 0 + dc.b 0,0 + dc.b 0 + dc.b 0,0 AniTails2P_Tail:include "General/Sprites/Tails/Anim - Tails 2P Tail.asm" ; --------------------------------------------------------------------------- @@ -27000,13 +26859,14 @@ locret_16EFA: rts ; --------------------------------------------------------------------------- -Obj_Air_CountDown: +Obj_AirCountdown: moveq #0,d0 move.b 5(a0),d0 move.w AirCountdown_Index(pc,d0.w),d1 jmp AirCountdown_Index(pc,d1.w) ; --------------------------------------------------------------------------- -AirCountdown_Index:dc.w AirCountdown_Init-AirCountdown_Index +AirCountdown_Index: + dc.w AirCountdown_Init-AirCountdown_Index dc.w AirCountdown_Animate-AirCountdown_Index dc.w AirCountdown_ChkWater-AirCountdown_Index dc.w AirCountdown_Display-AirCountdown_Index @@ -27043,7 +26903,7 @@ loc_16F64: move.w #-$100,$1A(a0) AirCountdown_Animate: - lea (Ani_Shields).l,a1 + lea (Ani_AirCountdown).l,a1 jsr (Animate_Sprite).l AirCountdown_ChkWater: @@ -27086,7 +26946,7 @@ loc_16FE6: AirCountdown_Display: bsr.s AirCountdown_ShowNumber - lea (Ani_Shields).l,a1 + lea (Ani_AirCountdown).l,a1 jsr (Animate_Sprite).l bsr.w AirCountdown_Load_Art jmp (Draw_Sprite).l @@ -27108,7 +26968,7 @@ AirCountdown_AirLeft: ; --------------------------------------------------------------------------- AirCountdown_Display2: - lea (Ani_Shields).l,a1 + lea (Ani_AirCountdown).l,a1 jsr (Animate_Sprite).l bsr.w AirCountdown_Load_Art tst.b 4(a0) @@ -27125,7 +26985,7 @@ AirCountdown_DisplayNumber: cmpi.b #$C,$2C(a2) bhi.s AirCountdown_Delete bsr.s AirCountdown_ShowNumber - lea (Ani_Shields).l,a1 + lea (Ani_AirCountdown).l,a1 jsr (Animate_Sprite).l jmp (Draw_Sprite).l @@ -27193,7 +27053,7 @@ AirCountdown_Load_Art: add.w d1,d1 add.w d0,d1 lsl.w #6,d1 - addi.l #ArtUnc_AirCountDown,d1 + addi.l #ArtUnc_AirCountdown,d1 move.w #tiles_to_bytes(ArtTile_DashDust),d2 tst.b $43(a0) beq.s loc_171F2 @@ -27239,8 +27099,8 @@ AirCountdown_Countdown: bne.s loc_17278 tst.b $43(a0) bne.s loc_17278 - moveq #mus_Drowning,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Drowning),d0 + jsr (Play_Music).l loc_17278: subq.b #1,$36(a0) @@ -27253,15 +27113,15 @@ loc_17278: AirCountdown_WarnSound: tst.b $43(a0) bne.s AirCountdown_ReduceAir - moveq #sfx_AirDing,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_AirDing),d0 + jsr (Play_SFX).l AirCountdown_ReduceAir: subq.b #1,$2C(a2) bcc.w loc_17322 move.b #-$7F,$2E(a2) move.w #sfx_Drown,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.b #$A,$38(a0) move.w #1,$3A(a0) move.w #$78,$30(a0) @@ -27384,7 +27244,7 @@ Player_ResetAirTimer: bhi.s loc_1744C cmpa.w #Player_1,a1 bne.s loc_1744C - move.w (Level_music).w,d0 + move.w (Current_music).w,d0 btst #1,$2B(a1) beq.s loc_17430 move.w #mus_Invincibility,d0 @@ -27400,7 +27260,7 @@ loc_1743C: move.w #mus_MinibossK,d0 loc_17446: - jsr (Play_Sound).l + jsr (Play_Music).l loc_1744C: move.b #$1E,$2C(a1) @@ -27408,43 +27268,45 @@ loc_1744C: ; End of function Player_ResetAirTimer ; --------------------------------------------------------------------------- -Ani_Shields: include "General/Sprites/Shields/Anim - Shields.asm" +Ani_AirCountdown: + include "General/Sprites/Dash Dust/Anim - Air Countdown.asm" ; --------------------------------------------------------------------------- -Obj_Shield_S2: +Obj_S2Shield: moveq #0,d0 move.b 5(a0),d0 - move.w Obj_Shield_S2_Index(pc,d0.w),d1 - jmp Obj_Shield_S2_Index(pc,d1.w) + move.w Obj_S2Shield_Index(pc,d0.w),d1 + jmp Obj_S2Shield_Index(pc,d1.w) ; --------------------------------------------------------------------------- -Obj_Shield_S2_Index:dc.w Obj_Shield_S2_Init-Obj_Shield_S2_Index - dc.w Obj_Shield_S2_Main-Obj_Shield_S2_Index +Obj_S2Shield_Index: + dc.w Obj_S2Shield_Init-Obj_S2Shield_Index + dc.w Obj_S2Shield_Main-Obj_S2Shield_Index ; --------------------------------------------------------------------------- -Obj_Shield_S2_Init: +Obj_S2Shield_Init: addq.b #2,5(a0) - move.l #Map_Shield_S2,$C(a0) + move.l #Map_S2Shield,$C(a0) move.b #4,4(a0) move.w #$80,8(a0) move.b #$18,7(a0) move.w #ArtTile_Shield,$A(a0) -Obj_Shield_S2_Main: +Obj_S2Shield_Main: movea.w $42(a0),a2 btst #1,$2B(a2) bne.s locret_17566 btst #0,$2B(a2) - beq.s Obj_Shield_S2_Destroy + beq.s Obj_S2Shield_Destroy move.w $10(a2),$10(a0) move.w $14(a2),$14(a0) move.b $2A(a2),$2A(a0) andi.w #$7FFF,$A(a0) tst.w $A(a2) - bpl.s Obj_Shield_S2_Display + bpl.s Obj_S2Shield_Display ori.w #$8000,$A(a0) -Obj_Shield_S2_Display: - lea (Ani_Shield_S2).l,a1 +Obj_S2Shield_Display: + lea (Ani_S2Shield).l,a1 jsr (Animate_Sprite).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -27453,7 +27315,7 @@ locret_17566: rts ; --------------------------------------------------------------------------- -Obj_Shield_S2_Destroy: +Obj_S2Shield_Destroy: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- off_1756E: dc.l byte_1776D @@ -27619,8 +27481,10 @@ byte_17782: dc.b 8, 7, 6, 5, 4, 3, 2, 3, 4, 5, 6, 7, $F dc.b 7, 6, 5, 4, 3 byte_1779B: dc.b 7, 6, 5, 4, 3, 2, 1, 2, 3, 4, 5, 6, $FF, 1, 2, 3, 4, 5, 6, 7 dc.b 6, 5, 4, 3, 2 -Ani_Shield_S2: include "General/Sprites/Shields/Anim - Shield S2.asm" -Map_Shield_S2: include "General/Sprites/Shields/Map - Shield S2.asm" +Ani_S2Shield: + include "General/Sprites/Shields/Anim - S2 Shield.asm" +Map_S2Shield: + include "General/Sprites/Shields/Map - S2 Shield.asm" Map_Invincibility: include "General/Sprites/Shields/Map - Invincibility.asm" ; --------------------------------------------------------------------------- @@ -27716,7 +27580,7 @@ loc_179DC: andi.w #$7FFF,$A(a0) tst.w $A(a2) bpl.s loc_179FE - ori.w #-$8000,$A(a0) + ori.w #$8000,$A(a0) bra.s loc_179FE ; --------------------------------------------------------------------------- @@ -28096,7 +27960,7 @@ Map_SuperSonic_Stars: include "General/Sprites/Shields/Map - Super Sonic Stars.asm" ; --------------------------------------------------------------------------- -Obj_Insta_Shield: +Obj_InstaShield: move.l #Map_InstaShield,$C(a0) move.l #DPLC_InstaShield,$3C(a0) move.l #ArtUnc_InstaShield,$38(a0) @@ -28113,9 +27977,9 @@ Obj_Insta_Shield: loc_180DE: move.w #1,$20(a0) move.b #-1,$34(a0) - move.l #Obj_Insta_Shield_Main,(a0) + move.l #Obj_InstaShield_Main,(a0) -Obj_Insta_Shield_Main: +Obj_InstaShield_Main: movea.w $42(a0),a2 btst #1,$2B(a2) bne.s locret_18158 @@ -28152,7 +28016,7 @@ locret_18158: rts ; --------------------------------------------------------------------------- -Obj_Fire_Shield: +Obj_FireShield: move.l #Map_FireShield,$C(a0) move.l #DPLC_FireShield,$3C(a0) move.l #ArtUnc_FireShield,$38(a0) @@ -28169,18 +28033,18 @@ Obj_Fire_Shield: loc_181A4: move.w #1,$20(a0) move.b #-1,$34(a0) - move.l #Obj_Fire_Shield_Main,(a0) + move.l #Obj_FireShield_Main,(a0) -Obj_Fire_Shield_Main: +Obj_FireShield_Main: movea.w $42(a0),a2 btst #1,$2B(a2) bne.s locret_18236 cmpi.b #$1C,$20(a2) beq.s locret_18236 btst #0,$2B(a2) - beq.w Obj_Fire_Shield_Destroy + beq.w Obj_FireShield_Destroy btst #6,$2A(a2) - bne.s Obj_Fire_Shield_DestroyUnderwater + bne.s Obj_FireShield_DestroyUnderwater move.w $10(a2),$10(a0) move.w $14(a2),$14(a0) tst.b $20(a0) @@ -28190,7 +28054,7 @@ Obj_Fire_Shield_Main: andi.w #$7FFF,$A(a0) tst.w $A(a2) bpl.s loc_1820C - ori.w #-$8000,$A(a0) + ori.w #$8000,$A(a0) loc_1820C: lea (Ani_FireShield).l,a1 @@ -28209,24 +28073,24 @@ locret_18236: rts ; --------------------------------------------------------------------------- -Obj_Fire_Shield_DestroyUnderwater: +Obj_FireShield_DestroyUnderwater: andi.b #-$72,$2B(a2) jsr (Create_New_Sprite).l - bne.w Obj_Fire_Shield_Destroy + bne.w Obj_FireShield_Destroy move.l #Obj_FireShield_Dissipate,(a1) move.w $10(a0),$10(a1) move.w $14(a0),$14(a1) -Obj_Fire_Shield_Destroy: +Obj_FireShield_Destroy: andi.b #$8E,$2B(a2) - move.l #Obj_Insta_Shield,(a0) + move.l #Obj_InstaShield,(a0) rts ; --------------------------------------------------------------------------- -Obj_Lightning_Shield: - move.l #ArtUnc_Obj_Lightning_Shield_Sparks,d1 +Obj_LightningShield: + move.l #ArtUnc_LightningShield_Sparks,d1 move.w #tiles_to_bytes(ArtTile_Shield_Sparks),d2 - move.w #$50,d3 + move.w #(ArtUnc_LightningShield_Sparks_end-ArtUnc_LightningShield_Sparks)/2,d3 jsr (Add_To_DMA_Queue).l move.l #Map_LightningShield,$C(a0) move.l #DPLC_LightningShield,$3C(a0) @@ -28244,18 +28108,18 @@ Obj_Lightning_Shield: loc_182C6: move.w #1,$20(a0) move.b #-1,$34(a0) - move.l #Obj_Lightning_Shield_Main,(a0) + move.l #Obj_LightningShield_Main,(a0) -Obj_Lightning_Shield_Main: +Obj_LightningShield_Main: movea.w $42(a0),a2 btst #1,$2B(a2) bne.s locret_1835E cmpi.b #$1C,$20(a2) beq.s locret_1835E btst #0,$2B(a2) - beq.w Obj_Lightning_Shield_Destroy + beq.w Obj_LightningShield_Destroy btst #6,$2A(a2) - bne.s Obj_Lightning_Shield_DestroyUnderwater + bne.s Obj_LightningShield_DestroyUnderwater move.w $10(a2),$10(a0) move.w $14(a2),$14(a0) move.b $2A(a2),$2A(a0) @@ -28263,15 +28127,15 @@ Obj_Lightning_Shield_Main: andi.w #$7FFF,$A(a0) tst.w $A(a2) bpl.s loc_18328 - ori.w #-$8000,$A(a0) + ori.w #$8000,$A(a0) loc_18328: tst.b $20(a0) - beq.s Obj_Lightning_Shield_Display - bsr.s Obj_Lightning_Shield_Create_Spark + beq.s Obj_LightningShield_Display + bsr.s Obj_LightningShield_CreateSpark clr.b $20(a0) -Obj_Lightning_Shield_Display: +Obj_LightningShield_Display: lea (Ani_LightningShield).l,a1 jsr (Animate_Sprite).l move.w #$80,8(a0) @@ -28288,9 +28152,9 @@ locret_1835E: rts ; --------------------------------------------------------------------------- -Obj_Lightning_Shield_DestroyUnderwater: +Obj_LightningShield_DestroyUnderwater: tst.w (Palette_fade_timer).w - bne.s Obj_Lightning_Shield_Destroy + bne.s Obj_LightningShield_Destroy andi.b #$8E,$2B(a2) lea (Water_palette).w,a1 lea (Target_water_palette).w,a2 @@ -28302,26 +28166,26 @@ loc_18378: dbf d0,loc_18378 move.w #0,(Water_palette_line_3).w move.b #3,$24(a0) - move.l #Obj_Lightning_Shield_DestroyUnderwater2,(a0) + move.l #Obj_LightningShield_DestroyUnderwater2,(a0) rts ; --------------------------------------------------------------------------- -Obj_Lightning_Shield_Destroy: - andi.b #-$72,$2B(a2) - move.l #Obj_Insta_Shield,(a0) +Obj_LightningShield_Destroy: + andi.b #$8E,$2B(a2) + move.l #Obj_InstaShield,(a0) rts ; =============== S U B R O U T I N E ======================================= -Obj_Lightning_Shield_Create_Spark: +Obj_LightningShield_CreateSpark: lea (SparkVelocities).l,a2 moveq #3,d1 loc_183AE: bsr.w Create_New_Sprite bne.s locret_183FC - move.l #Obj_Lightning_Shield_Spark,(a1) + move.l #Obj_LightningShield_Spark,(a1) move.w $10(a0),$10(a1) move.w $14(a0),$14(a1) move.l $C(a0),$C(a1) @@ -28337,7 +28201,7 @@ loc_183AE: locret_183FC: rts -; End of function Obj_Lightning_Shield_Create_Spark +; End of function Obj_LightningShield_CreateSpark ; --------------------------------------------------------------------------- SparkVelocities:dc.w -$200, -$200 @@ -28346,21 +28210,21 @@ SparkVelocities:dc.w -$200, -$200 dc.w $200, $200 ; --------------------------------------------------------------------------- -Obj_Lightning_Shield_Spark: +Obj_LightningShield_Spark: jsr (MoveSprite2).l addi.w #$18,$1A(a0) lea (Ani_LightningShield).l,a1 jsr (Animate_Sprite).l tst.b 5(a0) - bne.s Obj_Lightning_Shield_Spark_Delete + bne.s Obj_LightningShield_Spark_Delete jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Obj_Lightning_Shield_Spark_Delete: +Obj_LightningShield_Spark_Delete: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Obj_Lightning_Shield_DestroyUnderwater2: +Obj_LightningShield_DestroyUnderwater2: subq.b #1,$24(a0) bpl.s locret_18456 lea (Target_water_palette).w,a1 @@ -28370,13 +28234,13 @@ Obj_Lightning_Shield_DestroyUnderwater2: loc_1844A: move.l (a1)+,(a2)+ dbf d0,loc_1844A - move.l #Obj_Insta_Shield,(a0) + move.l #Obj_InstaShield,(a0) locret_18456: rts ; --------------------------------------------------------------------------- -Obj_Bubble_Shield: +Obj_BubbleShield: move.l #Map_BubbleShield,$C(a0) move.l #DPLC_BubbleShield,$3C(a0) move.l #ArtUnc_BubbleShield,$38(a0) @@ -28395,16 +28259,16 @@ loc_184A2: move.b #-1,$34(a0) movea.w $42(a0),a1 bsr.w Player_ResetAirTimer - move.l #Obj_Bubble_Shield_Main,(a0) + move.l #Obj_BubbleShield_Main,(a0) -Obj_Bubble_Shield_Main: +Obj_BubbleShield_Main: movea.w $42(a0),a2 btst #1,$2B(a2) bne.s locret_18518 cmpi.b #$1C,$20(a2) beq.s locret_18518 btst #0,$2B(a2) - beq.s Obj_Bubble_Shield_Destroy + beq.s Obj_BubbleShield_Destroy move.w $10(a2),$10(a0) move.w $14(a2),$14(a0) move.b $2A(a2),$2A(a0) @@ -28425,9 +28289,9 @@ locret_18518: rts ; --------------------------------------------------------------------------- -Obj_Bubble_Shield_Destroy: +Obj_BubbleShield_Destroy: andi.b #$8E,$2B(a2) - move.l #Obj_Insta_Shield,(a0) + move.l #Obj_InstaShield,(a0) rts ; =============== S U B R O U T I N E ======================================= @@ -28521,7 +28385,7 @@ Obj_RingInit: Obj_RingAnimate: move.b (Rings_frame).w,$22(a0) - bra.w loc_19CC4 + bra.w Sprite_CheckDeleteTouch3 ; --------------------------------------------------------------------------- Obj_RingCollect: @@ -28549,35 +28413,33 @@ GiveRing: GiveRing_1P: move.w #sfx_RingRight,d0 - cmpi.w #$3E7,(Ring_count).w - bcc.s JmpTo_Play_Sound_2 + cmpi.w #999,(Ring_count).w + bcc.s JmpTo_Play_SFX addq.w #1,(Ring_count).w ori.b #1,(Update_HUD_ring_count).w cmpi.w #100,(Ring_count).w - bcs.s JmpTo_Play_Sound_2 + bcs.s JmpTo_Play_SFX bset #1,(Extra_life_flags).w beq.s loc_18DB4 cmpi.w #200,(Ring_count).w - bcs.s JmpTo_Play_Sound_2 + bcs.s JmpTo_Play_SFX bset #2,(Extra_life_flags).w - bne.s JmpTo_Play_Sound_2 + bne.s JmpTo_Play_SFX loc_18DB4: addq.b #1,(Life_count).w addq.b #1,(Update_HUD_life_count).w - moveq #mus_ExtraLife,d0 - jmp (Play_Sound).l + moveq #signextendB(mus_ExtraLife),d0 + jmp (Play_Music).l ; --------------------------------------------------------------------------- -JmpTo_Play_Sound_2: - jmp (Play_Sound_2).l -; End of function GiveRing - +JmpTo_Play_SFX: + jmp (Play_SFX).l ; --------------------------------------------------------------------------- rts ; --------------------------------------------------------------------------- -loc_18DCC: +GiveRing_Tails: cmpi.w #999,(Total_ring_count_P2).w bcc.s loc_18DD8 addq.w #1,(Total_ring_count_P2).w @@ -28603,12 +28465,14 @@ loc_18DE4: loc_18E14: addq.b #1,(Life_count_P2).w - moveq #mus_ExtraLife,d0 - jmp (Play_Sound).l + moveq #signextendB(mus_ExtraLife),d0 + jmp (Play_Music).l ; --------------------------------------------------------------------------- loc_18E20: - jmp (Play_Sound_2).l + jmp (Play_SFX).l +; End of function GiveRing + ; --------------------------------------------------------------------------- Obj_Bouncing_Ring: @@ -28687,7 +28551,7 @@ loc_18EDE: loc_18EEE: move.w #$FF00|sfx_RingLoss,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.w #0,(Ring_count).w move.b #$80,(Update_HUD_ring_count).w move.b #0,(Extra_life_flags).w @@ -29231,8 +29095,8 @@ Render_Sprites: lea (Sprite_table_buffer).w,a6 tst.b (Level_started_flag).w beq.s loc_193B8 - jsr (sub_E8C8).l - jsr (sub_F816).l + jsr (Render_HUD).l + jsr (Render_Rings).l loc_193B8: tst.w (a5) @@ -29840,7 +29704,7 @@ Render_Sprites_CompetitionMode: loc_19872: tst.b (Level_started_flag).w beq.s loc_1987E - jsr (sub_E8C0).l + jsr (Render_HUD_P1).l loc_1987E: move.b 1(a5),(a5) @@ -29939,7 +29803,7 @@ loc_19958: loc_19974: tst.b (Level_started_flag).w beq.s loc_19980 - jsr (nullsub_2).l + jsr (Render_HUD_P2).l loc_19980: tst.b 1(a5) @@ -30289,11 +30153,11 @@ loc_19CC0: bra.w Delete_Current_Sprite ; --------------------------------------------------------------------------- -loc_19CC4: +Sprite_CheckDeleteTouch3: move.w $10(a0),d0 loc_19CC8: - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_19CE2 @@ -30383,7 +30247,7 @@ loc_19D6C: moveq #0,d6 loc_19D84: - andi.w #-$80,d6 + andi.w #$FF80,d6 movea.l (Object_load_addr_front).w,a0 loc_19D8C: @@ -30415,20 +30279,20 @@ loc_19DB6: move.w a3,(Object_respawn_index_back).w move.w #-1,(Camera_X_pos_coarse).w move.w (Camera_Y_pos).w,d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 move.w d0,(Camera_Y_pos_coarse).w loc_19DD0: move.w (Camera_X_pos).w,d1 subi.w #$80,d1 - andi.w #-$80,d1 + andi.w #$FF80,d1 move.w d1,(Camera_X_pos_coarse_back).w lea (Sprite_Listing).l,a4 tst.w (Camera_min_Y_pos).w bpl.s loc_19E1A lea loc_1A010(pc),a6 move.w (Camera_Y_pos).w,d3 - andi.w #-$80,d3 + andi.w #$FF80,d3 move.w d3,d4 addi.w #$200,d4 subi.w #$80,d3 @@ -30448,7 +30312,7 @@ loc_19E0A: loc_19E1A: move.w (Camera_Y_pos).w,d3 - andi.w #-$80,d3 + andi.w #$FF80,d3 move.w d3,d4 addi.w #$200,d4 subi.w #$80,d3 @@ -30461,7 +30325,7 @@ loc_19E30: loc_19E34: move.w #$FFF,d5 move.w (Camera_X_pos).w,d6 - andi.w #-$80,d6 + andi.w #$FF80,d6 cmp.w (Camera_X_pos_coarse).w,d6 beq.w loc_19EEA bge.s loc_19EA2 @@ -30546,7 +30410,7 @@ loc_19EE2: loc_19EEA: move.w (Camera_Y_pos).w,d6 - andi.w #-$80,d6 + andi.w #$FF80,d6 move.w d6,d3 cmp.w (Camera_Y_pos_coarse).w,d6 beq.w loc_19FCA @@ -30880,8 +30744,8 @@ Get_LevelSizeStart: move.w #-1,(Screen_Y_wrap_value).w bra.w loc_1A374 ; --------------------------------------------------------------------------- -; xstart xend ystart yend ; Level -LevelSizes: dc.w $1308, $6000, 0, $390 ; AIZ1 +; xstart xend ystart yend ; Level +LevelSizes: dc.w $1308, $6000, 0, $390 ; AIZ1 dc.w 0, $4640, 0, $590 ; AIZ2 dc.w 0, $6000, 0, $1000 ; HCZ1 dc.w 0, $6000, 0, $1000 ; HCZ2 @@ -31555,54 +31419,55 @@ loc_1A89C: ; End of function Do_ResizeEvents ; --------------------------------------------------------------------------- -LevelResizeArray:dc.w AIZ1_Resize-LevelResizeArray +LevelResizeArray: + dc.w AIZ1_Resize-LevelResizeArray dc.w AIZ2_Resize-LevelResizeArray dc.w HCZ1_Resize-LevelResizeArray dc.w HCZ2_Resize-LevelResizeArray - dc.w MGZ_Resize-LevelResizeArray - dc.w MGZ_Resize-LevelResizeArray - dc.w No_Resize2-LevelResizeArray - dc.w No_Resize2-LevelResizeArray - dc.w No_Resize2-LevelResizeArray - dc.w No_Resize2-LevelResizeArray + dc.w MGZ1_Resize-LevelResizeArray + dc.w MGZ2_Resize-LevelResizeArray + dc.w CNZ1_Resize-LevelResizeArray + dc.w CNZ2_Resize-LevelResizeArray + dc.w FBZ1_Resize-LevelResizeArray + dc.w FBZ2_Resize-LevelResizeArray dc.w ICZ1_Resize-LevelResizeArray dc.w ICZ2_Resize-LevelResizeArray - dc.w No_Resize-LevelResizeArray + dc.w LBZ1_Resize-LevelResizeArray dc.w LBZ2_Resize-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray ; --------------------------------------------------------------------------- AIZ1_Resize: @@ -31748,7 +31613,7 @@ off_1AAAA: dc.w AIZ2_Resize1-off_1AAAA dc.w AIZ2_Resize6-off_1AAAA dc.w AIZ2_Resize7-off_1AAAA dc.w AIZ2_Resize8-off_1AAAA - dc.w AIZ2_SonicResizeEnd-off_1AAAA + dc.w AIZ2_ResizeEnd-off_1AAAA ; --------------------------------------------------------------------------- AIZ2_Resize1: @@ -31788,7 +31653,7 @@ loc_1AB0C: bne.s loc_1AB42 jsr (Create_New_Sprite).l bne.s loc_1AB42 - move.l #Obj_AIZ_Miniboss,(a1) + move.l #Obj_AIZMiniboss,(a1) move.w #$11F0,$10(a1) move.w #$289,$14(a1) @@ -31897,7 +31762,7 @@ locret_1AC36: rts ; --------------------------------------------------------------------------- -AIZ2_SonicResizeEnd: +AIZ2_ResizeEnd: rts ; --------------------------------------------------------------------------- @@ -31981,7 +31846,11 @@ locret_1ACD6: rts ; --------------------------------------------------------------------------- -MGZ_Resize: +MGZ1_Resize: + ; Bug: MGZ1 uses a dynamic resize routine meant for MGZ2 + ; This causes the act 2 boss to spawn in out-of-bounds act 1 + +MGZ2_Resize: moveq #0,d0 move.b (Dynamic_resize_routine).w,d0 move.w off_1ACE6(pc,d0.w),d0 @@ -32024,7 +31893,7 @@ loc_1AD2A: move.w d0,(Camera_target_min_X_pos).w jsr (Create_New_Sprite).l bne.s loc_1AD5E - move.l #Obj_A1_1_MGZ2_Boss,(a1) + move.l #Obj_MGZEndBoss,(a1) move.w #$3D20,$10(a1) move.w #$668,$14(a1) @@ -32050,7 +31919,10 @@ locret_1AD84: rts ; --------------------------------------------------------------------------- -No_Resize2: +CNZ1_Resize: +CNZ2_Resize: +FBZ1_Resize: +FBZ2_Resize: rts ; --------------------------------------------------------------------------- @@ -32117,7 +31989,7 @@ locret_1ADF8: rts ; --------------------------------------------------------------------------- -No_Resize: +LBZ1_Resize: rts ; --------------------------------------------------------------------------- @@ -32147,7 +32019,7 @@ loc_1AE0E: move.w #0,d2 jsr (Queue_Kos_Module).l lea (ArtKosM_LBZ2DeathEgg2_8x8).l,a1 - move.w #$B400,d2 + move.w #tiles_to_bytes(ArtTile_Explosion),d2 jsr (Queue_Kos_Module).l locret_1AE64: @@ -32158,7 +32030,7 @@ locret_1AE66: rts ; --------------------------------------------------------------------------- -No_Resize3: +No_Resize: rts ; =============== S U B R O U T I N E ======================================= @@ -32186,21 +32058,14 @@ loc_1AE82: ; =============== S U B R O U T I N E ======================================= -nullsub_5: +Draw_LRZ_Special_Rock_Sprites: rts -; End of function nullsub_5 - - -; =============== S U B R O U T I N E ======================================= - +; --------------------------------------------------------------------------- -Draw_LRZ_Special_Rock_Sprites: moveq #0,d0 move.b (LRZ_rocks_routine).w,d0 move.w off_1AE98(pc,d0.w),d0 jmp off_1AE98(pc,d0.w) -; End of function Draw_LRZ_Special_Rock_Sprites - ; --------------------------------------------------------------------------- off_1AE98: dc.w loc_1AE9C-off_1AE98 dc.w loc_1AECC-off_1AE98 @@ -32283,6 +32148,8 @@ loc_1AF08: bls.s loc_1AF06 move.l a2,(LRZ_rocks_addr_back).w rts +; End of function Draw_LRZ_Special_Rock_Sprites + ; =============== S U B R O U T I N E ======================================= @@ -32331,17 +32198,8 @@ locret_1AF68: ; --------------------------------------------------------------------------- LRZ_Rock_SpriteData: - dc.w $FFF8, 5, $C400, $FFF8 - dc.w $FFF8, 5, $CC00, $FFF8 - dc.w $FFF8, 5, $C404, $FFF8 - dc.w $FFF8, 5, $C408, $FFF8 - dc.w $FFF8, 5, $CC08, $FFF8 - dc.w $FFF8, 5, $CC04, $FFF8 - dc.w 0, 4, $C40C, $FFF8 - dc.w 0, 4, $C40E, $FFF8 - dc.w 0, 4, $CC0E, $FFF8 - dc.w 0, 4, $CC0C, $FFF8 - dc.w $FFF8, 5, $E410, $FFF8 + binclude "Levels/LRZ/Misc/Rock Sprite Attribute Data S3.bin" + even ; --------------------------------------------------------------------------- Obj_PathSwap: @@ -32731,7 +32589,7 @@ loc_1B4C8: lea (Player_1).w,a1 moveq #3,d6 movem.l d1-d4,-(sp) - bsr.w SolidObject_Monitor_SonicKnux + bsr.w SolidObject_Monitor_Sonic movem.l (sp)+,d1-d4 lea (Player_2).w,a1 moveq #4,d6 @@ -32748,13 +32606,13 @@ loc_1B504: ; =============== S U B R O U T I N E ======================================= -SolidObject_Monitor_SonicKnux: +SolidObject_Monitor_Sonic: btst d6,$2A(a0) bne.s Monitor_ChkOverEdge cmpi.b #2,$20(a1) bne.w SolidObject_cont rts -; End of function SolidObject_Monitor_SonicKnux +; End of function SolidObject_Monitor_Sonic ; =============== S U B R O U T I N E ======================================= @@ -32768,6 +32626,8 @@ SolidObject_Monitor_Tails: cmpi.b #2,$20(a1) bne.w SolidObject_cont rts +; End of function SolidObject_Monitor_Tails + ; --------------------------------------------------------------------------- Monitor_ChkOverEdge: @@ -32795,8 +32655,6 @@ Monitor_CharStandOn: bsr.w MvSonicOnPtfm moveq #0,d4 rts -; End of function SolidObject_Monitor_Tails - ; --------------------------------------------------------------------------- Obj_MonitorBreak: @@ -32907,19 +32765,19 @@ loc_1B68C: ; End of function sub_1B65C ; --------------------------------------------------------------------------- -off_1B69C: dc.w loc_1B6B0-off_1B69C +off_1B69C: dc.w Monitor_Give_Eggman-off_1B69C dc.w Monitor_Give_1up-off_1B69C - dc.w loc_1B6B0-off_1B69C + dc.w Monitor_Give_Eggman-off_1B69C dc.w Monitor_Give_Rings-off_1B69C - dc.w Monitor_Give_Super_Sneakers-off_1B69C - dc.w Monitor_Give_Fire_Shield-off_1B69C - dc.w Monitor_Give_Lightning_Shield-off_1B69C - dc.w Monitor_Give_Bubble_Shield-off_1B69C + dc.w Monitor_Give_SpeedShoes-off_1B69C + dc.w Monitor_Give_FireShield-off_1B69C + dc.w Monitor_Give_LightningShield-off_1B69C + dc.w Monitor_Give_BubbleShield-off_1B69C dc.w Monitor_Give_Invincibility-off_1B69C dc.w Monitor_Give_SuperSonic-off_1B69C ; --------------------------------------------------------------------------- -loc_1B6B0: +Monitor_Give_Eggman: addq.w #1,(a2) bra.w sub_228EC ; --------------------------------------------------------------------------- @@ -32928,8 +32786,8 @@ Monitor_Give_1up: addq.w #1,(Monitors_broken).w addq.b #1,(Life_count).w addq.b #1,(Update_HUD_life_count).w - moveq #mus_ExtraLife,d0 - jmp (Play_Sound).l + moveq #signextendB(mus_ExtraLife),d0 + jmp (Play_Music).l ; --------------------------------------------------------------------------- Monitor_Give_Rings: @@ -32938,40 +32796,40 @@ Monitor_Give_Rings: lea (Update_HUD_ring_count).w,a3 lea (Extra_life_flags).w,a4 lea (Total_ring_count).w,a5 - addi.w #$A,(a5) - cmpi.w #$3E7,(a5) + addi.w #10,(a5) + cmpi.w #999,(a5) bcs.s loc_1B6EA - move.w #$3E7,(a5) + move.w #999,(a5) loc_1B6EA: - addi.w #$A,(a2) - cmpi.w #$3E7,(a2) + addi.w #10,(a2) + cmpi.w #999,(a2) bcs.s loc_1B6F8 - move.w #$3E7,(a2) + move.w #999,(a2) loc_1B6F8: ori.b #1,(a3) - cmpi.w #$64,(a2) + cmpi.w #100,(a2) bcs.s loc_1B714 bset #1,(a4) beq.s loc_1B71C - cmpi.w #$C8,(a2) + cmpi.w #200,(a2) bcs.s loc_1B714 bset #2,(a4) beq.s loc_1B71C loc_1B714: - moveq #sfx_RingRight,d0 - jmp (Play_Sound).l + moveq #signextendB(sfx_RingRight),d0 + jmp (Play_Music).l ; --------------------------------------------------------------------------- loc_1B71C: cmpa.w #Player_1,a1 beq.w Monitor_Give_1up - bra.w loc_1B6B0 + bra.w Monitor_Give_Eggman ; --------------------------------------------------------------------------- -Monitor_Give_Super_Sneakers: +Monitor_Give_SpeedShoes: addq.w #1,(a2) bset #2,$2B(a1) move.b #$96,$36(a1) @@ -32995,62 +32853,62 @@ loc_1B76A: jmp (Change_Music_Tempo).l ; --------------------------------------------------------------------------- -Monitor_Give_Fire_Shield: +Monitor_Give_FireShield: addq.w #1,(a2) andi.b #$8E,$2B(a1) bset #0,$2B(a1) bset #4,$2B(a1) - moveq #sfx_FireShield,d0 - jsr (Play_Sound).l + moveq #signextendB(sfx_FireShield),d0 + jsr (Play_Music).l tst.b $43(a0) bne.s loc_1B7A2 - move.l #Obj_Fire_Shield,(Shield).w + move.l #Obj_FireShield,(Shield).w move.w a1,(Shield+parent).w rts ; --------------------------------------------------------------------------- loc_1B7A2: - move.l #Obj_Fire_Shield,(Shield_P2).w + move.l #Obj_FireShield,(Shield_P2).w move.w a1,(Shield_P2+parent).w rts ; --------------------------------------------------------------------------- -Monitor_Give_Lightning_Shield: +Monitor_Give_LightningShield: addq.w #1,(a2) andi.b #$8E,$2B(a1) bset #0,$2B(a1) bset #5,$2B(a1) - moveq #sfx_ElectricShield,d0 - jsr (Play_Sound).l + moveq #signextendB(sfx_LightningShield),d0 + jsr (Play_Music).l tst.b $43(a0) bne.s loc_1B7E0 - move.l #Obj_Lightning_Shield,(Shield).w + move.l #Obj_LightningShield,(Shield).w move.w a1,(Shield+parent).w rts ; --------------------------------------------------------------------------- loc_1B7E0: - move.l #Obj_Lightning_Shield,(Shield_P2).w + move.l #Obj_LightningShield,(Shield_P2).w move.w a1,(Shield_P2+parent).w rts ; --------------------------------------------------------------------------- -Monitor_Give_Bubble_Shield: +Monitor_Give_BubbleShield: addq.w #1,(a2) andi.b #$8E,$2B(a1) bset #0,$2B(a1) bset #6,$2B(a1) - moveq #sfx_BubbleShield,d0 - jsr (Play_Sound).l + moveq #signextendB(sfx_BubbleShield),d0 + jsr (Play_Music).l tst.b $43(a0) bne.s loc_1B81E - move.l #Obj_Bubble_Shield,(Shield).w + move.l #Obj_BubbleShield,(Shield).w move.w a1,(Shield+parent).w rts ; --------------------------------------------------------------------------- loc_1B81E: - move.l #Obj_Bubble_Shield,(Shield_P2).w + move.l #Obj_BubbleShield,(Shield_P2).w move.w a1,(Shield_P2+parent).w rts ; --------------------------------------------------------------------------- @@ -33065,8 +32923,8 @@ Monitor_Give_Invincibility: bne.s loc_1B856 cmpi.b #$C,$2C(a1) bls.s loc_1B856 - moveq #mus_Invincibility,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Invincibility),d0 + jsr (Play_Music).l loc_1B856: tst.b $43(a0) @@ -33100,10 +32958,10 @@ Monitor_Give_SuperSonic: move.w #$100,(Deceleration).w move.b #0,(Player_1+invincibility_timer).w bset #1,$2B(a1) - moveq #sfx_SuperAlt,d0 - jsr (Play_Sound_2).l - moveq #mus_Invincibility,d0 - jmp (Play_Sound).l + moveq #signextendB(sfx_Whistle),d0 + jsr (Play_SFX).l + moveq #signextendB(mus_Invincibility),d0 + jmp (Play_Music).l ; --------------------------------------------------------------------------- rts ; --------------------------------------------------------------------------- @@ -34122,7 +33980,7 @@ loc_1C24C: move.l #Map_Explosion,$C(a0) move.w $A(a0),d0 andi.w #$8000,d0 - ori.w #$5A0,d0 + ori.w #ArtTile_Explosion,d0 move.w d0,$A(a0) move.b #4,4(a0) move.w #$80,8(a0) @@ -34131,8 +33989,8 @@ loc_1C24C: move.b #$C,6(a0) move.b #3,$24(a0) move.b #0,$22(a0) - moveq #sfx_Break,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Break),d0 + jsr (Play_SFX).l move.l #loc_1C2A0,(a0) loc_1C2A0: @@ -34149,7 +34007,7 @@ loc_1C2BA: Obj_FireShield_Dissipate: move.l #Map_Explosion,$C(a0) - move.w #$5A0,$A(a0) + move.w #ArtTile_Explosion,$A(a0) move.b #4,4(a0) move.w #$280,8(a0) move.b #$C,7(a0) @@ -34173,7 +34031,7 @@ loc_1C318: loc_1C31E: move.l #Map_Explosion,$C(a0) - move.w #$85A0,$A(a0) + move.w #make_art_tile(ArtTile_Explosion,0,1),$A(a0) move.b #4,4(a0) move.w #$100,8(a0) move.b #$C,7(a0) @@ -34206,7 +34064,7 @@ loc_1C384: Map_Explosion: include "General/Sprites/Enemy Misc/Map - Explosion S3.asm" ; --------------------------------------------------------------------------- -Obj_09_1: +Obj_AIZ1Tree: move.l #Map_AIZ1Tree,$C(a0) move.w #$180,8(a0) move.b #8,7(a0) @@ -34220,7 +34078,7 @@ loc_1C3E2: Map_AIZ1Tree: include "Levels/AIZ/Misc Object Data/Map - Act 1 Tree.asm" ; --------------------------------------------------------------------------- -Obj_0A_1: +Obj_AIZ1ZiplinePeg: move.l #Map_AIZ1ZiplinePeg,$C(a0) move.w #$380,8(a0) move.b #$20,7(a0) @@ -34235,7 +34093,7 @@ Map_AIZ1ZiplinePeg: include "Levels/AIZ/Misc Object Data/Map - Act 1 Zipline Peg.asm" ; --------------------------------------------------------------------------- -Obj_26: +Obj_AutoSpin: move.l #Map_PathSwap,$C(a0) move.w #ArtTile_Ring,$A(a0) ori.b #4,4(a0) @@ -34386,8 +34244,8 @@ loc_1C5D4: move.b #7,$1F(a1) move.b #2,$20(a1) addq.w #5,$14(a1) - moveq #sfx_Roll,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Roll),d0 + jsr (Play_SFX).l rts ; End of function sub_1C518 @@ -34494,14 +34352,14 @@ byte_1C700: dc.b $96 dc.b 0 ; --------------------------------------------------------------------------- -Obj_27: +Obj_S2LavaMarker: moveq #0,d0 move.b $2C(a0),d0 move.b byte_1C700(pc,d0.w),$28(a0) - move.l #Map_Obj27,$C(a0) + move.l #Map_S2LavaMarker,$C(a0) tst.w (Debug_placement_mode).w beq.s loc_1C726 - move.l #Map_Obj27_2,$C(a0) + move.l #Map_S2LavaMarkerDebug,$C(a0) loc_1C726: move.w #make_art_tile(ArtTile_Ring,0,1),$A(a0) @@ -34539,11 +34397,13 @@ loc_1C778: loc_1C784: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Map_Obj27: include "General/Sprites/Unused/Map - Obj27 Unused.asm" -Map_Obj27_2: include "General/Sprites/Unused/Map - Obj27 Unused 2.asm" +Map_S2LavaMarker: + include "General/Sprites/Level Misc/Map - Lava Marker S2.asm" +Map_S2LavaMarkerDebug: + include "General/Sprites/Level Misc/Map - Lava Marker S2 Debug.asm" ; --------------------------------------------------------------------------- -Obj_28_Invisible_Barrier: +Obj_InvisibleBlock: move.l #Map_InvisibleBlock,$C(a0) move.w #make_art_tile(ArtTile_Ring,0,1),$A(a0) ori.b #4,4(a0) @@ -34618,8 +34478,8 @@ byte_1C8E2: dc.b $14 dc.b 2 ; --------------------------------------------------------------------------- -Obj_BreakableBar: - move.l #Map_BreakableBar,$C(a0) +Obj_HCZBreakableBar: + move.l #Map_HCZBreakableBar,$C(a0) move.w #$43CA,$A(a0) move.b #4,4(a0) move.w #$200,8(a0) @@ -34784,12 +34644,12 @@ locret_1CAB2: loc_1CAB4: tst.b $32(a0) beq.s loc_1CAC0 - andi.b #-2,(Player_1+object_control).w + andi.b #$FE,(Player_1+object_control).w loc_1CAC0: tst.b $33(a0) beq.s loc_1CACC - andi.b #-2,(Player_2+object_control).w + andi.b #$FE,(Player_2+object_control).w loc_1CACC: clr.b (_unkF7C7).w @@ -34876,7 +34736,7 @@ loc_1CBA0: clr.b (a2) move.b #$3C,2(a2) bclr d2,(_unkF7C7).w - andi.b #-2,$2E(a1) + andi.b #$FE,$2E(a1) btst #6,$2C(a0) bne.s locret_1CBC8 move.b #1,$3A(a0) @@ -34947,12 +34807,12 @@ locret_1CC60: loc_1CC62: tst.b $32(a0) beq.s loc_1CC6E - andi.b #-2,(Player_1+object_control).w + andi.b #$FE,(Player_1+object_control).w loc_1CC6E: tst.b $33(a0) beq.s loc_1CC7A - andi.b #-2,(Player_2+object_control).w + andi.b #$FE,(Player_2+object_control).w loc_1CC7A: clr.b (_unkF7C7).w @@ -35024,7 +34884,7 @@ loc_1CD68: move.l (a0),(a1) move.l $C(a0),$C(a1) move.w $A(a0),$A(a1) - move.b #-$7C,4(a1) + move.b #$84,4(a1) move.w $10(a0),$10(a1) move.w $14(a0),$14(a1) move.w (a4)+,d0 @@ -35043,12 +34903,12 @@ loc_1CD68: dbf d1,loc_1CD60 loc_1CDC2: - moveq #sfx_Collapse,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jmp (Play_SFX).l ; End of function sub_1CD50 ; --------------------------------------------------------------------------- -Map_BreakableBar: +Map_HCZBreakableBar: include "Levels/HCZ/Misc Object Data/Map - Breakable Bar.asm" ; --------------------------------------------------------------------------- @@ -35213,7 +35073,7 @@ loc_1D12C: loc_1D13A: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_1C778 @@ -35253,7 +35113,7 @@ loc_1D190: loc_1D19E: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_1C778 @@ -35364,7 +35224,7 @@ loc_1D2BA: loc_1D2C8: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_1C778 @@ -35404,7 +35264,7 @@ loc_1D31E: loc_1D32C: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_1C778 @@ -35444,7 +35304,7 @@ loc_1D382: loc_1D390: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_1C778 @@ -35848,7 +35708,7 @@ loc_1D800: loc_1D818: move.w $38(a0),(Chain_bonus_counter).w - andi.b #-$19,$2A(a0) + andi.b #$E7,$2A(a0) tst.w (Competition_mode).w bne.w loc_1D874 move.l #loc_1D836,(a0) @@ -36205,7 +36065,7 @@ loc_1DB88: add.w d3,d0 move.w d0,$14(a1) move.w $A(a0),$A(a1) - ori.w #-$8000,$A(a1) + ori.w #$8000,$A(a1) move.w #$80,8(a1) move.b #$18,7(a1) move.b #$18,7(a1) @@ -36221,8 +36081,8 @@ loc_1DBDE: dbf d1,loc_1DB82 loc_1DBE2: - moveq #sfx_Collapse,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jmp (Play_SFX).l ; End of function sub_1DB60 ; --------------------------------------------------------------------------- @@ -36959,8 +36819,8 @@ loc_1E47E: clr.w $48(a0) loc_1E494: - moveq #sfx_Collapse,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- byte_1E49C: dc.b $30, $2C, $28, $24, $20, $1C, $2E, $2A, $26, $22, $1E, $1A, $2C, $28, $24, $20, $1C, $18, $2A, $26 dc.b $22, $1E, $1A, $16, $28, $24, $20, $1C, $18, $14 @@ -37255,7 +37115,7 @@ loc_1F9BA: move.w $10(a0),$10(a1) move.w $14(a0),$14(a1) move.w $A(a0),$A(a1) - ori.w #-$8000,$A(a1) + ori.w #$8000,$A(a1) move.b 8(a0),8(a1) move.b 7(a0),7(a1) move.b 6(a0),6(a1) @@ -37264,8 +37124,8 @@ loc_1F9BA: dbf d1,loc_1F9B0 loc_1F9FA: - moveq #sfx_Collapse,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jmp (Play_SFX).l ; End of function sub_1F98C ; --------------------------------------------------------------------------- @@ -37715,13 +37575,13 @@ loc_2018C: lea $32(a1),a2 tst.b (a2) beq.s loc_201F6 - move.b #-$7F,(a2) + move.b #$81,(a2) loc_201F6: addq.w #1,a2 tst.b (a2) beq.s loc_20200 - move.b #-$7F,(a2) + move.b #$81,(a2) loc_20200: bra.s loc_2022E @@ -38128,9 +37988,9 @@ loc_20648: add.w d0,d0 move.b byte_206BE(pc,d0.w),$22(a1) move.b #0,$20(a1) - andi.w #-2,d0 + andi.w #$FFFE,d0 move.b byte_206CE(pc,d0.w),d2 - move.b byte_206CF(pc,d0.w),d3 + move.b byte_206CE+1(pc,d0.w),d3 ext.w d2 ext.w d3 btst #0,$2A(a1) @@ -38141,7 +38001,7 @@ loc_20676: movea.w $3C(a0),a3 move.b $26(a3),d0 addq.b #4,d0 - andi.b #-8,d0 + andi.b #$F8,d0 jsr (GetSineCosine).l neg.w d0 addi.w #8,d0 @@ -38178,7 +38038,7 @@ byte_206BE: dc.b $78 dc.b $79 dc.b $79 byte_206CE: dc.b 0 -byte_206CF: dc.b $18 + dc.b $18 dc.b $EE dc.b $13 dc.b $E8 @@ -38226,10 +38086,10 @@ loc_206EC: move.b #$14,$20(a1) move.b #0,$3D(a1) move.b #3,$2E(a1) - andi.b #-3,4(a1) + andi.b #$FD,4(a1) move.b #1,(a2) - moveq #sfx_Grab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Grab),d0 + jsr (Play_SFX).l locret_20766: rts @@ -38504,7 +38364,7 @@ loc_20BD0: move.w #1,$20(a0) subi.w #5,$10(a0) move.b #7,$22(a0) - jsr (SurfboardIntro_LoadPLC).l + jsr (SurfboardIntro_Load_PLC).l bra.s loc_20C00 ; --------------------------------------------------------------------------- @@ -38548,7 +38408,7 @@ loc_20C30: loc_20C74: lea (Ani_SurfboardIntro).l,a1 jsr (Animate_Sprite).l - jsr (SurfboardIntro_LoadPLC).l + jsr (SurfboardIntro_Load_PLC).l jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- Ani_SurfboardIntro: @@ -38645,7 +38505,7 @@ loc_20D98: move.b (a1,d0.w),d0 addq.b #1,d0 move.b d0,$22(a0) - jsr (SurfboardIntro_LoadPLC).l + jsr (SurfboardIntro_Load_PLC).l subq.w #1,$2E(a0) bpl.s locret_20DCA move.w #5,$2E(a0) @@ -38667,7 +38527,7 @@ SurfboardIntro_UpFrames: ; =============== S U B R O U T I N E ======================================= -SurfboardIntro_LoadPLC: +SurfboardIntro_Load_PLC: moveq #0,d0 move.b $22(a0),d0 cmp.b (Player_prev_frame).w,d0 @@ -38699,7 +38559,7 @@ loc_20E06: locret_20E32: rts -; End of function SurfboardIntro_LoadPLC +; End of function SurfboardIntro_Load_PLC ; --------------------------------------------------------------------------- Map_SurfboardIntro: @@ -38776,7 +38636,7 @@ SurfboardSplash2_Init: ; --------------------------------------------------------------------------- Obj_SurfboardSplash_Main: - movea.w %110000(a0),a1 + movea.w $30(a0),a1 lea (SurfboardSplash_Offsets).l,a2 bsr.w SurfboardSplash_SetOffsets move.w $10(a1),$10(a0) @@ -39058,7 +38918,7 @@ Spring_Up: move.w #$391,$A(a0) cmpi.b #$12,(Current_zone).w bne.s Spring_Common - ori.w #-$8000,$A(a0) + ori.w #$8000,$A(a0) Spring_Common: move.b $2C(a0),d0 @@ -39182,8 +39042,8 @@ loc_216DC: move.b #$F,$47(a1) loc_216EE: - moveq #sfx_Spring,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jmp (Play_SFX).l ; End of function sub_2164A ; --------------------------------------------------------------------------- @@ -39365,8 +39225,8 @@ loc_218F2: bclr #5,$2A(a0) bclr #6,$2A(a0) bclr #5,$2A(a1) - moveq #sfx_Spring,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jmp (Play_SFX).l ; End of function sub_21836 @@ -39556,8 +39416,8 @@ loc_21B00: bclr #3,$2A(a1) clr.b $40(a1) move.b #2,5(a1) - moveq #sfx_Spring,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jmp (Play_SFX).l ; End of function sub_21A6A ; --------------------------------------------------------------------------- @@ -39662,8 +39522,8 @@ loc_21C46: move.b #$F,$47(a1) loc_21C58: - moveq #sfx_Spring,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jmp (Play_SFX).l ; End of function sub_21B74 ; --------------------------------------------------------------------------- @@ -39750,8 +39610,8 @@ loc_21D5E: move.b #$F,$47(a1) loc_21D70: - moveq #sfx_Spring,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jmp (Play_SFX).l ; End of function sub_21CB2 ; --------------------------------------------------------------------------- @@ -39916,8 +39776,8 @@ sub_22146: bne.s locret_221A4 tst.b 4(a0) bpl.s locret_221A4 - moveq #sfx_SpikeMove,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SpikeMove),d0 + jsr (Play_SFX).l bra.s locret_221A4 ; --------------------------------------------------------------------------- @@ -39979,7 +39839,7 @@ loc_221F4: move.l #loc_225B8,(a1) loc_2221C: - andi.b #-$10,$2C(a0) + andi.b #$F0,$2C(a0) move.b (a2)+,d1 or.b d1,$2C(a0) move.w $10(a0),$10(a1) @@ -40126,8 +39986,8 @@ sub_2236A: bne.s locret_223CE tst.b 4(a0) bpl.s locret_223CE - moveq #sfx_SpikeMove,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SpikeMove),d0 + jsr (Play_SFX).l bra.s locret_223CE ; --------------------------------------------------------------------------- @@ -40174,26 +40034,26 @@ loc_223F0: bhi.w locret_22498 move.w #0,$36(a0) move.b $2C(a0),d0 - andi.b #-$10,d0 - cmpi.b #-$20,d0 + andi.b #$F0,d0 + cmpi.b #$E0,d0 bne.s loc_2244A addi.w #$16,$14(a0) bchg #1,$2A(a0) bchg #1,4(a0) andi.b #$F,$2C(a0) - ori.b #-$10,$2C(a0) + ori.b #$F0,$2C(a0) move.l #loc_222A0,(a0) movea.w $3E(a0),a1 neg.w $32(a1) loc_2244A: - cmpi.b #-$10,d0 + cmpi.b #$F0,d0 bne.s loc_2247C subi.w #$16,$14(a0) bchg #1,$2A(a0) bchg #1,4(a0) andi.b #$F,$2C(a0) - ori.b #-$20,$2C(a0) + ori.b #$E0,$2C(a0) move.l #loc_222A0,(a0) movea.w $3E(a0),a1 neg.w $32(a1) @@ -40240,26 +40100,26 @@ loc_224D2: bcs.s locret_2255C move.w #$1800,$36(a0) move.b $2C(a0),d0 - andi.b #-$10,d0 - cmpi.b #-$20,d0 + andi.b #$F0,d0 + cmpi.b #$E0,d0 bne.s loc_2252A addi.w #$16,$14(a0) bchg #1,$2A(a0) bchg #1,4(a0) andi.b #$F,$2C(a0) - ori.b #-$10,$2C(a0) + ori.b #$F0,$2C(a0) move.l #loc_222A0,(a0) movea.w $3E(a0),a1 neg.w $32(a1) loc_2252A: - cmpi.b #-$10,d0 + cmpi.b #$F0,d0 bne.s locret_2255C subi.w #$16,$14(a0) bchg #1,$2A(a0) bchg #1,4(a0) andi.b #$F,$2C(a0) - ori.b #-$20,$2C(a0) + ori.b #$E0,$2C(a0) move.l #loc_222A0,(a0) movea.w $3E(a0),a1 neg.w $32(a1) @@ -40657,8 +40517,8 @@ sub_22960: bne.s locret_229BE tst.b 4(a0) bpl.s locret_229BE - moveq #sfx_SpikeMove,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SpikeMove),d0 + jsr (Play_SFX).l bra.s locret_229BE ; --------------------------------------------------------------------------- @@ -40729,8 +40589,8 @@ sub_229FC: bne.s locret_22A5A tst.b 4(a0) bpl.s locret_22A5A - moveq #sfx_SpikeMove,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SpikeMove),d0 + jsr (Play_SFX).l bra.s locret_22A5A ; --------------------------------------------------------------------------- @@ -40883,7 +40743,7 @@ sub_22CE0: lsr.w #3,d4 move.w d0,d5 ror.w #3,d5 - andi.w #-$2000,d5 + andi.w #$E000,d5 move.w #$F0,d6 swap d6 move.w #$F,d7 @@ -42043,27 +41903,12 @@ GetScalars: ; End of function GetScalars ; --------------------------------------------------------------------------- -ScalarTable: dc.w 0, $192, $324, $4B5, $646, $7D6, $964, $AF1, $C7C, $E06, $F8D, $1112, $1294, $1413, $1590, $1709 - dc.w $187E, $19EF, $1B5D, $1CC6, $1E2B, $1F8C, $20E7, $223D, $238E, $24DA, $2620, $2760, $289A, $29CE, $2AFB, $2C21 - dc.w $2D41, $2E5A, $2F6C, $3076, $3179, $3274, $3368, $3453, $3537, $3612, $36E5, $37B0, $3871, $392B, $39DB, $3A82 - dc.w $3B21, $3BB6, $3C42, $3CC5, $3D3F, $3DAF, $3E15, $3E72, $3EC5, $3F0F, $3F4F, $3F85, $3FB1, $3FD4, $3FEC, $3FFB - dc.w $4000, $3FFB, $3FEC, $3FD4, $3FB1, $3F85, $3F4F, $3F0F, $3EC5, $3E72, $3E15, $3DAF, $3D3F, $3CC5, $3C42, $3BB6 - dc.w $3B21, $3A82, $39DB, $392B, $3871, $37B0, $36E5, $3612, $3537, $3453, $3368, $3274, $3179, $3076, $2F6C, $2E5A - dc.w $2D41, $2C21, $2AFB, $29CE, $289A, $2760, $2620, $24DA, $238E, $223D, $20E7, $1F8C, $1E2B, $1CC6, $1B5D, $19EF - dc.w $187E, $1709, $1590, $1413, $1294, $1112, $F8D, $E06, $C7C, $AF1, $964, $7D6, $646, $4B5, $324, $192 - dc.w 0, $FE6E, $FCDC, $FB4B, $F9BA, $F82A, $F69C, $F50F, $F384, $F1FA, $F073, $EEEE, $ED6C, $EBED, $EA70, $E8F7 - dc.w $E782, $E611, $E4A3, $E33A, $E1D5, $E074, $DF19, $DDC3, $DC72, $DB26, $D9E0, $D8A0, $D766, $D632, $D505, $D3DF - dc.w $D2BF, $D1A6, $D094, $CF8A, $CE87, $CD8C, $CC98, $CBAD, $CAC9, $C9EE, $C91B, $C850, $C78F, $C6D5, $C625, $C57E - dc.w $C4DF, $C44A, $C3BE, $C33B, $C2C1, $C251, $C1EB, $C18E, $C13B, $C0F1, $C0B1, $C07B, $C04F, $C02C, $C014, $C005 - dc.w $C000, $C005, $C014, $C02C, $C04F, $C07B, $C0B1, $C0F1, $C13B, $C18E, $C1EB, $C251, $C2C1, $C33B, $C3BE, $C44A - dc.w $C4DF, $C57E, $C625, $C6D5, $C78F, $C850, $C91B, $C9EE, $CAC9, $CBAD, $CC98, $CD8C, $CE87, $CF8A, $D094, $D1A6 - dc.w $D2BF, $D3DF, $D505, $D632, $D766, $D8A0, $D9E0, $DB26, $DC72, $DDC3, $DF19, $E074, $E1D5, $E33A, $E4A3, $E611 - dc.w $E782, $E8F7, $EA70, $EBED, $ED6C, $EEEE, $F073, $F1FA, $F384, $F50F, $F69C, $F82A, $F9BA, $FB4B, $FCDC, $FE6E -Map_SphereTest: - include "General/Special Stage/Map - Eosian Spheres.asm" -; --------------------------------------------------------------------------- - -Obj_0E: +ScalarTable: binclude "General/Special Stage/Scalars.bin" + even +Map_SphereTest: include "General/Special Stage/Map - Eosian Spheres.asm" +; --------------------------------------------------------------------------- + +Obj_TwistedRamp: lea (Player_1).w,a1 bsr.s sub_23CA2 lea (Player_2).w,a1 @@ -42206,7 +42051,7 @@ loc_23DE8: loc_23E12: move.w $44(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmp.w $42(a0),d0 bhi.w loc_23E2C @@ -42228,7 +42073,8 @@ loc_23E3C: loc_23E48: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -LBZMovingPlatformIndex:dc.w Platform_Stationary-LBZMovingPlatformIndex +LBZMovingPlatformIndex: + dc.w Platform_Stationary-LBZMovingPlatformIndex dc.w Platform_Horizontal64-LBZMovingPlatformIndex dc.w Platform_Horizontal128-LBZMovingPlatformIndex dc.w Platform_Vertical64-LBZMovingPlatformIndex @@ -42243,7 +42089,8 @@ LBZMovingPlatformIndex:dc.w Platform_Stationary-LBZMovingPlatformIndex dc.w Platform_Horizontal256-LBZMovingPlatformIndex dc.w Platform_FallingDelayed-LBZMovingPlatformIndex dc.w Platform_Falling-LBZMovingPlatformIndex -FloatingPlatformIndex:dc.w Platform_Stationary-FloatingPlatformIndex +FloatingPlatformIndex: + dc.w Platform_Stationary-FloatingPlatformIndex dc.w Platform_Horizontal64-FloatingPlatformIndex dc.w Platform_Horizontal128-FloatingPlatformIndex dc.w Platform_Vertical64-FloatingPlatformIndex @@ -42684,13 +42531,13 @@ Map_LBZMovingPlatform: include "Levels/LBZ/Misc Object Data/Map - Moving Platform.asm" ; --------------------------------------------------------------------------- -Obj_1D_1: +Obj_LBZUnusedBarPlatform: jsr (Create_New_Sprite3).l bne.w loc_242B4 move.w $10(a0),$10(a1) move.w $14(a0),$14(a1) move.b $2A(a0),$2A(a1) - move.l #Map_LBZPlatformUndersideUnused,$C(a1) + move.l #Map_LBZUnusedBarPlatform,$C(a1) move.w #$42EA,$A(a1) move.b #4,4(a1) move.w #$180,8(a1) @@ -42721,7 +42568,7 @@ sub_242D8: lea $33(a0),a2 lea (Player_2).w,a1 move.w (Ctrl_2).w,d0 - bsr.s i + bsr.s sub_242F0 lea (Player_1).w,a1 subq.w #1,a2 move.w (Ctrl_1).w,d0 @@ -42731,7 +42578,7 @@ sub_242D8: ; =============== S U B R O U T I N E ======================================= -i: +sub_242F0: tst.b (a2) beq.w loc_2436C tst.b 4(a1) @@ -42811,11 +42658,11 @@ loc_2437A: locret_243DE: rts -; End of function i +; End of function sub_242F0 ; --------------------------------------------------------------------------- -Map_LBZPlatformUndersideUnused: - include "Levels/LBZ/Misc Object Data/Map - Floating Platform Underside (Unused).asm" +Map_LBZUnusedBarPlatform: + include "Levels/LBZ/Misc Object Data/Map - Unused Bar Platform.asm" byte_243F0: dc.b $20 dc.b $20 dc.b 0 @@ -43080,7 +42927,7 @@ byte_2471C: dc.b $10 dc.b $68 ; --------------------------------------------------------------------------- -Obj_12_1: +Obj_LBZUnusedElevator: move.l #Map_LBZUnusedElevator,$C(a0) move.w #$43C3,$A(a0) move.b #4,4(a0) @@ -43267,7 +43114,7 @@ Obj_LBZExplodingTrigger: move.b #$10,7(a0) move.b #$10,6(a0) move.w #$280,8(a0) - move.b #-$3A,$28(a0) + move.b #$C6,$28(a0) move.l #loc_24944,(a0) loc_24944: @@ -43290,7 +43137,7 @@ loc_2496C: bsr.s sub_24980 loc_2497A: - jmp (loc_19CC4).l + jmp (Sprite_CheckDeleteTouch3).l ; =============== S U B R O U T I N E ======================================= @@ -43447,8 +43294,8 @@ loc_24B18: bclr #5,$2A(a1) clr.b $40(a1) clr.b $3D(a1) - moveq #sfx_SmallBumpers,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SmallBumpers),d0 + jsr (Play_SFX).l rts ; End of function sub_24B04 @@ -43720,7 +43567,7 @@ sub_25194: move.l a1,-(sp) jsr (Create_New_Sprite3).l bne.w loc_251C0 - move.l #Obj_2523E,(a1) + move.l #loc_2523E,(a1) move.w $10(a0),$10(a1) move.w $14(a0),$14(a1) move.b 4(a0),4(a1) @@ -43772,13 +43619,13 @@ loc_25218: bclr #5,$2A(a1) loc_25236: - moveq #sfx_Spring,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jmp (Play_SFX).l ; End of function sub_25194 ; --------------------------------------------------------------------------- -Obj_2523E: +loc_2523E: move.l #Map_LBZPlayerLauncher,$C(a0) move.w #$43C3,$A(a0) ori.b #4,4(a0) @@ -43914,7 +43761,7 @@ loc_2539E: move.w $10(a0),$10(a1) move.w $14(a0),$14(a1) move.b $2A(a0),$2A(a1) - move.b #-$63,$28(a1) + move.b #$9D,$28(a1) bset #4,$2B(a1) addi.w #$40,$10(a1) btst #0,$2A(a0) @@ -43924,8 +43771,8 @@ loc_2539E: loc_253F0: tst.b 4(a0) bpl.s loc_253FE - moveq #sfx_FireAttack,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FireAttack),d0 + jsr (Play_SFX).l loc_253FE: moveq #0,d1 @@ -43948,7 +43795,7 @@ loc_25422: move.w #$7FFF,$10(a0) loc_2543A: - jmp (loc_19CC4).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- Ani_LBZFlameThrower: include "Levels/LBZ/Misc Object Data/Anim - Flame Thrower.asm" @@ -44021,7 +43868,7 @@ loc_25630: loc_2564C: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_25666 @@ -44199,7 +44046,7 @@ loc_25802: move.b $2A(a1),$2A(a0) move.b $2A(a1),d0 andi.b #1,d0 - andi.b #-2,4(a1) + andi.b #$FE,4(a1) or.b d0,4(a1) move.w $10(a3),$10(a1) move.w $14(a3),$14(a1) @@ -44466,7 +44313,7 @@ loc_25B34: move.w #6,$36(a0) btst #0,$2C(a0) beq.s loc_25B5A - addi.b #-$80,$27(a0) + addi.b #$80,$27(a0) loc_25B5A: move.l #Obj_LBZCupElevatorMain,(a0) @@ -44567,8 +44414,8 @@ loc_25C26: tst.b $26(a0) bpl.s locret_25C64 move.w #$80,8(a0) - moveq #sfx_Hoverpad,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Hoverpad),d0 + jsr (Play_SFX).l locret_25C64: rts @@ -44578,8 +44425,8 @@ loc_25C66: tst.b $26(a0) bmi.s locret_25C7A move.w #$200,8(a0) - moveq #sfx_Hoverpad,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Hoverpad),d0 + jsr (Play_SFX).l locret_25C7A: rts @@ -44627,8 +44474,8 @@ loc_25CB6: tst.b $26(a0) bpl.s locret_25CF4 move.w #$80,8(a0) - moveq #sfx_Hoverpad,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Hoverpad),d0 + jsr (Play_SFX).l locret_25CF4: rts @@ -44638,8 +44485,8 @@ loc_25CF6: tst.b $26(a0) bmi.s locret_25D0A move.w #$200,8(a0) - moveq #sfx_Hoverpad,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Hoverpad),d0 + jsr (Play_SFX).l locret_25D0A: rts @@ -44693,8 +44540,8 @@ loc_25D78: tst.b $26(a0) bpl.s locret_25D9C move.w #$80,8(a0) - moveq #sfx_Hoverpad,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Hoverpad),d0 + jsr (Play_SFX).l locret_25D9C: rts @@ -44704,8 +44551,8 @@ loc_25D9E: tst.b $26(a0) bmi.s locret_25DB2 move.w #$200,8(a0) - moveq #sfx_Hoverpad,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Hoverpad),d0 + jsr (Play_SFX).l locret_25DB2: rts @@ -44736,8 +44583,8 @@ loc_25DE6: tst.b $26(a0) bpl.s locret_25E0A move.w #$80,8(a0) - moveq #sfx_Hoverpad,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Hoverpad),d0 + jsr (Play_SFX).l locret_25E0A: rts @@ -44747,8 +44594,8 @@ loc_25E0C: tst.b $26(a0) bmi.s locret_25E20 move.w #$200,8(a0) - moveq #sfx_Hoverpad,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Hoverpad),d0 + jsr (Play_SFX).l locret_25E20: rts @@ -44798,8 +44645,8 @@ loc_25E86: loc_25E8E: move.l #Obj_LBZElevatorCupFlicker,(a0) - moveq #sfx_Death,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Death),d0 + jsr (Play_SFX).l lea $3C(a0),a2 lea (Player_1).w,a1 move.w #-$300,d0 @@ -45020,7 +44867,7 @@ Obj_LBZCupElevatorAttach: move.w #$100,8(a0) loc_2610E: - andi.b #-2,4(a0) + andi.b #$FE,4(a0) subi.b #$40,d0 bpl.s loc_26120 ori.b #1,4(a0) @@ -45063,8 +44910,8 @@ Map_LBZCupElevator: include "Levels/LBZ/Misc Object Data/Map - Cup Elevator.asm" ; --------------------------------------------------------------------------- -Obj_1A_1: - move.l #Map_LBZUnusedUnknown,$C(a0) +Obj_LBZUnusedTiltingBridge: + move.l #Map_LBZUnusedTiltingBridge,$C(a0) move.w #$43C3,$A(a0) ori.b #4,4(a0) move.b #$40,7(a0) @@ -45075,7 +44922,7 @@ Obj_1A_1: jsr (Create_New_Sprite3).l bne.w loc_2628C move.l #loc_262DC,(a1) - move.l #Map_LBZUnusedUnknown,$C(a1) + move.l #Map_LBZUnusedTiltingBridge,$C(a1) move.w #$43C3,$A(a1) ori.b #4,4(a1) move.b #$40,7(a1) @@ -45352,8 +45199,8 @@ loc_264C4: locret_264DE: rts ; --------------------------------------------------------------------------- -Map_LBZUnusedUnknown: - include "Levels/LBZ/Misc Object Data/Map - Unused Unknown.asm" +Map_LBZUnusedTiltingBridge: + include "Levels/LBZ/Misc Object Data/Map - Unused Tilting Bridge.asm" ; --------------------------------------------------------------------------- Obj_LBZPipePlug: @@ -45582,8 +45429,8 @@ loc_26798: dbf d1,loc_2678E loc_267CC: - moveq #sfx_Collapse,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jmp (Play_SFX).l ; End of function sub_266EE ; --------------------------------------------------------------------------- @@ -45622,8 +45469,8 @@ word_26814: dc.w $100, $FDC0 Map_LBZPipePlug:include "Levels/LBZ/Misc Object Data/Map - PipePlug.asm" ; --------------------------------------------------------------------------- -Obj_1C_1: - move.l #Map_LBZUnusedUnknown_2,$C(a0) +Obj_LBZUnusedSolidHurt: + move.l #Map_LBZUnusedSolidHurt,$C(a0) move.w #$42EA,$A(a0) move.b #$10,7(a0) move.b #$10,6(a0) @@ -45688,7 +45535,7 @@ loc_269C0: bsr.w sub_228EC loc_269CE: - lea (Ani_LBZUnusedUnknown_2).l,a1 + lea (Ani_LBZUnusedSolidHurt).l,a1 jsr (Animate_Sprite).l jmp (Sprite_OnScreen_Test).l @@ -45702,10 +45549,10 @@ sub_269E0: ; End of function sub_269E0 ; --------------------------------------------------------------------------- -Ani_LBZUnusedUnknown_2: - include "Levels/LBZ/Misc Object Data/Anim - Unused Unknown 2.asm" -Map_LBZUnusedUnknown_2: - include "Levels/LBZ/Misc Object Data/Map - Unused Unknown 2.asm" +Ani_LBZUnusedSolidHurt: + include "Levels/LBZ/Misc Object Data/Anim - Unused Solid Hurt.asm" +Map_LBZUnusedSolidHurt: + include "Levels/LBZ/Misc Object Data/Map - Unused Solid Hurt.asm" ; =============== S U B R O U T I N E ======================================= @@ -47627,7 +47474,7 @@ Obj_LBZLoweringGrapple: move.b #4,4(a0) move.b #$10,7(a0) move.w #$80,8(a0) - move.b #-$80,6(a0) + move.b #$80,6(a0) move.w $14(a0),$3C(a0) move.l #Map_LBZLoweringGrapple,$C(a0) move.w #$42EA,$A(a0) @@ -47778,8 +47625,8 @@ loc_27D48: move.b #$14,$20(a1) move.b #1,$2E(a1) move.b #1,(a2) - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l locret_27DBA: rts @@ -47829,13 +47676,13 @@ loc_2817A: move.b #1,$32(a0) tst.b 4(a0) bpl.s loc_281DA - moveq #sfx_Crash,d0 + moveq #signextendB(sfx_Crash),d0 cmpi.b #2,(Current_zone).w beq.s loc_281BE - moveq #sfx_MetalLand,d0 + moveq #signextendB(sfx_MechaLand),d0 loc_281BE: - jsr (Play_Sound_2).l + jsr (Play_SFX).l bra.s loc_281DA ; --------------------------------------------------------------------------- @@ -47923,10 +47770,10 @@ loc_282D4: bsr.s sub_2831E move.w #$80,8(a1) move.b #2,$22(a1) - move.b #-$68,$28(a1) + move.b #$98,$28(a1) move.l #loc_28364,(a1) - moveq #sfx_EnergyZap,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_EnergyZap),d0 + jsr (Play_SFX).l loc_28318: jmp (Delete_Sprite_If_Not_In_Range).l @@ -47974,12 +47821,12 @@ Map_LBZGateLaser: include "Levels/LBZ/Misc Object Data/Map - Gate Laser.asm" ; --------------------------------------------------------------------------- -Obj_22_1: +Obj_LBZAlarm: move.b #4,4(a0) move.b #$10,7(a0) move.b #$10,6(a0) move.w #$280,8(a0) - move.b #-$29,$28(a0) + move.b #$D7,$28(a0) move.l #loc_283DC,(a0) loc_283DC: @@ -48036,8 +47883,8 @@ loc_2845A: move.w $30(a0),d0 andi.b #$1F,d0 bne.s locret_2846C - moveq #sfx_Alarm,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Alarm),d0 + jsr (Play_SFX).l locret_2846C: rts @@ -48053,10 +47900,10 @@ word_2847A: dc.w $C0, $FFA0 dc.w $FF40, $FFA0 ; --------------------------------------------------------------------------- -Obj_23_1: +Obj_LBZUnusedForceFall: move.b #4,4(a0) move.b #$10,7(a0) - move.b #-$80,6(a0) + move.b #$80,6(a0) move.b #0,8(a0) moveq #0,d0 move.b $2C(a0),d0 @@ -48152,7 +47999,8 @@ sub_28580: ; End of function sub_28580 ; --------------------------------------------------------------------------- -AutoTunnel_Index:dc.w Obj_AutoTunnelInit-AutoTunnel_Index +AutoTunnel_Index: + dc.w Obj_AutoTunnelInit-AutoTunnel_Index dc.w Obj_AutoTunnelRun-AutoTunnel_Index dc.w Obj_AutoTunnelLastMove-AutoTunnel_Index ; --------------------------------------------------------------------------- @@ -48173,7 +48021,7 @@ Obj_AutoTunnelInit: tst.b $2E(a1) bne.s locret_28644 addq.b #2,(a4) - move.b #-$7F,$2E(a1) + move.b #$81,$2E(a1) move.b #2,$20(a1) clr.b $40(a1) move.w #$800,$1C(a1) @@ -48186,8 +48034,8 @@ Obj_AutoTunnelInit: move.w $14(a0),$14(a1) clr.b 1(a4) bsr.w AutoTunnel_GetPath - moveq #sfx_Roll,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Roll),d0 + jsr (Play_SFX).l btst #5,$2C(a0) beq.s locret_28644 tst.b (Current_act).w @@ -48237,8 +48085,8 @@ loc_2867C: move.w #0,$1A(a1) loc_2869E: - moveq #sfx_TubeLauncher,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_TubeLauncher),d0 + jsr (Play_SFX).l btst #5,$2C(a0) beq.s loc_286DA movea.l a1,a2 @@ -48581,7 +48429,7 @@ Obj_TunnelExContinuous: move.w #$380,8(a1) move.w #0,$18(a1) move.w #$400,$1A(a1) - move.b #-$7C,4(a1) + move.b #$84,4(a1) move.b #1,$22(a1) move.w #$B,$2E(a1) @@ -48665,13 +48513,13 @@ loc_28AE0: add.w d0,d0 move.w d0,$2E(a1) addi.w #$10,$10(a1) - move.b #-$3A,$28(a1) + move.b #$C6,$28(a1) loc_28B5A: subq.w #1,$30(a0) bpl.s loc_28B6C move.w #$78,$30(a0) - eori.b #-1,$32(a0) + eori.b #$FF,$32(a0) loc_28B6C: jmp (Delete_Sprite_If_Not_In_Range).l @@ -48704,7 +48552,7 @@ loc_28BAA: bsr.s sub_28BBE loc_28BB8: - jmp (loc_19CC4).l + jmp (Sprite_CheckDeleteTouch3).l ; =============== S U B R O U T I N E ======================================= @@ -48861,7 +48709,8 @@ LBZTubeElevator_Action: ; End of function LBZTubeElevator_Action ; --------------------------------------------------------------------------- -LBZTubeElevator_Index:dc.w LBZTubeElevator_WaitPlayer-LBZTubeElevator_Index +LBZTubeElevator_Index: + dc.w LBZTubeElevator_WaitPlayer-LBZTubeElevator_Index dc.w LBZTubeElevator_StartSpin-LBZTubeElevator_Index dc.w LBZTubeElevator_MovePath-LBZTubeElevator_Index dc.w LBZTubeElevator_SlowSpin-LBZTubeElevator_Index @@ -48878,8 +48727,8 @@ LBZTubeElevator_WaitPlayer: loc_28DC4: addq.b #2,(a4) - moveq #sfx_Roll,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Roll),d0 + jsr (Play_SFX).l bra.s LBZTubeElevator_StartSpin ; --------------------------------------------------------------------------- @@ -49146,7 +48995,7 @@ LBZTubeElevator_CheckPlayer: bne.w loc_29128 tst.w (Debug_placement_mode).w bne.w locret_29126 - cmpa.w #-$4FB6,a1 + cmpa.w #Player_2,a1 bne.s loc_2909A btst #4,$2A(a0) beq.s loc_2909A @@ -49176,7 +49025,7 @@ loc_290B0: loc_290D6: addq.b #2,(a2) - move.b #-$7D,$2E(a1) + move.b #$83,$2E(a1) move.b #0,$20(a1) clr.b $40(a1) move.w #0,$1C(a1) @@ -49217,7 +49066,7 @@ loc_2915E: moveq #0,d0 move.b $26(a0),d0 move.b LBZTubeElevator_PlayerFrame(pc,d0.w),$22(a1) - andi.b #-4,4(a1) + andi.b #$FC,4(a1) move.b LBZTubeElevator_PlayerFlip(pc,d0.w),d0 or.b d0,4(a1) moveq #0,d0 @@ -49227,7 +49076,8 @@ loc_2915E: movea.l (sp)+,a2 rts ; --------------------------------------------------------------------------- -LBZTubeElevator_PlayerFrame:dc.b $55 +LBZTubeElevator_PlayerFrame: + dc.b $55 dc.b $59 dc.b $5A dc.b $5B @@ -49239,7 +49089,8 @@ LBZTubeElevator_PlayerFrame:dc.b $55 dc.b $58 dc.b $57 dc.b $56 -LBZTubeElevator_PlayerFlip:dc.b 0 +LBZTubeElevator_PlayerFlip: + dc.b 0 dc.b 1 dc.b 1 dc.b 0 @@ -49325,8 +49176,8 @@ loc_293BA: move.b #0,$36(a0) tst.b 4(a0) bpl.s loc_293E4 - moveq #sfx_WaterfallSplash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_WaterfallSplash),d0 + jsr (Play_SFX).l loc_293E4: lea (Ani_AIZDisappearingFloor).l,a1 @@ -49531,7 +49382,7 @@ loc_29800: loc_29818: move.w $38(a0),(Chain_bonus_counter).w - andi.b #-$19,$2A(a0) + andi.b #$E7,$2A(a0) movea.l $3C(a0),a4 addq.b #1,$22(a0) move.l #loc_29838,(a0) @@ -49741,7 +49592,7 @@ loc_29A50: loc_29A56: move.w $38(a0),(Chain_bonus_counter).w - andi.b #-$19,$2A(a0) + andi.b #$E7,$2A(a0) lea (word_29A8C).l,a4 moveq #0,d0 move.b $22(a0),d0 @@ -49829,7 +49680,7 @@ Map_LBZCorkFloor: Obj_AIZFlippingBridge: move.l #Map_AIZFlippingBridge,$C(a0) move.w #$42E9,$A(a0) - move.b #-$80,7(a0) + move.b #$80,7(a0) move.b #4,6(a0) move.b #4,4(a0) move.w #$200,8(a0) @@ -49861,7 +49712,7 @@ loc_29FEA: move.l #Map_AIZFlippingBridge,$C(a1) move.w #$42E9,$A(a1) move.b #4,4(a1) - move.b #-$80,7(a1) + move.b #$80,7(a1) move.b #$40,6(a1) move.w #$200,8(a1) move.w $10(a0),$10(a1) @@ -49941,8 +49792,8 @@ loc_2A0DC: addq.b #3,d0 andi.b #7,d0 bne.s locret_2A0FC - moveq #sfx_GlideLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GlideLand),d0 + jsr (Play_SFX).l locret_2A0FC: rts @@ -49962,8 +49813,8 @@ loc_2A104: addq.b #3,d0 andi.b #7,d0 bne.s locret_2A124 - moveq #sfx_GlideLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GlideLand),d0 + jsr (Play_SFX).l locret_2A124: rts @@ -50202,7 +50053,7 @@ loc_2A470: move.b d0,$35(a0) move.b #8,$37(a0) move.l #Map_AIZDrawBridgeFire,$C(a0) - move.w #-$3D17,$A(a0) + move.w #$C2E9,$A(a0) move.b #$60,7(a0) move.b #8,6(a0) move.b #4,4(a0) @@ -50211,7 +50062,7 @@ loc_2A470: bne.w loc_2A52E move.l #loc_2A57C,(a1) move.l #Map_AIZDrawBridgeFire,$C(a1) - move.w #-$3D17,$A(a1) + move.w #$C2E9,$A(a1) ori.b #4,4(a1) move.b #$60,7(a1) move.b #8,6(a1) @@ -50433,8 +50284,8 @@ loc_2A6E6: loc_2A724: move.w #0,$18(a3) move.w #0,$1A(a3) - moveq #sfx_Collapse,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jmp (Play_SFX).l ; End of function sub_2A6C6 ; --------------------------------------------------------------------------- @@ -50446,12 +50297,12 @@ Map_AIZDrawBridgeFire: Obj_AIZDrawBridge: move.l #Map_AIZDrawBridge,$C(a0) - move.w #-$3D17,$A(a0) + move.w #$C2E9,$A(a0) move.b #4,4(a0) move.w #$280,8(a0) move.b #8,7(a0) move.b #$60,6(a0) - ori.b #-$80,$2A(a0) + ori.b #$80,$2A(a0) move.w $10(a0),$30(a0) move.w $14(a0),$32(a0) subi.w #$68,$14(a0) @@ -50531,8 +50382,8 @@ loc_2A934: tst.b $36(a0) bne.s loc_2A978 move.b #1,$36(a0) - moveq #sfx_FlipBridge,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FlipBridge),d0 + jsr (Play_SFX).l move.w #$68,d1 btst #0,$2A(a0) beq.s loc_2A95C @@ -50555,8 +50406,8 @@ loc_2A978: loc_2A98C: move.b #0,$36(a0) - moveq #sfx_FlipBridge,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FlipBridge),d0 + jsr (Play_SFX).l move.l #loc_2A9B0,(a0) bra.s loc_2A9AA ; --------------------------------------------------------------------------- @@ -50801,8 +50652,8 @@ loc_2AB98: loc_2ABFC: move.w #0,$18(a3) move.w #0,$1A(a3) - moveq #sfx_BridgeCollapse,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_BridgeCollapse),d0 + jmp (Play_SFX).l ; End of function sub_2AB76 ; --------------------------------------------------------------------------- @@ -50950,7 +50801,7 @@ loc_2ADA0: move.w $10(a0),d4 jsr (SolidObjectTop).l move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_2ADD4 @@ -51015,7 +50866,7 @@ Obj_AIZSpikedLog: bne.w loc_2AF76 move.l #loc_2B0B6,(a1) move.b #4,4(a1) - move.b #-$64,$28(a1) + move.b #$9C,$28(a1) move.w a0,$3C(a1) move.w a1,$3C(a0) @@ -51090,7 +50941,7 @@ loc_2B02C: move.b $23(a0),d0 addq.b #1,$23(a0) move.b byte_2B056(pc,d0.w),$22(a0) - move.b byte_2B057(pc,d0.w),d0 + move.b byte_2B056+1(pc,d0.w),d0 bpl.s loc_2B054 move.b #0,$23(a0) @@ -51098,7 +50949,7 @@ loc_2B054: bra.s loc_2B05E ; --------------------------------------------------------------------------- byte_2B056: dc.b 7 -byte_2B057: dc.b 8 + dc.b 8 dc.b 9 dc.b $A dc.b 9 @@ -51118,7 +50969,7 @@ loc_2B05E: move.w $10(a0),d4 jsr (SolidObjectFull).l move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_2B096 @@ -51518,13 +51369,13 @@ word_2B994: dc.w $4438 Map_AIZ2FGTree: include "Levels/AIZ/Misc Object Data/Map - Act 2 Foreground Tree.asm" ; --------------------------------------------------------------------------- -Obj_31_1: +Obj_LBZRollingDrum: moveq #0,d0 move.b $2C(a0),d0 move.w d0,$32(a0) neg.w d0 move.w d0,$30(a0) - move.b #-$80,7(a0) + move.b #$80,7(a0) move.l #loc_2B9D2,(a0) loc_2B9D2: @@ -51573,7 +51424,7 @@ loc_2BA34: bne.s locret_2BA74 cmpi.w #8,d0 bcc.s loc_2BA4C - move.b #-$7F,(a2) + move.b #$81,(a2) loc_2BA4C: cmpi.w #$9E,d0 @@ -51582,7 +51433,7 @@ loc_2BA4C: loc_2BA56: jsr (RideObject_SetRide).l - move.b #-$80,$2D(a1) + move.b #$80,$2D(a1) move.w #1,$20(a1) tst.w $1C(a1) bne.s locret_2BA74 @@ -51633,14 +51484,14 @@ loc_2BAC2: add.w $14(a0),d1 move.w d1,$14(a1) move.b (a2),d0 - addi.b #-$80,d0 + addi.b #$80,d0 move.b d0,$27(a1) addq.b #2,(a2) - move.b #-$80,$2D(a1) + move.b #$80,$2D(a1) tst.w $1C(a1) bne.s loc_2BB0E move.w #1,$1C(a1) - move.b #-$7F,$2D(a1) + move.b #$81,$2D(a1) loc_2BB0E: bset #7,$A(a1) @@ -51715,8 +51566,8 @@ loc_2BBCE: loc_2BBE4: tst.b (a3) bne.s loc_2BBF0 - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l loc_2BBF0: bset d3,(a3) @@ -51756,8 +51607,8 @@ loc_2BC38: loc_2BC4E: tst.b (a3) bne.s loc_2BC5A - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l loc_2BC5A: bset d3,(a3) @@ -51800,8 +51651,8 @@ loc_2BC92: loc_2BCD6: tst.b (a3) bne.s loc_2BCE2 - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l loc_2BCE2: bset d3,(a3) @@ -52290,7 +52141,7 @@ sub_2C2DC: Obj_EnemyScore: move.l #Map_EnemyScore,$C(a0) - move.w #-$7A1C,$A(a0) + move.w #make_art_tile(ArtTile_StarPost,0,1),$A(a0) move.b #4,4(a0) move.w #$80,8(a0) move.b #8,7(a0) @@ -52328,7 +52179,7 @@ off_2C42C: dc.w loc_2C436-off_2C42C loc_2C436: addq.b #2,5(a0) move.l #Map_StarPost,$C(a0) - move.w #$5EC,$A(a0) + move.w #ArtTile_StarPost+8,$A(a0) move.b #4,4(a0) move.b #8,7(a0) move.b #$28,6(a0) @@ -52374,8 +52225,8 @@ sub_2C49E: addi.w #$40,d0 cmpi.w #$68,d0 bcc.w locret_2C55E - moveq #sfx_Starpost,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Starpost),d0 + jsr (Play_SFX).l jsr (Create_New_Sprite).l bne.s loc_2C546 move.l #Obj_StarPost,(a1) @@ -52392,7 +52243,7 @@ sub_2C49E: move.b #2,$22(a1) move.w #$20,$36(a1) move.w a0,$3E(a1) - cmpi.w #$32,(Ring_count).w + cmpi.w #50,(Ring_count).w bcs.s loc_2C546 bsr.w sub_2C83E @@ -52592,7 +52443,7 @@ loc_2C842: bne.s locret_2C8AC move.l (a0),(a1) move.l #Map_StarpostStars,$C(a1) - move.w #$5EC,$A(a1) + move.w #ArtTile_StarPost+8,$A(a1) move.b #4,4(a1) move.b #8,5(a1) move.w $10(a0),d0 @@ -52683,7 +52534,7 @@ loc_2C950: ; --------------------------------------------------------------------------- loc_2C95A: - move.b #-$28,$28(a0) + move.b #$D8,$28(a0) loc_2C960: cmpi.w #$180,d1 @@ -52711,14 +52562,14 @@ loc_2C972: loc_2C99C: move.b d0,$22(a0) - jmp (loc_19CC4).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- loc_2C9A6: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -loc_2C9AC: +Obj_GameOver: tst.l (Nem_decomp_queue).w beq.s loc_2C9B4 rts @@ -52761,7 +52612,7 @@ loc_2CA0E: bne.w loc_2CA60 move.b (Ctrl_1_pressed).w,d0 or.b (Ctrl_2_pressed).w,d0 - andi.b #-$10,d0 + andi.b #$F0,d0 bne.s loc_2CA3C tst.w $24(a0) beq.s loc_2CA3C @@ -52900,7 +52751,7 @@ loc_2CB84: st (Update_HUD_ring_count).w move.b #$1E,(Player_1+air_left).w move.b #$1E,(Player_2+air_left).w - jsr (Obj_PlayLevelMusic).l + jsr (Restore_LevelMusic).l loc_2CBC0: clr.w $48(a0) @@ -53052,7 +52903,8 @@ loc_2CD06: loc_2CD1C: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -TitleCard_LevelGfx:dc.l ArtKosM_AIZTitleCard +TitleCard_LevelGfx: + dc.l ArtKosM_AIZTitleCard dc.l ArtKosM_HCZTitleCard dc.l ArtKosM_MGZTitleCard dc.l ArtKosM_CNZTitleCard @@ -53074,7 +52926,8 @@ TitleCard_LevelGfx:dc.l ArtKosM_AIZTitleCard dc.l ArtKosM_BonusTitleCard dc.l ArtKosM_BonusTitleCard dc.l ArtKosM_BonusTitleCard -ObjArray_TtlCard:dc.l Obj_TitleCardName +ObjArray_TtlCard: + dc.l Obj_TitleCardName dc.w $120 dc.w $260 dc.w $E0 @@ -53102,14 +52955,16 @@ ObjArray_TtlCard:dc.l Obj_TitleCardName dc.b 1 dc.b 0 dc.w 1 -ObjArray_TtlCard2:dc.l Obj_TitleCardElement2 +ObjArray_TtlCard2: + dc.l Obj_TitleCardElement2 dc.w $15C dc.w $21C dc.w $BC dc.b $12 dc.b $80 dc.w 1 -ObjArray_TtlCardBonus:dc.l Obj_TitleCardElement +ObjArray_TtlCardBonus: + dc.l Obj_TitleCardElement dc.w $C8 dc.w $188 dc.w $E8 @@ -53131,7 +52986,8 @@ Obj_LevelResults: move.w LevelResults_Index(pc,d0.w),d1 jmp LevelResults_Index(pc,d1.w) ; --------------------------------------------------------------------------- -LevelResults_Index:dc.w Obj_LevelResultsInit-LevelResults_Index +LevelResults_Index: + dc.w Obj_LevelResultsInit-LevelResults_Index dc.w Obj_LevelResultsCreate-LevelResults_Index dc.w Obj_LevelResultsWait-LevelResults_Index dc.w Obj_LevelResultsWait2-LevelResults_Index @@ -53161,10 +53017,10 @@ loc_2CE14: lea (ArtKosM_ResultsTAILS).l,a1 loc_2CE4C: - move.w #-$5000,d2 + move.w #$B000,d2 tst.b (Apparent_act).w beq.s loc_2CE5A - move.w #-$4C00,d2 + move.w #tiles_to_bytes(ArtTile_Explosion),d2 loc_2CE5A: jsr (Queue_Kos_Module).l @@ -53174,7 +53030,7 @@ loc_2CE5A: moveq #0,d1 move.b (Timer_second).w,d1 add.w d1,d0 - cmpi.w #$257,d0 + cmpi.w #599,d0 bne.s loc_2CE80 move.w #10000,(Time_bonus_countdown).w bra.s loc_2CE98 @@ -53247,22 +53103,22 @@ Obj_LevelResultsWait: bne.s locret_2CF8E move.b #$1E,(Player_1+air_left).w move.b #$1E,(Player_2+air_left).w - moveq #mus_GotThroughAct,d0 - jmp (Play_Sound).l + moveq #signextendB(mus_GotThroughAct),d0 + jmp (Play_Music).l ; --------------------------------------------------------------------------- loc_2CF4C: moveq #0,d0 tst.w (Time_bonus_countdown).w beq.s loc_2CF5E - addi.w #$A,d0 - subi.w #$A,(Time_bonus_countdown).w + addi.w #10,d0 + subi.w #10,(Time_bonus_countdown).w loc_2CF5E: tst.w (Ring_bonus_countdown).w beq.s loc_2CF6E - addi.w #$A,d0 - subi.w #$A,(Ring_bonus_countdown).w + addi.w #10,d0 + subi.w #10,(Ring_bonus_countdown).w loc_2CF6E: add.w d0,(Total_bonus_countup).w @@ -53272,8 +53128,8 @@ loc_2CF6E: move.w (Level_frame_counter).w,d0 andi.w #3,d0 bne.s locret_2CF8E - moveq #sfx_Switch,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- locret_2CF8E: @@ -53281,8 +53137,8 @@ locret_2CF8E: ; --------------------------------------------------------------------------- loc_2CF90: - moveq #sfx_Register,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Register),d0 + jsr (Play_SFX).l jsr (SaveGame).l move.w #$5A,$2E(a0) addq.b #2,5(a0) @@ -53502,8 +53358,16 @@ loc_2D124: dc.b 0, 0, 4 dc.b 0, 0, 2 dc.b 0, 0, 1 -TimeBonus: dc.w $1388, $1388, $3E8, $1F4, $190, $12C, $64, $A -ObjArray_LevResults:dc.l Obj_LevResultsCharName +TimeBonus: dc.w 5000 + dc.w 5000 + dc.w 1000 + dc.w 500 + dc.w 400 + dc.w 300 + dc.w 100 + dc.w 10 +ObjArray_LevResults: + dc.l Obj_LevResultsCharName dc.w $E0 dc.w $FDE0 dc.w $B8 @@ -53594,20 +53458,20 @@ locret_2D216: ; --------------------------------------------------------------------------- SpecialStage_Results: - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move #$2700,sr move.w (VDP_reg_1_command).w,d0 andi.b #-$41,d0 move.w d0,(VDP_control_port).l jsr (Clear_DisplayData).l lea (VDP_control_port).l,a6 - move.w #-$7FFC,(a6) - move.w #-$7DD0,(a6) - move.w #-$7BF9,(a6) - move.w #-$7500,(a6) - move.w #-$737F,(a6) - move.w #-$6FEF,(a6) + move.w #$8004,(a6) + move.w #$8230,(a6) + move.w #$8407,(a6) + move.w #$8B00,(a6) + move.w #$8C81,(a6) + move.w #$9011,(a6) lea (Sprite_table_input).w,a1 moveq #0,d0 move.w #$FF,d1 @@ -53646,7 +53510,7 @@ loc_2D270: lea (ArtKosM_ResultsTAILS).l,a1 loc_2D2DE: - move.w #-$5000,d2 + move.w #$B000,d2 jsr (Queue_Kos_Module).l lea (ArtKosM_SSResults).l,a1 move.w #$20,d2 @@ -53679,7 +53543,7 @@ loc_2D340: loc_2D35C: jsr (Init_SpriteTable).l - move.l #loc_2D41E,(Dynamic_object_RAM+object_size).w + move.l #Obj_SpecialStage_Results,(Dynamic_object_RAM+object_size).w move.w (VDP_reg_1_command).w,d0 ori.b #$40,d0 move.w d0,(VDP_control_port).l @@ -53698,7 +53562,7 @@ Pal_Results: binclude "General/Special Stage/Palettes/Results S3.bin" even ; --------------------------------------------------------------------------- -loc_2D41E: +Obj_SpecialStage_Results: moveq #0,d0 move.b 5(a0),d0 move.w off_2D42C(pc,d0.w),d1 @@ -53735,7 +53599,7 @@ loc_2D442: clr.w (Time_bonus_countdown).w tst.w (Special_stage_rings_left).w bne.s loc_2D48E - move.w #$1388,(Time_bonus_countdown).w + move.w #5000,(Time_bonus_countdown).w loc_2D48E: move.w #$168,$2E(a0) @@ -53749,8 +53613,8 @@ loc_2D49A: subq.w #1,$2E(a0) cmpi.w #$121,$2E(a0) bne.s locret_2D4F2 - moveq #mus_GotThroughAct,d0 - jmp (Play_Sound).l + moveq #signextendB(mus_GotThroughAct),d0 + jmp (Play_Music).l ; --------------------------------------------------------------------------- loc_2D4B4: @@ -53773,8 +53637,8 @@ loc_2D4D6: move.w (Level_frame_counter).w,d0 andi.w #3,d0 bne.s locret_2D4F2 - moveq #sfx_Switch,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- locret_2D4F2: @@ -53782,8 +53646,8 @@ locret_2D4F2: ; --------------------------------------------------------------------------- loc_2D4F4: - moveq #sfx_Register,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Register),d0 + jsr (Play_SFX).l move.w #$78,$2E(a0) addq.b #2,5(a0) @@ -53801,8 +53665,8 @@ loc_2D512: bne.s loc_2D536 move.l #loc_2D83C,(a1) move.w #$10E,$2E(a0) - moveq #sfx_Continue,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Continue),d0 + jsr (Play_SFX).l loc_2D536: addq.b #2,5(a0) @@ -53819,7 +53683,7 @@ loc_2D546: bhi.s loc_2D588 tst.w (Special_stage_spheres_left).w bne.s loc_2D588 - cmpi.b #7,(Emerald_count+1).w + cmpi.b #7,(Chaos_emerald_count+1).w bcs.s loc_2D588 lea (Dynamic_object_RAM+(object_size*16)).w,a1 moveq #4,d0 @@ -54078,7 +53942,7 @@ loc_2D776: add.w d0,$10(a0) add.w d0,$46(a0) add.b d1,$22(a0) - cmpi.b #7,(Emerald_count+1).w + cmpi.b #7,(Chaos_emerald_count+1).w bcs.s loc_2D7A2 subi.w #$10,$10(a0) subi.w #$10,$46(a0) @@ -54095,7 +53959,7 @@ loc_2D7AC: jsr sub_2D8A4(pc) sub.w d0,$10(a0) sub.w d0,$46(a0) - cmpi.b #7,(Emerald_count+1).w + cmpi.b #7,(Chaos_emerald_count+1).w bcs.s loc_2D7D4 subi.w #$10,$10(a0) subi.w #$10,$46(a0) @@ -54109,7 +53973,7 @@ loc_2D7D4: loc_2D7DE: tst.w (Special_stage_spheres_left).w bne.w loc_2D89E - cmpi.b #7,(Emerald_count+1).w + cmpi.b #7,(Chaos_emerald_count+1).w bcs.s loc_2D7F6 subq.w #8,$10(a0) subq.w #8,$46(a0) @@ -54123,7 +53987,7 @@ loc_2D7F6: loc_2D800: tst.w (Special_stage_spheres_left).w bne.w loc_2D89E - cmpi.b #7,(Emerald_count+1).w + cmpi.b #7,(Chaos_emerald_count+1).w bcs.w loc_2D89E jsr sub_2D8A4(pc) sub.w d0,$10(a0) @@ -54136,7 +54000,7 @@ loc_2D800: loc_2D828: tst.w (Special_stage_spheres_left).w bne.w loc_2D89E - cmpi.b #7,(Emerald_count+1).w + cmpi.b #7,(Chaos_emerald_count+1).w bcs.s loc_2D89E bra.w loc_2D710 ; --------------------------------------------------------------------------- @@ -54267,7 +54131,7 @@ off_2DF60: dc.w PLCKosM_AIZ-off_2DF60 PLCKosM_AIZ: dc.w 2 dc.l ArtKosM_AIZ_MonkeyDude dc.w $A900 - dc.l ArtKosM_AIZ_Tulipon + dc.l ArtKosM_AIZ_Bloominator dc.w $A540 dc.l ArtKosM_AIZ_CaterkillerJr dc.w $ABE0 @@ -54321,7 +54185,7 @@ PLCKosM_ICZ: dc.w 1 dc.l ArtKosM_StarPointer dc.w $A900 PLCKosM_LBZ: dc.w 3 - dc.l ArtKosM_SnailBlaster + dc.l ArtKosM_SnaleBlaster dc.w $A480 dc.l ArtKosM_Orbinaut dc.w $ADC0 @@ -54349,7 +54213,7 @@ loc_2E068: addq.b #2,5(a0) move.l #Map_Bubbler,$C(a0) move.w #$45C,$A(a0) - move.b #-$7C,4(a0) + move.b #$84,4(a0) move.b #$10,7(a0) move.w #$80,8(a0) move.b $2C(a0),d0 @@ -54511,7 +54375,7 @@ loc_2E266: loc_2E272: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_2E294 @@ -54587,8 +54451,8 @@ sub_2E2C8: btst #6,$2B(a1) bne.w locret_2E392 jsr (Player_ResetAirTimer).l - moveq #sfx_Bubble,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Bubble),d0 + jsr (Play_SFX).l clr.w $18(a1) clr.w $1A(a1) clr.w $1C(a1) @@ -54628,7 +54492,7 @@ Ani_Bubbler: include "General/Sprites/Bubbles/Anim - Bubbler.asm" Map_Bubbler: include "General/Sprites/Bubbles/Map - Bubbler.asm" ; --------------------------------------------------------------------------- -Obj_37_1: +Obj_HCZWaterRush: move.l #Map_HCZWaterRush,$C(a0) ori.b #4,4(a0) move.w #$437A,$A(a0) @@ -54741,7 +54605,7 @@ loc_2E794: loc_2E7A4: lea (ArtKosM_HCZGeyserHorz).l,a1 - move.w #-$6000,d2 + move.w #$A000,d2 jsr (Queue_Kos_Module).l move.l #loc_2E7BA,(a0) @@ -54756,7 +54620,7 @@ loc_2E7C2: move.w #$300,8(a0) move.l #Map_HCZWaterWall,$C(a0) move.w #$4500,$A(a0) - move.b #-$80,7(a0) + move.b #$80,7(a0) move.b #$20,6(a0) bset #6,4(a0) move.w #1,$16(a0) @@ -54772,8 +54636,8 @@ loc_2E80C: cmp.w $10(a0),d0 bcs.w loc_2E896 move.l #loc_2E8CC,(a0) - moveq #sfx_Geyser,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Geyser),d0 + jsr (Play_SFX).l lea (byte_2E89C).l,a3 move.w $10(a0),d2 addi.w #$60,d2 @@ -54786,7 +54650,7 @@ loc_2E83E: move.l #loc_2E9AA,(a1) move.l #Map_HCZWaterWallDebris,$C(a1) move.w #$4558,$A(a1) - move.b #-$7C,4(a1) + move.b #$84,4(a1) move.b (a3)+,d0 ext.w d0 add.w d2,d0 @@ -54884,9 +54748,9 @@ loc_2E958: bmi.s loc_2E990 clr.b (Palette_cycle_counters+$00).w move.w #$FF00|mus_MutePSG,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.w #$FF00|mus_StopSFX,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.w #$96,$30(a0) move.l #loc_2E996,(a0) rts @@ -54929,7 +54793,7 @@ loc_2E9C0: move.l #loc_2EACE,(a1) move.l #Map_HCZWaterWall,$C(a1) move.w #$2530,$A(a1) - move.b #-$7C,4(a1) + move.b #$84,4(a1) move.w $10(a0),$10(a1) move.w (Water_level).w,$14(a1) move.w #$200,8(a1) @@ -55019,11 +54883,11 @@ loc_2EB48: loc_2EB4E: lea (ArtKosM_HCZGeyserVert).l,a1 - move.w #-$6000,d2 + move.w #$A000,d2 jsr (Queue_Kos_Module).l move.b #1,$22(a0) - move.b #-$7F,(Player_1+object_control).w - move.b #-$7F,(Player_2+object_control).w + move.b #$81,(Player_1+object_control).w + move.b #$81,(Player_2+object_control).w move.l #loc_2EB76,(a0) loc_2EB76: @@ -55060,8 +54924,8 @@ loc_2EBD6: move.b #$1A,(Player_1+anim).w move.b #$1A,(Player_2+anim).w move.l #loc_2ECAA,(a0) - moveq #sfx_Geyser,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Geyser),d0 + jsr (Play_SFX).l move.b #1,(Palette_cycle_counters+$00).w lea (byte_2EC7A).l,a3 move.w $10(a0),d2 @@ -55182,7 +55046,7 @@ loc_2ED64: sub_2ED6A: move.l #loc_2EA6E,(a1) move.l $C(a0),$C(a1) - move.b #-$7C,4(a1) + move.b #$84,4(a1) move.w $10(a0),$10(a1) move.w $14(a0),$14(a1) subi.w #$50,$14(a1) @@ -55206,11 +55070,11 @@ loc_2EDBA: tst.b 4(a0) bmi.s loc_2EDFE move.w #$FF00|mus_StopSFX,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.w #$FF00|mus_MutePSG,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.w #$FF00|mus_StopSFX,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.b #0,(Palette_cycle_counters+$00).w move.w $48(a0),d0 beq.s loc_2EDF0 @@ -55341,8 +55205,8 @@ loc_2F0D0: addq.b #1,d0 andi.b #$F,d0 bne.s loc_2F0EA - moveq #sfx_FanSmall,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FanSmall),d0 + jsr (Play_SFX).l loc_2F0EA: btst #6,$2C(a0) @@ -55457,8 +55321,8 @@ loc_2F22E: bne.s loc_2F25C move.b #1,$42(a1) move.w #0,$34(a1) - moveq #sfx_FanLatch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FanLatch),d0 + jsr (Play_SFX).l loc_2F25C: move.w $3A(a0),d1 @@ -55475,8 +55339,8 @@ loc_2F26C: beq.s loc_2F28C move.b #0,$42(a1) move.b #0,$24(a1) - moveq #sfx_FanLatch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FanLatch),d0 + jsr (Play_SFX).l loc_2F28C: tst.w $30(a0) @@ -55524,7 +55388,7 @@ loc_2F2F8: loc_2F304: lea (ArtKosM_HCZLargeFan).l,a1 - move.w #-$6000,d2 + move.w #$A000,d2 jsr (Queue_Kos_Module).l move.l #loc_2F31A,(a0) @@ -55542,8 +55406,8 @@ loc_2F322: move.b #$18,7(a0) move.b #$20,6(a0) move.w #8,$30(a0) - moveq #sfx_FanLatch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FanLatch),d0 + jsr (Play_SFX).l move.l #loc_2F35C,(a0) loc_2F35C: @@ -55558,8 +55422,8 @@ loc_2F372: move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 bne.s loc_2F384 - moveq #sfx_FanBig,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FanBig),d0 + jsr (Play_SFX).l loc_2F384: subq.b #1,$24(a0) @@ -55765,8 +55629,8 @@ loc_2F796: bne.s loc_2F7B4 move.b #0,$34(a0) move.l #loc_2F6D8,(a0) - moveq #sfx_Dash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Dash),d0 + jsr (Play_SFX).l bra.s loc_2F7D0 ; --------------------------------------------------------------------------- @@ -55900,8 +55764,8 @@ loc_2F8EE: tst.w (Debug_placement_mode).w bne.s locret_2F96A bset d6,$35(a0) - moveq #sfx_Roll,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Roll),d0 + jsr (Play_SFX).l move.b #0,$20(a1) move.b #$13,$1E(a1) move.b #9,$1F(a1) @@ -56023,8 +55887,8 @@ loc_2FB46: addq.w #8,$30(a0) cmpi.w #$40,$30(a0) bne.s loc_2FB9E - moveq #sfx_FanLatch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FanLatch),d0 + jsr (Play_SFX).l bra.s loc_2FB9E ; --------------------------------------------------------------------------- @@ -56033,8 +55897,8 @@ loc_2FB8A: beq.s loc_2FBAA subq.w #8,$30(a0) bne.s loc_2FB9E - moveq #sfx_FanLatch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FanLatch),d0 + jsr (Play_SFX).l loc_2FB9E: move.w $32(a0),d0 @@ -56266,12 +56130,12 @@ loc_2FE1E: bsr.s sub_2FE80 move.w (Camera_X_pos_coarse_back).w,d1 move.w $3C(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 subi.w #$280,d0 cmp.w d0,d1 bcs.s loc_2FE5E move.w $3E(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 cmp.w d0,d1 bhi.s loc_2FE5E rts @@ -56357,7 +56221,7 @@ loc_2FF2E: move.b #$5A,2(a2) loc_2FF44: - andi.b #-4,$2E(a1) + andi.b #$FC,$2E(a1) bset #1,$2A(a1) move.b #1,$40(a1) move.b #$E,$1E(a1) @@ -56402,7 +56266,7 @@ loc_2FF88: clr.w $18(a1) clr.w $1A(a1) clr.w $1C(a1) - andi.b #-4,4(a1) + andi.b #$FC,4(a1) move.w $14(a0),d0 addi.w #$14,d0 move.w d0,$14(a1) @@ -56440,14 +56304,14 @@ loc_30030: clr.w $18(a1) clr.w $1A(a1) clr.w $1C(a1) - andi.b #-4,4(a1) + andi.b #$FC,4(a1) move.w $14(a0),d0 subi.w #$14,d0 move.w d0,$14(a1) move.b #0,$20(a1) move.b #3,$2E(a1) move.b #$65,$22(a1) - move.b #-$80,4(a2) + move.b #$80,4(a2) move.b #0,6(a2) move.b #0,8(a2) move.b #1,(a2) @@ -56492,7 +56356,7 @@ loc_300D8: loc_300DA: clr.w $1C(a1) move.b 4(a2),d0 - subi.b #-$80,d0 + subi.b #$80,d0 beq.s loc_30104 bpl.s loc_300F4 addi.b #6,d0 @@ -56509,7 +56373,7 @@ loc_300F4: moveq #0,d0 loc_300FC: - addi.b #-$80,d0 + addi.b #$80,d0 move.b d0,4(a2) loc_30104: @@ -56548,7 +56412,7 @@ Obj_HCZConveryorSpike: move.w #$280,8(a0) move.b #$C,7(a0) move.b #$C,6(a0) - move.b #-$75,$28(a0) + move.b #$8B,$28(a0) move.w $10(a0),$30(a0) move.w $14(a0),$32(a0) btst #0,$2A(a0) @@ -56625,7 +56489,7 @@ loc_30264: loc_30280: move.w (Camera_X_pos_coarse_back).w,d1 move.w $3C(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 subi.w #$280,d0 cmp.w d0,d1 bcs.s loc_302AC @@ -56737,7 +56601,7 @@ Obj_CNZBalloon: move.w #$280,8(a0) move.b #$10,7(a0) move.b #$20,6(a0) - move.b #-$29,$28(a0) + move.b #$D7,$28(a0) move.w $14(a0),$32(a0) move.b $2C(a0),d0 add.b d0,d0 @@ -56778,7 +56642,7 @@ loc_303F2: asr.w #5,d0 add.w $32(a0),d0 move.w d0,$14(a0) - jmp (loc_19CC4).l + jmp (Sprite_CheckDeleteTouch3).l ; =============== S U B R O U T I N E ======================================= @@ -56807,8 +56671,8 @@ sub_30412: loc_30466: tst.b $34(a0) bne.s locret_3047A - moveq #sfx_Balloon,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Balloon),d0 + jsr (Play_SFX).l move.b #1,$34(a0) locret_3047A: @@ -56905,8 +56769,8 @@ loc_30804: move.b (Level_frame_counter+1).w,d0 andi.b #$1F,d0 bne.s locret_30832 - moveq #sfx_CannonTurn,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_CannonTurn),d0 + jsr (Play_SFX).l locret_30832: rts @@ -56931,7 +56795,7 @@ loc_30844: subi.w #$18,$14(a1) move.b $1D(a0),d0 lsl.b #4,d0 - addi.b #-$80,d0 + addi.b #$80,d0 jsr (GetSineCosine).l asl.w #3,d1 asl.w #3,d0 @@ -56972,7 +56836,7 @@ sub_308B4: move.w #0,$18(a1) move.w #0,$1A(a1) move.w #0,$1C(a1) - move.b #-$7F,$2E(a1) + move.b #$81,$2E(a1) bset #2,$2A(a1) bset #1,$2A(a1) move.b #$E,$1E(a1) @@ -57023,7 +56887,7 @@ loc_30960: loc_30966: move.b $1D(a0),d0 lsl.b #4,d0 - addi.b #-$80,d0 + addi.b #$80,d0 jsr (GetSineCosine).l asl.w #4,d1 asl.w #4,d0 @@ -57074,7 +56938,7 @@ sub_309D8: move.w (a2)+,d5 subq.w #1,d5 bmi.s locret_30A30 - move.w #-$7700,d4 + move.w #$8900,d4 loc_30A04: moveq #0,d1 @@ -57177,8 +57041,8 @@ loc_30CC4: neg.w $1A(a0) subi.w #$80,$1A(a0) move.b #0,$30(a0) - moveq #sfx_BalloonPlatform,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_BalloonPlatform),d0 + jmp (Play_SFX).l ; End of function sub_30C48 ; --------------------------------------------------------------------------- @@ -57223,8 +57087,8 @@ sub_30D8C: cmpi.w #$20,d0 bcc.s locret_30DBE move.b #1,$20(a0) - moveq #sfx_TrapDoor,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_TrapDoor),d0 + jsr (Play_SFX).l locret_30DBE: rts @@ -57326,8 +57190,8 @@ loc_30F24: move.b (Level_frame_counter+1).w,d0 andi.b #$1F,d0 bne.s loc_30F4C - moveq #sfx_Hoverpad,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Hoverpad),d0 + jsr (Play_SFX).l loc_30F4C: move.w $30(a0),d0 @@ -57345,8 +57209,8 @@ loc_30F56: move.b (Level_frame_counter+1).w,d0 andi.b #$1F,d0 bne.s loc_30F7E - moveq #sfx_Hoverpad,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Hoverpad),d0 + jsr (Play_SFX).l loc_30F7E: jmp (Delete_Sprite_If_Not_In_Range).l @@ -57402,7 +57266,7 @@ locret_3100E: Map_CNZHoverFan:include "Levels/CNZ/Misc Object Data/Map - Hover Fan.asm" ; --------------------------------------------------------------------------- -Obj_48_1: +Obj_CNZVacuumTube: move.b $2C(a0),d0 beq.s loc_310B6 add.b d0,d0 @@ -57471,8 +57335,8 @@ loc_31142: add.w d0,$10(a1) move.w $36(a0),d0 bne.s loc_31158 - moveq #sfx_TunnelBooster,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_TunnelBooster),d0 + jsr (Play_SFX).l loc_31158: addq.w #1,$36(a0) @@ -57520,8 +57384,8 @@ sub_31180: move.b #1,(a2) move.b $34(a0),2(a2) move.w d0,-(sp) - moveq #sfx_Transporter,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Transporter),d0 + jsr (Play_SFX).l move.w (sp)+,d0 loc_311DA: @@ -57877,10 +57741,10 @@ loc_31546: bpl.s loc_31588 add.w d0,$26(a0) move.b $26(a0),d0 - cmpi.b #-$80,d0 + cmpi.b #$80,d0 bcc.s loc_31570 andi.b #$7F,d0 - addi.b #-$80,d0 + addi.b #$80,d0 move.b d0,$26(a0) subq.b #1,$44(a0) andi.b #3,$44(a0) @@ -57888,9 +57752,9 @@ loc_31546: loc_31570: move.w #$20,d2 move.b $26(a0),d0 - cmpi.b #-$80,d0 + cmpi.b #$80,d0 bcc.s loc_315B0 - move.b #-$80,d0 + move.b #$80,d0 move.b d0,$26(a0) bra.s loc_315B0 ; --------------------------------------------------------------------------- @@ -57898,10 +57762,10 @@ loc_31570: loc_31588: add.w d0,$26(a0) move.b $26(a0),d0 - cmpi.b #-$80,d0 + cmpi.b #$80,d0 bcc.s loc_315AC andi.b #$7F,d0 - addi.b #-$80,d0 + addi.b #$80,d0 move.b d0,$26(a0) addq.b #1,$44(a0) andi.b #3,$44(a0) @@ -57966,7 +57830,7 @@ sub_3161A: sub.w $10(a0),d0 bpl.s loc_3163C neg.w d0 - move.b #-$80,1(a2) + move.b #$80,1(a2) loc_3163C: move.b d0,2(a2) @@ -58072,7 +57936,8 @@ loc_3176A: ; End of function sub_3161A ; --------------------------------------------------------------------------- -PlayerTwistFrames:dc.b $55 +PlayerTwistFrames: + dc.b $55 dc.b $59 dc.b $5A dc.b $5B @@ -58228,7 +58093,7 @@ sub_319AE: sub.w $10(a0),d0 bpl.s loc_319D0 neg.w d0 - move.b #-$80,1(a2) + move.b #$80,1(a2) loc_319D0: move.b d0,2(a2) @@ -58317,7 +58182,7 @@ Map_HCZSpinningColumn: include "Levels/HCZ/Misc Object Data/Map - Spinning Column.asm" ; --------------------------------------------------------------------------- -Obj_49_1: +Obj_CNZGiantWheel: move.b #$60,$32(a0) move.l #loc_31B60,(a0) @@ -58414,7 +58279,7 @@ locret_31C1E: ; --------------------------------------------------------------------------- -Obj_4B_1: +Obj_CNZTriangleBumpers: moveq #0,d0 move.b $2C(a0),d0 move.w d0,$34(a0) @@ -58487,13 +58352,13 @@ loc_31CEA: bset #1,$2A(a1) bclr #4,$2A(a1) bclr #5,$2A(a1) - moveq #sfx_SmallBumpers,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_SmallBumpers),d0 + jmp (Play_SFX).l ; End of function sub_31C48 ; --------------------------------------------------------------------------- -Obj_4F_1: +Obj_SinkingMud: move.b $2C(a0),d0 lsl.w #3,d0 move.b d0,7(a0) @@ -58682,7 +58547,7 @@ loc_31EE4: rts ; --------------------------------------------------------------------------- -Obj_5D_1: +Obj_CGZTriangleBumpers: move.b #8,7(a0) move.b #$40,6(a0) move.b $2C(a0),d0 @@ -58690,7 +58555,7 @@ Obj_5D_1: andi.b #7,d0 move.b d0,$22(a0) beq.s loc_31F1C - move.b #-$80,6(a0) + move.b #$80,6(a0) loc_31F1C: move.l #loc_31F22,(a0) @@ -58810,8 +58675,8 @@ loc_32062: bclr #6,$2A(a0) bclr #5,$2A(a1) bclr #4,$2A(a1) - moveq #sfx_SmallBumpers,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_SmallBumpers),d0 + jmp (Play_SFX).l ; End of function sub_31FA6 ; --------------------------------------------------------------------------- @@ -58823,7 +58688,7 @@ Obj_Bumper: move.b #$10,7(a0) move.b #$10,6(a0) move.w #$80,8(a0) - move.b #-$29,$28(a0) + move.b #$D7,$28(a0) move.w $10(a0),$30(a0) move.w $14(a0),$32(a0) tst.w (Competition_mode).w @@ -58899,12 +58764,12 @@ sub_32146: bclr #5,$2A(a1) clr.b $40(a1) move.b #1,$20(a0) - moveq #sfx_Bumper,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Bumper),d0 + jsr (Play_SFX).l move.w $48(a0),d0 beq.s loc_321B4 movea.w d0,a2 - cmpi.b #-$76,(a2) + cmpi.b #$8A,(a2) bcc.s locret_321DE addq.b #1,(a2) @@ -58929,7 +58794,7 @@ loc_321E0: lea (Ani_Bumper).l,a1 jsr (Animate_Sprite).l move.w $30(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.s loc_3220A @@ -58989,8 +58854,8 @@ sub_32248: bclr #5,$2A(a1) clr.b $40(a1) move.b #1,$20(a0) - moveq #sfx_SmallBumpers,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SmallBumpers),d0 + jsr (Play_SFX).l rts ; End of function sub_32248 @@ -59007,7 +58872,7 @@ Map_Bumper: include "General/Sprites/Level Misc/Map - Bumper.asm" Map_2PBumper: include "General/2P Zone/Map - 2P Bumper.asm" ; --------------------------------------------------------------------------- -Obj_4C_1: +Obj_CNZSpiralTube: lea (Player_1).w,a1 lea $30(a0),a4 bsr.s sub_32328 @@ -59068,14 +58933,14 @@ loc_3233C: cmpi.w #$40,d0 bcc.s loc_323AE neg.w d1 - move.b #-$80,1(a4) + move.b #$80,1(a4) loc_323AE: add.w $10(a0),d1 move.w d1,$10(a1) move.w $14(a0),$14(a1) move.w #sfx_Roll,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l locret_323C6: rts @@ -59479,7 +59344,7 @@ loc_3277C: andi.w #$7FFF,$A(a1) cmpi.b #$34,d0 bcc.s loc_3278E - ori.w #-$8000,$A(a1) + ori.w #$8000,$A(a1) loc_3278E: tst.w 4(a2) @@ -59577,7 +59442,7 @@ loc_3285C: loc_32882: bsr.w sub_32A12 - move.b #-$20,$26(a1) + move.b #$E0,$26(a1) move.b #3,$2D(a1) locret_32892: @@ -59624,7 +59489,7 @@ loc_328DA: loc_3290C: bsr.w sub_32A12 - move.b #-$20,$26(a1) + move.b #$E0,$26(a1) move.b #3,$2D(a1) locret_3291C: @@ -59689,7 +59554,7 @@ loc_329A8: andi.w #$7FFF,$A(a1) cmpi.b #$4C,d0 bcs.s loc_329BA - ori.w #-$8000,$A(a1) + ori.w #$8000,$A(a1) loc_329BA: tst.w 4(a2) @@ -59749,7 +59614,7 @@ loc_32A22: move.l a0,-(sp) movea.l a1,a0 move.w a0,d1 - subi.w #-$5000,d1 + subi.w #Player_1,d1 bne.s loc_32A56 cmpi.w #2,(Player_mode).w beq.s loc_32A56 @@ -59772,7 +59637,7 @@ loc_32A5E: ; --------------------------------------------------------------------------- -Obj_4E_1: +Obj_CNZWireCage: moveq #0,d0 move.b $2C(a0),d0 lsl.w #3,d0 @@ -59817,8 +59682,8 @@ loc_32A98: addi.w #$80,d1 cmp.w d1,d0 bcc.s loc_32AF8 - moveq #sfx_WaveHover,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_WaveHover),d0 + jsr (Play_SFX).l loc_32AF8: jmp (Delete_Sprite_If_Not_In_Range).l @@ -59879,7 +59744,7 @@ loc_32B86: loc_32B92: bsr.w sub_32E68 - move.b #-$80,(a2) + move.b #$80,(a2) move.b #-$40,$26(a1) move.w $10(a1),d0 sub.w $10(a0),d0 @@ -59983,9 +59848,9 @@ loc_32CA4: moveq #0,d0 move.b (a2),d0 andi.w #$7FFF,$A(a1) - cmpi.b #-$80,d0 + cmpi.b #$80,d0 bcs.s loc_32CDE - ori.w #-$8000,$A(a1) + ori.w #$8000,$A(a1) loc_32CDE: addi.b #$40,d0 @@ -60085,9 +59950,9 @@ loc_32DF4: moveq #0,d0 move.b (a2),d0 andi.w #$7FFF,$A(a1) - cmpi.b #-$80,d0 + cmpi.b #$80,d0 bcs.s loc_32E2E - ori.w #-$8000,$A(a1) + ori.w #$8000,$A(a1) loc_32E2E: addi.b #$40,d0 @@ -60123,7 +59988,7 @@ loc_32E78: move.l a0,-(sp) movea.l a1,a0 move.w a0,d1 - subi.w #-$5000,d1 + subi.w #Player_1,d1 bne.s loc_32EA6 cmpi.w #2,(Player_mode).w beq.s loc_32EA6 @@ -60146,7 +60011,7 @@ loc_32EAE: ; --------------------------------------------------------------------------- -Obj_50_1: +Obj_MGZTwistingLoop: moveq #0,d0 move.b $2C(a0),d0 lsl.w #4,d0 @@ -60222,9 +60087,9 @@ loc_32F38: sub.w $14(a0),d0 move.w d0,(a2) bsr.w sub_32E68 - move.b #-$40,$26(a1) + move.b #$C0,$26(a1) bclr #0,4(a1) - move.b #-$80,5(a2) + move.b #$80,5(a2) move.w $10(a1),d0 sub.w $10(a0),d0 bcs.s loc_32FC2 @@ -60325,7 +60190,7 @@ loc_33088: loc_330C6: btst #0,$2A(a0) beq.s loc_330D4 - addi.b #-$80,$26(a1) + addi.b #$80,$26(a1) loc_330D4: bclr #2,$2A(a1) @@ -60387,9 +60252,9 @@ loc_33138: move.w d0,$14(a1) moveq #0,d0 andi.w #$7FFF,$A(a1) - cmpi.b #-$80,d2 + cmpi.b #$80,d2 bcc.s loc_33196 - ori.w #-$8000,$A(a1) + ori.w #$8000,$A(a1) loc_33196: subi.b #$40,d2 @@ -60526,7 +60391,7 @@ Obj_MGZSwingingSpikeBall: move.w $10(a0),$30(a0) move.w $14(a0),$32(a0) move.b #3,$22(a0) - move.b #-$71,$28(a0) + move.b #$8F,$28(a0) jsr (Create_New_Sprite3).l bne.w loc_333F0 move.l #loc_334B4,(a1) @@ -60557,7 +60422,7 @@ loc_333F0: beq.s loc_33416 move.w #2,-2(a2) move.b #2,$22(a1) - move.w #-$8000,$34(a0) + move.w #$8000,$34(a0) move.w #$100,$36(a0) move.l #loc_3346A,(a0) bra.s loc_3346A @@ -60587,8 +60452,8 @@ loc_3342C: beq.s loc_33460 andi.b #$40,d0 beq.s loc_33460 - moveq #sfx_SpikeBalls,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SpikeBalls),d0 + jsr (Play_SFX).l loc_33460: move.w $30(a0),d0 @@ -60618,11 +60483,11 @@ loc_33486: beq.s loc_334AE andi.b #$40,d0 beq.s loc_334AE - moveq #sfx_SpikeBalls,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SpikeBalls),d0 + jsr (Play_SFX).l loc_334AE: - jmp (loc_19CC4).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- loc_334B4: @@ -60710,7 +60575,7 @@ Map_MGZSwingingSpikeBall: Obj_MGZHeadTrigger: move.l #Map_MGZHeadTrigger,$C(a0) - move.w #-$5C01,$A(a0) + move.w #$A3FF,$A(a0) ori.b #4,4(a0) move.w #$280,8(a0) move.b #$10,7(a0) @@ -60777,7 +60642,7 @@ loc_33690: tst.b $29(a0) bne.s loc_336DC move.l #Obj_Explosion,(a1) - move.w #-$8000,$A(a1) + move.w #$8000,$A(a1) move.b #2,5(a1) move.b #1,$34(a0) move.b #0,$22(a0) @@ -60790,7 +60655,7 @@ loc_336DC: move.w $10(a0),$10(a1) move.w $14(a0),$14(a1) move.b 4(a0),4(a1) - andi.b #-$41,4(a1) + andi.b #$BF,4(a1) move.b $2A(a0),$2A(a1) move.l $C(a0),$C(a1) move.w $A(a0),$A(a1) @@ -60800,8 +60665,8 @@ loc_336DC: move.b #2,$20(a1) loc_3371E: - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_33726: lea (Ani_MGZHeadTrigger).l,a1 @@ -60817,14 +60682,14 @@ loc_33726: addi.w #$10,$10(a1) addi.w #$20,$14(a1) move.b 4(a0),4(a1) - andi.b #-$41,4(a1) + andi.b #$BF,4(a1) move.l $C(a0),$C(a1) move.w $A(a0),$A(a1) andi.w #$7FFF,$A(a1) move.w #$300,8(a1) move.b #$10,7(a1) move.b #4,6(a1) - move.b #-$65,$28(a1) + move.b #$9B,$28(a1) move.w #-$400,$18(a1) btst #0,$2A(a0) beq.s loc_337B4 @@ -60832,11 +60697,11 @@ loc_33726: subi.w #$20,$10(a1) loc_337B4: - moveq #sfx_LevelProjectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_LevelProjectile),d0 + jsr (Play_SFX).l loc_337BC: - jmp (loc_19CC4).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- loc_337C2: @@ -60860,7 +60725,18 @@ Ani_MGZHeadTrigger: include "Levels/MGZ/Misc Object Data/Anim - Head Trigger.asm" Map_MGZHeadTrigger: include "Levels/MGZ/Misc Object Data/Map - Head Trigger.asm" -byte_33868: dc.b $40, $1E, 0, $40, $20, $40, 1, $40, $20, $40, 1, $40 +byte_33868: dc.b $40 + dc.b $1E + dc.b 0 + dc.b $40 + dc.b $20 + dc.b $40 + dc.b 1 + dc.b $40 + dc.b $20 + dc.b $40 + dc.b 1 + dc.b $40 ; --------------------------------------------------------------------------- Obj_MGZTriggerPlatform: @@ -61084,7 +60960,7 @@ Obj_MGZPulley: move.w $A(a0),$A(a1) move.b 4(a0),4(a1) move.b #$60,7(a1) - move.b #-$40,6(a1) + move.b #$C0,6(a1) move.w #$300,8(a1) move.w $10(a0),$12(a1) move.w $10(a0),$10(a1) @@ -61317,8 +61193,8 @@ loc_33F9E: loc_33FD6: move.w #$10,$34(a0) move.b #1,(a2) - moveq #sfx_PulleyGrab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_PulleyGrab),d0 + jsr (Play_SFX).l locret_33FE8: rts @@ -61514,7 +61390,7 @@ loc_342B6: muls.w $1C(a0),d0 asr.l #8,d0 move.w d0,$1A(a0) - bsr.s h + bsr.s sub_34354 jsr (MoveSprite2).l tst.b $2D(a0) bne.s loc_342E6 @@ -61562,7 +61438,7 @@ loc_3434E: ; =============== S U B R O U T I N E ======================================= -h: +sub_34354: move.b #$40,d1 tst.w $1C(a0) beq.s locret_343CE @@ -61624,7 +61500,7 @@ loc_343D6: loc_34400: add.w d1,$1A(a0) rts -; End of function h +; End of function sub_34354 ; =============== S U B R O U T I N E ======================================= @@ -61775,7 +61651,7 @@ loc_3451C: addi.b #$18,d0 move.b d0,$1E(a1) bset #0,$2E(a1) - move.b #-$80,$37(a1) + move.b #$80,$37(a1) bclr d6,$2A(a0) bclr #3,$2A(a1) bset #1,$2A(a1) @@ -61800,7 +61676,7 @@ loc_34554: move.b #2,$20(a1) bset #2,$2A(a1) move.w #sfx_Jump,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l loc_3459C: bclr #0,$2E(a1) @@ -62339,17 +62215,17 @@ loc_34B30: move.w d0,$1C(a0) move.b $26(a0),d0 addi.b #$20,d0 - andi.b #-$40,d0 + andi.b #$C0,d0 bne.s locret_34B74 cmpi.w #$400,d0 blt.s locret_34B74 move.b #$D,$20(a0) bclr #0,$2A(a0) move.w #sfx_Skid,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l movea.l a0,a2 - suba.w #-$5000,a2 - adda.w #-$33AC,a2 + suba.w #Player_1,a2 + adda.w #Dust,a2 move.b #6,5(a2) move.b #$15,$22(a2) @@ -62393,17 +62269,17 @@ loc_34BB2: move.w d0,$1C(a0) move.b $26(a0),d0 addi.b #$20,d0 - andi.b #-$40,d0 + andi.b #$C0,d0 bne.s locret_34BF6 cmpi.w #-$400,d0 bgt.s locret_34BF6 move.b #$D,$20(a0) bset #0,$2A(a0) move.w #sfx_Skid,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l movea.l a0,a2 - suba.w #-$5000,a2 - adda.w #-$33AC,a2 + suba.w #Player_1,a2 + adda.w #Dust,a2 move.b #6,5(a2) move.b #$15,$22(a2) @@ -62792,7 +62668,7 @@ Obj_CGZBladePlatform: move.w $14(a0),$14(a1) subi.w #$10,$10(a1) addi.w #$C,$14(a1) - move.b #-$5A,$28(a1) + move.b #$A6,$28(a1) move.w a0,$3E(a1) jsr (Create_New_Sprite3).l bne.w loc_350A2 @@ -62801,7 +62677,7 @@ Obj_CGZBladePlatform: move.w $14(a0),$14(a1) addi.w #$10,$10(a1) addi.w #$14,$14(a1) - move.b #-$5A,$28(a1) + move.b #$A6,$28(a1) move.w a0,$3E(a1) loc_350A2: @@ -62818,9 +62694,9 @@ loc_350A8: loc_350C0: add.w d1,$36(a0) - cmpi.w #-$8000,$36(a0) + cmpi.w #$8000,$36(a0) bcs.s loc_350D2 - move.w #-$8000,$36(a0) + move.w #$8000,$36(a0) loc_350D2: bra.s loc_350E8 @@ -62995,7 +62871,7 @@ Obj_BPZBalloon: move.w #$200,8(a0) move.b #$10,7(a0) move.b #$10,6(a0) - move.b #-$29,$28(a0) + move.b #$D7,$28(a0) move.l #loc_35344,(a0) loc_35344: @@ -63049,8 +62925,8 @@ loc_353C0: bclr #4,$2A(a1) bclr #5,$2A(a1) clr.b $40(a1) - moveq #sfx_SmallBumpers,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_SmallBumpers),d0 + jmp (Play_SFX).l ; End of function sub_35370 ; --------------------------------------------------------------------------- @@ -63181,8 +63057,8 @@ loc_35860: loc_358A2: tst.b (a3) bne.s loc_358B4 - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l move.b #0,$24(a0) loc_358B4: @@ -63224,7 +63100,7 @@ loc_35946: move.b d0,$27(a0) move.b #3,$20(a0) move.b #7,$20(a0) - move.b #-$39,$28(a0) + move.b #$C7,$28(a0) move.l #loc_35962,(a0) loc_35962: @@ -63428,7 +63304,7 @@ loc_35B7A: ; --------------------------------------------------------------------------- loc_35B9E: - jmp (loc_18DCC).l + jmp (GiveRing_Tails).l ; --------------------------------------------------------------------------- loc_35BA4: @@ -63448,7 +63324,7 @@ loc_35BBA: move.w $46(a2),$46(a1) tst.w $A(a2) bpl.s locret_35BE2 - ori.w #-$8000,$A(a1) + ori.w #$8000,$A(a1) locret_35BE2: rts @@ -63511,7 +63387,7 @@ loc_35C56: bpl.s loc_35C76 add.w d1,$14(a0) move.l d2,(a0) - move.b #-$39,$28(a0) + move.b #$C7,$28(a0) loc_35C76: cmpi.w #-$100,(Camera_min_Y_pos).w @@ -63592,8 +63468,8 @@ loc_35CFC: neg.w $1C(a2) loc_35D4C: - moveq #sfx_SmallBumpers,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_SmallBumpers),d0 + jmp (Play_SFX).l ; End of function sub_35CF0 ; --------------------------------------------------------------------------- @@ -63680,7 +63556,7 @@ loc_35E16: loc_35E20: asl $1C(a2) move.b #$1B,$20(a2) - ori.b #-$80,$2B(a2) + ori.b #$80,$2B(a2) move.w a2,$3E(a0) move.b #$3C,$3C(a0) @@ -63885,12 +63761,12 @@ Obj_2PGoalMarker: lsl.w #3,d0 subi.w #$14,d0 move.w d0,$38(a0) - move.b #5,(_unkFEDA).w - clr.w (_unkFEDC).w + move.b #5,(Competition_total_laps).w + clr.w (Competition_current_lap).w clr.w (Events_bg+$14).w clr.b (Update_HUD_timer).w clr.l (Timer).w - clr.b (_unkFEC7).w + clr.b (Update_HUD_timer_P2).w clr.l (Timer_P2).w clr.w (Ring_count).w clr.w (Ring_count_P2).w @@ -63931,20 +63807,20 @@ loc_3627C: move.w $10(a0),d1 lea $34(a0),a2 lea (Player_1).w,a1 - lea (_unkFEDC).w,a3 + lea (Competition_current_lap).w,a3 lea (_unkF74A).w,a4 lea (Timer).w,a5 lea ($FF7828).l,a6 bsr.w sub_3638E lea (Player_2).w,a1 - lea (_unkFEDD).w,a3 + lea (Competition_current_lap_2P).w,a3 lea (_unkF74B).w,a4 lea (Timer_P2).w,a5 lea ($FF7840).l,a6 bsr.w sub_3638E lea (Ani_2PGoalMarker).l,a1 jsr (Animate_Sprite).l - move.w $36(a0),(_unkEE5C).w + move.w $36(a0),(Competition_lap_count).w jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -63975,10 +63851,10 @@ loc_362D0: move.w #0,$32(a1) loc_36352: - clr.w (_unkFEDC).w + clr.w (Competition_current_lap).w clr.b (Update_HUD_timer).w clr.l (Timer).w - clr.b (_unkFEC7).w + clr.b (Update_HUD_timer_P2).w clr.l (Timer_P2).w clr.b (Ctrl_1_locked).w clr.b (Ctrl_2_locked).w @@ -64077,8 +63953,8 @@ loc_3642E: eori.b #$18,4(a1) loc_36484: - moveq #sfx_Error,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Error),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- locret_3648C: @@ -64138,9 +64014,9 @@ sub_364EC: loc_364F4: clr.l (a1)+ dbf d0,loc_364F4 - clr.l (_unkEE52).w - clr.l (_unkEE56).w - st (_unkEE5A).w + clr.l (Competition_time_record).w + clr.l (Competition_time_record_P2).w + st (Competition_time_attack_new_top_record).w rts ; End of function sub_364EC @@ -64182,7 +64058,7 @@ loc_3652E: sub_3653C: - tst.b (Competition_mode_monitors).w + tst.b (Competition_items).w bne.s locret_3656A lea (byte_3656C).l,a4 adda.w d0,a4 @@ -64194,7 +64070,7 @@ loc_36550: cmpi.l #loc_35962,(a1) bne.s loc_36566 move.b (a4)+,$20(a1) - move.b #-$39,$28(a1) + move.b #$C7,$28(a1) loc_36566: dbf d0,loc_36550 @@ -64214,7 +64090,7 @@ Map_2PGoalMarker: loc_365CC: move.l #Map_2PLapNumbers,$C(a0) - move.w #-$7900,$A(a0) + move.w #$8700,$A(a0) move.w #0,8(a0) move.b #8,7(a0) move.b #$C,6(a0) @@ -64238,10 +64114,10 @@ loc_36618: move.l #loc_36624,(a0) loc_36624: - move.b (_unkFEDC).w,d0 - cmp.b (_unkFEDA).w,d0 + move.b (Competition_current_lap).w,d0 + cmp.b (Competition_total_laps).w,d0 ble.s loc_36632 - move.b (_unkFEDA).w,d0 + move.b (Competition_total_laps).w,d0 loc_36632: subi.b #$A,d0 @@ -64252,10 +64128,10 @@ loc_36632: ; --------------------------------------------------------------------------- loc_36646: - move.b (_unkFEDD).w,d0 - cmp.b (_unkFEDA).w,d0 + move.b (Competition_current_lap_2P).w,d0 + cmp.b (Competition_total_laps).w,d0 ble.s loc_36654 - move.b (_unkFEDA).w,d0 + move.b (Competition_total_laps).w,d0 loc_36654: subi.b #$A,d0 @@ -64270,9 +64146,9 @@ Map_2PLapNumbers: loc_366CC: move.l #Map_2PNeonDisplay,$C(a0) - move.w #-$78AA,$A(a0) + move.w #$8756,$A(a0) move.w #0,8(a0) - move.b #-$80,7(a0) + move.b #$80,7(a0) move.b #$28,6(a0) move.l #loc_366FE,(a0) tst.b (Not_ghost_flag).w @@ -64286,7 +64162,7 @@ loc_366FE: bne.s loc_36740 cmpi.b #5,$24(a0) bne.s loc_36740 - moveq #sfx_LaunchReady,d0 + moveq #signextendB(sfx_LaunchReady),d0 move.b $23(a0),d1 cmpi.b #1,d1 beq.s loc_3673A @@ -64294,12 +64170,12 @@ loc_366FE: beq.s loc_3673A cmpi.b #$15,d1 beq.s loc_3673A - moveq #sfx_LaunchGo,d0 + moveq #signextendB(sfx_LaunchGo),d0 cmpi.b #$1F,d1 bne.s loc_36740 loc_3673A: - jsr (Play_Sound_2).l + jsr (Play_SFX).l loc_36740: bsr.s sub_36750 @@ -64328,7 +64204,7 @@ loc_3676A: cmpi.b #3,$22(a0) bne.s locret_36784 move.b #1,(Update_HUD_timer).w - move.b #1,(_unkFEC7).w + move.b #1,(Update_HUD_timer_P2).w move.b #1,$3A(a0) locret_36784: @@ -64339,9 +64215,9 @@ loc_36786: subq.b #1,d0 bne.w loc_36862 move.l #$93B63,d0 - cmp.l (_unkEE52).w,d0 + cmp.l (Competition_time_record).w,d0 bls.s loc_3679E - cmp.l (_unkEE56).w,d0 + cmp.l (Competition_time_record_P2).w,d0 bhi.s loc_367AA loc_3679E: @@ -64349,8 +64225,8 @@ loc_3679E: move.w #$78,(Events_bg+$16).w loc_367AA: - move.b (_unkFEDA).w,d0 - cmp.b (_unkFEDC).w,d0 + move.b (Competition_total_laps).w,d0 + cmp.b (Competition_current_lap).w,d0 bcc.s loc_36824 move.b #3,$20(a0) tst.b (Not_ghost_flag).w @@ -64363,22 +64239,22 @@ loc_367C4: move.w #$78,(Events_bg+$16).w tst.b (Not_ghost_flag).w beq.s loc_367E8 - tst.b (Competition_mode_type).w + tst.b (Competition_type).w bne.s loc_367E8 move.w #$168,(Events_bg+$16).w loc_367E8: - move.b #-$80,(Update_HUD_timer).w + move.b #$80,(Update_HUD_timer).w jsr sub_369C2(pc) - moveq #sfx_Goal,d0 - jsr (Play_Sound_2).l - move.b (_unkFEDA).w,d0 - cmp.b (_unkFEDD).w,d0 + moveq #signextendB(sfx_Goal),d0 + jsr (Play_SFX).l + move.b (Competition_total_laps).w,d0 + cmp.b (Competition_current_lap_2P).w,d0 bcc.s loc_3681E move.b #6,$20(a0) bclr #3,4(a0) move.w #$78,(Events_bg+$16).w - move.b #-$80,(_unkFEC7).w + move.b #$80,(Update_HUD_timer_P2).w rts ; --------------------------------------------------------------------------- @@ -64388,21 +64264,21 @@ loc_3681E: ; --------------------------------------------------------------------------- loc_36824: - cmp.b (_unkFEDD).w,d0 + cmp.b (Competition_current_lap_2P).w,d0 bcc.s locret_36860 move.b #4,$20(a0) bset #4,4(a0) move.b #2,$3A(a0) move.w #$78,(Events_bg+$16).w - tst.b (Competition_mode_type).w + tst.b (Competition_type).w bne.s loc_3684E move.w #$168,(Events_bg+$16).w loc_3684E: - move.b #-$80,(_unkFEC7).w + move.b #$80,(Update_HUD_timer_P2).w bsr.w sub_36998 - moveq #sfx_Goal,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Goal),d0 + jsr (Play_SFX).l locret_36860: rts @@ -64411,20 +64287,20 @@ locret_36860: loc_36862: subq.b #1,d0 bne.w loc_36936 - tst.b (Competition_mode_type).w + tst.b (Competition_type).w beq.s loc_3689A tst.b (Update_HUD_timer).w bpl.s locret_36898 tst.b (Not_ghost_flag).w beq.s loc_36880 - tst.b (_unkFEC7).w + tst.b (Update_HUD_timer_P2).w bpl.s locret_36898 loc_36880: subq.w #1,(Events_bg+$16).w bpl.s locret_36898 move.b #$40,(Game_mode).w - tst.b (Competition_mode_type).w + tst.b (Competition_type).w bpl.s locret_36898 move.b #$50,(Game_mode).w @@ -64433,15 +64309,15 @@ locret_36898: ; --------------------------------------------------------------------------- loc_3689A: - move.b (_unkFEDC).w,d0 + move.b (Competition_current_lap).w,d0 tst.b (Update_HUD_timer).w bpl.s loc_368AE - move.b (_unkFEDD).w,d0 + move.b (Competition_current_lap_2P).w,d0 tst.b (Update_HUD_timer).w bmi.s loc_368B4 loc_368AE: - cmp.b (_unkFEDA).w,d0 + cmp.b (Competition_total_laps).w,d0 beq.s loc_368BA loc_368B4: @@ -64449,9 +64325,9 @@ loc_368B4: bmi.s loc_368CE loc_368BA: - cmpi.l #$93B63,(_unkEE52).w + cmpi.l #$93B63,(Competition_time_record).w bcc.s loc_368CE - cmpi.l #$93B63,(_unkEE56).w + cmpi.l #$93B63,(Competition_time_record_P2).w bcs.s locret_3692A loc_368CE: @@ -64460,14 +64336,14 @@ loc_368CE: subi.b #$E,d0 move.b byte_36931(pc,d0.w),d0 lea ($FF7800).l,a1 - move.l (_unkEE52).w,(a1,d0.w) - move.l (_unkEE56).w,$14(a1,d0.w) + move.l (Competition_time_record).w,(a1,d0.w) + move.l (Competition_time_record_P2).w,$14(a1,d0.w) tst.b (Update_HUD_timer).w bmi.s loc_368FC move.l #$93B63,(a1,d0.w) loc_368FC: - tst.b (_unkFEC7).w + tst.b (Update_HUD_timer_P2).w bmi.s loc_3690A move.l #$93B63,$14(a1,d0.w) @@ -64500,8 +64376,8 @@ byte_36931: dc.b 0 ; --------------------------------------------------------------------------- loc_36936: - move.b (_unkFEDA).w,d0 - cmp.b (_unkFEDC).w,d0 + move.b (Competition_total_laps).w,d0 + cmp.b (Competition_current_lap).w,d0 bcc.s loc_36966 tst.b (Update_HUD_timer).w bmi.s loc_36966 @@ -64509,21 +64385,21 @@ loc_36936: bset #3,4(a0) move.b #-$80,(Update_HUD_timer).w move.w #$78,(Events_bg+$16).w - moveq #sfx_Goal,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Goal),d0 + jsr (Play_SFX).l loc_36966: - move.b (_unkFEDA).w,d0 - cmp.b (_unkFEDD).w,d0 + move.b (Competition_total_laps).w,d0 + cmp.b (Competition_current_lap_2P).w,d0 bcc.s locret_36996 - tst.b (_unkFEC7).w + tst.b (Update_HUD_timer_P2).w bmi.s locret_36996 move.b #5,$20(a0) bset #4,4(a0) - move.b #-$80,(_unkFEC7).w + move.b #-$80,(Update_HUD_timer_P2).w move.w #$78,(Events_bg+$16).w - moveq #sfx_Goal,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Goal),d0 + jsr (Play_SFX).l locret_36996: rts @@ -64551,7 +64427,7 @@ locret_369C0: sub_369C2: - tst.b (Competition_mode_type).w + tst.b (Competition_type).w bpl.w locret_36A48 moveq #0,d0 move.b (Current_zone).w,d0 @@ -64559,7 +64435,7 @@ sub_369C2: lsl.w #4,d0 lea (Competition_saved_data).w,a1 adda.w d0,a1 - move.l (_unkEE52).w,d0 + move.l (Competition_time_record).w,d0 cmp.l (a1),d0 bcc.s loc_36A08 move.b $D(a1),$E(a1) @@ -64568,7 +64444,7 @@ sub_369C2: move.l 4(a1),8(a1) move.l (a1),4(a1) move.l d0,(a1) - clr.b (_unkEE5A).w + clr.b (Competition_time_attack_new_top_record).w bra.s loc_36A42 ; --------------------------------------------------------------------------- @@ -64579,7 +64455,7 @@ loc_36A08: move.b (P1_character).w,$D(a1) move.l 4(a1),8(a1) move.l d0,4(a1) - move.b #1,(_unkEE5A).w + move.b #1,(Competition_time_attack_new_top_record).w bra.s loc_36A42 ; --------------------------------------------------------------------------- @@ -64588,7 +64464,7 @@ loc_36A2C: bcc.s locret_36A48 move.b (P1_character).w,$E(a1) move.l d0,8(a1) - move.b #2,(_unkEE5A).w + move.b #2,(Competition_time_attack_new_top_record).w loc_36A42: jsr (Write_SaveGeneral).l @@ -64601,7 +64477,7 @@ locret_36A48: loc_36A4A: move.l #Map_2PNeonDisplay,$C(a0) - move.w #-$78AA,$A(a0) + move.w #$8756,$A(a0) move.w #0,8(a0) move.b #-$80,7(a0) move.b #$28,6(a0) @@ -64629,7 +64505,7 @@ Map_2PNeonDisplay: loc_37220: move.l #$FF7000,$C(a0) - move.w #-$7A00,$A(a0) + move.w #$8600,$A(a0) move.w #0,8(a0) move.b #$40,7(a0) move.b #$10,6(a0) @@ -64650,9 +64526,9 @@ loc_3726E: lea ($FF700A).l,a2 lea (Timer_minute).w,a3 moveq #0,d1 - move.b (_unkEE5C).w,d1 + move.b (Competition_lap_count).w,d1 lea (Update_HUD_timer).w,a4 - lea (_unkEE52).w,a5 + lea (Competition_time_record).w,a5 lea ($FF7828).l,a6 bra.s loc_3730E ; --------------------------------------------------------------------------- @@ -64665,7 +64541,7 @@ loc_37292: loc_3729E: move.l #$FF7080,$C(a0) - move.w #-$7A00,$A(a0) + move.w #$8600,$A(a0) move.w #0,8(a0) move.b #$40,7(a0) move.b #$10,6(a0) @@ -64686,9 +64562,9 @@ loc_372EC: lea ($FF708A).l,a2 lea (Timer_minute_P2).w,a3 moveq #0,d1 - move.b (_unkEE5C+1).w,d1 - lea (_unkFEC7).w,a4 - lea (_unkEE56).w,a5 + move.b (Competition_lap_count_2P).w,d1 + lea (Update_HUD_timer_P2).w,a4 + lea (Competition_time_record_P2).w,a5 lea ($FF7840).l,a6 loc_3730E: @@ -64812,7 +64688,7 @@ word_37420: dc.w 2 loc_37454: move.l #Map_2PItemIcon,$C(a0) - move.w #-$78B0,$A(a0) + move.w #$8750,$A(a0) move.w #0,8(a0) move.b #$10,7(a0) move.b #$10,6(a0) @@ -64875,7 +64751,7 @@ loc_374F2: Map_2PItemIcon: include "General/2P Zone/Map - Item Icon.asm" ; --------------------------------------------------------------------------- move.l #Map_2PPosition,$C(a0) - move.w #-$78A2,$A(a0) + move.w #$875E,$A(a0) move.w #0,8(a0) move.b #4,7(a0) move.b #4,6(a0) @@ -64961,7 +64837,7 @@ Obj_EMZDripper: move.b #4,$1E(a0) btst #0,$2A(a0) beq.s loc_376DC - move.w #-$3D00,$A(a0) + move.w #$C300,$A(a0) move.b #3,$22(a0) move.l #Draw_Sprite,(a0) jmp (Draw_Sprite).l @@ -65103,7 +64979,7 @@ loc_37870: subq.w #2,d0 bcc.s loc_37870 move.l #loc_3788E,(a1) - move.b #-$39,$28(a1) + move.b #$C7,$28(a1) moveq #0,d0 loc_37888: @@ -65189,8 +65065,8 @@ Obj_HCZWaterSplash: loc_379B4: ori.b #4,4(a0) move.w #$300,8(a0) - move.b #-$60,7(a0) - move.b #-$80,6(a0) + move.b #$A0,7(a0) + move.b #$80,6(a0) move.b #-1,$31(a0) move.b #0,$2A(a0) bset #6,4(a0) @@ -65254,8 +65130,8 @@ loc_37A8A: addq.b #2,d0 andi.b #$F,d0 bne.s loc_37AB2 - moveq #sfx_WaterSkid,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_WaterSkid),d0 + jsr (Play_SFX).l loc_37AB2: subq.b #1,$24(a0) @@ -65454,7 +65330,7 @@ loc_37CDC: loc_37CEE: move.b #4,4(a0) - move.b #-$80,7(a0) + move.b #$80,7(a0) move.b #8,6(a0) move.w $14(a0),d2 move.w d2,$3C(a0) @@ -65580,7 +65456,7 @@ loc_37E20: loc_37E38: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.s loc_37E4C @@ -65808,8 +65684,8 @@ loc_37FFE: loc_38062: move.w #0,$18(a3) move.w #0,$1A(a3) - moveq #sfx_BridgeCollapse,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_BridgeCollapse),d0 + jmp (Play_SFX).l ; End of function sub_37FDC ; --------------------------------------------------------------------------- @@ -66343,7 +66219,7 @@ word_3863A: dc.w $840 dc.l byte_3860C ; --------------------------------------------------------------------------- -Obj_69_1: +Obj_HCZTwistingLoop: move.b $2C(a0),d0 andi.w #$7F,d0 lsl.w #3,d0 @@ -66731,8 +66607,8 @@ loc_38B00: move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 bne.s loc_38B12 - moveq #sfx_SlideSkidQuiet,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SlideSkidQuiet),d0 + jsr (Play_SFX).l loc_38B12: cmpi.w #$1310,$10(a2) @@ -66782,8 +66658,8 @@ loc_38B84: move.b #$19,$20(a2) move.b #0,$2E(a2) move.w #$14,(Screen_shake_flag).w - moveq #sfx_Crash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Crash),d0 + jsr (Play_SFX).l move.w #2,(Tails_CPU_routine).w loc_38BCA: @@ -66798,8 +66674,8 @@ loc_38BCA: bne.s loc_38BF0 loc_38BE8: - moveq #sfx_GroundSlide,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GroundSlide),d0 + jsr (Play_SFX).l loc_38BF0: jsr (sub_38C8C).l @@ -66836,8 +66712,8 @@ loc_38C56: move.b $22(a0),d0 cmp.b $32(a0),d0 beq.s loc_38C68 - moveq #sfx_GroundSlide,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GroundSlide),d0 + jsr (Play_SFX).l loc_38C68: jsr (sub_38C8C).l @@ -66862,7 +66738,7 @@ sub_38C7A: sub_38C8C: - move.w #-$3000,d4 + move.w #$D000,d4 move.l #ArtUnc_SonicSnowboard,d6 lea (DPLC_SonicSnowboard).l,a2 @@ -67075,7 +66951,7 @@ sub_38F22: move.w #$100,8(a1) move.b #4,7(a1) move.b #4,6(a1) - move.b #-$7C,4(a1) + move.b #$84,4(a1) move.w #1,$20(a1) move.w $10(a2),$10(a1) move.w $14(a2),$14(a1) @@ -67204,8 +67080,8 @@ loc_390D0: move.w #$5C0,(Dust_P2+y_pos).w loc_39120: - moveq #sfx_SandSplash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SandSplash),d0 + jsr (Play_SFX).l move.b #0,(Ctrl_1_locked).w move.b #0,(Ctrl_2_locked).w jmp (Delete_Current_Sprite).l @@ -67282,8 +67158,8 @@ loc_391EC: move.b #0,$2E(a2) move.b #0,(Ctrl_1_locked).w move.w #$14,(Screen_shake_flag).w - moveq #sfx_Crash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Crash),d0 + jsr (Play_SFX).l jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- @@ -67316,14 +67192,14 @@ LevelSetup: move.w (Current_zone_and_act).w,d0 ror.b #2,d0 lsr.w #3,d0 - movea.l Offs_ScreenInit(pc,d0.w),a1 + movea.l LevelSetupArray(pc,d0.w),a1 jsr (a1) addq.w #2,a3 move.w #$E000,d7 move.w (Current_zone_and_act).w,d0 ror.b #2,d0 lsr.w #3,d0 - movea.l Offs_BackgroundInit(pc,d0.w),a1 + movea.l LevelSetupArray+4(pc,d0.w),a1 jsr (a1) move.w (Camera_Y_pos_copy).w,(V_scroll_value).w move.w (Camera_Y_pos_BG_copy).w,(V_scroll_value_BG).w @@ -67342,14 +67218,14 @@ ScreenEvents: move.w (Current_zone_and_act).w,d0 ror.b #2,d0 lsr.w #3,d0 - movea.l Offs_ScreenEvent(pc,d0.w),a1 + movea.l LevelEventArray(pc,d0.w),a1 jsr (a1) addq.w #2,a3 move.w #$E000,d7 move.w (Current_zone_and_act).w,d0 ror.b #2,d0 lsr.w #3,d0 - movea.l Offs_BackgroundEvent(pc,d0.w),a1 + movea.l LevelEventArray+4(pc,d0.w),a1 jsr (a1) move.w (Camera_Y_pos_copy).w,(V_scroll_value).w move.w (Camera_Y_pos_BG_copy).w,(V_scroll_value_BG).w @@ -67357,198 +67233,102 @@ ScreenEvents: ; End of function ScreenEvents ; --------------------------------------------------------------------------- -Offs_ScreenInit:dc.l AIZ1_ScreenInit -Offs_BackgroundInit:dc.l AIZ1_BackgroundInit - dc.l AIZ2_ScreenInit - dc.l AIZ2_BackgroundInit -Offs_ScreenEvent:dc.l AIZ1_ScreenEvent -Offs_BackgroundEvent:dc.l AIZ1_BackgroundEvent - dc.l AIZ2_ScreenEvent - dc.l AIZ2_BackgroundEvent - dc.l HCZ1_ScreenInit - dc.l HCZ1_BackgroundInit - dc.l HCZ2_ScreenInit - dc.l HCZ2_BackgroundInit - dc.l HCZ1_ScreenEvent - dc.l HCZ1_BackgroundEvent - dc.l HCZ2_ScreenEvent - dc.l HCZ2_BackgroundEvent - dc.l MGZ1_ScreenInit - dc.l MGZ1_BackgroundInit - dc.l MGZ2_ScreenInit - dc.l MGZ2_BackgroundInit - dc.l MGZ1_ScreenEvent - dc.l MGZ1_BackgroundEvent - dc.l MGZ2_ScreenEvent - dc.l MGZ2_BackgroundEvent - dc.l CNZ1_ScreenInit - dc.l CNZ1_BackgroundInit - dc.l CNZ2_ScreenInit - dc.l CNZ2_BackgroundInit - dc.l CNZ1_ScreenEvent - dc.l CNZ1_BackgroundEvent - dc.l CNZ2_ScreenEvent - dc.l CNZ2_BackgroundEvent - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l ICZ1_ScreenInit - dc.l ICZ1_BackgroundInit - dc.l ICZ2_ScreenInit - dc.l ICZ2_BackgroundInit - dc.l ICZ1_ScreenEvent - dc.l ICZ1_BackgroundEvent - dc.l ICZ2_ScreenEvent - dc.l ICZ2_BackgroundEvent - dc.l LBZ1_ScreenInit - dc.l LBZ1_BackgroundInit - dc.l LBZ2_ScreenInit - dc.l LBZ2_BackgroundInit - dc.l LBZ1_ScreenEvent - dc.l LBZ1_BackgroundEvent - dc.l LBZ2_ScreenEvent - dc.l LBZ2_BackgroundEvent - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l Comp_ScreenInit - dc.l ALZ_BackgroundInit - dc.l Comp_ScreenInit - dc.l ALZ_BackgroundInit - dc.l Comp_ScreenEvent - dc.l ALZ_BackgroundEvent - dc.l Comp_ScreenEvent - dc.l ALZ_BackgroundEvent - dc.l Comp_ScreenInit - dc.l BPZ_BackgroundInit - dc.l Comp_ScreenInit - dc.l BPZ_BackgroundInit - dc.l Comp_ScreenEvent - dc.l BPZ_BackgroundEvent - dc.l Comp_ScreenEvent - dc.l BPZ_BackgroundEvent - dc.l Comp_ScreenInit - dc.l DPZ_BackgroundInit - dc.l Comp_ScreenInit - dc.l DPZ_BackgroundInit - dc.l Comp_ScreenEvent - dc.l DPZ_BackgroundEvent - dc.l Comp_ScreenEvent - dc.l DPZ_BackgroundEvent - dc.l Comp_ScreenInit - dc.l CGZ_BackgroundInit - dc.l Comp_ScreenInit - dc.l CGZ_BackgroundInit - dc.l CGZ_ScreenEvent - dc.l CGZ_BackgroundEvent - dc.l CGZ_ScreenEvent - dc.l CGZ_BackgroundEvent - dc.l Comp_ScreenInit - dc.l EMZ_BackgroundInit - dc.l Comp_ScreenInit - dc.l EMZ_BackgroundInit - dc.l Comp_ScreenEvent - dc.l EMZ_BackgroundEvent - dc.l Comp_ScreenEvent - dc.l EMZ_BackgroundEvent - dc.l Gumball_ScreenInit - dc.l Gumball_BackgroundInit - dc.l Gumball_ScreenInit - dc.l Gumball_BackgroundInit - dc.l Gumball_ScreenEvent - dc.l Gumball_BackgroundEvent - dc.l Gumball_ScreenEvent - dc.l Gumball_BackgroundEvent - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenInit - dc.l NoBackgroundInit - dc.l NoScreenEvent - dc.l NoBackgroundEvent - dc.l NoScreenEvent - dc.l NoBackgroundEvent +LevelSetupArray:dc.l AIZ1_ScreenInit, AIZ1_BackgroundInit + dc.l AIZ2_ScreenInit, AIZ2_BackgroundInit +LevelEventArray:dc.l AIZ1_ScreenEvent, AIZ1_BackgroundEvent + dc.l AIZ2_ScreenEvent, AIZ2_BackgroundEvent + dc.l HCZ1_ScreenInit, HCZ1_BackgroundInit + dc.l HCZ2_ScreenInit, HCZ2_BackgroundInit + dc.l HCZ1_ScreenEvent, HCZ1_BackgroundEvent + dc.l HCZ2_ScreenEvent, HCZ2_BackgroundEvent + dc.l MGZ1_ScreenInit, MGZ1_BackgroundInit + dc.l MGZ2_ScreenInit, MGZ2_BackgroundInit + dc.l MGZ1_ScreenEvent, MGZ1_BackgroundEvent + dc.l MGZ2_ScreenEvent, MGZ2_BackgroundEvent + dc.l CNZ1_ScreenInit, CNZ1_BackgroundInit + dc.l CNZ2_ScreenInit, CNZ2_BackgroundInit + dc.l CNZ1_ScreenEvent, CNZ1_BackgroundEvent + dc.l CNZ2_ScreenEvent, CNZ2_BackgroundEvent + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenEvent, NoBackgroundEvent + dc.l ICZ1_ScreenInit, ICZ1_BackgroundInit + dc.l ICZ2_ScreenInit, ICZ2_BackgroundInit + dc.l ICZ1_ScreenEvent, ICZ1_BackgroundEvent + dc.l ICZ2_ScreenEvent, ICZ2_BackgroundEvent + dc.l LBZ1_ScreenInit, LBZ1_BackgroundInit + dc.l LBZ2_ScreenInit, LBZ2_BackgroundInit + dc.l LBZ1_ScreenEvent, LBZ1_BackgroundEvent + dc.l LBZ2_ScreenEvent, LBZ2_BackgroundEvent + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenEvent, NoBackgroundEvent + dc.l Comp_ScreenInit, ALZ_BackgroundInit + dc.l Comp_ScreenInit, ALZ_BackgroundInit + dc.l Comp_ScreenEvent, ALZ_BackgroundEvent + dc.l Comp_ScreenEvent, ALZ_BackgroundEvent + dc.l Comp_ScreenInit, BPZ_BackgroundInit + dc.l Comp_ScreenInit, BPZ_BackgroundInit + dc.l Comp_ScreenEvent, BPZ_BackgroundEvent + dc.l Comp_ScreenEvent, BPZ_BackgroundEvent + dc.l Comp_ScreenInit, DPZ_BackgroundInit + dc.l Comp_ScreenInit, DPZ_BackgroundInit + dc.l Comp_ScreenEvent, DPZ_BackgroundEvent + dc.l Comp_ScreenEvent, DPZ_BackgroundEvent + dc.l Comp_ScreenInit, CGZ_BackgroundInit + dc.l Comp_ScreenInit, CGZ_BackgroundInit + dc.l CGZ_ScreenEvent, CGZ_BackgroundEvent + dc.l CGZ_ScreenEvent, CGZ_BackgroundEvent + dc.l Comp_ScreenInit, EMZ_BackgroundInit + dc.l Comp_ScreenInit, EMZ_BackgroundInit + dc.l Comp_ScreenEvent, EMZ_BackgroundEvent + dc.l Comp_ScreenEvent, EMZ_BackgroundEvent + dc.l Gumball_ScreenInit, Gumball_BackgroundInit + dc.l Gumball_ScreenInit, Gumball_BackgroundInit + dc.l Gumball_ScreenEvent, Gumball_BackgroundEvent + dc.l Gumball_ScreenEvent, Gumball_BackgroundEvent + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenInit, NoBackgroundInit + dc.l NoScreenEvent, NoBackgroundEvent + dc.l NoScreenEvent, NoBackgroundEvent ; =============== S U B R O U T I N E ======================================= @@ -67798,7 +67578,7 @@ loc_397C8: Draw_TileColumn: move.w (a6),d0 - andi.w #-$10,d0 + andi.w #$FFF0,d0 move.w (a5),d2 move.w d0,(a5) move.w d2,d3 @@ -67829,7 +67609,7 @@ loc_397FE: Draw_TileColumn2: move.w (a6),d0 - andi.w #-$10,d0 + andi.w #$FFF0,d0 move.w (a5),d2 move.w d0,(a5) move.w d2,d3 @@ -68275,7 +68055,7 @@ loc_39B8C: ; --------------------------------------------------------------------------- -RefreshPlaneDirectVScroll: +Refresh_PlaneDirectVScroll: move.w (a4)+,d2 moveq #$1F,d3 @@ -68299,13 +68079,13 @@ loc_39BB8: rts ; --------------------------------------------------------------------------- -loc_39BD6: +Refresh_PlaneFull_Competition: movem.l d0-d2/d6/a0,-(sp) jsr sub_39B20(pc) jsr sub_39690(pc) movem.l (sp)+,d0-d2/d6/a0 addi.w #$10,d0 - dbf d2,loc_39BD6 + dbf d2,Refresh_PlaneFull_Competition rts ; --------------------------------------------------------------------------- @@ -68388,7 +68168,7 @@ loc_39CA2: sub.w (a4)+,d6 bmi.s loc_39CB2 move.w (a6)+,d0 - andi.w #-$10,d0 + andi.w #$FFF0,d0 move.w d0,(a6)+ subq.w #1,d5 bra.s loc_39CA2 @@ -68430,7 +68210,7 @@ loc_39CF4: subq.w #1,d5 beq.s locret_39D02 move.w (a6)+,d0 - andi.w #-$10,d0 + andi.w #$FFF0,d0 move.w d0,(a6)+ bra.s loc_39CF4 ; --------------------------------------------------------------------------- @@ -68986,7 +68766,7 @@ Reset_TileOffsetPositionActual: Reset_TileOffsetPositionEff: move.w (Camera_X_pos_BG_copy).w,d0 move.w d0,d1 - andi.w #-$10,d0 + andi.w #$FFF0,d0 move.w d0,d2 move.w d0,(Camera_X_pos_BG_rounded).w move.w (Camera_Y_pos_BG_copy).w,d0 @@ -69206,21 +68986,21 @@ NoScreenEvent: ; --------------------------------------------------------------------------- NoBackgroundInit: - jsr sub_3A626(pc) + jsr No_Deform(pc) jsr Reset_TileOffsetPositionEff(pc) jsr Refresh_PlaneFull(pc) jmp PlainDeformation(pc) ; --------------------------------------------------------------------------- NoBackgroundEvent: - jsr sub_3A626(pc) + jsr No_Deform(pc) jsr DrawBGAsYouMove(pc) jmp PlainDeformation(pc) ; =============== S U B R O U T I N E ======================================= -sub_3A626: +No_Deform: move.w (Camera_X_pos_copy).w,d0 asr.w #3,d0 move.w d0,(Camera_X_pos_BG_copy).w @@ -69228,7 +69008,7 @@ sub_3A626: asr.w #3,d0 move.w d0,(Camera_Y_pos_BG_copy).w rts -; End of function sub_3A626 +; End of function No_Deform ; --------------------------------------------------------------------------- @@ -69255,10 +69035,8 @@ Comp_ScreenInit: move.w (a1)+,d6 moveq #0,d1 move.w #$8000,d7 - jmp loc_39BD6(pc) - -; =============== S U B R O U T I N E ======================================= - + jmp Refresh_PlaneFull_Competition(pc) +; --------------------------------------------------------------------------- Comp_ScreenEvent: jsr Update_CameraPositionP2(pc) @@ -69271,8 +69049,6 @@ Comp_ScreenEvent: jsr Adjust_BGDuringLoop(pc) move.w (Camera_X_pos_P2_copy).w,d0 jmp Adjust_BGDuringLoop(pc) -; End of function Comp_ScreenEvent - ; --------------------------------------------------------------------------- CGZ_ScreenEvent: @@ -69311,7 +69087,7 @@ CGZ_BackgroundInit: move.w d0,(Events_bg+$04).w move.w d0,(Events_bg+$06).w moveq #0,d0 - move.b (_unkFEDA).w,d0 + move.b (Competition_total_laps).w,d0 addq.w #1,d0 lsl.w #8,d0 subi.w #$70,d0 @@ -69337,10 +69113,8 @@ Comp_BackgroundInit: moveq #0,d0 moveq #0,d1 move.w #$A000,d7 - jmp loc_39BD6(pc) - -; =============== S U B R O U T I N E ======================================= - + jmp Refresh_PlaneFull_Competition(pc) +; --------------------------------------------------------------------------- ALZ_BackgroundEvent: jsr ALZ_Deformation(pc) @@ -69350,19 +69124,19 @@ ALZ_BackgroundEvent: BPZ_BackgroundEvent: jsr BPZ_Deformation(pc) - lea BPZ_DeformArray(pc),a4 + lea BPZ_BGDeformArray(pc),a4 bra.s loc_3A764 ; --------------------------------------------------------------------------- CGZ_BackgroundEvent: jsr CGZ_Deformation(pc) - lea CGZ_DeformArray(pc),a4 + lea CGZ_BGDeformArray(pc),a4 bra.s loc_3A764 ; --------------------------------------------------------------------------- EMZ_BackgroundEvent: jsr EMZ_Deformation(pc) - lea EMZ_DeformArray(pc),a4 + lea EMZ_BGDeformArray(pc),a4 loc_3A764: lea (H_scroll_buffer).w,a1 @@ -69380,11 +69154,7 @@ loc_3A764: moveq #$73,d1 jsr ApplyDeformation2(pc) jmp Update_VScrollValueP2(pc) -; End of function ALZ_BackgroundEvent - - -; =============== S U B R O U T I N E ======================================= - +; --------------------------------------------------------------------------- DPZ_BackgroundEvent: jsr DPZ_Deformation(pc) @@ -69398,8 +69168,6 @@ DPZ_BackgroundEvent: moveq #$1C,d2 bsr.s sub_3A7BA jmp Update_VScrollValueP2(pc) -; End of function DPZ_BackgroundEvent - ; =============== S U B R O U T I N E ======================================= @@ -69432,7 +69200,7 @@ ALZ_Deformation: move.w d0,(_unkEE74).w addq.w #3,(Events_bg+$00).w addi.l #$1000,(Events_bg+$02).w - lea ALZ_AIZ2_BGDeformDelta(pc),a4 + lea AIZ2_ALZ_BGDeformDelta(pc),a4 lea (HScroll_table).w,a1 move.w (Events_fg_1).w,d0 bsr.s sub_3A81E @@ -69751,9 +69519,12 @@ Comp_ScreenInitArray: dc.w $3FF, $1FF, $1F0, $C, $100, $100, $F, $40 ALZ_BGDeformArray: dc.w $18, 8, 8, 8, 8, 8, $2E, 6, $D,$803F,$7FFF -BPZ_DeformArray:dc.w $88, $16, $A, $28, $10, 8,$7FFF -CGZ_DeformArray:dc.w $50, 8, $10, $10,$7FFF -EMZ_DeformArray:dc.w $10, $10, $10, $10, 8, $C, $24, $38, $20,$7FFF +BPZ_BGDeformArray: + dc.w $88, $16, $A, $28, $10, 8,$7FFF +CGZ_BGDeformArray: + dc.w $50, 8, $10, $10,$7FFF +EMZ_BGDeformArray: + dc.w $10, $10, $10, $10, 8, $C, $24, $38, $20,$7FFF ; --------------------------------------------------------------------------- AIZ1_ScreenInit: @@ -70478,9 +70249,12 @@ AIZ1_IntroDrawArray: AIZ1_IntroDeformArray: dc.w $3E0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 dc.w 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, $7FFF -AIZ1_BGDrawArray:dc.w $220, $7FFF -AIZ1_DeformArray:dc.w $D0, $20, $30, $30, $10, $10, $10, $800D, $F, 6, $E, $50, $20, $7FFF -AIZ_FlameVScroll:dc.b 0, $FF, $FE, $FB, $F8, $F6, $F3, $F2, $F1, $F2, $F3, $F6, $F9, $FB, $FE, $FF +AIZ1_BGDrawArray: + dc.w $220, $7FFF +AIZ1_DeformArray: + dc.w $D0, $20, $30, $30, $10, $10, $10, $800D, $F, 6, $E, $50, $20, $7FFF +AIZ_FlameVScroll: + dc.b 0, $FF, $FE, $FB, $F8, $F6, $F3, $F2, $F1, $F2, $F3, $F6, $F9, $FB, $FE, $FF ; --------------------------------------------------------------------------- AIZ2_ScreenInit: @@ -70515,7 +70289,7 @@ AIZ2SE_Normal: move.w #5,(Draw_delayed_rowcount).w clr.l (HScroll_table+$1F8).w move.w (Camera_X_pos_copy).w,d0 - andi.w #-$10,d0 + andi.w #$FFF0,d0 subi.w #$10,d0 move.w d0,(HScroll_table+$1FE).w move.b #1,(Scroll_lock).w @@ -70580,7 +70354,7 @@ AIZ2SE_EndRefresh: jsr Draw_PlaneVertBottomUp(pc) bpl.s loc_3B368 move.w (Camera_X_pos_copy).w,d0 - andi.w #-$10,d0 + andi.w #$FFF0,d0 subi.w #$10,d0 move.w d0,(Camera_X_pos_rounded).w move.w #$46C0,(Events_bg+$02).w @@ -70598,9 +70372,11 @@ HInt6: move.w (Camera_Y_pos_copy).w,(VDP_data_port).l rte ; --------------------------------------------------------------------------- -AIZ2SE_BGShipDrawArray1:dc.w $180 +AIZ2SE_BGShipDrawArray1: + dc.w $180 dc.w $7FFF -AIZ2SE_BGShipDrawArray2:dc.w $A80 +AIZ2SE_BGShipDrawArray2: + dc.w $A80 dc.w $7FFF ; --------------------------------------------------------------------------- @@ -70659,7 +70435,7 @@ AIZ2BGE_FireRedraw: loc_3B480: addq.w #2,a3 - move.w #-$2000,d7 + move.w #$E000,d7 clr.w (Events_bg+$00).w addq.w #4,(Events_routine_bg).w @@ -70906,7 +70682,7 @@ loc_3B6D0: lea (HScroll_table).w,a2 lea AIZ2_BGDeformArray(pc),a4 lea (HScroll_table+$1C0).w,a5 - lea ALZ_AIZ2_BGDeformDelta(pc),a6 + lea AIZ2_ALZ_BGDeformDelta(pc),a6 move.w (Camera_Y_pos_BG_copy).w,d0 move.w #$DF,d1 move.w (Level_frame_counter).w,d2 @@ -70980,7 +70756,7 @@ AIZ2_DoShipLoop: sub.w d1,(Player_2+x_pos).w sub.w d1,d0 move.w d0,d1 - andi.w #-$10,d1 + andi.w #$FFF0,d1 subi.w #$10,d1 move.w d1,(Camera_X_pos_rounded).w move.w d1,(HScroll_table+$1FE).w @@ -71071,8 +70847,8 @@ loc_3B87A: subq.w #1,d0 andi.w #$F,d0 bne.s loc_3B88E - moveq #sfx_LargeShip,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_LargeShip),d0 + jsr (Play_SFX).l loc_3B88E: subq.w #1,$32(a0) @@ -71150,8 +70926,8 @@ AIZShipBomb_Delay: subq.w #1,$32(a0) bne.s loc_3B97C addq.b #4,5(a0) - moveq #sfx_MissileThrow,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileThrow),d0 + jsr (Play_SFX).l loc_3B97C: jsr Translate_Camera2ObjPosition(pc) @@ -71170,8 +70946,8 @@ AIZShipBomb_Drop: cmpi.w #-8,d1 bgt.s locret_3BA04 move.w #$10,(Screen_shake_flag).w - moveq #sfx_MissileExplode,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileExplode),d0 + jsr (Play_SFX).l jsr (Create_New_Sprite3).l bne.s loc_3B9FE lea AIZBombExplodeDat(pc),a2 @@ -71231,7 +71007,7 @@ loc_3BA40: move.b #$20,7(a0) move.w #$500,$A(a0) move.l #Map_AIZ2BombExplode,$C(a0) - move.b #-$75,$28(a0) + move.b #$8B,$28(a0) bra.s loc_3BA70 ; --------------------------------------------------------------------------- @@ -71380,8 +71156,8 @@ loc_3BBE6: subq.w #1,d0 andi.w #$F,d0 bne.s locret_3BC04 - moveq #sfx_EggmanSiren,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_RobotnikSiren),d0 + jsr (Play_SFX).l locret_3BC04: rts @@ -71415,7 +71191,7 @@ AIZ2_FGDeformDelta: dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 -ALZ_AIZ2_BGDeformDelta: +AIZ2_ALZ_BGDeformDelta: dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1 dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2 dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1 @@ -71817,7 +71593,8 @@ locret_3C58E: ; End of function HCZ1_Deform ; --------------------------------------------------------------------------- -HCZ1_BGDeformArray:dc.w $40, 8, 8, 5, 5, 6, $F0, 6, 5, 5, 8, 8, $30, $80C0, $7FFF +HCZ1_BGDeformArray: + dc.w $40, 8, 8, 5, 5, 6, $F0, 6, 5, 5, 8, 8, $30, $80C0, $7FFF ; --------------------------------------------------------------------------- HCZ2_ScreenInit: @@ -71970,8 +71747,8 @@ loc_3C70E: tst.w (Screen_shake_flag).w bpl.s loc_3C754 move.w #$E,(Screen_shake_flag).w - moveq #sfx_Crash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Crash),d0 + jsr (Play_SFX).l bra.s loc_3C754 ; --------------------------------------------------------------------------- @@ -71986,8 +71763,8 @@ loc_3C73C: subq.w #1,d0 andi.w #$F,d0 bne.s loc_3C754 - moveq #sfx_Rumble2,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Rumble2),d0 + jsr (Play_SFX).l loc_3C754: move.w (Camera_Y_pos_copy).w,d0 @@ -72047,9 +71824,11 @@ loc_3C7AC: ; End of function HCZ2_Deform ; --------------------------------------------------------------------------- -HCZ2_BGDeformArray:dc.w 8, 8, $90, $10, 8, $30, $18, 8, 8, $A8, $30, $18 +HCZ2_BGDeformArray: + dc.w 8, 8, $90, $10, 8, $30, $18, 8, 8, $A8, $30, $18 dc.w 8, 8, $A8, $30, $18, 8, 8, $B0, $10, 8, $7FFF -HCZ2_BGDeformIndex:dc.b 3, $A +HCZ2_BGDeformIndex: + dc.b 3, $A dc.b $14,$1E dc.b $2C, 2 dc.b $C,$16 @@ -72227,15 +72006,16 @@ Do_ShakeSound: subq.w #1,d0 andi.w #$F,d0 bne.s locret_3C9F6 - moveq #sfx_Rumble2,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Rumble2),d0 + jsr (Play_SFX).l locret_3C9F6: rts ; End of function Do_ShakeSound ; --------------------------------------------------------------------------- -MGZ1_BGDeformArray:dc.w $10, 4, 4, 8, 8, 8, $D, $13, 8, 8, 8, 8, $18, $7FFF +MGZ1_BGDeformArray: + dc.w $10, 4, 4, 8, 8, 8, $D, $13, 8, 8, 8, 8, $18, $7FFF ; --------------------------------------------------------------------------- MGZ2_ScreenInit: @@ -72402,8 +72182,8 @@ loc_3CBA4: subq.w #1,d0 andi.w #$F,d0 bne.s loc_3CBC8 - moveq #sfx_BigRumble,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BigRumble),d0 + jsr (Play_SFX).l loc_3CBC8: tst.w d1 @@ -72515,7 +72295,7 @@ MGZ2_QuakeEvent1: st (Screen_shake_flag).w jsr (Create_New_Sprite).l bne.s locret_3CCD2 - move.l #Obj_MGZ2DrillingEggman,(a1) + move.l #Obj_MGZ2DrillingRobotnik,(a1) move.w #$8E0,$10(a1) move.w #$690,$14(a1) @@ -72536,7 +72316,7 @@ MGZ2_QuakeEvent2: st (Screen_shake_flag).w jsr (Create_New_Sprite).l bne.s locret_3CD1C - move.l #Obj_MGZ2DrillingEggman,(a1) + move.l #Obj_MGZ2DrillingRobotnik,(a1) bset #0,4(a1) move.w #$2FA0,$10(a1) move.w #$2D0,$14(a1) @@ -72558,7 +72338,7 @@ MGZ2_QuakeEvent3: st (Screen_shake_flag).w jsr (Create_New_Sprite).l bne.s locret_3CD64 - move.l #Obj_MGZ2DrillingEggman,(a1) + move.l #Obj_MGZ2DrillingRobotnik,(a1) bset #0,4(a1) move.w #$3300,$10(a1) move.w #$790,$14(a1) @@ -72802,7 +72582,8 @@ MGZ2_ChunkEventArray: dc.w $F68, $F78, $500, $580, $F00, $500 dc.w $3680, $3700, $2F0, $380, $3700, $280 dc.w $3000, $3080, $770, $800, $3080, $700 -MGZ2_ScreenRedrawArray:dc.w $40, 3 +MGZ2_ScreenRedrawArray: + dc.w $40, 3 dc.w $50, 3 dc.w $50, 4 dc.w $60, 4 @@ -72825,7 +72606,8 @@ MGZ2_ScreenRedrawArray:dc.w $40, 3 dc.w $C0, 3 dc.w $D0, 2 dc.w $E0, 1 -MGZ2_ChunkReplaceArray:dc.w $100, $500 +MGZ2_ChunkReplaceArray: + dc.w $100, $500 dc.w $180, $580 dc.w $200, $600 dc.w $280, $680 @@ -72849,8 +72631,10 @@ MGZ2_ChunkReplaceArray:dc.w $100, $500 dc.w 0, $F80 dc.w 0,$1000 dc.w $80, $480 -MGZ2_CollapseScrollDelay:dc.w $A, $10, 2, 8, $E, 6, 0, $C, $12, 4 -MGZ2_FGVScrollArray:dc.w $3CA0, $20, $20, $20, $20, $20, $20, $20, $20,$7FFF +MGZ2_CollapseScrollDelay: + dc.w $A, $10, 2, 8, $E, 6, 0, $C, $12, 4 +MGZ2_FGVScrollArray: + dc.w $3CA0, $20, $20, $20, $20, $20, $20, $20, $20,$7FFF ; --------------------------------------------------------------------------- MGZ2_BackgroundInit: @@ -73270,8 +73054,8 @@ loc_3D426: move.w (Events_bg+$02).w,d0 cmp.w $2E(a0),d0 bcs.s loc_3D444 - moveq #sfx_Crash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Crash),d0 + jsr (Play_SFX).l move.w #$E,(Screen_shake_flag).w jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- @@ -73316,11 +73100,15 @@ loc_3D484: sub.w d1,(Player_2+y_pos).w rts ; --------------------------------------------------------------------------- -MGZ2_BGDrawArray:dc.w $200, $7FFF -MGZ2_BGDeformArray:dc.w $10, $10, $10, $10, $10, $18, 8, $10, 8, 8, $10, 8 +MGZ2_BGDrawArray: + dc.w $200, $7FFF +MGZ2_BGDeformArray: + dc.w $10, $10, $10, $10, $10, $18, 8, $10, 8, 8, $10, 8 dc.w 8, 8, 5, $2B, $C, 6, 6, 8, 8, $18, $D8, $7FFF -MGZ2_BGDeformIndex:dc.w $1C, $18, $1A, $C, 6, $14, 2, $10, $16, $12, $A, 0, 8, 4, $E -MGZ2_BGDeformOffset:dc.w -5, -8, 9, $A, 2, -$C, 3, $10, -1, $D, -$F, 6, -$B, -4, $E +MGZ2_BGDeformIndex: + dc.w $1C, $18, $1A, $C, 6, $14, 2, $10, $16, $12, $A, 0, 8, 4, $E +MGZ2_BGDeformOffset: + dc.w -5, -8, 9, $A, 2, -$C, 3, $10, -1, $D, -$F, 6, -$B, -4, $E dc.w -8, $10, 8, 0, -8, $10, 8, 0 ; --------------------------------------------------------------------------- @@ -73833,11 +73621,8 @@ loc_3DA1E: st (Events_fg_5).w jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -CNZ1_BGDeformArray:dc.w $80 - dc.w $30 - dc.w $60 - dc.w $C0 - dc.w $7FFF +CNZ1_BGDeformArray: + dc.w $80, $30, $60, $C0, $7FFF ; --------------------------------------------------------------------------- CNZ2_ScreenInit: @@ -74226,8 +74011,8 @@ ICZ1_BigSnowFall: subq.w #1,d0 andi.w #$F,d0 bne.s loc_3DE42 - moveq #sfx_Rumble2,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Rumble2),d0 + jsr (Play_SFX).l bra.s loc_3DE42 ; --------------------------------------------------------------------------- @@ -74278,11 +74063,6 @@ ICZ1_SetIntroPal: loc_3DE92: lea (Target_palette_line_4+2).w,a1 -; End of function ICZ1_SetIntroPal - - -; =============== S U B R O U T I N E ======================================= - sub_3DE96: move.l #$EEE0EEC,(a1)+ @@ -74294,7 +74074,7 @@ sub_3DE96: move.l #$AEC0CEA,(a1)+ move.w #$E80,(a1) rts -; End of function sub_3DE96 +; End of function ICZ1_SetIntroPal ; =============== S U B R O U T I N E ======================================= @@ -74308,11 +74088,6 @@ ICZ1_SetIndoorPal: loc_3DED2: lea (Target_palette_line_4+2).w,a1 -; End of function ICZ1_SetIndoorPal - - -; =============== S U B R O U T I N E ======================================= - sub_3DED6: move.l #$EC00E40,(a1)+ @@ -74322,10 +74097,11 @@ sub_3DED6: move.l #$E240A02,(a1)+ move.w #$402,(a1) rts -; End of function sub_3DED6 +; End of function ICZ1_SetIndoorPal ; --------------------------------------------------------------------------- -ICZ1_IntroBGDeformArray:dc.w $44, $C, $B, $D, $18, $50, 2, 6, 8, $10, $18, $20, $28, $7FFF +ICZ1_IntroBGDeformArray: + dc.w $44, $C, $B, $D, $18, $50, 2, 6, 8, $10, $18, $20, $28, $7FFF ; --------------------------------------------------------------------------- ICZ2_ScreenInit: @@ -74554,7 +74330,7 @@ loc_3E0E8: move.w (Level_frame_counter).w,d1 lsr.w #2,d1 andi.w #$3E,d1 - lea ALZ_AIZ2_BGDeformDelta(pc),a5 + lea AIZ2_ALZ_BGDeformDelta(pc),a5 adda.w d1,a5 moveq #7,d1 @@ -74625,11 +74401,6 @@ ICZ2_SetOutdoorsPal: loc_3E1B6: lea (Target_palette_line_4+2).w,a1 -; End of function ICZ2_SetOutdoorsPal - - -; =============== S U B R O U T I N E ======================================= - sub_3E1BA: move.l #$EEE0EEA,(a1)+ @@ -74638,7 +74409,7 @@ sub_3E1BA: move.l #$C400E20,(a1)+ move.l #$A000E00,(a1) rts -; End of function sub_3E1BA +; End of function ICZ2_SetOutdoorsPal ; =============== S U B R O U T I N E ======================================= @@ -74652,11 +74423,6 @@ ICZ2_SetIndoorsPal: loc_3E1E6: lea (Target_palette_line_4+2).w,a1 -; End of function ICZ2_SetIndoorsPal - - -; =============== S U B R O U T I N E ======================================= - sub_3E1EA: move.l #$EE20E24,(a1)+ @@ -74666,7 +74432,7 @@ sub_3E1EA: move.l #$E400840,(a1)+ move.w #$600,(a1) rts -; End of function sub_3E1EA +; End of function ICZ2_SetIndoorsPal ; =============== S U B R O U T I N E ======================================= @@ -74680,11 +74446,6 @@ ICZ2_SetICZ1Pal: loc_3E21A: lea (Target_palette_line_4+2).w,a1 -; End of function ICZ2_SetICZ1Pal - - -; =============== S U B R O U T I N E ======================================= - sub_3E21E: move.l #$EEC0CC6,(a1)+ @@ -74693,11 +74454,13 @@ sub_3E21E: move.l #$8200620,(a1)+ move.l #$2000600,(a1) rts -; End of function sub_3E21E +; End of function ICZ2_SetICZ1Pal ; --------------------------------------------------------------------------- -ICZ2_OutBGDeformArray:dc.w $5A, $26, $8030, $7FFF -ICZ2_InBGDeformArray:dc.w $1A0, $40, $20, $18, $40, 8, 8, $18, $7FFF +ICZ2_OutBGDeformArray: + dc.w $5A, $26, $8030, $7FFF +ICZ2_InBGDeformArray: + dc.w $1A0, $40, $20, $18, $40, 8, 8, $18, $7FFF ; --------------------------------------------------------------------------- LBZ1_ScreenInit: @@ -74880,8 +74643,8 @@ loc_3E3EA: bne.s loc_3E40A tst.w d2 beq.s loc_3E40A - moveq #sfx_BigRumble,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BigRumble),d0 + jsr (Play_SFX).l loc_3E40A: tst.w d2 @@ -74896,8 +74659,8 @@ loc_3E40A: loc_3E426: clr.l (a1)+ dbf d0,loc_3E426 - moveq #sfx_Crash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Crash),d0 + jsr (Play_SFX).l loc_3E434: lea (HScroll_table+$100).w,a1 @@ -74954,8 +74717,6 @@ loc_3E48A: move.w d2,(Events_bg+$00).w lsr.w #1,d2 jmp LBZ1_LayoutModBranch-2(pc,d2.w) -; End of function LBZ1_CheckLayoutMod - ; --------------------------------------------------------------------------- LBZ1_LayoutModBranch: @@ -75061,6 +74822,9 @@ loc_3E536: dbf d1,loc_3E536 rts +; End of function LBZ1_CheckLayoutMod + + ; =============== S U B R O U T I N E ======================================= @@ -75098,16 +74862,20 @@ loc_3E56E: move.w #$100,d3 jmp (SolidObjectFull2).l ; --------------------------------------------------------------------------- -LBZ1_FGVScrollArray:dc.w $3B60, $10, $10, $10, $10, $10, $10, $10, $10, $10, $10, $7FFF -LBZ1_LayoutModRange:dc.w $13E0,$16A0, $100, $580 +LBZ1_FGVScrollArray: + dc.w $3B60, $10, $10, $10, $10, $10, $10, $10, $10, $10, $10, $7FFF +LBZ1_LayoutModRange: + dc.w $13E0,$16A0, $100, $580 dc.w $2160,$2520, 0, $700 dc.w $3A60,$3BA0, 0, $600 dc.w $3DE0,$3FA0, 0, $300 -LBZ1_LayoutModExitRange:dc.w $1376,$170A +LBZ1_LayoutModExitRange: + dc.w $1376,$170A dc.w $20F6,$258A dc.w $39F6,$3C0A dc.w $3D76,$400A -LBZ1_CollapseScrollSpeed:dc.w $1EE, $1F2, $C7, $1B3, $1B7, $198, $E, $139 +LBZ1_CollapseScrollSpeed: + dc.w $1EE, $1F2, $C7, $1B3, $1B7, $198, $E, $139 ; --------------------------------------------------------------------------- LBZ1_BackgroundInit: @@ -75264,8 +75032,10 @@ loc_3E79A: ; End of function LBZ1_Deform ; --------------------------------------------------------------------------- -LBZ1_BGDrawArray:dc.w $D0, $7FFF -LBZ1_BGDeformArray:dc.w $D0 +LBZ1_BGDrawArray: + dc.w $D0, $7FFF +LBZ1_BGDeformArray: + dc.w $D0 dc.w $18 dc.w 8 dc.w 8 @@ -75451,8 +75221,8 @@ loc_3E95A: subq.w #1,d0 andi.w #$F,d0 bne.s loc_3E96E - moveq #sfx_DeathEggRiseLoud,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_DeathEggRiseLoud),d0 + jsr (Play_SFX).l loc_3E96E: tst.w (Events_fg_5).w @@ -76113,12 +75883,16 @@ locret_3EEDE: ; End of function LBZ2_EndFallingAccel ; --------------------------------------------------------------------------- -LBZ2_BGDeformArray:dc.w $C0, $40, $38, $18, $28, $10, $10, $10, $18, $40, $20, $10, $20 +LBZ2_BGDeformArray: + dc.w $C0, $40, $38, $18, $28, $10, $10, $10, $18, $40, $20, $10, $20 dc.w $70, $30, $80E0, $20, $7FFF -LBZ2_DEBGDeformArray:dc.w $38, $18, $28, $10, $10, $10, $18, $40, $38, $18, $28, $10, $10 +LBZ2_DEBGDeformArray: + dc.w $38, $18, $28, $10, $10, $10, $18, $40, $38, $18, $28, $10, $10 dc.w $10, $18, $40, $20, $10, $20, $70, $60, $10, $805F, $7FFF -LBZ2_CloudDeformArray:dc.w $16, $E, $A, $14, $C, 6, $18, $10, $12, 2, 8, 4, 0 -LBZ2_BGUWDeformRange:dc.w 7, 1, 3, 1, 7 +LBZ2_CloudDeformArray: + dc.w $16, $E, $A, $14, $C, 6, $18, $10, $12, 2, 8, 4, 0 +LBZ2_BGUWDeformRange: + dc.w 7, 1, 3, 1, 7 ; --------------------------------------------------------------------------- Gumball_ScreenInit: @@ -76138,7 +75912,7 @@ Gumball_ScreenInit: lea Gumball_VScrollArray(pc),a4 lea (HScroll_table).w,a5 move.w (Camera_X_pos_rounded).w,d0 - jmp RefreshPlaneDirectVScroll(pc) + jmp Refresh_PlaneDirectVScroll(pc) ; --------------------------------------------------------------------------- Gumball_ScreenEvent: @@ -76159,11 +75933,6 @@ Gumball_SetUpVScroll: subi.w #$C8,d1 sub.w d0,d1 neg.w d1 -; End of function Gumball_SetUpVScroll - - -; =============== S U B R O U T I N E ======================================= - Gumball_VScroll: lea (HScroll_table).w,a1 @@ -76174,10 +75943,11 @@ Gumball_VScroll: move.w d1,4(a1) move.w d1,$E(a1) rts -; End of function Gumball_VScroll +; End of function Gumball_SetUpVScroll ; --------------------------------------------------------------------------- -Gumball_VScrollArray:dc.w $C0, $80, $7FFF +Gumball_VScrollArray: + dc.w $C0, $80, $7FFF ; --------------------------------------------------------------------------- Gumball_BackgroundInit: @@ -76275,8 +76045,8 @@ loc_3F0F4: move.w (VDP_reg_1_command).w,d0 ori.b #$40,d0 move.w d0,(VDP_control_port).l - moveq #mus_Continue,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Continue),d0 + jsr (Play_Music).l jsr (Pal_FadeFromBlack).l loc_3F168: @@ -76552,7 +76322,7 @@ loc_3F47E: move.b 5(a0),d0 move.w off_3F49E(pc,d0.w),d1 jsr off_3F49E(pc,d1.w) - lea (DPLCPtr_4575E).l,a2 + lea (DPLCPtr_CutsceneKnux).l,a2 jsr (Perform_DPLC).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -76740,7 +76510,8 @@ loc_3F664: ; End of function sub_3F650 ; --------------------------------------------------------------------------- -ChildObjDat_3F66E:dc.w 0 +ChildObjDat_3F66E: + dc.w 0 dc.l Obj_3F58E off_3F674: dc.l byte_3F834 dc.l byte_3F834 @@ -76777,8 +76548,8 @@ ArtNem_ContinueDigits: ; --------------------------------------------------------------------------- S3Credits: - moveq #mus_Stop,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Stop),d0 + jsr (Play_Music).l jsr (Clear_Nem_Queue).l jsr (Pal_FadeToBlack).l lea (VDP_control_port).l,a6 @@ -76876,8 +76647,8 @@ loc_403FE: loc_404AC: move.l (a1)+,(a2)+ dbf d6,loc_404AC - moveq #mus_Credits3,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Credits3),d0 + jsr (Play_Music).l move.w #$B4,(_unkFA82).w move.b #$18,(V_int_routine).w jsr (Wait_VSync).l @@ -76995,7 +76766,7 @@ loc_405FA: jsr (Pal_FadeToBlack).l move.w #4,(_unkFA86).w lea Pal_EndingEyecatchKnuckles(pc),a1 - cmpi.w #7,(Emerald_count).w + cmpi.w #7,(Chaos_emerald_count).w bne.s loc_40616 lea Pal_EndingS3Logo(pc),a1 @@ -77016,7 +76787,7 @@ loc_4062E: bset #0,(_unkFA88).w clr.l (V_scroll_value).w lea Child6_EndingS3Logo(pc),a1 - cmpi.w #7,(Emerald_count).w + cmpi.w #7,(Chaos_emerald_count).w beq.s loc_40656 lea S3CreditsText_TryAgain(pc),a1 bsr.w sub_40A4A @@ -77036,11 +76807,13 @@ loc_4065C: jsr (Wait_VSync).l jmp (Pal_FadeFromBlack).l ; --------------------------------------------------------------------------- -Child6_EndingS3Logo:dc.w 2 +Child6_EndingS3Logo: + dc.w 2 dc.l loc_4069E dc.l loc_4078C dc.l loc_407FC -Child6_EndingTryAgain:dc.w 1 +Child6_EndingTryAgain: + dc.w 1 dc.l loc_40896 dc.l loc_409A2 ; --------------------------------------------------------------------------- @@ -77452,11 +77225,13 @@ locret_40B1A: ; End of function sub_40A5C ; --------------------------------------------------------------------------- -S3CreditsText_TryAgain:dc.w 0 +S3CreditsText_TryAgain: + dc.w 0 dc.w $996 dc.b "TRY AGAIN",0 even -S3CreditsText_Main:dc.w word_40B7C-S3CreditsText_Main +S3CreditsText_Main: + dc.w word_40B7C-S3CreditsText_Main dc.w word_40B94-S3CreditsText_Main dc.w word_40BC2-S3CreditsText_Main dc.w word_40BEC-S3CreditsText_Main @@ -77826,7 +77601,8 @@ word_4134C: dc.w 1 dc.w $78A dc.b " SEGA ",0 even -S3CreditsText_Dummy:dc.w word_4138C-S3CreditsText_Dummy +S3CreditsText_Dummy: + dc.w word_4138C-S3CreditsText_Dummy dc.w word_41396-S3CreditsText_Dummy dc.w word_413A0-S3CreditsText_Dummy dc.w word_413AA-S3CreditsText_Dummy @@ -77902,7 +77678,8 @@ S3Credits_PlaneMapSmall: dc.w $23, $18 dc.w $24, $F dc.w $25, $26 -S3Credits_PlaneMapLarge:dc.w word_4146C-S3Credits_PlaneMapLarge +S3Credits_PlaneMapLarge: + dc.w word_4146C-S3Credits_PlaneMapLarge dc.w word_4147A-S3Credits_PlaneMapLarge dc.w word_41488-S3Credits_PlaneMapLarge dc.w word_41496-S3Credits_PlaneMapLarge @@ -78005,7 +77782,8 @@ Pal_EndingS3LogoFlash: even Map_EndingGraphics: include "General/Ending/Map - S3 Ending Graphics.asm" -ChildObjDat_4192A:dc.w 0 +ChildObjDat_4192A: + dc.w 0 dc.l loc_40854 dc.w $1008 AniRaw_41932: dc.b $F, 1, 2, $FC @@ -78019,36 +77797,40 @@ ArtNem_EndingGraphics: binclude "General/Ending/Nemesis Art/S3 Ending Graphics.bin" even ; --------------------------------------------------------------------------- - movea.l ObjB0(pc,d6.w),a6 + +Trap15_FuncDebug: + movea.l Func_Listing(pc,d6.w),a6 jsr (a6) nop nop move sr,d5 move.w (sp),d6 andi.w #$1F,d5 - andi.w #-$20,d6 + andi.w #$FFE0,d6 or.w d5,d6 move.w d6,(sp) nop nop rte ; --------------------------------------------------------------------------- +Func_Listing: +; --------------------------------------------------------------------------- -ObjB0: +Obj_SonicOnSegaScr: moveq #0,d0 move.b 5(a0),d0 - move.w ObjB0_Index(pc,d0.w),d1 - jmp ObjB0_Index(pc,d1.w) + move.w off_4316C(pc,d0.w),d1 + jmp off_4316C(pc,d1.w) ; --------------------------------------------------------------------------- -ObjB0_Index: dc.w ObjB0_Init-ObjB0_Index - dc.w ObjB0_RunLeft-ObjB0_Index - dc.w ObjB0_MidWipe-ObjB0_Index - dc.w ObjB0_RunRight-ObjB0_Index - dc.w ObjB0_EndWipe-ObjB0_Index - dc.w locret_43340-ObjB0_Index +off_4316C: dc.w SonicOnSegaScr_Init-off_4316C + dc.w SonicOnSegaScr_RunLeft-off_4316C + dc.w SonicOnSegaScr_MidWipe-off_4316C + dc.w SonicOnSegaScr_RunRight-off_4316C + dc.w SonicOnSegaScr_EndWipe-off_4316C + dc.w locret_43340-off_4316C ; --------------------------------------------------------------------------- -ObjB0_Init: +SonicOnSegaScr_Init: lea ObjDat3_434E0(pc),a1 jsr (SetUp_ObjAttributes).l move.b #0,4(a0) @@ -78119,11 +77901,11 @@ SonicRunningSpriteScaleData: dc.b 3 ; --------------------------------------------------------------------------- -ObjB0_RunLeft: +SonicOnSegaScr_RunLeft: subi.w #$20,$10(a0) subq.w #1,$2E(a0) bmi.s loc_43254 - bsr.w ObjB0_Move_Streaks_Left + bsr.w SonicOnSegaScr_Move_Streaks_Left lea (Ani_SonicOnSegaScr).l,a1 jsr (Animate_Sprite).l jmp (Draw_Sprite).l @@ -78137,11 +77919,11 @@ loc_43254: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -ObjB0_MidWipe: +SonicOnSegaScr_MidWipe: tst.w $2E(a0) beq.s loc_4327E subq.w #1,$2E(a0) - bsr.w ObjB0_Move_Streaks_Left + bsr.w SonicOnSegaScr_Move_Streaks_Left loc_4327E: lea byte_433F4(pc),a1 @@ -78180,11 +77962,11 @@ locret_432D8: rts ; --------------------------------------------------------------------------- -ObjB0_RunRight: +SonicOnSegaScr_RunRight: subq.w #1,$2E(a0) bmi.s loc_432FC addi.w #$20,$10(a0) - bsr.w ObjB0_Move_Streaks_Right + bsr.w SonicOnSegaScr_Move_Streaks_Right lea (Ani_SonicOnSegaScr).l,a1 jsr (Animate_Sprite).l jmp (Draw_Sprite).l @@ -78198,11 +77980,11 @@ loc_432FC: rts ; --------------------------------------------------------------------------- -ObjB0_EndWipe: +SonicOnSegaScr_EndWipe: tst.w $2E(a0) beq.s loc_43322 subq.w #1,$2E(a0) - bsr.w ObjB0_Move_Streaks_Right + bsr.w SonicOnSegaScr_Move_Streaks_Right loc_43322: lea byte_4346A(pc),a1 @@ -78214,8 +77996,8 @@ loc_43322: loc_4332E: addq.b #2,5(a0) st (_unkF660).w - move.b #mus_FA,d0 - jsr (Play_Sound_2).l + move.b #mus_S2SEGA,d0 + jsr (Play_SFX).l locret_43340: rts @@ -78247,7 +78029,7 @@ ObjB1_Main: ; =============== S U B R O U T I N E ======================================= -ObjB0_Move_Streaks_Left: +SonicOnSegaScr_Move_Streaks_Left: lea (H_scroll_buffer+$138).w,a1 move.w #$22,d6 @@ -78256,13 +78038,13 @@ loc_43386: addq.w #8,a1 dbf d6,loc_43386 rts -; End of function ObjB0_Move_Streaks_Left +; End of function SonicOnSegaScr_Move_Streaks_Left ; =============== S U B R O U T I N E ======================================= -ObjB0_Move_Streaks_Right: +SonicOnSegaScr_Move_Streaks_Right: lea (H_scroll_buffer+$13C).w,a1 move.w #$22,d6 @@ -78271,7 +78053,7 @@ loc_4339A: addq.w #8,a1 dbf d6,loc_4339A rts -; End of function ObjB0_Move_Streaks_Right +; End of function SonicOnSegaScr_Move_Streaks_Right ; =============== S U B R O U T I N E ======================================= @@ -78712,7 +78494,7 @@ loc_4380A: ; --------------------------------------------------------------------------- -Obj_86: +Obj_GumballMachine: lea ObjDat3_43F7C(pc),a1 jsr (SetUp_ObjAttributes).l move.l #loc_43892,(a0) @@ -78765,8 +78547,8 @@ loc_438D2: bset #0,4(a0) loc_438E2: - moveq #sfx_GumballTab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GumballTab),d0 + jsr (Play_SFX).l loc_438EA: jmp (Draw_Sprite).l @@ -78949,7 +78731,7 @@ loc_43B02: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Obj_87: +Obj_GumballTriangleBumper: lea ObjDat3_43F70(pc),a1 jsr (SetUp_ObjAttributes).l move.l #loc_43B18,(a0) @@ -79014,8 +78796,8 @@ loc_43B8E: move.w #$F,($FF2020).l movea.w (_unkFAA4).w,a1 bset #0,$38(a1) - moveq #sfx_Spring,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jsr (Play_SFX).l rts ; End of function sub_43B6E @@ -79125,8 +78907,8 @@ word_43CE4: dc.w $FFE8, $30, $FFE8, $30 loc_43CEC: addq.b #1,(Life_count).w addq.b #1,(Update_HUD_life_count).w - moveq #mus_ExtraLife,d0 - jmp (Play_Sound).l + moveq #signextendB(mus_ExtraLife),d0 + jmp (Play_Music).l ; --------------------------------------------------------------------------- loc_43CFC: @@ -79190,46 +78972,46 @@ sub_43D42: bclr #5,$2A(a1) clr.b $40(a1) move.b #1,$20(a0) - moveq #sfx_SmallBumpers,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_SmallBumpers),d0 + jmp (Play_SFX).l ; End of function sub_43D42 ; --------------------------------------------------------------------------- loc_43DA2: lea (Player_1).w,a1 - move.l #Obj_Fire_Shield,(Shield).w + move.l #Obj_FireShield,(Shield).w move.w a1,(Shield+parent).w andi.b #-$72,$2B(a1) bset #0,$2B(a1) moveq #4,d0 bsr.w sub_43E20 - moveq #sfx_FireShield,d0 - jmp (Play_Sound).l + moveq #signextendB(sfx_FireShield),d0 + jmp (Play_Music).l ; --------------------------------------------------------------------------- loc_43DCC: lea (Player_1).w,a1 - move.l #Obj_Bubble_Shield,(Shield).w + move.l #Obj_BubbleShield,(Shield).w move.w a1,(Shield+parent).w andi.b #-$72,$2B(a1) bset #0,$2B(a1) moveq #6,d0 bsr.w sub_43E20 - moveq #sfx_BubbleShield,d0 - jmp (Play_Sound).l + moveq #signextendB(sfx_BubbleShield),d0 + jmp (Play_Music).l ; --------------------------------------------------------------------------- loc_43DF6: lea (Player_1).w,a1 - move.l #Obj_Lightning_Shield,(Shield).w + move.l #Obj_LightningShield,(Shield).w move.w a1,(Shield+parent).w andi.b #-$72,$2B(a1) bset #0,$2B(a1) moveq #5,d0 bsr.w sub_43E20 - moveq #sfx_ElectricShield,d0 - jmp (Play_Sound).l + moveq #signextendB(sfx_LightningShield),d0 + jmp (Play_Music).l ; =============== S U B R O U T I N E ======================================= @@ -79463,7 +79245,8 @@ ObjDat3_43FB8: dc.l Map_GumballBonus dc.b $10 dc.b $17 dc.b 0 -ChildObjDat_43FC4:dc.w 6 +ChildObjDat_43FC4: + dc.w 6 dc.l loc_43932 dc.b 0 dc.b 0 @@ -79498,11 +79281,14 @@ word_43FF0: dc.w 3 dc.l loc_43986 dc.b $30 dc.b $E8 -ChildObjDat_4400A:dc.w $F +ChildObjDat_4400A: + dc.w $F dc.l loc_43BF8 -ChildObjDat_44010:dc.w 0 +ChildObjDat_44010: + dc.w 0 dc.l loc_43A94 -ChildObjDat_44016:dc.w 0 +ChildObjDat_44016: + dc.w 0 dc.l loc_43C84 byte_4401C: dc.b 3 dc.b 5 @@ -79564,7 +79350,8 @@ loc_44248: jsr SSEntryRing_Index(pc,d1.w) bra.w SSEntryRing_Display ; --------------------------------------------------------------------------- -SSEntryRing_Index:dc.w SSEntryRing_Init-SSEntryRing_Index +SSEntryRing_Index: + dc.w SSEntryRing_Init-SSEntryRing_Index dc.w SSEntryRing_Main-SSEntryRing_Index dc.w SSEntryRing_Animate-SSEntryRing_Index ; --------------------------------------------------------------------------- @@ -79593,7 +79380,7 @@ loc_4429C: lea (Player_1).w,a1 cmpi.b #6,5(a1) bcc.s locret_4429A - cmpi.w #7,(Emerald_count).w + cmpi.w #7,(Chaos_emerald_count).w beq.s loc_442FE move.b #4,5(a0) move.b #-1,(Player_prev_frame).w @@ -79607,8 +79394,8 @@ loc_4429C: cmp.w $10(a0),d0 bcs.s locret_4429A bset #0,4(a1) - moveq #sfx_BigRing,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BigRing),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- SSEntry_Range: dc.w $FFE8 @@ -79618,8 +79405,8 @@ SSEntry_Range: dc.w $FFE8 ; --------------------------------------------------------------------------- loc_442FE: - moveq #sfx_BigRing,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BigRing),d0 + jsr (Play_SFX).l move.b $2C(a0),d0 move.l (Collected_special_ring_array).w,d1 bset d0,d1 @@ -79642,7 +79429,8 @@ Obj_SSEntryFlash: jsr (Perform_DPLC).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -SSEntryFlash_Index:dc.w SSEntryFlash_Init-SSEntryFlash_Index +SSEntryFlash_Index: + dc.w SSEntryFlash_Init-SSEntryFlash_Index dc.w SSEntryFlash_Main-SSEntryFlash_Index ; --------------------------------------------------------------------------- @@ -79677,10 +79465,10 @@ SSEntryFlash_Finished: ; --------------------------------------------------------------------------- SSEntryFlash_GoSS: - cmpi.w #7,(Emerald_count).w + cmpi.w #7,(Chaos_emerald_count).w beq.s loc_443E4 - moveq #sfx_EnterSS,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_EnterSS),d0 + jsr (Play_SFX).l jsr (Clear_SpriteRingMem).l jsr (Save_Level_Data2).l move.b #1,(Special_bonus_entry_flag).w @@ -79727,8 +79515,9 @@ loc_4443C: jsr (Queue_Kos_Module).l jmp (Go_Delete_SpriteSlotted).l ; --------------------------------------------------------------------------- -ObjSlot_SSEntryRing:dc.w 0 - dc.w make_art_tile($5A0,1,0) +ObjSlot_SSEntryRing: + dc.w 0 + dc.w make_art_tile(ArtTile_Explosion,1,0) dc.w $40 dc.w 4 dc.l Map_SSEntryRing @@ -79738,7 +79527,8 @@ ObjSlot_SSEntryRing:dc.w 0 dc.b $20 dc.b 0 dc.b 0 -ObjSlot_SSEntryFlash:dc.w 0 +ObjSlot_SSEntryFlash: + dc.w 0 dc.w make_art_tile(ArtTile_Player_1,1,0) dc.w $18 dc.w 6 @@ -79749,42 +79539,20 @@ ObjSlot_SSEntryFlash:dc.w 0 dc.b $20 dc.b 0 dc.b 0 -ChildObjDat_44476:dc.w 0 +ChildObjDat_44476: + dc.w 0 dc.l Obj_SSEntryFlash -DPLCPtr_SSEntryRing:dc.l ArtUnc_SSEntryRing +DPLCPtr_SSEntryRing: + dc.l ArtUnc_SSEntryRing dc.l DPLC_SSEntryRing -DPLCPtr_SSEntryFlash:dc.l ArtUnc_SSEntryFlash +DPLCPtr_SSEntryFlash: + dc.l ArtUnc_SSEntryFlash dc.l DPLC_SSEntryFlash -AniRaw_SSEntryRing:dc.b 4 - dc.b 0 - dc.b 0 - dc.b 1 - dc.b 2 - dc.b 3 - dc.b 4 - dc.b 5 - dc.b 6 - dc.b 7 - dc.b $F8 - dc.b $C - dc.b 6 - dc.b $A - dc.b 9 - dc.b 8 - dc.b $B - dc.b $FC -AniRaw_SSEntryFlash:dc.b 0 - dc.b 0 - dc.b 0 - dc.b 1 - dc.b 2 - dc.b $43 - dc.b 3 - dc.b 2 - dc.b 1 - dc.b 0 - dc.b $F4 - dc.b 0 +AniRaw_SSEntryRing: + dc.b 4, 0, 0, 1, 2, 3, 4, 5, 6, 7, $F8, $C, 6, $A, 9, 8, $B, $FC +AniRaw_SSEntryFlash: + dc.b 0, 0, 0, 1, 2, $43, 3, 2, 1, 0, $F4 + even Map_SSEntryRing: include "General/Sprites/SS Entry/Map - Entry Ring.asm" DPLC_SSEntryRing: @@ -79817,7 +79585,7 @@ CutsceneKnux_AIZ1: move.b 5(a0),d0 move.w off_4473E(pc,d0.w),d1 jsr off_4473E(pc,d1.w) - lea DPLCPtr_4575E(pc),a2 + lea DPLCPtr_CutsceneKnux(pc),a2 jsr (Perform_DPLC).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -79855,7 +79623,7 @@ loc_44790: bset #7,$2A(a0) move.w #-$600,$1A(a0) move.w #$80,$18(a0) - lea Pal_CutsceneKnux1(pc),a1 + lea Pal_CutsceneKnux(pc),a1 jmp (PalLoad_Line1).l ; --------------------------------------------------------------------------- @@ -79982,7 +79750,7 @@ CutsceneKnux_AIZ2: move.b 5(a0),d0 move.w off_44944(pc,d0.w),d1 jsr off_44944(pc,d1.w) - lea DPLCPtr_4575E(pc),a2 + lea DPLCPtr_CutsceneKnux(pc),a2 jsr (Perform_DPLC).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -80003,7 +79771,7 @@ loc_44950: bsr.w sub_456C6 move.w #$77,$2E(a0) move.l #loc_449A8,$34(a0) - lea Pal_CutsceneKnux1(pc),a1 + lea Pal_CutsceneKnux(pc),a1 jsr (PalLoad_Line1).l lea ChildObjDat_4572A(pc),a2 jsr (CreateChild6_Simple).l @@ -80101,7 +79869,7 @@ loc_44A72: loc_44A78: movea.w $46(a0),a1 btst #7,$2A(a1) - bne.s loc_44A9E + bne.s CutsceneKnux_Delete move.b #8,7(a0) moveq #$13,d1 move.w #$20,d2 @@ -80110,7 +79878,7 @@ loc_44A78: jmp (SolidObjectFull2).l ; --------------------------------------------------------------------------- -loc_44A9E: +CutsceneKnux_Delete: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- @@ -80121,7 +79889,7 @@ CutsceneKnux_HCZ2: move.b 5(a0),d0 move.w off_44ACC(pc,d0.w),d1 jsr off_44ACC(pc,d1.w) - lea DPLCPtr_4575E(pc),a2 + lea DPLCPtr_CutsceneKnux(pc),a2 jsr (Perform_DPLC).l jmp (Sprite_CheckDeleteTouchSlotted).l ; --------------------------------------------------------------------------- @@ -80141,8 +79909,8 @@ word_44ADA: dc.w $540 loc_44AE2: lea ObjDat4_456DC(pc),a1 jsr (SetUp_ObjAttributesSlotted).l - move.w (Camera_min_Y_pos).w,(Target_camera_min_Y_pos).w - move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w + move.w (Camera_min_Y_pos).w,(Camera_stored_min_Y_pos).w + move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w move.w #$3940,(Camera_max_X_pos).w rts ; --------------------------------------------------------------------------- @@ -80176,7 +79944,7 @@ loc_44B42: move.w #$1F,$2E(a0) move.l #loc_44B82,$34(a0) move.w #$5C0,(Camera_min_Y_pos).w - lea Pal_CutsceneKnux1(pc),a1 + lea Pal_CutsceneKnux(pc),a1 jmp (PalLoad_Line1).l ; --------------------------------------------------------------------------- @@ -80217,13 +79985,12 @@ loc_44BE0: jsr (Remove_From_TrackingSlot).l jmp (Go_Delete_Sprite).l ; --------------------------------------------------------------------------- -ChildObjDat_44BEC:dc.w 1 +ChildObjDat_44BEC: + dc.w 1 dc.l Obj_DecLevStartYGradual - dc.b 0 - dc.b 0 + dc.w 0 dc.l Obj_IncLevEndXGradual - dc.b 0 - dc.b 0 + dc.w 0 ; --------------------------------------------------------------------------- CutsceneKnux_CNZ2A: @@ -80233,7 +80000,7 @@ CutsceneKnux_CNZ2A: move.b 5(a0),d0 move.w off_44C22(pc,d0.w),d1 jsr off_44C22(pc,d1.w) - lea DPLCPtr_4575E(pc),a2 + lea DPLCPtr_CutsceneKnux(pc),a2 jsr (Perform_DPLC).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -80253,19 +80020,19 @@ loc_44C36: lea ObjDat4_456DC(pc),a1 jsr (SetUp_ObjAttributesSlotted).l move.l #word_4578B,$30(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.w #$78,$2E(a0) move.b #mus_Knuckles,$26(a0) - move.w (Camera_min_Y_pos).w,(Target_camera_min_Y_pos).w - move.w (Camera_target_max_Y_pos).w,(Target_camera_max_Y_pos).w - move.w (Camera_min_X_pos).w,(Target_camera_min_X_pos).w - move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w + move.w (Camera_min_Y_pos).w,(Camera_stored_min_Y_pos).w + move.w (Camera_target_max_Y_pos).w,(Camera_stored_max_Y_pos).w + move.w (Camera_min_X_pos).w,(Camera_stored_min_X_pos).w + move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w move.w #$280,(Camera_target_max_Y_pos).w move.w #$1D00,$1C(a0) move.w #$1D00,(Camera_max_X_pos).w move.l #loc_44CAE,$34(a0) - lea Pal_CutsceneKnux1(pc),a1 + lea Pal_CutsceneKnux(pc),a1 jsr (PalLoad_Line1).l lea ChildObjDat_45730(pc),a2 jmp (CreateChild1_Normal).l @@ -80348,7 +80115,7 @@ loc_44D6E: jsr (Load_PLC_Raw).l lea ChildObjDat_44DC4(pc),a2 jsr (CreateChild1_Normal).l - move.w (Target_camera_max_Y_pos).w,(Camera_target_max_Y_pos).w + move.w (Camera_stored_max_Y_pos).w,(Camera_target_max_Y_pos).w jsr (Create_New_Sprite).l bne.s loc_44DB8 move.l #Obj_Song_Fade_ToLevelMusic,(a1) @@ -80357,7 +80124,8 @@ loc_44DB8: jsr (Remove_From_TrackingSlot).l jmp (Go_Delete_Sprite).l ; --------------------------------------------------------------------------- -ChildObjDat_44DC4:dc.w 2 +ChildObjDat_44DC4: + dc.w 2 dc.l Obj_DecLevStartYGradual dc.w 0 dc.l Obj_DecLevStartXGradual @@ -80443,7 +80211,7 @@ CutsceneKnux_CNZ2B: move.b 5(a0),d0 move.w off_44E8A(pc,d0.w),d1 jsr off_44E8A(pc,d1.w) - lea DPLCPtr_4575E(pc),a2 + lea DPLCPtr_CutsceneKnux(pc),a2 jsr (Perform_DPLC).l jmp (Sprite_CheckDeleteTouchSlotted).l ; --------------------------------------------------------------------------- @@ -80468,7 +80236,7 @@ loc_44EA2: st (Ctrl_1_locked).w move.b #-$80,(Player_1+object_control).w bsr.w sub_456C6 - lea Pal_CutsceneKnux1(pc),a1 + lea Pal_CutsceneKnux(pc),a1 jmp (PalLoad_Line1).l ; --------------------------------------------------------------------------- @@ -80564,7 +80332,7 @@ CutsceneKnux_LBZ1: move.b 5(a0),d0 move.w off_44FD8(pc,d0.w),d1 jsr off_44FD8(pc,d1.w) - lea DPLCPtr_4575E(pc),a2 + lea DPLCPtr_CutsceneKnux(pc),a2 jsr (Perform_DPLC).l jmp (Sprite_CheckDeleteTouchSlotted).l ; --------------------------------------------------------------------------- @@ -80586,7 +80354,7 @@ loc_44FE8: jsr (SetUp_ObjAttributesSlotted).l move.b #$16,$22(a0) move.w #$A0,(Camera_min_Y_pos).w - lea Pal_CutsceneKnux1(pc),a1 + lea Pal_CutsceneKnux(pc),a1 jsr (PalLoad_Line1).l lea ChildObjDat_45738(pc),a2 jmp (CreateChild1_Normal).l @@ -80625,8 +80393,8 @@ loc_45064: move.b #8,5(a0) move.w #$F,$2E(a0) move.l #loc_45096,$34(a0) - moveq #sfx_MissileThrow,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileThrow),d0 + jsr (Play_SFX).l lea ChildObjDat_45740(pc),a2 jsr (CreateChild1_Normal).l lea (PLC_BossExplosion).l,a1 @@ -80668,7 +80436,7 @@ loc_450FA: clr.b (_unkFAA9).w clr.b (Player_1+object_control).w clr.b (Player_2+object_control).w - move.w #$3B60,(Target_camera_max_X_pos).w + move.w #$3B60,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jsr (CreateChild6_Simple).l move.w #$148,(Camera_target_max_Y_pos).w @@ -80713,7 +80481,7 @@ sub_45174: movea.w d0,a1 cmpi.b #6,5(a1) bcc.s locret_4516C - move.b #-$7F,$2E(a1) + move.b #$81,$2E(a1) bclr #0,4(a1) bclr #0,$2A(a1) rts @@ -80729,8 +80497,8 @@ loc_4519E: move.l #loc_451C2,(a0) move.w #-$200,$18(a0) move.w #-$400,$1A(a0) - moveq #sfx_MissileThrow,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileThrow),d0 + jsr (Play_SFX).l loc_451C2: jsr (MoveSprite_LightGravity).l @@ -80765,7 +80533,7 @@ CutsceneKnux_LBZ2: move.b 5(a0),d0 move.w off_45234(pc,d0.w),d1 jsr off_45234(pc,d1.w) - lea DPLCPtr_4575E(pc),a2 + lea DPLCPtr_CutsceneKnux(pc),a2 jsr (Perform_DPLC).l jmp (Sprite_CheckDeleteTouchSlotted).l ; --------------------------------------------------------------------------- @@ -80784,7 +80552,7 @@ loc_45242: bset #0,4(a0) move.b #$20,$22(a0) bsr.w sub_456C6 - lea Pal_CutsceneKnux1(pc),a1 + lea Pal_CutsceneKnux(pc),a1 jsr (PalLoad_Line1).l lea ChildObjDat_4574E(pc),a2 jmp (CreateChild3_NormalRepeated).l @@ -80851,8 +80619,8 @@ loc_4530A: move.w $14(a0),d0 cmp.w (Water_level).w,d0 bcs.s loc_45322 - moveq #sfx_Splash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Splash),d0 + jsr (Play_SFX).l move.b #$C,5(a0) loc_45322: @@ -80944,7 +80712,7 @@ loc_45410: jmp (Sprite_CheckDeleteXY).l ; --------------------------------------------------------------------------- -Obj_C8_1: +Obj_LBZKnuxPillar: lea ObjDat3_45712(pc),a1 jsr (SetUp_ObjAttributes).l bclr #1,4(a0) @@ -80968,7 +80736,7 @@ Map_LBZKnuxPillar: include "Levels/LBZ/Misc Object Data/Map - Knuckles Pillar.asm" ; --------------------------------------------------------------------------- -Obj_83: +Obj_CutsceneButton: lea ObjDat3_456EE(pc),a1 jsr (SetUp_ObjAttributes).l move.l #loc_454C2,(a0) @@ -81028,7 +80796,7 @@ loc_4552E: loc_45534: clr.b (Ctrl_1_locked).w move.w #$1000,d0 - move.w d0,(Target_camera_max_Y_pos).w + move.w d0,(Camera_stored_max_Y_pos).w move.w d0,(Camera_target_max_Y_pos).w lea (Child6_IncLevY).l,a2 jmp (CreateChild6_Simple).l @@ -81046,8 +80814,8 @@ loc_45556: move.w d0,(Mean_water_level).w move.w #$350,(Target_water_level).w st (_unkFAA3).w - moveq #sfx_Geyser,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Geyser),d0 + jsr (Play_SFX).l jsr (Create_New_Sprite).l bne.s locret_45588 move.l #loc_44E04,(a1) @@ -81070,7 +80838,7 @@ loc_4558A: move.b #-$78,(a1) jsr (Create_New_Sprite).l bne.s loc_455D2 - move.l #Obj_48_1,(a1) + move.l #Obj_CNZVacuumTube,(a1) move.w #$4740,$10(a1) move.w #$828,$14(a1) move.b #$4C,$2C(a1) @@ -81078,7 +80846,7 @@ loc_4558A: loc_455D2: jsr (Create_New_Sprite).l bne.s locret_455F2 - move.l #Obj_48_1,(a1) + move.l #Obj_CNZVacuumTube,(a1) move.w #$4740,$10(a1) move.w #$A28,$14(a1) move.b #$20,$2C(a1) @@ -81087,7 +80855,7 @@ locret_455F2: rts ; --------------------------------------------------------------------------- -Obj_88: +Obj_CNZWaterLevelCorkFloor: jsr (Obj_WaitOffscreen).l move.l #loc_45624,(a0) jsr (Create_New_Sprite3).l @@ -81115,7 +80883,7 @@ loc_45646: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Obj_89: +Obj_CNZWaterLevelButton: lea ObjDat3_456EE(pc),a1 jsr (SetUp_ObjAttributes).l move.l #loc_4566A,(a0) @@ -81139,8 +80907,8 @@ loc_4566A: beq.s loc_456C0 clr.b (_unkFAA3).w move.w #$A58,(Target_water_level).w - moveq #sfx_Geyser,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Geyser),d0 + jsr (Play_SFX).l jsr (Create_New_Sprite).l bne.s loc_456C0 move.l #loc_44E04,(a1) @@ -81188,14 +80956,14 @@ ObjDat3_456FA: dc.l Map_LBZKnuxBomb dc.b 0 dc.b 0 ObjDat3_45706: dc.l Map_LBZKnuxPillar - dc.w $45A0 + dc.w make_art_tile(ArtTile_Explosion,2,0) dc.w $280 dc.b $10 dc.b $10 dc.b 0 dc.b 0 ObjDat3_45712: dc.l Map_LBZKnuxPillar - dc.w $45A0 + dc.w make_art_tile(ArtTile_Explosion,2,0) dc.w $280 dc.b $10 dc.b $80 @@ -81208,27 +80976,35 @@ ObjDat3_4571E: dc.l Map_AIZCorkFloor dc.b $18 dc.b 0 dc.b 0 -ChildObjDat_4572A:dc.w 0 +ChildObjDat_4572A: + dc.w 0 dc.l loc_44A78 -ChildObjDat_45730:dc.w 0 +ChildObjDat_45730: + dc.w 0 dc.l loc_44DD8 dc.w $E094 -ChildObjDat_45738:dc.w 0 +ChildObjDat_45738: + dc.w 0 dc.l loc_45136 dc.w $C000 -ChildObjDat_45740:dc.w 0 +ChildObjDat_45740: + dc.w 0 dc.l loc_4519E dc.w $F8F0 -ChildObjDat_45748:dc.w 3 +ChildObjDat_45748: + dc.w 3 dc.l loc_451CE -ChildObjDat_4574E:dc.w 3 +ChildObjDat_4574E: + dc.w 3 dc.l loc_45330 dc.b 2 dc.b $24 -ChildObjDat_45756:dc.w 0 +ChildObjDat_45756: + dc.w 0 dc.l loc_448EE dc.w $18 -DPLCPtr_4575E: dc.l ArtUnc_CutsceneKnux +DPLCPtr_CutsceneKnux: + dc.l ArtUnc_CutsceneKnux dc.l DPLC_CutsceneKnux byte_45766: dc.b 7 dc.b 1 @@ -81274,7 +81050,7 @@ byte_4579E: dc.b $20, 5 dc.b $21, 5 dc.b $20, 5 dc.b $F4, 0 -Pal_CutsceneKnux1: +Pal_CutsceneKnux: binclude "General/Sprites/Knuckles/Cutscene/Pal.bin" even Pal_CNZFlash: binclude "Levels/CNZ/Palettes/Flash.bin" @@ -81319,7 +81095,7 @@ loc_45888: move.w #$40,$2E(a0) move.l #loc_458F6,$34(a0) move.w #8,$40(a0) - move.w #-$16E8,(Events_fg_1).w + move.w #$E918,(Events_fg_1).w move.b #-1,(Player_prev_frame).w lea (Player_1).w,a1 move.b #0,$22(a1) @@ -81542,10 +81318,10 @@ loc_45B56: move.b #$20,7(a0) jsr Swing_Setup1(pc) lea (ArtKosM_AIZIntroPlane).l,a1 - move.w #-$5AE0,d2 + move.w #$A520,d2 jsr (Queue_Kos_Module).l lea (ArtKosM_AIZIntroEmeralds).l,a1 - move.w #-$49E0,d2 + move.w #$B620,d2 jsr (Queue_Kos_Module).l lea ChildObjDat_45E3E(pc),a2 jmp (CreateChild1_Normal).l @@ -81777,20 +81553,25 @@ ObjDat3_45E2A: dc.l Map_AIZIntroEmeralds dc.b 4 dc.b 1 dc.b 0 -ChildObjDat_45E36:dc.w 0 +ChildObjDat_45E36: + dc.w 0 dc.l loc_45B56 dc.w $DE2C -ChildObjDat_45E3E:dc.w 1 +ChildObjDat_45E3E: + dc.w 1 dc.l loc_45C00 dc.w $3804 dc.l loc_45C3E dc.w $1818 -ChildObjDat_45E4C:dc.w 0 +ChildObjDat_45E4C: + dc.w 0 dc.l loc_45C7C dc.w $18 -ChildObjDat_45E54:dc.w 0 +ChildObjDat_45E54: + dc.w 0 dc.l Obj_CutsceneKnuckles -ChildObjDat_45E5A:dc.w 6 +ChildObjDat_45E5A: + dc.w 6 dc.l loc_45CDC byte_45E60: dc.b 3, 8 dc.b $97, $96 @@ -81838,7 +81619,8 @@ Obj_RobotnikHead: jsr RobotnikHead_Index(pc,d1.w) jmp (Child_Draw_Sprite2).l ; --------------------------------------------------------------------------- -RobotnikHead_Index:dc.w Obj_RobotnikHeadInit-RobotnikHead_Index +RobotnikHead_Index: + dc.w Obj_RobotnikHeadInit-RobotnikHead_Index dc.w Obj_RobotnikHeadMain-RobotnikHead_Index dc.w Obj_RobotnikHeadEnd-RobotnikHead_Index ; --------------------------------------------------------------------------- @@ -81889,7 +81671,8 @@ Obj_RobotnikHead2: bne.w locret_45EE0 jmp (Child_Draw_Sprite2).l ; --------------------------------------------------------------------------- -RobotnikHead2_Index:dc.w Obj_RobotnikHeadInit-RobotnikHead2_Index +RobotnikHead2_Index: + dc.w Obj_RobotnikHeadInit-RobotnikHead2_Index dc.w Obj_RobotnikHeadMain-RobotnikHead2_Index dc.w Obj_RobotnikHeadEnd-RobotnikHead2_Index ; --------------------------------------------------------------------------- @@ -81903,7 +81686,8 @@ Obj_FBZRobotnikHead: jsr (Child_GetPriority).l jmp (Child_Draw_Sprite2).l ; --------------------------------------------------------------------------- -FBZRobotnikHead_Index:dc.w Obj_FBZRobotnikHeadInit-FBZRobotnikHead_Index +FBZRobotnikHead_Index: + dc.w Obj_FBZRobotnikHeadInit-FBZRobotnikHead_Index dc.w Obj_FBZRobotnikHeadMain-FBZRobotnikHead_Index dc.w Obj_RobotnikHeadEnd-FBZRobotnikHead_Index ; --------------------------------------------------------------------------- @@ -81955,7 +81739,8 @@ Obj_RobotnikHead3: jsr RobotnikHead3_Index(pc,d1.w) jmp (Child_Draw_Sprite2).l ; --------------------------------------------------------------------------- -RobotnikHead3_Index:dc.w Obj_RobotnikHead3Init-RobotnikHead3_Index +RobotnikHead3_Index: + dc.w Obj_RobotnikHead3Init-RobotnikHead3_Index dc.w Obj_RobotnikHead3Main-RobotnikHead3_Index dc.w Obj_RobotnikHeadEnd-RobotnikHead3_Index ; --------------------------------------------------------------------------- @@ -82008,7 +81793,8 @@ loc_46048: loc_46074: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -RobotnikHead4_Index:dc.w Obj_RobotnikHead3Init-RobotnikHead4_Index +RobotnikHead4_Index: + dc.w Obj_RobotnikHead3Init-RobotnikHead4_Index dc.w Obj_RobotnikHead3Main-RobotnikHead4_Index dc.w Obj_RobotnikHeadEnd-RobotnikHead4_Index ; --------------------------------------------------------------------------- @@ -82022,7 +81808,8 @@ Obj_RobotnikShip: bne.w locret_45EE0 jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -RobotnikShip_Index:dc.w loc_460A6-RobotnikShip_Index +RobotnikShip_Index: + dc.w loc_460A6-RobotnikShip_Index dc.w loc_460C2-RobotnikShip_Index dc.w loc_460F8-RobotnikShip_Index dc.w loc_4612A-RobotnikShip_Index @@ -82092,7 +81879,8 @@ Obj_RobotnikShip2: jsr RobotnikShip2_Index(pc,d1.w) jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -RobotnikShip2_Index:dc.w Obj_RobotnikShipInit-RobotnikShip2_Index +RobotnikShip2_Index: + dc.w Obj_RobotnikShipInit-RobotnikShip2_Index dc.w Obj_RobotnikShipMain-RobotnikShip2_Index dc.w Obj_RobotnikShip2Wait-RobotnikShip2_Index dc.w Obj_RobotnikShipReady-RobotnikShip2_Index @@ -82122,7 +81910,8 @@ Obj_RobotnikShip3: bne.s loc_461AC jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -RobotnikShip3_Index:dc.w Obj_RobotnikShipInit-RobotnikShip3_Index +RobotnikShip3_Index: + dc.w Obj_RobotnikShipInit-RobotnikShip3_Index dc.w Obj_RobotnikShipMain-RobotnikShip3_Index dc.w Obj_RobotnikShipWait-RobotnikShip3_Index dc.w Obj_RobotnikShipReady-RobotnikShip3_Index @@ -82215,7 +82004,8 @@ Obj_RobotnikShip4: jsr RobotnikShip4_Index(pc,d1.w) jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -RobotnikShip4_Index:dc.w Obj_RobotnikShipInit-RobotnikShip4_Index +RobotnikShip4_Index: + dc.w Obj_RobotnikShipInit-RobotnikShip4_Index dc.w Obj_RobotnikShipMain-RobotnikShip4_Index dc.w Obj_RobotnikShipWait-RobotnikShip4_Index dc.w Obj_RobotnikShipReady-RobotnikShip4_Index @@ -82229,7 +82019,8 @@ Obj_FBZRobotnikShip: jsr FBZRobotnikShip_Index(pc,d1.w) jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -FBZRobotnikShip_Index:dc.w Obj_FBZRobotnikShipInit-FBZRobotnikShip_Index +FBZRobotnikShip_Index: + dc.w Obj_FBZRobotnikShipInit-FBZRobotnikShip_Index dc.w Obj_FBZRobotnikShipMain-FBZRobotnikShip_Index dc.w Obj_FBZRobotnikShipWait-FBZRobotnikShip_Index dc.w Obj_FBZRobotnikShipFall-FBZRobotnikShip_Index @@ -82328,45 +82119,54 @@ Obj_RobotnikShipFlameMain: loc_463B6: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -ObjDat_RobotnikHead:dc.l Map_RobotnikShip +ObjDat_RobotnikHead: + dc.l Map_RobotnikShip dc.w $52E dc.w $280 dc.b $10 dc.b 8 dc.b 0 dc.b 0 -ObjDat_FBZRobotnikHead:dc.l Map_FBZRobotnikHead +ObjDat_FBZRobotnikHead: + dc.l Map_FBZRobotnikHead dc.w $410 dc.w $280 dc.b $10 dc.b 8 dc.b 0 dc.b 0 -ObjDat_RobotnikShip:dc.l Map_RobotnikShip +ObjDat_RobotnikShip: + dc.l Map_RobotnikShip dc.w $52E dc.w $280 dc.b $1C dc.b $20 dc.b 8 dc.b 0 -ObjDat2_RoboShipFlame:dc.w $280 +ObjDat2_RoboShipFlame: + dc.w $280 dc.b 8 dc.b 4 dc.b 6 dc.b 0 -Child1_MakeRoboHead:dc.w 0 +Child1_MakeRoboHead: + dc.w 0 dc.l Obj_RobotnikHead dc.w $E4 -Child1_MakeRoboHead2:dc.w 0 +Child1_MakeRoboHead2: + dc.w 0 dc.l Obj_RobotnikHead2 dc.w $E4 -Child1_MakeFBZRoboHead:dc.w 0 +Child1_MakeFBZRoboHead: + dc.w 0 dc.l Obj_FBZRobotnikHead dc.w $E4 -Child1_MakeRoboHead3:dc.w 0 +Child1_MakeRoboHead3: + dc.w 0 dc.l Obj_RobotnikHead3 dc.w $E4 -Child1_MakeRoboHead4:dc.w 0 +Child1_MakeRoboHead4: + dc.w 0 dc.l loc_46048 dc.w $E4 word_4640E: dc.w 0 @@ -82375,25 +82175,27 @@ word_4640E: dc.w 0 dc.w 0 dc.l Obj_RobotnikShip2 dc.w 0 -Child1_MakeRoboShip3:dc.w 0 +Child1_MakeRoboShip3: + dc.w 0 dc.l Obj_RobotnikShip3 dc.w $FA04 -ChildObjDat_46426:dc.w 0 +ChildObjDat_46426: + dc.w 0 dc.l Obj_RobotnikShip4 dc.w $F8 -ChildObjDat_4642E:dc.w 0 +ChildObjDat_4642E: + dc.w 0 dc.l Obj_FBZRobotnikShip dc.w 4 -Child1_MakeRoboShipFlame:dc.w 0 +Child1_MakeRoboShipFlame: + dc.w 0 dc.l Obj_RobotnikShipFlame dc.w $1E00 -AniRaw_RobotnikHead:dc.b 5 - dc.b 0 - dc.b 1 - dc.b $FC +AniRaw_RobotnikHead: + dc.b 5, 0, 1, $FC ; --------------------------------------------------------------------------- -Obj_AIZ_Miniboss_Cutscene: +Obj_AIZMinibossCutscene: moveq #0,d0 move.b 5(a0),d0 move.w off_46454(pc,d0.w),d1 @@ -82411,7 +82213,7 @@ loc_4645E: lea ObjDat3_46F14(pc),a1 jsr (SetUp_ObjAttributes).l move.b #$60,$29(a0) - move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w + move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w move.b #1,(Boss_flag).w moveq #$5A,d0 jmp (Load_PLC).l @@ -82437,8 +82239,8 @@ loc_464AC: move.w #$B4,$2E(a0) move.w d5,(Camera_min_X_pos).w move.w d5,(Camera_max_X_pos).w - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l locret_464C8: rts @@ -82462,8 +82264,8 @@ loc_464D0: sub_464F2: move.w #$100,$1A(a0) move.w #$AF,$2E(a0) - moveq #mus_Miniboss,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Miniboss),d0 + jsr (Play_Music).l rts ; End of function sub_464F2 @@ -82507,8 +82309,8 @@ loc_4654C: loc_46566: move.w #$40,$2E(a0) - moveq #sfx_FlamethrowerQuiet,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FlamethrowerQuiet),d0 + jsr (Play_SFX).l lea Child1_AIZ_MinibossFlames(pc),a2 jmp (CreateChild1_Normal).l ; --------------------------------------------------------------------------- @@ -82525,8 +82327,8 @@ loc_46596: lea Pal_AIZMiniboss(pc),a1 jsr (PalLoad_Line1).l move.b #$F,$28(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.w #$400,$18(a0) clr.w $1A(a0) move.w #$40,$2E(a0) @@ -82549,7 +82351,7 @@ loc_465E0: loc_465F2: clr.b (Boss_flag).w - jsr (Obj_PlayLevelMusic).l + jsr (Restore_LevelMusic).l lea (PLC_Monitors).l,a1 jsr (Load_PLC_Raw).l jmp (Go_Delete_Sprite_2).l @@ -82716,8 +82518,8 @@ off_467A2: dc.w sub_467AA-off_467A2 sub_467AA: lea word_46F40(pc),a1 jsr (SetUp_ObjAttributes2).l - moveq #sfx_Projectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Projectile),d0 + jsr (Play_SFX).l move.l #byte_47062,$30(a0) move.l #loc_467EA,$34(a0) move.w #-$400,$1A(a0) @@ -82741,8 +82543,8 @@ loc_467EA: loc_46800: move.b #6,5(a0) - moveq #sfx_MissileThrow,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileThrow),d0 + jsr (Play_SFX).l move.w #$80,8(a0) bset #1,4(a0) move.l #Go_Delete_Sprite,$34(a0) @@ -82803,7 +82605,7 @@ loc_468A6: loc_468B2: move.l #Map_BossExplosion,$C(a0) - move.w #-$7B2E,$A(a0) + move.w #$84D2,$A(a0) move.l #byte_4707A,$30(a0) move.l #Go_Delete_Sprite,$34(a0) cmpi.b #6,$2C(a0) @@ -82871,7 +82673,7 @@ word_46968: dc.w 0 dc.w 8 ; --------------------------------------------------------------------------- -Obj_AIZ_Miniboss: +Obj_AIZMiniboss: moveq #0,d0 move.b 5(a0),d0 move.w off_46986(pc,d0.w),d1 @@ -82946,8 +82748,8 @@ loc_46A22: loc_46A40: move.b #$A,5(a0) move.b #8,$39(a0) - moveq #sfx_FlamethrowerQuiet,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FlamethrowerQuiet),d0 + jsr (Play_SFX).l lea Child1_AIZ_MinibossFlames(pc),a2 jmp (CreateChild1_Normal).l ; --------------------------------------------------------------------------- @@ -83157,8 +82959,8 @@ loc_46C84: ; --------------------------------------------------------------------------- loc_46C96: - moveq #sfx_MissileExplode,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileExplode),d0 + jsr (Play_SFX).l lea ChildObjDat_46FEE(pc),a2 jsr (CreateChild1_Normal).l jmp (Go_Delete_Sprite).l @@ -83397,8 +83199,8 @@ loc_46E80: tst.b $20(a0) bne.s loc_46EA6 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l bset #6,$2A(a0) loc_46EA6: @@ -83497,39 +83299,46 @@ word_46F6C: dc.w $200 dc.b $14 dc.b 0 dc.b 0 -ChildObjDat_46F72:dc.w 1 +ChildObjDat_46F72: + dc.w 1 dc.l loc_4660E dc.w $20 dc.l loc_4665A dc.w $DC08 -ChildObjDat_46F80:dc.w 5 +ChildObjDat_46F80: + dc.w 5 dc.l loc_46D18 dc.w 0 -ChildObjDat_46F88:dc.w 2 +ChildObjDat_46F88: + dc.w 2 dc.l loc_4667C dc.w $E0 dc.l loc_4667C dc.w $9E4 dc.l loc_4667C dc.w $12E8 -ChildObjDat_46F9C:dc.w 2 +ChildObjDat_46F9C: + dc.w 2 dc.l loc_46B54 dc.w $E0 dc.l loc_46B54 dc.w $9E4 dc.l loc_46B54 dc.w $12E8 -ChildObjDat_46FB0:dc.w 1 +ChildObjDat_46FB0: + dc.w 1 dc.l loc_4675A dc.w 4 dc.l loc_46794 dc.w 4 -ChildObjDat_46FBE:dc.w 1 +ChildObjDat_46FBE: + dc.w 1 dc.l loc_4675A dc.w 4 dc.l loc_46BD8 dc.w 4 -Child1_AIZ_MinibossFlames:dc.w 3 +Child1_AIZ_MinibossFlames: + dc.w 3 dc.l Obj_AIZMiniboss_Flame dc.w $9C04 dc.l Obj_AIZMiniboss_Flame @@ -83538,10 +83347,12 @@ Child1_AIZ_MinibossFlames:dc.w 3 dc.w $BC04 dc.l Obj_AIZMiniboss_Flame dc.w $D403 -ChildObjDat_46FE6:dc.w 0 +ChildObjDat_46FE6: + dc.w 0 dc.l loc_468E4 dc.w 0 -ChildObjDat_46FEE:dc.w 6 +ChildObjDat_46FEE: + dc.w 6 dc.l loc_46CAE dc.w $DC dc.l loc_46CAE @@ -83556,10 +83367,12 @@ ChildObjDat_46FEE:dc.w 6 dc.w $4FC dc.l loc_46CAE dc.w $FCFC -ChildObjDat_4701A:dc.w 0 +ChildObjDat_4701A: + dc.w 0 dc.l Obj_BossExplosionSpecial dc.w 0 -ChildObjDat_47022:dc.w 3 +ChildObjDat_47022: + dc.w 3 dc.l loc_46DB6 dc.w $F0F8 dc.l loc_46DB6 @@ -83658,7 +83471,7 @@ Pal_AIZMiniboss:binclude "Levels/AIZ/Palettes/Miniboss.bin" even ; --------------------------------------------------------------------------- -Obj_AIZ_EndBoss: +Obj_AIZEndBoss: move.w #$4880,d0 cmp.w (Camera_X_pos).w,d0 bls.s loc_470BE @@ -83670,9 +83483,9 @@ loc_470BE: move.w d0,(Camera_max_X_pos).w move.l #Obj_Wait,(a0) move.w #$78,$2E(a0) - move.l #Obj_AIZ_EndBossMusic,$34(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + move.l #Obj_AIZEndBossMusic,$34(a0) + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.b #1,(Boss_flag).w clr.b (_unkFAA3).w moveq #$6B,d0 @@ -83684,14 +83497,14 @@ loc_470BE: jmp (PalLoad_Line1).l ; --------------------------------------------------------------------------- -Obj_AIZ_EndBossMusic: - move.l #Obj_AIZ_EndBossMain,(a0) - moveq #mus_EndBoss,d0 - jsr (Play_Sound).l +Obj_AIZEndBossMusic: + move.l #Obj_AIZEndBossMain,(a0) + moveq #signextendB(mus_EndBoss),d0 + jsr (Play_Music).l rts ; --------------------------------------------------------------------------- -Obj_AIZ_EndBossMain: +Obj_AIZEndBossMain: moveq #0,d0 move.b 5(a0),d0 move.w AIZ_EndBossIndex(pc,d0.w),d1 @@ -83700,7 +83513,8 @@ Obj_AIZ_EndBossMain: bne.w locret_47246 jmp (Draw_And_Touch_Sprite).l ; --------------------------------------------------------------------------- -AIZ_EndBossIndex:dc.w Obj_AIZ_EndBossInit-AIZ_EndBossIndex +AIZ_EndBossIndex: + dc.w Obj_AIZEndBossInit-AIZ_EndBossIndex dc.w loc_471C2-AIZ_EndBossIndex dc.w loc_4720C-AIZ_EndBossIndex dc.w loc_47248-AIZ_EndBossIndex @@ -83710,7 +83524,7 @@ AIZ_EndBossIndex:dc.w Obj_AIZ_EndBossInit-AIZ_EndBossIndex dc.w loc_47348-AIZ_EndBossIndex ; --------------------------------------------------------------------------- -Obj_AIZ_EndBossInit: +Obj_AIZEndBossInit: lea ObjDat_AIZEndBoss(pc),a1 jsr (SetUp_ObjAttributes).l move.b #8,$29(a0) @@ -83726,8 +83540,8 @@ loc_47176: loc_47180: move.b #2,5(a0) - moveq #sfx_WaterfallSplash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_WaterfallSplash),d0 + jsr (Play_SFX).l ori.b #$48,$38(a0) move.l #loc_471E2,$34(a0) clr.b $28(a0) @@ -83811,7 +83625,7 @@ loc_47292: move.b #8,5(a0) move.w #$3F,$2E(a0) move.l #loc_472CC,$34(a0) - andi.b #-$B,$38(a0) + andi.b #$F5,$38(a0) rts ; --------------------------------------------------------------------------- @@ -83829,8 +83643,8 @@ loc_472C2: loc_472CC: move.b #$A,5(a0) - moveq #sfx_WaterfallSplash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_WaterfallSplash),d0 + jsr (Play_SFX).l move.l #loc_472FC,$34(a0) clr.b $28(a0) bsr.w sub_47AEA @@ -83884,8 +83698,8 @@ loc_47360: move.l #Obj_Wait,(a0) bset #4,$38(a0) move.w #$7F,$2E(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l lea ChildObjDat_47BBC(pc),a2 jmp (CreateChild1_Normal).l ; --------------------------------------------------------------------------- @@ -83896,7 +83710,7 @@ loc_47390: loc_47396: st (_unkFAA8).w clr.b (Boss_flag).w - jsr (Obj_PlayLevelMusic).l + jsr (Restore_LevelMusic).l lea (PLC_EggCapsule).l,a1 jsr (Load_PLC_Raw).l lea ChildObjDat_47BE2(pc),a2 @@ -83915,7 +83729,7 @@ loc_473C6: jsr (Restore_PlayerControl2).l clr.w (Ctrl_1_logical).w st (Ctrl_1_locked).w - move.w #$4A38,(Target_camera_max_X_pos).w + move.w #$4A38,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jmp (CreateChild6_Simple).l ; --------------------------------------------------------------------------- @@ -84213,8 +84027,8 @@ loc_47718: lea word_47B48(pc),a1 jsr (SetUp_ObjAttributes3).l bset #4,$2B(a0) - moveq #sfx_Projectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Projectile),d0 + jsr (Play_SFX).l move.b #$C,$1E(a0) move.w #$9F,$2E(a0) move.l #loc_4774E,(a0) @@ -84491,8 +84305,8 @@ sub_47A20: tst.b $20(a0) bne.s loc_47A40 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_47A40: bset #6,$2A(a0) @@ -84586,7 +84400,8 @@ loc_47B08: ; End of function sub_47AFA ; --------------------------------------------------------------------------- -ObjDat_AIZEndBoss:dc.l Map_AIZEndBoss +ObjDat_AIZEndBoss: + dc.l Map_AIZEndBoss dc.w $A180 dc.w $280 dc.b $28 @@ -84624,7 +84439,8 @@ word_47B54: dc.w $8180 dc.b $30 dc.b $24 dc.b 0 -ObjDat_AIZEndBoss2:dc.l Map_AIZEndBoss +ObjDat_AIZEndBoss2: + dc.l Map_AIZEndBoss dc.w $8180 dc.w $100 dc.b $18 @@ -84636,36 +84452,46 @@ word_47B68: dc.w $180 dc.b $10 dc.b 0 dc.b 0 -ChildObjDat_47B6E:dc.w 1 +ChildObjDat_47B6E: + dc.w 1 dc.l loc_47486 dc.w $14FC dc.l loc_47486 dc.w $ECFC -ChildObjDat_47B7C:dc.w 0 +ChildObjDat_47B7C: + dc.w 0 dc.l loc_4759C dc.w $E400 -ChildObjDat_47B84:dc.w 0 +ChildObjDat_47B84: + dc.w 0 dc.l loc_47806 dc.w 0 -ChildObjDat_47B8C:dc.w 0 +ChildObjDat_47B8C: + dc.w 0 dc.l loc_477DC dc.w $D0 -ChildObjDat_47B94:dc.w 0 +ChildObjDat_47B94: + dc.w 0 dc.l loc_4768A dc.w $305 -ChildObjDat_47B9C:dc.w 0 +ChildObjDat_47B9C: + dc.w 0 dc.l loc_4768A dc.w 7 -ChildObjDat_47BA4:dc.w 0 +ChildObjDat_47BA4: + dc.w 0 dc.l loc_4768A dc.w $FD05 -ChildObjDat_47BAC:dc.w 0 +ChildObjDat_47BAC: + dc.w 0 dc.l loc_47718 dc.w 0 -ChildObjDat_47BB4:dc.w 0 +ChildObjDat_47BB4: + dc.w 0 dc.l loc_477A0 dc.w 0 -ChildObjDat_47BBC:dc.w 5 +ChildObjDat_47BBC: + dc.w 5 dc.l loc_47880 dc.w $F0F0 dc.l loc_47880 @@ -84678,9 +84504,11 @@ ChildObjDat_47BBC:dc.w 5 dc.w $F418 dc.l loc_47880 dc.w $C18 -ChildObjDat_47BE2:dc.w 0 - dc.l Obj_81 -ChildObjDat_47BE8:dc.w 0 +ChildObjDat_47BE2: + dc.w 0 + dc.l Obj_EggCapsule +ChildObjDat_47BE8: + dc.w 0 dc.l Obj_CutsceneKnuckles byte_47BEE: dc.b $2B, 0 dc.b $2B, 0 @@ -84859,13 +84687,13 @@ loc_47D78: ; --------------------------------------------------------------------------- loc_47D82: - move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w + move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w move.w $14(a0),$44(a0) move.l #Obj_Wait,(a0) move.w #$78,$2E(a0) move.l #loc_47DBA,$34(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l bset #3,$38(a0) lea Pal_HCZMiniboss(pc),a1 jmp (PalLoad_Line1).l @@ -84873,8 +84701,8 @@ loc_47D82: loc_47DBA: move.l #Obj_HCZ_MinibossLoop,(a0) - moveq #mus_EndBoss,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_EndBoss),d0 + jsr (Play_Music).l locret_47DC8: rts @@ -84952,8 +84780,8 @@ loc_47E92: loc_47E96: move.b #$A,5(a0) - moveq #sfx_Roll,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Roll),d0 + jsr (Play_SFX).l bset #6,$38(a0) bclr #7,$38(a0) move.w #$400,$1A(a0) @@ -85050,8 +84878,8 @@ loc_47FAA: loc_47FBC: move.b #$14,5(a0) - moveq #sfx_DoorClose,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_DoorClose),d0 + jsr (Play_SFX).l bclr #3,$38(a0) move.w #$9F,$2E(a0) move.l #loc_47FE4,$34(a0) @@ -85093,8 +84921,8 @@ loc_4804A: move.b #$16,5(a0) bclr #6,$38(a0) move.w #-$400,$1A(a0) - moveq #sfx_LavaBall,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_LavaBall),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -85240,8 +85068,8 @@ loc_481F0: move.b #4,$40(a0) move.l #loc_48266,$34(a0) bclr #6,$38(a0) - moveq #sfx_LevelProjectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_LevelProjectile),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -85359,7 +85187,7 @@ loc_48338: loc_48348: lea byte_48C7F(pc),a1 jsr (Animate_RawNoSST).l - lea DPLCPtr_48C28(pc),a2 + lea DPLCPtr_HCZMinibossSplash(pc),a2 jsr (Perform_DPLC).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -85410,8 +85238,8 @@ loc_483C0: move.b #6,5(a0) move.l #byte_48C30,$30(a0) move.l #loc_48400,$34(a0) - moveq #sfx_FanBig,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FanBig),d0 + jsr (Play_SFX).l lea ChildObjDat_48BD6(pc),a2 jmp (CreateChild6_Simple).l ; --------------------------------------------------------------------------- @@ -85434,8 +85262,8 @@ loc_4841C: movea.w $46(a0),a1 btst #2,$38(a1) beq.s loc_4843E - moveq #sfx_BossRotate,d0 - jsr (sub_542A6).l + moveq #signextendB(sfx_BossRotate),d0 + jsr (Play_SFX_Continuous).l lea byte_48C55(pc),a1 jmp (Animate_RawNoSST).l ; --------------------------------------------------------------------------- @@ -85657,7 +85485,7 @@ loc_486DA: loc_486F2: jsr (Restore_PlayerControl).l - move.w #0,(Target_camera_min_Y_pos).w + move.w #0,(Camera_stored_min_Y_pos).w jsr (Make_LevelSizeObj).l loc_48704: @@ -85923,8 +85751,8 @@ sub_488E4: sub_488FA: bset #7,$38(a0) - moveq #sfx_Splash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Splash),d0 + jsr (Play_SFX).l clr.w (Slotted_object_bits).w lea ChildObjDat_48BC2(pc),a2 jmp (CreateChild1_Normal).l @@ -86063,7 +85891,7 @@ sub_489EC: moveq #0,d0 move.b $3D(a2),d0 lsr.w #3,d0 - andi.w #-2,d0 + andi.w #$FFFE,d0 move.w word_48A3C(pc,d0.w),8(a0) lea byte_48A5C(pc,d0.w),a1 move.b (a1)+,d1 @@ -86140,8 +85968,8 @@ sub_48A8C: tst.b $20(a0) bne.s loc_48AAC move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_48AAC: bset #6,$2A(a0) @@ -86240,7 +86068,8 @@ byte_48B8C: dc.b 2 dc.b $24 dc.b 0 dc.b 0 -Child1_HCZMiniboss_RocketsEngine:dc.w 4 +Child1_HCZMiniboss_RocketsEngine: + dc.w 4 dc.l Obj_HCZMiniboss_Rockets dc.w $1818 dc.l Obj_HCZMiniboss_Rockets @@ -86251,28 +86080,35 @@ Child1_HCZMiniboss_RocketsEngine:dc.w 4 dc.w $18E8 dc.l Obj_HCZMiniboss_Engine dc.w $24 -ChildObjDat_48BB2:dc.w 0 +ChildObjDat_48BB2: + dc.w 0 dc.l loc_48362 dc.w 0 -ChildObjDat_48BBA:dc.w 0 +ChildObjDat_48BBA: + dc.w 0 dc.l loc_482B0 dc.w 0 -ChildObjDat_48BC2:dc.w 2 +ChildObjDat_48BC2: + dc.w 2 dc.l loc_4830C dc.w 0 dc.l loc_4830C dc.w $F000 dc.l loc_4830C dc.w $1000 -ChildObjDat_48BD6:dc.w $1D +ChildObjDat_48BD6: + dc.w $1D dc.l loc_484A0 -ChildObjDat_48BDC:dc.w 0 +ChildObjDat_48BDC: + dc.w 0 dc.l loc_48554 word_48BE2: dc.w 0 dc.l loc_48608 -ChildObjDat_48BE8:dc.w 1 +ChildObjDat_48BE8: + dc.w 1 dc.l loc_48608 -ChildObjDat_48BEE:dc.w 3 +ChildObjDat_48BEE: + dc.w 3 dc.l loc_4870A dc.w $F4F4 dc.l loc_4870A @@ -86281,7 +86117,8 @@ ChildObjDat_48BEE:dc.w 3 dc.w $CF4 dc.l loc_4870A dc.w $C0C -ChildObjDat_48C08:dc.w 4 +ChildObjDat_48C08: + dc.w 4 dc.l loc_48732 dc.w $DC dc.l loc_48732 @@ -86292,7 +86129,8 @@ ChildObjDat_48C08:dc.w 4 dc.w $F430 dc.l loc_48732 dc.w $C30 -DPLCPtr_48C28: dc.l ArtUnc_DashDust +DPLCPtr_HCZMinibossSplash: + dc.l ArtUnc_DashDust dc.l DPLC_HCZMinibossSplash byte_48C30: dc.b $16, 7 dc.b $17, 7 @@ -86369,11 +86207,11 @@ Obj_HCZEndBoss: jsr (Check_CameraInRange).l move.l #loc_48D2E,(a0) move.b #1,(Boss_flag).w - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.w #$78,$2E(a0) move.b #mus_EndBoss,$26(a0) - move.w (Camera_target_max_Y_pos).w,(Target_camera_max_Y_pos).w + move.w (Camera_target_max_Y_pos).w,(Camera_stored_max_Y_pos).w move.w #$738,(Camera_target_max_Y_pos).w move.w #$4000,$1C(a0) move.l #loc_48D34,$34(a0) @@ -86534,8 +86372,8 @@ loc_48EF6: bset #4,$38(a0) move.w #$7F,$2E(a0) move.l #loc_48F3C,$34(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l moveq #$C,d0 jmp (Set_IndexedVelocity).l ; --------------------------------------------------------------------------- @@ -86553,8 +86391,8 @@ loc_48F3C: bclr #7,4(a0) st (_unkFAA8).w clr.b (Boss_flag).w - jsr (Obj_PlayLevelMusic).l - move.w #$4230,(Target_camera_max_X_pos).w + jsr (Restore_LevelMusic).l + move.w #$4230,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jmp (CreateChild6_Simple).l ; --------------------------------------------------------------------------- @@ -86614,8 +86452,8 @@ loc_48FF0: ; --------------------------------------------------------------------------- loc_4900E: - moveq #sfx_FanBig,d0 - jsr (sub_542A6).l + moveq #signextendB(sfx_FanBig),d0 + jsr (Play_SFX_Continuous).l jmp (Animate_RawGetFaster).l ; --------------------------------------------------------------------------- @@ -86631,8 +86469,8 @@ loc_49034: movea.w $46(a0),a1 btst #3,$38(a1) beq.s loc_4904E - moveq #sfx_FanBig,d0 - jmp (sub_542A6).l + moveq #signextendB(sfx_FanBig),d0 + jmp (Play_SFX_Continuous).l ; --------------------------------------------------------------------------- loc_4904E: @@ -87069,8 +86907,8 @@ loc_4953E: loc_49544: lea ChildObjDat_49C22(pc),a2 jsr (CreateChild6_Simple).l - moveq #sfx_MissileExplode,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileExplode),d0 + jsr (Play_SFX).l lea ChildObjDat_49BF4(pc),a2 jsr (CreateChild1_Normal).l jmp (Go_Delete_Sprite).l @@ -87128,8 +86966,8 @@ loc_495FE: move.b (V_int_run_count+3).w,d0 andi.b #7,d0 bne.s loc_49610 - moveq #sfx_Rumble2,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Rumble2),d0 + jsr (Play_SFX).l loc_49610: jmp (Obj_Wait).l @@ -87142,8 +86980,8 @@ loc_4961C: lea ObjDat3_49BC0(pc),a1 jsr (SetUp_ObjAttributes).l st (Screen_shake_flag).w - moveq #sfx_Geyser,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Geyser),d0 + jsr (Play_SFX).l lea (Player_1).w,a1 move.w $10(a1),d0 move.w d0,$10(a0) @@ -87588,8 +87426,8 @@ sub_49A06: tst.b $20(a0) bne.s loc_49A2A move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_49A2A: bset #6,$2A(a0) @@ -87773,7 +87611,7 @@ ObjDat3_49B9C: dc.l Map_HCZEndBoss dc.b 8 dc.b 0 ObjDat3_49BA8: dc.l Map_Explosion - dc.w $85A0 + dc.w make_art_tile(ArtTile_Explosion,0,1) dc.w $80 dc.b $C dc.b $C @@ -87793,7 +87631,8 @@ ObjDat3_49BC0: dc.l Map_HCZWaterWall dc.b $60 dc.b 1 dc.b 0 -ChildObjDat_49BCC:dc.w 4 +ChildObjDat_49BCC: + dc.w 4 dc.l loc_493CE dc.w $2312 dc.l loc_493CE @@ -87808,31 +87647,40 @@ word_49BEC: dc.w 0 dc.l loc_493CE dc.b $13 dc.b $A -ChildObjDat_49BF4:dc.w 0 +ChildObjDat_49BF4: + dc.w 0 dc.l loc_49586 dc.w 0 -ChildObjDat_49BFC:dc.w 0 +ChildObjDat_49BFC: + dc.w 0 dc.l loc_49078 dc.w 0 -ChildObjDat_49C04:dc.w 0 +ChildObjDat_49C04: + dc.w 0 dc.l loc_491E8 dc.w 0 -ChildObjDat_49C0C:dc.w 1 +ChildObjDat_49C0C: + dc.w 1 dc.l loc_49260 dc.w $FC00 dc.l loc_49260 dc.w $400 -ChildObjDat_49C1A:dc.w 0 +ChildObjDat_49C1A: + dc.w 0 dc.l loc_492AC dc.w 0 -ChildObjDat_49C22:dc.w 4 +ChildObjDat_49C22: + dc.w 4 dc.l loc_492CE -ChildObjDat_49C28:dc.w $13 +ChildObjDat_49C28: + dc.w $13 dc.l loc_49316 -ChildObjDat_49C2E:dc.w 0 +ChildObjDat_49C2E: + dc.w 0 dc.l Obj_RobotnikShip2 dc.w $C -ChildObjDat_49C36:dc.w 0 +ChildObjDat_49C36: + dc.w 0 dc.l loc_495C6 byte_49C3C: dc.b 7 dc.b 8 @@ -87959,14 +87807,14 @@ Pal_HCZEndBoss: binclude "Levels/HCZ/Palettes/End Boss.bin" even ; --------------------------------------------------------------------------- -Obj_MGZ2DrillingEggman: +Obj_MGZ2DrillingRobotnik: move.l #Obj_Wait,(a0) move.b #1,(Boss_flag).w move.w #$78,$2E(a0) - move.l #Obj_MGZ2DrillingEggmanGo,$34(a0) + move.l #Obj_MGZ2DrillingRobotnikGo,$34(a0) clr.b $2C(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l lea (ArtKosM_MGZEndBoss).l,a1 move.w #$67E0,d2 jsr (Queue_Kos_Module).l @@ -87979,16 +87827,16 @@ Obj_MGZ2DrillingEggman: jmp (PalLoad_Line1).l ; --------------------------------------------------------------------------- -Obj_MGZ2DrillingEggmanGo: - move.l #Obj_MGZ2DrillingEggmanStart,(a0) - moveq #mus_EndBoss,d0 - jsr (Play_Sound).l +Obj_MGZ2DrillingRobotnikGo: + move.l #Obj_MGZ2DrillingRobotnikStart,(a0) + moveq #signextendB(mus_EndBoss),d0 + jsr (Play_Music).l locret_49DD8: rts ; --------------------------------------------------------------------------- -Obj_MGZ2DrillingEggmanStart: +Obj_MGZ2DrillingRobotnikStart: moveq #0,d0 move.b 5(a0),d0 move.w off_49DF2(pc,d0.w),d1 @@ -88034,8 +87882,8 @@ loc_49E56: tst.l (Nem_decomp_queue).w bne.w locret_49DD8 move.b #4,5(a0) - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -88211,7 +88059,7 @@ loc_4A04A: bset #5,$38(a0) clr.b (Boss_flag).w move.l #Delete_Current_Sprite,(a0) - jsr (Obj_PlayLevelMusic).l + jsr (Restore_LevelMusic).l lea (MGZ_8x8_Primary_KosM).l,a1 move.w #0,d2 jsr (Queue_Kos_Module).l @@ -88221,10 +88069,10 @@ loc_4A04A: moveq #$14,d0 jsr (Load_PLC).l lea (ArtKosM_Spiker).l,a1 - move.w #-$5A00,d2 + move.w #$A600,d2 jsr (Queue_Kos_Module).l lea (ArtKosM_Mantis).l,a1 - move.w #-$5620,d2 + move.w #$A9E0,d2 jsr (Queue_Kos_Module).l lea (PLC_MonitorsSpikesSprings).l,a1 jsr (Load_PLC_Raw).l @@ -88233,13 +88081,13 @@ loc_4A04A: btst #0,4(a0) bne.s loc_4A0DA lea (Child6_IncLevX).l,a2 - move.w #$6000,(Target_camera_max_X_pos).w + move.w #$6000,(Camera_stored_max_X_pos).w jmp (CreateChild6_Simple).l ; --------------------------------------------------------------------------- loc_4A0DA: lea (Child6_DecLevX).l,a2 - move.w #0,(Target_camera_min_X_pos).w + move.w #0,(Camera_stored_min_X_pos).w jmp (CreateChild6_Simple).l ; --------------------------------------------------------------------------- @@ -88248,7 +88096,7 @@ loc_4A0EC: jmp (Obj_Wait).l ; --------------------------------------------------------------------------- -Obj_A1_1_MGZ2_Boss: +Obj_MGZEndBoss: moveq #0,d0 move.b 5(a0),d0 move.w off_4A110(pc,d0.w),d1 @@ -88284,8 +88132,8 @@ loc_4A132: move.b #1,(Boss_flag).w move.b #$1C,$1E(a0) move.w #$C,$26(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.w #$78,$2E(a0) move.l #loc_4A1C8,$34(a0) lea (ArtKosM_MGZEndBoss).l,a1 @@ -88311,8 +88159,8 @@ loc_4A1C2: loc_4A1C8: move.b #4,5(a0) - moveq #mus_EndBoss,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_EndBoss),d0 + jsr (Play_Music).l move.w #$80,$1A(a0) move.w #$BF,$2E(a0) move.l #loc_4A1F8,$34(a0) @@ -88383,8 +88231,8 @@ loc_4A294: move.l #loc_4A2CE,$34(a0) st (Events_fg_4).w st (Disable_death_plane).w - moveq #sfx_BossHitFloor,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHitFloor),d0 + jsr (Play_SFX).l jsr (Create_New_Sprite).l bne.s locret_4A2C6 move.l #Obj_MGZ2_BossTransition,(a1) @@ -88488,8 +88336,8 @@ loc_4A3D4: loc_4A3EA: move.b #$1E,5(a0) - moveq #sfx_BossZoom,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossZoom),d0 + jsr (Play_SFX).l bclr #3,$38(a0) bclr #2,$38(a0) move.w #$9F,$2E(a0) @@ -88517,7 +88365,7 @@ loc_4A442: rts ; --------------------------------------------------------------------------- -Obj_A2_1: +Obj_MGZEndBossKnux: moveq #0,d0 move.b 5(a0),d0 move.w off_4A476(pc,d0.w),d1 @@ -88546,7 +88394,7 @@ loc_4A488: loc_4A49A: move.b #4,5(a0) - move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w + move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w move.w d0,(Camera_min_X_pos).w move.w d0,(Camera_max_X_pos).w move.w #$B4,$30(a0) @@ -88629,8 +88477,8 @@ loc_4A592: move.l #Obj_Wait,(a0) bclr #7,4(a0) bset #4,$38(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.w #$7F,$2E(a0) move.l #loc_4A5CA,$34(a0) move.w #$200,8(a0) @@ -88676,7 +88524,7 @@ loc_4A616: lea word_4B396(pc),a1 jsr (SetUp_ObjAttributes3).l movea.w $46(a0),a1 - cmpi.l #Obj_A1_1_MGZ2_Boss,(a1) + cmpi.l #Obj_MGZEndBoss,(a1) bne.s loc_4A632 bclr #7,$A(a0) @@ -89136,7 +88984,7 @@ loc_4AB4E: beq.s loc_4AB84 move.w #$380,8(a0) movea.w $46(a0),a1 - cmpi.l #Obj_A1_1_MGZ2_Boss,(a1) + cmpi.l #Obj_MGZEndBoss,(a1) bne.s loc_4AB84 bclr #7,$A(a0) @@ -89270,7 +89118,7 @@ loc_4ACFC: lea ObjDat3_4B3C8(pc),a1 jsr (SetUp_ObjAttributes).l move.l #loc_4AD68,(a0) - move.w #-$72E0,$3A(a0) + move.w #$8D20,$3A(a0) move.w (Camera_X_pos).w,d0 addi.w #$140,d0 move.w d0,$10(a0) @@ -89358,7 +89206,7 @@ loc_4ADF4: movea.l (sp)+,a0 move.w (_unkF740).w,d3 lsl.w #4,d3 - move.l #-$3000,d1 + move.l #Kos_decomp_buffer,d1 move.w $3A(a0),d2 jsr (Add_To_DMA_Queue).l @@ -89806,8 +89654,8 @@ loc_4B21C: tst.b $20(a0) bne.s loc_4B230 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_4B230: bset #6,$2A(a0) @@ -89951,7 +89799,8 @@ byte_4B380: dc.b 6 dc.b 4 dc.b 8 dc.b 6 -ObjDat_MGZDrillBoss:dc.l Map_MGZEndBoss +ObjDat_MGZDrillBoss: + dc.l Map_MGZEndBoss dc.w $233F dc.w $300 dc.b $24 @@ -90008,7 +89857,8 @@ ObjDat3_4B3C8: dc.l Map_ScaledArt dc.b $20 dc.b 0 dc.b 0 -ChildObjDat_4B3D4:dc.w 3 +ChildObjDat_4B3D4: + dc.w 3 dc.l loc_4A8D6 dc.w $EC0F dc.l loc_4A5FC @@ -90017,41 +89867,52 @@ ChildObjDat_4B3D4:dc.w 3 dc.w $818 dc.l loc_4AB4E dc.w $F418 -ChildObjDat_4B3EE:dc.w 0 +ChildObjDat_4B3EE: + dc.w 0 dc.l loc_4A69C dc.w $E900 -ChildObjDat_4B3F6:dc.w 0 +ChildObjDat_4B3F6: + dc.w 0 dc.l loc_4ABBE dc.w $10 -ChildObjDat_4B3FE:dc.w 9 +ChildObjDat_4B3FE: + dc.w 9 dc.l loc_4AC36 dc.w $18C0 -ChildObjDat_4B406:dc.w 9 +ChildObjDat_4B406: + dc.w 9 dc.l loc_4AC36 dc.w $E8C0 -ChildObjDat_4B40E:dc.w 0 +ChildObjDat_4B40E: + dc.w 0 dc.l loc_4A902 dc.w $C00 -ChildObjDat_4B416:dc.w 7 +ChildObjDat_4B416: + dc.w 7 dc.l loc_4AA86 dc.w $F000 -ChildObjDat_4B41E:dc.w 7 +ChildObjDat_4B41E: + dc.w 7 dc.l loc_4AA86 dc.w $1000 -ChildObjDat_4B426:dc.w 0 +ChildObjDat_4B426: + dc.w 0 dc.l loc_4A976 dc.w 0 -ChildObjDat_4B42E:dc.w 0 +ChildObjDat_4B42E: + dc.w 0 dc.l loc_4A9CC dc.w 0 -ChildObjDat_4B436:dc.w 2 +ChildObjDat_4B436: + dc.w 2 dc.l loc_4ACC6 dc.w $CEC dc.l loc_4ACC6 dc.w $F008 dc.l loc_4ACC6 dc.w $1408 -ChildObjDat_4B44A:dc.w 0 +ChildObjDat_4B44A: + dc.w 0 dc.l loc_4ACFC dc.w 0 dc.b 0, 5 @@ -90226,7 +90087,7 @@ Obj_CNZMiniboss: ; --------------------------------------------------------------------------- loc_4B5B4: - move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w + move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w move.w #$1A0,(Camera_min_Y_pos).w move.w d0,(Camera_min_X_pos).w addi.w #$80,d0 @@ -90236,8 +90097,8 @@ loc_4B5B4: move.l #Obj_Wait,(a0) move.w #$78,$2E(a0) move.l #Obj_CNZMinibossGo,$34(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.b #1,(Boss_flag).w moveq #$5D,d0 jsr (Load_PLC).l @@ -90247,8 +90108,8 @@ loc_4B5B4: Obj_CNZMinibossGo: move.l #Obj_CNZMinibossStart,(a0) - moveq #mus_Miniboss,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Miniboss),d0 + jsr (Play_Music).l jsr (Create_New_Sprite).l bne.s locret_4B628 move.l #Obj_CNZMinibossScrollControl,(a1) @@ -90268,7 +90129,8 @@ Obj_CNZMinibossStart: bsr.w CNZMiniboss_CheckTopHit jmp (Draw_And_Touch_Sprite).l ; --------------------------------------------------------------------------- -CNZMiniboss_Index:dc.w Obj_CNZMinibossInit-CNZMiniboss_Index +CNZMiniboss_Index: + dc.w Obj_CNZMinibossInit-CNZMiniboss_Index dc.w Obj_CNZMinibossLower-CNZMiniboss_Index dc.w Obj_CNZMinibossMove-CNZMiniboss_Index dc.w Obj_CNZMinibossMove-CNZMiniboss_Index @@ -90384,8 +90246,8 @@ Obj_CNZMinibossEnd: bset #4,$38(a0) move.w #$7F,$2E(a0) move.l #Obj_CNZMinibossEndGo,$34(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l lea Child6_CNZMinibossMakeDebris(pc),a2 jmp (CreateChild6_Simple).l ; --------------------------------------------------------------------------- @@ -90395,7 +90257,7 @@ Obj_CNZMinibossEnd: Obj_CNZMinibossEndGo: move.l #Obj_EndSignControlAwaitStart,(a0) clr.b (Boss_flag).w - jsr (Obj_PlayLevelMusic).l + jsr (Restore_LevelMusic).l jsr AfterBoss_Cleanup(pc) lea (PLC_EndSignStuff).l,a1 jmp (Load_PLC_Raw).l @@ -90408,7 +90270,8 @@ loc_4B7E8: jsr CNZMinibossTop_Index(pc,d1.w) jmp (Draw_And_Touch_Sprite).l ; --------------------------------------------------------------------------- -CNZMinibossTop_Index:dc.w Obj_CNZMinibossTopInit-CNZMinibossTop_Index +CNZMinibossTop_Index: + dc.w Obj_CNZMinibossTopInit-CNZMinibossTop_Index dc.w Obj_CNZMinibossTopWait-CNZMinibossTop_Index dc.w Obj_CNZMinibossTopWait2-CNZMinibossTop_Index dc.w Obj_CNZMinibossTopMain-CNZMinibossTop_Index @@ -90606,11 +90469,11 @@ CNZMiniboss_BlockExplosion: bne.s locret_4BA3A move.b #6,$2C(a1) move.w (Events_bg+$00).w,d0 - andi.w #-$20,d0 + andi.w #$FFE0,d0 addi.w #$10,d0 move.w d0,$10(a1) move.w (Events_bg+$02).w,d0 - andi.w #-$20,d0 + andi.w #$FFE0,d0 addi.w #$10,d0 move.w d0,$14(a1) @@ -90660,7 +90523,7 @@ loc_4BAB2: loc_4BABE: move.l #Obj_CNZMinibossCoilOpen,(a0) - move.b #-$57,$28(a0) + move.b #$A9,$28(a0) rts ; --------------------------------------------------------------------------- @@ -90680,7 +90543,7 @@ Obj_CNZMinibossCoilOpen: loc_4BAF2: move.l #loc_4BB00,(a0) - move.b #-$56,$28(a0) + move.b #$AA,$28(a0) rts ; --------------------------------------------------------------------------- @@ -90782,7 +90645,8 @@ word_4BC26: dc.w $F000 dc.w $34 dc.w $3C dc.w $48 -CNZMinibossDebris_Frames:dc.b $12, $13, $14, $14, $14, $14, $14, $14, $15, 0 +CNZMinibossDebris_Frames: + dc.b $12, $13, $14, $14, $14, $14, $14, $14, $15, 0 ; --------------------------------------------------------------------------- SetUp_CNZMinibossSwing: @@ -90836,8 +90700,8 @@ CNZMiniboss_CheckTopHit: beq.s CNZMiniboss_BossDefeated bset #6,$2A(a0) move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_4BCDA: moveq #0,d0 @@ -91042,47 +90906,57 @@ loc_4BE7C: ; End of function CNZMinibossTop_CheckHitBase ; --------------------------------------------------------------------------- -CNZMiniboss_BaseRange:dc.w $FFE8, $30 +CNZMiniboss_BaseRange: + dc.w $FFE8, $30 dc.w $FFF0, $20 -CNZMiniboss_CoilRange:dc.w $FFF4, $18 +CNZMiniboss_CoilRange: + dc.w $FFF4, $18 dc.w $10, $18 -CNZMiniboss_CoilOpenRange:dc.w $FFF4, $18 +CNZMiniboss_CoilOpenRange: + dc.w $FFF4, $18 dc.w $10, $38 -ObjDat_CNZMiniboss:dc.l Map_CNZMiniboss +ObjDat_CNZMiniboss: + dc.l Map_CNZMiniboss dc.w $A52E dc.w $280 dc.b $18 dc.b $30 dc.b 0 dc.b $C -ObjDat3_CNZMinibossTop:dc.w $200 +ObjDat3_CNZMinibossTop: + dc.w $200 dc.b $18 dc.b $10 dc.b 7 dc.b $AA -ObjDat3_CNZMinibossSpark:dc.w $200 +ObjDat3_CNZMinibossSpark: + dc.w $200 dc.b $C dc.b $18 dc.b $A dc.b $92 -ObjDat3_CNZMbossBounceEffect:dc.w $100 +ObjDat3_CNZMbossBounceEffect: + dc.w $100 dc.b 8 dc.b 8 dc.b $C dc.b 0 -ObjDat_CNZMinibossDebris:dc.l Map_CNZMiniboss +ObjDat_CNZMinibossDebris: + dc.l Map_CNZMiniboss dc.w $A52E dc.w $100 dc.b $10 dc.b $10 dc.b 0 dc.b 0 -Child1_CNZMinibossMakeTop:dc.w 1 +Child1_CNZMinibossMakeTop: + dc.w 1 dc.l loc_4B7E8 dc.w $2C dc.l Obj_CNZMinibossCoil dc.w $1C -Child1_CNZMinibossTimedSparks:dc.w 1 +Child1_CNZMinibossTimedSparks: + dc.w 1 dc.l Obj_CNZMinibossTimedSparks dc.w $EC18 dc.l Obj_CNZMinibossTimedSparks @@ -91090,66 +90964,46 @@ Child1_CNZMinibossTimedSparks:dc.w 1 dc.w 0 dc.l loc_4BAF2 dc.w $FC -Child1_CNZCoilOpenSparks:dc.w 2 +Child1_CNZCoilOpenSparks: + dc.w 2 dc.l loc_4BB70 dc.w $FC28 dc.l loc_4BB70 dc.w $42C dc.l loc_4BB70 dc.w $FC3C -Child1_CNZBounceEffect:dc.w 0 +Child1_CNZBounceEffect: + dc.w 0 dc.l Obj_CNZMinibossBounceEffect dc.w $FC -Child1_CNZMinibossExplosion:dc.w 0 +Child1_CNZMinibossExplosion: + dc.w 0 dc.l Obj_CreateBossExplosion dc.w 0 -Child6_CNZMinibossMakeDebris:dc.w 8 +Child6_CNZMinibossMakeDebris: + dc.w 8 dc.l Obj_CNZMinibossDebris -AniRaw_CNZMinibossOpening:dc.b 0, 3 - dc.b 1, 3 - dc.b 2, 3 - dc.b 3, 3 - dc.b 4, 3 - dc.b 5, 3 - dc.b 6, 3 - dc.b $F4 -AniRaw_CNZMinibossClosing:dc.b 6, 3 - dc.b 5, 3 - dc.b 4, 3 - dc.b 3, 3 - dc.b 2, 3 - dc.b 1, 3 - dc.b 0, 3 - dc.b $F4 -AniRaw_CNZMinibossTop:dc.b 7, 8, 7, 8, 9, $FC -AniRaw_CNZMinibossTop2:dc.b 0, 7, 8, 9, $FC -AniRaw_CNZMinibossTimedSparkLeft:dc.b $A, 0 - dc.b $11, 2 - dc.b $B, 0 - dc.b $11, 2 - dc.b $FC -AniRaw_CNZMinibossTimedSparkRight:dc.b $F, 0 - dc.b $11, 2 - dc.b $10, 0 - dc.b $11, 2 - dc.b $FC -AniRaw_CNZMinibossSparks1:dc.b $A, 0 - dc.b $11, 7 - dc.b $B, 0 - dc.b $11, 7 - dc.b $FC -AniRaw_CNZMinibossSparks2:dc.b $11, 0 - dc.b $F, 0 - dc.b $11, 7 - dc.b $10, 0 - dc.b $11, 9 - dc.b $FC -AniRaw_CNZMinibossSparks3:dc.b $A, 0 - dc.b $11, 7 - dc.b $B, 0 - dc.b $11, $B - dc.b $FC -AniRaw_CNZMBossBoundEffect:dc.b $C, 0, $D, 1, $E, 1, $F4, 0 +AniRaw_CNZMinibossOpening: + dc.b 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3, $F4 +AniRaw_CNZMinibossClosing: + dc.b 6, 3, 5, 3, 4, 3, 3, 3, 2, 3, 1, 3, 0, 3, $F4 +AniRaw_CNZMinibossTop: + dc.b 7, 8, 7, 8, 9, $FC +AniRaw_CNZMinibossTop2: + dc.b 0, 7, 8, 9, $FC +AniRaw_CNZMinibossTimedSparkLeft: + dc.b $A, 0, $11, 2, $B, 0, $11, 2, $FC +AniRaw_CNZMinibossTimedSparkRight: + dc.b $F, 0, $11, 2, $10, 0, $11, 2, $FC +AniRaw_CNZMinibossSparks1: + dc.b $A, 0, $11, 7, $B, 0, $11, 7, $FC +AniRaw_CNZMinibossSparks2: + dc.b $11, 0, $F, 0, $11, 7, $10, 0, $11, 9, $FC +AniRaw_CNZMinibossSparks3: + dc.b $A, 0, $11, 7, $B, 0, $11, $B, $FC +AniRaw_CNZMBossBoundEffect: + dc.b $C, 0, $D, 1, $E, 1, $F4 + even Pal_CNZMiniboss:binclude "Levels/CNZ/Palettes/Miniboss.bin" even ; --------------------------------------------------------------------------- @@ -91159,11 +91013,11 @@ Obj_CNZEndBoss: jsr (Check_CameraInRange).l move.l #loc_4BFF4,(a0) move.b #1,(Boss_flag).w - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.w #$78,$2E(a0) move.b #mus_EndBoss,$26(a0) - move.w (Camera_target_max_Y_pos).w,(Target_camera_max_Y_pos).w + move.w (Camera_target_max_Y_pos).w,(Camera_stored_max_Y_pos).w move.w #$240,(Camera_target_max_Y_pos).w move.w #$4760,$1C(a0) move.w #$47E0,(Camera_max_X_pos).w @@ -91378,8 +91232,8 @@ loc_4C1EA: bset #4,$38(a0) move.w #$7F,$2E(a0) move.l #loc_4C21A,$34(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l lea ChildObjDat_4C8D6(pc),a2 jmp CreateChild1_Normal(pc) ; --------------------------------------------------------------------------- @@ -91388,8 +91242,8 @@ loc_4C21A: move.l #loc_4C240,(a0) st (_unkFAA8).w clr.b (Boss_flag).w - jsr (Obj_PlayLevelMusic).l - move.w #$48F0,(Target_camera_max_X_pos).w + jsr (Restore_LevelMusic).l + move.w #$48F0,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jmp (CreateChild6_Simple).l ; --------------------------------------------------------------------------- @@ -91403,10 +91257,10 @@ loc_4C240: jsr (Restore_PlayerControl).l lea (Player_2).w,a1 jsr (Restore_PlayerControl2).l - move.w #$200,(Target_camera_min_Y_pos).w + move.w #$200,(Camera_stored_min_Y_pos).w lea (Child6_DecLevY).l,a2 jsr (CreateChild6_Simple).l - move.w #$4A70,(Target_camera_max_X_pos).w + move.w #$4A70,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jmp (CreateChild6_Simple).l ; --------------------------------------------------------------------------- @@ -91517,8 +91371,8 @@ loc_4C3AA: ; --------------------------------------------------------------------------- loc_4C3BC: - moveq #sfx_FloorThump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FloorThump),d0 + jsr (Play_SFX).l move.w $1A(a0),d0 cmpi.w #$80,d0 bcs.s loc_4C3D8 @@ -91745,8 +91599,8 @@ loc_4C5F6: ; --------------------------------------------------------------------------- loc_4C600: - moveq #sfx_GravityMachine,d0 - jsr (sub_542A6).l + moveq #signextendB(sfx_GravityMachine),d0 + jsr (Play_SFX_Continuous).l jsr Refresh_ChildPosition(pc) jsr Animate_Raw(pc) bsr.w sub_4C6F8 @@ -91932,8 +91786,8 @@ sub_4C778: tst.b $20(a0) bne.s loc_4C79C move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_4C79C: bset #6,$2A(a0) @@ -92058,26 +91912,32 @@ ObjDat3_4C896: dc.l Map_CNZEndBoss dc.b $40 dc.b 6 dc.b $AB -ChildObjDat_4C8A2:dc.w 0 +ChildObjDat_4C8A2: + dc.w 0 dc.l loc_4C33C dc.w $14 -ChildObjDat_4C8AA:dc.w 3 +ChildObjDat_4C8AA: + dc.w 3 dc.l loc_4C45C dc.w 8 -ChildObjDat_4C8B2:dc.w 0 +ChildObjDat_4C8B2: + dc.w 0 dc.l loc_4C5C6 dc.w $4C -ChildObjDat_4C8BA:dc.w 1 +ChildObjDat_4C8BA: + dc.w 1 dc.l loc_4C5C6 dc.w $F454 dc.l loc_4C5C6 dc.w $C54 -ChildObjDat_4C8C8:dc.w 1 +ChildObjDat_4C8C8: + dc.w 1 dc.l loc_4C43A dc.w $F800 dc.l loc_4C43A dc.w $800 -ChildObjDat_4C8D6:dc.w 1 +ChildObjDat_4C8D6: + dc.w 1 dc.l loc_4C688 dc.w $EC00 dc.l loc_4C688 @@ -92114,7 +91974,7 @@ Pal_CNZEndBoss: binclude "Levels/CNZ/Palettes/End Boss.bin" even ; --------------------------------------------------------------------------- -Obj_AA_1_FBZ1_Boss: +Obj_FBZMiniboss: lea word_4C96E(pc),a1 jsr (Check_CameraInRange).l moveq #0,d0 @@ -92139,8 +91999,8 @@ loc_4C976: jsr SetUp_ObjAttributes(pc) move.b #6,$29(a0) move.b #1,(Boss_flag).w - move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w - move.w (Camera_max_Y_pos).w,(Target_camera_max_Y_pos).w + move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w + move.w (Camera_max_Y_pos).w,(Camera_stored_max_Y_pos).w move.w #$540,(Camera_target_max_Y_pos).w move.w #$2E20,$3A(a0) move.l #loc_4C9CA,$34(a0) @@ -92158,7 +92018,7 @@ loc_4C9C4: loc_4C9CA: move.b #4,5(a0) - move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w + move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w move.w d0,(Camera_min_X_pos).w addi.w #$40,d0 move.w d0,(Camera_max_X_pos).w @@ -92175,8 +92035,8 @@ loc_4C9EE: move.b #6,5(a0) move.l #loc_4CA10,$34(a0) move.w #$78,$2E(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l locret_4CA0A: rts @@ -92188,8 +92048,8 @@ loc_4CA0C: loc_4CA10: move.b #8,5(a0) - moveq #mus_Miniboss,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Miniboss),d0 + jsr (Play_Music).l rts ; --------------------------------------------------------------------------- @@ -92253,7 +92113,7 @@ loc_4CAA8: loc_4CAB6: move.l #loc_4CAD6,(a0) move.l #Map_EggCapsule,$C(a0) - move.w #-$7BB2,$A(a0) + move.w #$844E,$A(a0) move.b #5,$22(a0) addq.w #8,$14(a0) rts @@ -92627,7 +92487,7 @@ loc_4CE94: lea word_4D486(pc),a1 move.w #3,$3E(a0) jsr SetUp_ObjAttributes3(pc) - move.b #-$7A,$28(a0) + move.b #$86,$28(a0) movea.w $46(a0),a1 movea.w $46(a1),a1 movea.w $46(a1),a1 @@ -92901,7 +92761,7 @@ loc_4D188: loc_4D196: bsr.w sub_4D1B8 move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.s loc_4D1B2 @@ -93224,8 +93084,8 @@ sub_4D3C6: subq.b #1,$29(a0) beq.s loc_4D40E move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_4D3E8: moveq #0,d0 @@ -93333,7 +93193,8 @@ ObjDat3_4D4AA: dc.l Map_EggCapsule dc.b $20 dc.b 1 dc.b 0 -ChildObjDat_4D4B6:dc.w 6 +ChildObjDat_4D4B6: + dc.w 6 dc.l loc_4CB84 dc.w $F0F8 dc.l loc_4CB84 @@ -93350,12 +93211,15 @@ ChildObjDat_4D4B6:dc.w 6 dc.w 0 word_4D4E2: dc.w 4 dc.l loc_4CE44 -ChildObjDat_4D4E8:dc.w 0 +ChildObjDat_4D4E8: + dc.w 0 dc.l loc_4CB46 dc.w $F8 -ChildObjDat_4D4F0:dc.w 0 +ChildObjDat_4D4F0: + dc.w 0 dc.l loc_4D188 -ChildObjDat_4D4F6:dc.w 4 +ChildObjDat_4D4F6: + dc.w 4 dc.l loc_54776 dc.w $FC dc.l loc_54776 @@ -93378,17 +93242,15 @@ ChildObjDat_4D4F6:dc.w 4 dc.b $FC Pal_FBZMiniboss:binclude "Levels/FBZ/Palettes/S3 Miniboss.bin" even - word_4D540: palscriptptr .header, .data dc.w 0 .header palscripthdr Normal_palette_line_2+$1E, 1, 7-1 - .data palscriptdata 1, $EEE palscriptdata 4, $644 palscriptrun ; --------------------------------------------------------------------------- -Obj_AB_1_FBZ_Laser_Boss: +Obj_FBZ2Subboss: moveq #0,d0 move.b 5(a0),d0 move.w off_4D56E(pc,d0.w),d1 @@ -93409,12 +93271,12 @@ loc_4D57A: jsr SetUp_ObjAttributes(pc) move.b #$7F,$29(a0) move.b #6,$39(a0) - move.w (Camera_target_max_Y_pos).w,(Target_camera_max_Y_pos).w + move.w (Camera_target_max_Y_pos).w,(Camera_stored_max_Y_pos).w move.w #$240,(Camera_target_max_Y_pos).w move.w #$78,$2E(a0) move.l #loc_4D5EC,$34(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.b #1,(Boss_flag).w moveq #$6A,d0 jsr (Load_PLC).l @@ -93440,8 +93302,8 @@ loc_4D5E8: loc_4D5EC: move.b #4,5(a0) move.w #$3F,$2E(a0) - moveq #mus_Miniboss,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Miniboss),d0 + jsr (Play_Music).l locret_4D600: rts @@ -93781,7 +93643,7 @@ loc_4D9A2: clr.b $28(a0) cmpi.b #8,$22(a0) bne.s loc_4D9B4 - move.b #-$54,$28(a0) + move.b #$AC,$28(a0) loc_4D9B4: lea (Player_1).w,a2 @@ -93878,8 +93740,8 @@ sub_4DA98: tst.b $20(a0) bne.s loc_4DAB2 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_4DAB2: bset #6,$2A(a0) @@ -93941,18 +93803,22 @@ ObjDat3_4DB22: dc.l Map_FBZRobotnikStand dc.b $20 dc.b 0 dc.b 0 -ChildObjDat_4DB2E:dc.w 3 +ChildObjDat_4DB2E: + dc.w 3 dc.l loc_4D74E dc.w 0 -ChildObjDat_4DB36:dc.w 1 +ChildObjDat_4DB36: + dc.w 1 dc.l loc_4D7CA dc.w 0 dc.l loc_4D814 dc.w 0 -ChildObjDat_4DB44:dc.w 1 +ChildObjDat_4DB44: + dc.w 1 dc.l loc_4D8BE dc.w 0 -ChildObjDat_4DB4C:dc.w 0 +ChildObjDat_4DB4C: + dc.w 0 dc.l loc_4D936 dc.w 8 byte_4DB54: dc.b 0, 7 @@ -94003,7 +93869,7 @@ loc_4DBC0: jsr SetUp_ObjAttributes(pc) move.b #8,$29(a0) move.b #1,(Boss_flag).w - move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w + move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w move.w #$3090,(Camera_max_X_pos).w moveq #$6F,d0 jsr (Load_PLC).l @@ -94011,8 +93877,8 @@ loc_4DBC0: jsr (PalLoad_Line1).l move.w #$78,$2E(a0) move.l #loc_4DC30,$34(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l lea (ChildObjDat_4642E).l,a2 jsr CreateChild1_Normal(pc) bne.s loc_4DC1E @@ -94031,8 +93897,8 @@ loc_4DC26: loc_4DC30: move.b #4,5(a0) - moveq #mus_EndBoss,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_EndBoss),d0 + jsr (Play_Music).l locret_4DC3E: rts @@ -94130,8 +93996,8 @@ loc_4DD3C: bset #4,$38(a0) move.w #$7F,$2E(a0) move.l #loc_4DD66,$34(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l lea ChildObjDat_4E2EA(pc),a2 jmp CreateChild1_Normal(pc) ; --------------------------------------------------------------------------- @@ -94142,13 +94008,13 @@ loc_4DD66: st (_unkFAA8).w move.w #$7F,$2E(a0) move.l #loc_4DD8A,$34(a0) - jmp (Obj_PlayLevelMusic).l + jmp (Restore_LevelMusic).l ; --------------------------------------------------------------------------- loc_4DD8A: move.l #loc_4DDA6,(a0) clr.b (Boss_flag).w - move.w #$3170,(Target_camera_max_X_pos).w + move.w #$3170,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jmp (CreateChild6_Simple).l ; --------------------------------------------------------------------------- @@ -94161,7 +94027,7 @@ loc_4DDA6: jsr Restore_PlayerControl(pc) lea (Player_2).w,a1 jsr Restore_PlayerControl2(pc) - move.w #$6000,(Target_camera_max_X_pos).w + move.w #$6000,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jsr (CreateChild6_Simple).l jmp (Go_Delete_Sprite_2).l @@ -94622,8 +94488,8 @@ sub_4E200: tst.b $20(a0) bne.s loc_4E224 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_4E224: bset #6,$2A(a0) @@ -94702,22 +94568,27 @@ ObjDat3_4E2B4: dc.l Map_FBZEndBossFlame dc.b $10 dc.b 0 dc.b $8B -ChildObjDat_4E2C0:dc.w 2 +ChildObjDat_4E2C0: + dc.w 2 dc.l loc_4DDDC dc.w $D0B8 dc.l loc_4DDDC dc.w $30B8 dc.l loc_4DF98 dc.w $D8 -ChildObjDat_4E2D4:dc.w 0 +ChildObjDat_4E2D4: + dc.w 0 dc.l loc_4DEB2 dc.w $20 -ChildObjDat_4E2DC:dc.w 3 +ChildObjDat_4E2DC: + dc.w 3 dc.l loc_4DF44 dc.w 0 -ChildObjDat_4E2E4:dc.w 8 +ChildObjDat_4E2E4: + dc.w 8 dc.l loc_4E00E -ChildObjDat_4E2EA:dc.w 3 +ChildObjDat_4E2EA: + dc.w 3 dc.l loc_4E032 dc.w $EC08 dc.l loc_4E032 @@ -94779,12 +94650,12 @@ Obj_ICZMiniboss: jsr (Check_CameraInRange).l move.l #loc_4E3F4,(a0) move.b #1,(Boss_flag).w - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.w #$78,$2E(a0) move.b #mus_Miniboss,$26(a0) - move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w - move.w (Camera_target_max_Y_pos).w,(Target_camera_max_Y_pos).w + move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w + move.w (Camera_target_max_Y_pos).w,(Camera_stored_max_Y_pos).w move.w #$2B8,(Camera_target_max_Y_pos).w move.w #$6F0,$1C(a0) move.w #$6F0,(Camera_max_X_pos).w @@ -94890,8 +94761,8 @@ loc_4E4BE: bset #2,$38(a0) move.w #$7F,$2E(a0) move.l #loc_4E4DC,$34(a0) - moveq #sfx_TunnelBooster,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_TunnelBooster),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -94918,8 +94789,8 @@ loc_4E50A: neg.w $3E(a0) move.w $3E(a0),$18(a0) move.w #$5F,$2E(a0) - moveq #sfx_BossRotate,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossRotate),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -95151,9 +95022,9 @@ loc_4E75E: loc_4E768: move.b #8,5(a0) - move.b #-$75,$28(a0) - moveq #sfx_BossRotate,d0 - jsr (Play_Sound_2).l + move.b #$8B,$28(a0) + moveq #signextendB(sfx_BossRotate),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -95244,8 +95115,8 @@ loc_4E84C: loc_4E850: move.b #$14,5(a0) - moveq #sfx_LevelProjectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_LevelProjectile),d0 + jsr (Play_SFX).l move.w #$400,$1A(a0) clr.w $18(a0) move.w #$45,$2E(a0) @@ -95536,8 +95407,8 @@ sub_4EAC2: tst.b $20(a0) bne.s loc_4EAE2 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_4EAE2: bset #6,$2A(a0) @@ -95607,7 +95478,8 @@ word_4EB66: dc.w $180 dc.b $C dc.b $B dc.b 0 -ChildObjDat_4EB6C:dc.w 5 +ChildObjDat_4EB6C: + dc.w 5 dc.l loc_4E658 dc.w $F2F5 dc.l loc_4E658 @@ -95620,9 +95492,11 @@ ChildObjDat_4EB6C:dc.w 5 dc.w $EF5 dc.l loc_4E658 dc.w $E -ChildObjDat_4EB92:dc.w 7 +ChildObjDat_4EB92: + dc.w 7 dc.l loc_4E6C2 -ChildObjDat_4EB98:dc.w 3 +ChildObjDat_4EB98: + dc.w 3 dc.l loc_4E886 dc.w $F4F4 dc.l loc_4E886 @@ -95652,7 +95526,6 @@ Pal_ICZMiniboss:binclude "Levels/ICZ/Palettes/Miniboss.bin" even word_4EBE2: palscriptptr .header, .data dc.w 0 - .header palscripthdr Normal_palette_line_4+$02, 10, 2-1 .data palscriptdata 8, $EEC, $CC6, $C80, $C60, $C40, $A40, $820, $620, $200, $600 palscriptdata 8, $EEC, $CC6, $C82, $C80, $C40, $A40, $820, $820, $200, $600 @@ -95672,11 +95545,11 @@ Obj_ICZEndBoss: jsr (Check_CameraInRange).l move.l #loc_4ED30,(a0) move.b #1,(Boss_flag).w - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.w #$78,$2E(a0) move.b #mus_EndBoss,$26(a0) - move.w (Camera_target_max_Y_pos).w,(Target_camera_max_Y_pos).w + move.w (Camera_target_max_Y_pos).w,(Camera_stored_max_Y_pos).w move.w #$5F8,(Camera_target_max_Y_pos).w move.w #$4390,$1C(a0) move.w #$4390,(Camera_max_X_pos).w @@ -95778,8 +95651,8 @@ loc_4EDFA: loc_4EE16: move.l #loc_4EE3C,$34(a0) - moveq #sfx_FrostPuff,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FrostPuff),d0 + jsr (Play_SFX).l bsr.w sub_4F1D2 cmpi.w #2,$26(a0) bne.w locret_4ED3A @@ -95815,8 +95688,8 @@ loc_4EE74: bset #4,$38(a0) move.w #$7F,$2E(a0) move.l #loc_4EEA4,$34(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l lea ChildObjDat_4F400(pc),a2 jmp CreateChild1_Normal(pc) ; --------------------------------------------------------------------------- @@ -95825,8 +95698,8 @@ loc_4EEA4: move.l #loc_4EECE,(a0) st (_unkFAA8).w clr.b (Boss_flag).w - jsr (Obj_PlayLevelMusic).l - move.w #$44C0,(Target_camera_max_X_pos).w + jsr (Restore_LevelMusic).l + move.w #$44C0,(Camera_stored_max_X_pos).w jsr (Create_New_Sprite).l bne.s locret_4EECC move.l #Obj_IncLevEndXGradual,(a1) @@ -95843,8 +95716,8 @@ loc_4EECE: jsr Restore_PlayerControl(pc) lea (Player_2).w,a1 jsr Restore_PlayerControl2(pc) - move.w (Target_camera_max_Y_pos).w,(Camera_target_max_Y_pos).w - move.w #$47C0,(Target_camera_max_X_pos).w + move.w (Camera_stored_max_Y_pos).w,(Camera_target_max_Y_pos).w + move.w #$47C0,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jsr (CreateChild6_Simple).l jmp (Go_Delete_Sprite_2).l @@ -96096,7 +95969,7 @@ word_4F15E: dc.w $FFF0, $20, $FFF0, $20 loc_4F166: move.l #loc_4F174,(a0) - move.b #-$65,$28(a0) + move.b #$9B,$28(a0) rts ; --------------------------------------------------------------------------- @@ -96279,8 +96152,8 @@ sub_4F2F4: loc_4F31C: move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_4F32A: bset #6,$2A(a0) @@ -96362,26 +96235,33 @@ word_4F3C4: dc.w $180 dc.b $10 dc.b 0 dc.b 0 -ChildObjDat_4F3CA:dc.w 0 +ChildObjDat_4F3CA: + dc.w 0 dc.l Obj_RobotnikShip4 dc.w 0 -ChildObjDat_4F3D2:dc.w 2 +ChildObjDat_4F3D2: + dc.w 2 dc.l loc_4EF0A dc.w $1807 dc.l loc_4EF70 dc.w $B dc.l loc_4F010 dc.w $2D -ChildObjDat_4F3E6:dc.w 5 +ChildObjDat_4F3E6: + dc.w 5 dc.l loc_4F0CE -ChildObjDat_4F3EC:dc.w 6 +ChildObjDat_4F3EC: + dc.w 6 dc.l loc_4F0CE -ChildObjDat_4F3F2:dc.w 3 +ChildObjDat_4F3F2: + dc.w 3 dc.l loc_4F0CE -ChildObjDat_4F3F8:dc.w 0 +ChildObjDat_4F3F8: + dc.w 0 dc.l loc_4F166 dc.w 8 -ChildObjDat_4F400:dc.w 2 +ChildObjDat_4F400: + dc.w 2 dc.l loc_4F190 dc.w $EC04 dc.l loc_4F190 @@ -96621,7 +96501,7 @@ loc_4F63E: lea word_4F95A(pc),a1 jsr SetUp_ObjAttributes3(pc) move.w #$100,$2E(a0) - move.l #sub_4F68E,$34(a0) + move.l #loc_4F68E,$34(a0) move.b #4,$3D(a0) move.w #5,$3E(a0) cmpi.b #$A,$2C(a0) @@ -96642,11 +96522,9 @@ loc_4F682: move.w $3E(a0),d2 jsr MoveSprite_CircularSimple(pc) jmp Obj_Wait(pc) +; --------------------------------------------------------------------------- -; =============== S U B R O U T I N E ======================================= - - -sub_4F68E: +loc_4F68E: move.b #4,5(a0) bsr.w sub_4F818 move.l #loc_4F6CA,$34(a0) @@ -96712,12 +96590,12 @@ loc_4F726: loc_4F73A: bclr #1,$38(a0) neg.b $3D(a0) - bsr.w sub_4F68E + bsr.w loc_4F68E cmpi.b #$A,$2C(a0) bne.s loc_4F76A move.b #$A,5(a0) move.w #$3C,$2E(a0) - move.l #sub_4F68E,$34(a0) + move.l #loc_4F68E,$34(a0) bset #1,$38(a0) loc_4F76A: @@ -96738,8 +96616,6 @@ loc_4F786: movea.l off_4F792(pc,d1.w),a1 move.b (a1,d0.w),$3C(a0) rts -; End of function sub_4F68E - ; --------------------------------------------------------------------------- off_4F792: dc.l byte_4F800 dc.l byte_4F806 @@ -96862,8 +96738,8 @@ loc_4F866: move.b 5(a0),$3A(a0) move.b #$A,5(a0) move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_4F886: jsr BossFlash(pc) @@ -96963,12 +96839,15 @@ word_4F95A: dc.w $180 dc.b 8 dc.b 6 dc.b $98 -ChildObjDat_4F960:dc.w 0 +ChildObjDat_4F960: + dc.w 0 dc.l loc_4F5C0 dc.w 0 -ChildObjDat_4F968:dc.w 5 +ChildObjDat_4F968: + dc.w 5 dc.l loc_4F616 -ChildObjDat_4F96E:dc.w 5 +ChildObjDat_4F96E: + dc.w 5 dc.l loc_4F610 byte_4F974: dc.b $F, 0 dc.b 1, 0 @@ -96986,7 +96865,7 @@ Pal_LBZMiniboss:binclude "Levels/LBZ/Palettes/Miniboss.bin" even ; --------------------------------------------------------------------------- -Obj_LBZ_FinalBoss1: +Obj_LBZFinalBoss1: moveq #0,d0 move.b 5(a0),d0 move.w off_4F9C2(pc,d0.w),d1 @@ -97143,7 +97022,7 @@ loc_4FB0A: bclr #7,$A(a0) jsr (Create_New_Sprite).l bne.s loc_4FB46 - move.l #Obj_LBZ_FinalBoss2,(a1) + move.l #Obj_LBZFinalBoss2,(a1) move.w $10(a0),$10(a1) move.w $14(a0),$14(a1) @@ -97424,8 +97303,8 @@ loc_4FE2E: move.l #loc_4FE6A,(a0) tst.b 4(a0) bpl.s loc_4FE42 - moveq #sfx_Lazer,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Laser),d0 + jsr (Play_SFX).l loc_4FE42: move.b #-$64,$28(a0) @@ -97579,7 +97458,7 @@ loc_4FFC4: addq.b #1,d0 move.b d0,$39(a0) andi.b #3,d0 - andi.b #-4,4(a0) + andi.b #$FC,4(a0) or.b d0,4(a0) rts @@ -97721,8 +97600,8 @@ sub_500DA: move.b #6,5(a0) move.b #$20,$20(a0) bset #6,$2A(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l move.w $1A(a0),d0 asl.w #1,d0 cmpi.w #-$800,d0 @@ -97955,20 +97834,24 @@ ObjDat3_50312: dc.l Map_LBZFinalBoss1 dc.b $C dc.b $10 dc.b 0 -ChildObjDat_5031E:dc.w 0 +ChildObjDat_5031E: + dc.w 0 dc.l loc_4FEF2 dc.w $10 -ChildObjDat_50326:dc.w 0 +ChildObjDat_50326: + dc.w 0 dc.l loc_4FF0A dc.w 8 -ChildObjDat_5032E:dc.w 2 +ChildObjDat_5032E: + dc.w 2 dc.l loc_4FC30 dc.w 8 dc.l loc_4FC90 dc.w $30 dc.l loc_4FC98 dc.w $5C -ChildObjDat_50342:dc.w 3 +ChildObjDat_50342: + dc.w 3 dc.l loc_4FCC8 dc.w $F0FC dc.l loc_4FCC8 @@ -97977,7 +97860,8 @@ ChildObjDat_50342:dc.w 3 dc.w $F010 dc.l loc_4FCC8 dc.w $1010 -ChildObjDat_5035C:dc.w 5 +ChildObjDat_5035C: + dc.w 5 dc.l loc_4FCC8 dc.w $F0F8 dc.l loc_4FCC8 @@ -97990,30 +97874,37 @@ ChildObjDat_5035C:dc.w 5 dc.w $ECE0 dc.l loc_4FCC8 dc.w $14E0 -ChildObjDat_50382:dc.w 1 +ChildObjDat_50382: + dc.w 1 dc.l loc_4FD52 dc.w 0 -ChildObjDat_5038A:dc.w 0 +ChildObjDat_5038A: + dc.w 0 dc.l loc_4FD98 dc.w $F800 dc.w 0 dc.l loc_4FD98 dc.w $800 -ChildObjDat_5039A:dc.w 0 +ChildObjDat_5039A: + dc.w 0 dc.l loc_4FEAA dc.w $2000 -ChildObjDat_503A2:dc.w 1 +ChildObjDat_503A2: + dc.w 1 dc.l loc_4FECE dc.w $EC30 dc.l loc_4FECE dc.w $1430 -ChildObjDat_503B0:dc.w 0 +ChildObjDat_503B0: + dc.w 0 dc.l loc_4FF80 dc.w 0 -ChildObjDat_503B8:dc.w 0 +ChildObjDat_503B8: + dc.w 0 dc.l loc_4FCF0 dc.w $EC -ChildObjDat_503C0:dc.w 1 +ChildObjDat_503C0: + dc.w 1 dc.l loc_4FD1A dc.w $F000 dc.l loc_4FD1A @@ -98050,7 +97941,7 @@ Pal_LBZFinalBoss1: even ; --------------------------------------------------------------------------- -Obj_LBZ_EndBoss: +Obj_LBZEndBoss: lea word_5043C(pc),a1 jsr (Check_CameraInRange).l moveq #0,d0 @@ -98075,8 +97966,8 @@ loc_50444: jsr SetUp_ObjAttributes(pc) move.b #8,$29(a0) move.b #1,(Boss_flag).w - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.w #$78,$2E(a0) move.b #mus_EndBoss,$26(a0) move.w #$5A0,(Camera_target_max_Y_pos).w @@ -98088,7 +97979,7 @@ loc_50444: moveq #$77,d0 jsr (Load_PLC).l lea (ArtKosM_LBZEndBoss).l,a1 - move.w #-$7B60,d2 + move.w #$84A0,d2 jsr (Queue_Kos_Module).l lea Pal_LBZEndBoss(pc),a1 jmp PalLoad_Line1(pc) @@ -98131,8 +98022,8 @@ loc_504DC: loc_504F2: move.b #8,5(a0) - moveq #sfx_Rising,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Rising),d0 + jsr (Play_SFX).l move.w #-$40,$1A(a0) move.w #$DF,$2E(a0) move.l #loc_50526,$34(a0) @@ -98169,8 +98060,8 @@ loc_5054C: loc_50562: move.b #$C,5(a0) - moveq #sfx_TubeLauncher,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_TubeLauncher),d0 + jsr (Play_SFX).l bra.w loc_509B6 ; --------------------------------------------------------------------------- @@ -98191,7 +98082,7 @@ loc_50594: bset #5,$38(a0) bclr #7,4(a0) clr.b (Boss_flag).w - jsr Obj_PlayLevelMusic(pc) + jsr Restore_LevelMusic(pc) lea (Player_2).w,a1 bclr #4,$2A(a1) move.l #Go_Delete_Sprite_2,(a0) @@ -98209,7 +98100,7 @@ loc_505BA: movea.w $46(a0),a1 btst #7,$2A(a1) beq.s loc_505E4 - bsr.w sub_50690 + bsr.w loc_50690 loc_505E4: jmp Child_DrawTouch_Sprite(pc) @@ -98244,7 +98135,7 @@ loc_50628: loc_50638: move.b #6,5(a0) - move.l #sub_50690,$34(a0) + move.l #loc_50690,$34(a0) move.w $26(a0),d0 clr.w $1A(a0) rts @@ -98269,19 +98160,15 @@ loc_50666: bne.w locret_504DA lea ChildObjDat_50C24(pc),a2 jmp CreateChild1_Normal(pc) +; --------------------------------------------------------------------------- -; =============== S U B R O U T I N E ======================================= - - -sub_50690: +loc_50690: move.l #Delete_Current_Sprite,(a0) bset #7,$2A(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l lea ChildObjDat_50C2C(pc),a2 jmp CreateChild1_Normal(pc) -; End of function sub_50690 - ; --------------------------------------------------------------------------- loc_506AC: @@ -98487,7 +98374,7 @@ off_5087E: dc.w loc_50884-off_5087E ; --------------------------------------------------------------------------- loc_50884: - lea off_50B84(pc),a1 + lea ObjDat3_50B84(pc),a1 jsr SetUp_ObjAttributes(pc) move.w #-$180,$18(a0) move.l #byte_50C76,$30(a0) @@ -98702,8 +98589,8 @@ sub_50A7A: tst.b $20(a0) bne.s loc_50A9E move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_50A9E: bset #6,$2A(a0) @@ -98732,7 +98619,7 @@ loc_50AD2: bclr #7,4(a0) move.w #$7F,$2E(a0) bset #4,$38(a0) - move.w #-$5BDB,$A(a0) + move.w #$A425,$A(a0) move.w #-$200,$1A(a0) move.l #loc_50594,$34(a0) lea (Child6_CreateBossExplosion).l,a2 @@ -98741,7 +98628,7 @@ loc_50AD2: move.b #4,$2C(a1) loc_50B18: - move.w #$3AB8,(Target_camera_max_X_pos).w + move.w #$3AB8,(Camera_stored_max_X_pos).w lea Child6_IncLevX(pc),a2 jmp CreateChild6_Simple(pc) ; End of function sub_50A7A @@ -98758,7 +98645,7 @@ loc_50B26: loc_50B38: move.l #MoveChkDel,(a0) bset #7,$2A(a0) - move.w #-$5BDB,$A(a0) + move.w #$A425,$A(a0) moveq #0,d0 move.b $2C(a0),d0 move.w word_50B70(pc,d0.w),$18(a0) @@ -98779,7 +98666,7 @@ ObjDat3_50B78: dc.l Map_LBZEndBoss dc.b $10 dc.b 0 dc.b $18 -off_50B84: dc.l Map_FBZRobotnikRun +ObjDat3_50B84: dc.l Map_FBZRobotnikRun dc.w $4A9 dc.w $280 dc.b $20 @@ -98835,37 +98722,45 @@ ObjDat3_50BCC: dc.l Map_LBZEndBoss dc.b 8 dc.b $E dc.b 0 -ChildObjDat_50BD8:dc.w 1 +ChildObjDat_50BD8: + dc.w 1 dc.l loc_508EC dc.w $F8 dc.l loc_5097A dc.w $E8F0 -ChildObjDat_50BE6:dc.w 0 +ChildObjDat_50BE6: + dc.w 0 dc.l loc_5086A dc.w $60E8 -ChildObjDat_50BEE:dc.w 2 +ChildObjDat_50BEE: + dc.w 2 dc.l loc_50710 dc.w $E838 dc.l loc_50710 dc.w $1838 dc.l loc_50710 dc.w $38 -ChildObjDat_50C02:dc.w 2 +ChildObjDat_50C02: + dc.w 2 dc.l loc_50780 dc.w $E8 dc.l loc_50780 dc.w $F8 dc.l loc_50780 dc.w 8 -ChildObjDat_50C16:dc.w 3 +ChildObjDat_50C16: + dc.w 3 dc.l loc_507AC -ChildObjDat_50C1C:dc.w 0 +ChildObjDat_50C1C: + dc.w 0 dc.l loc_505BA dc.w 0 -ChildObjDat_50C24:dc.w 0 +ChildObjDat_50C24: + dc.w 0 dc.l loc_506AC dc.w $10 -ChildObjDat_50C2C:dc.w $B +ChildObjDat_50C2C: + dc.w $B dc.l loc_506FE dc.w $F8F8 dc.l loc_506FE @@ -98914,7 +98809,7 @@ Pal_LBZEndBoss: binclude "Levels/LBZ/Palettes/End Boss.bin" even ; --------------------------------------------------------------------------- -Obj_LBZ_FinalBoss2: +Obj_LBZFinalBoss2: moveq #0,d0 move.b 5(a0),d0 move.w off_50CC2(pc,d0.w),d1 @@ -99282,8 +99177,8 @@ loc_51042: bset #1,$38(a0) move.w #$14,(Screen_shake_flag).w move.w #3,$2E(a0) - moveq #sfx_BossHitFloor,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHitFloor),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -99355,9 +99250,9 @@ loc_510F8: move.w a0,(_unkFAA4).w clr.w (Ctrl_1_logical).w st (Ctrl_1_locked).w - move.b #-$80,(Player_1+object_control).w + move.b #$80,(Player_1+object_control).w lea (ArtKosM_LBZ2DeathEggSmall).l,a1 - move.w #-$6A40,d2 + move.w #$95C0,d2 jsr (Queue_Kos_Module).l loc_51142: @@ -99905,8 +99800,8 @@ sub_5174A: addi.w #$80,d0 cmp.w $14(a0),d0 bcc.s locret_51762 - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.l (sp),(a0) locret_51762: @@ -99928,10 +99823,10 @@ loc_5177E: move.l (a1)+,(a2)+ dbf d0,loc_5177E move.l #loc_517BA,(a0) - moveq #sfx_FlamethrowerQuiet,d0 - jsr (Play_Sound_2).l - moveq #mus_Ending,d0 - jsr (Play_Sound).l + moveq #signextendB(sfx_FlamethrowerQuiet),d0 + jsr (Play_SFX).l + moveq #signextendB(mus_Ending),d0 + jsr (Play_Music).l jsr sub_5439C(pc) lsl.w #2,d0 movea.l off_517AE(pc,d0.w),a1 @@ -100225,7 +100120,7 @@ loc_51B3C: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Obj_FleeingRobotnik_Unused: +Obj_LBZ2UnusedRobotnik: lea ObjDat3_51F9C(pc),a1 jsr SetUp_ObjAttributes(pc) move.l #loc_51BB6,(a0) @@ -100243,7 +100138,7 @@ Obj_FleeingRobotnik_Unused: move.w #$800,$18(a0) move.w #-$3C0,$1A(a0) move.b #4,$40(a0) - move.l #ArtScaled_FleeingRobotnik,$42(a0) + move.l #ArtScaled_LBZ2UnusedRobotnik,$42(a0) move.b #1,$3E(a0) bsr.w Perform_Art_Scaling jmp (Draw_Sprite).l @@ -100397,8 +100292,8 @@ sub_51CDE: loc_51D06: move.b #$3C,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l movea.w $44(a0),a1 clr.b $28(a1) @@ -100562,13 +100457,13 @@ word_51E86: dc.w $20 dc.w 8 dc.w 8 dc.w $200 -off_51E94: dc.l ArtScaled_FleeingRobotnik - dc.l ArtScaled_FleeingRobotnik - dc.l ArtScaled_FleeingRobotnik+$1000 - dc.l ArtScaled_FleeingRobotnik+$2000 - dc.l ArtScaled_FleeingRobotnik+$3000 - dc.l ArtScaled_FleeingRobotnik+$4000 - dc.l ArtScaled_FleeingRobotnik+$5000 +off_51E94: dc.l ArtScaled_LBZ2UnusedRobotnik + dc.l ArtScaled_LBZ2UnusedRobotnik + dc.l ArtScaled_LBZ2UnusedRobotnik+$1000 + dc.l ArtScaled_LBZ2UnusedRobotnik+$2000 + dc.l ArtScaled_LBZ2UnusedRobotnik+$3000 + dc.l ArtScaled_LBZ2UnusedRobotnik+$4000 + dc.l ArtScaled_LBZ2UnusedRobotnik+$5000 ; =============== S U B R O U T I N E ======================================= @@ -100716,7 +100611,8 @@ ObjDat3_51FA8: dc.l Map_SonicTailsEndPoses dc.b $40 dc.b 0 dc.b 0 -ChildObjDat_51FB4:dc.w 3 +ChildObjDat_51FB4: + dc.w 3 dc.l loc_511E8 dc.w $1424 dc.l loc_511CE @@ -100725,10 +100621,12 @@ ChildObjDat_51FB4:dc.w 3 dc.w $E8 dc.l loc_513AC dc.w $38EC -ChildObjDat_51FCE:dc.w 0 +ChildObjDat_51FCE: + dc.w 0 dc.l loc_513E8 dc.w $4CC -ChildObjDat_51FD6:dc.w 3 +ChildObjDat_51FD6: + dc.w 3 dc.l loc_512FC dc.w $D6FE dc.l loc_512FC @@ -100737,7 +100635,8 @@ ChildObjDat_51FD6:dc.w 3 dc.w 0 dc.l loc_5140A dc.w $C0FE -ChildObjDat_51FF0:dc.w 4 +ChildObjDat_51FF0: + dc.w 4 dc.l loc_514F6 dc.w $F4D4 dc.l loc_514F6 @@ -100748,9 +100647,11 @@ ChildObjDat_51FF0:dc.w 4 dc.w $F4FC dc.l loc_514F6 dc.w $14FC -ChildObjDat_52010:dc.w 1 +ChildObjDat_52010: + dc.w 1 dc.l loc_51524 -ChildObjDat_52016:dc.w 6 +ChildObjDat_52016: + dc.w 6 dc.l loc_516A4 dc.w 0 dc.l loc_516A4 @@ -100765,13 +100666,17 @@ ChildObjDat_52016:dc.w 6 dc.w $DCF8 dc.l loc_516A4 dc.w $B01C -ChildObjDat_52042:dc.w 0 +ChildObjDat_52042: + dc.w 0 dc.l loc_51AB8 -ChildObjDat_52048:dc.w 0 +ChildObjDat_52048: + dc.w 0 dc.l loc_51B18 -ChildObjDat_5204E:dc.w 0 +ChildObjDat_5204E: + dc.w 0 dc.l loc_542B8 -ChildObjDat_52054:dc.w 0 +ChildObjDat_52054: + dc.w 0 dc.l loc_54322 byte_5205A: dc.b 9 dc.b 7 @@ -100863,9 +100768,10 @@ Pal_SuperSonicEndPose: even Map_SonicTailsEndPoses: include "General/Ending/Map - Sonic Tails Ending Poses S3.asm" -PalSPtr_LBZFinalBoss2_FadeIn: palscriptptr .header, .data - dc.w 0 +PalSPtr_LBZFinalBoss2_FadeIn: + palscriptptr .header, .data + dc.w 0 .header palscripthdr Normal_palette_line_4+$16, 4, 2-1 .data palscriptdata 16, $ECE, $E8A, $E48, $E46 palscriptdata 16, $CAC, $C68, $C46, $A44 @@ -100873,9 +100779,9 @@ PalSPtr_LBZFinalBoss2_FadeIn: palscriptptr .header, .data palscriptdata 16, $844, $622, $400, $200 palscriptrun -PalSPtr_LBZFinalBoss2_FadeOut: palscriptptr .header, .data +PalSPtr_LBZFinalBoss2_FadeOut: + palscriptptr .header, .data dc.w 0 - .header palscripthdr Normal_palette_line_4+$16, 4, 2-1 .data palscriptdata 16, $844, $622, $400, $200 palscriptdata 16, $A88, $A46, $824, $622 @@ -100920,8 +100826,8 @@ Obj_HiddenMonitorMain: bcs.s loc_52366 loc_52352: - moveq #sfx_GroundSlide,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GroundSlide),d0 + jsr (Play_SFX).l move.l #Sprite_OnScreen_Test,(a0) loc_52360: @@ -100934,12 +100840,13 @@ loc_52366: move.b #2,5(a0) move.b #4,$3C(a0) move.w #-$500,$1A(a0) - moveq #sfx_BubbleAttack,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BubbleAttack),d0 + jsr (Play_SFX).l jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- word_52392: dc.w $FFF2, $1C, $FF80, $C0 -ObjDat_HiddenMonitor:dc.l Map_Monitor +ObjDat_HiddenMonitor: + dc.l Map_Monitor dc.w ArtTile_Monitors dc.w $180 dc.b $E @@ -100979,8 +100886,8 @@ loc_523FA: move.w (Camera_Y_pos).w,d0 subi.w #$20,d0 move.w d0,$14(a0) - moveq #sfx_Signpost,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Signpost),d0 + jsr (Play_SFX).l lea Child1_EndSignStub(pc),a2 jmp CreateChild1_Normal(pc) ; --------------------------------------------------------------------------- @@ -101044,7 +100951,8 @@ loc_524AA: move.w #-$200,$1A(a0) rts ; --------------------------------------------------------------------------- -FrameArray_EndSign:dc.b 0, 0, 1, 2 +FrameArray_EndSign: + dc.b 0, 0, 1, 2 ; --------------------------------------------------------------------------- Obj_EndSignResults: @@ -101076,7 +100984,8 @@ loc_52500: jsr Remove_From_TrackingSlot(pc) jmp Go_Delete_Sprite(pc) ; --------------------------------------------------------------------------- -PLC_SpikesSprings:dc.w 0 +PLC_SpikesSprings: + dc.w 0 dc.l ArtNem_SpikesSprings dc.w $9280 ; --------------------------------------------------------------------------- @@ -101166,8 +101075,8 @@ loc_525E8: lsl.w #4,d0 move.w d0,$18(a0) move.w #-$200,$1A(a0) - moveq #sfx_Signpost,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Signpost),d0 + jsr (Play_SFX).l lea Child6_EndSignScore(pc),a2 jsr CreateChild6_Simple(pc) moveq #$A,d0 @@ -101219,48 +101128,46 @@ locret_52658: ; End of function EndSign_CheckWall ; --------------------------------------------------------------------------- -ObjSlot_EndSigns:dc.w 0, $4AC, $C, 0 +ObjSlot_EndSigns: + dc.w 0, $4AC, $C, 0 dc.l Map_EndSigns dc.w $100 dc.b $18 dc.b $10 dc.b 0 dc.b 0 -ObjDat_SignpostStub:dc.l Map_SignpostStub +ObjDat_SignpostStub: + dc.l Map_SignpostStub dc.w $69E dc.w $100 dc.b 4 dc.b 8 dc.b 0 dc.b 0 -ObjDat_SignpostSparkle:dc.l Map_Ring +ObjDat_SignpostSparkle: + dc.l Map_Ring dc.w make_art_tile(ArtTile_Ring,1,0) dc.w $80 dc.b 8 dc.b 8 dc.b 4 dc.b 0 -Child1_EndSignStub:dc.w 0 +Child1_EndSignStub: + dc.w 0 dc.l Obj_SignpostStub dc.w $18 -Child6_EndSignSparkle:dc.w 0 +Child6_EndSignSparkle: + dc.w 0 dc.l Obj_SignpostSparkle -Child6_EndSignScore:dc.w 0 +Child6_EndSignScore: + dc.w 0 dc.l Obj_EnemyScore PLCPtr_EndSigns:dc.l ArtUnc_EndSigns dc.l DPLC_EndSigns -AniRaw_EndSigns:dc.b 1, 0 - dc.b 4, 5 - dc.b 6, 1 - dc.b 4, 5 - dc.b 6, 2 - dc.b 4, 5 - dc.b 6, 3 - dc.b 4, 5 - dc.b 6, $FC -AniRaw_SignpostSparkle:dc.b 1, 4 - dc.b 5, 6 - dc.b 7, $FC +AniRaw_EndSigns: + dc.b 1, 0, 4, 5, 6, 1, 4, 5, 6, 2, 4, 5, 6, 3, 4, 5, 6, $FC +AniRaw_SignpostSparkle: + dc.b 1, 4, 5, 6, 7, $FC ; =============== S U B R O U T I N E ======================================= @@ -101277,23 +101184,23 @@ AfterBoss_Cleanup: ; End of function AfterBoss_Cleanup ; --------------------------------------------------------------------------- -off_526CE: dc.w loc_526EA-off_526CE - dc.w loc_526FE-off_526CE - dc.w locret_52714-off_526CE - dc.w locret_52714-off_526CE - dc.w loc_52716-off_526CE - dc.w loc_52716-off_526CE - dc.w locret_52720-off_526CE - dc.w locret_52720-off_526CE - dc.w locret_52720-off_526CE - dc.w locret_52720-off_526CE - dc.w locret_52720-off_526CE - dc.w loc_52722-off_526CE - dc.w locret_5272E-off_526CE - dc.w locret_5272E-off_526CE +off_526CE: dc.w AfterBoss_AIZ1-off_526CE + dc.w AfterBoss_AIZ2-off_526CE + dc.w AfterBoss_HCZ-off_526CE + dc.w AfterBoss_HCZ-off_526CE + dc.w AfterBoss_MGZ-off_526CE + dc.w AfterBoss_MGZ-off_526CE + dc.w AfterBoss_CNZ-off_526CE + dc.w AfterBoss_CNZ-off_526CE + dc.w AfterBoss_FBZ-off_526CE + dc.w AfterBoss_FBZ-off_526CE + dc.w AfterBoss_ICZ1-off_526CE + dc.w AfterBoss_ICZ2-off_526CE + dc.w AfterBoss_LBZ-off_526CE + dc.w AfterBoss_LBZ-off_526CE ; --------------------------------------------------------------------------- -loc_526EA: +AfterBoss_AIZ1: lea (Pal_AIZ).l,a1 lea (Normal_palette_line_2).w,a2 moveq #$17,d0 @@ -101304,35 +101211,38 @@ loc_526F6: rts ; --------------------------------------------------------------------------- -loc_526FE: +AfterBoss_AIZ2: lea (Pal_AIZFire).l,a1 jsr (PalLoad_Line1).l - lea PLC_52730(pc),a1 + lea PLC_AfterMiniboss_AIZ(pc),a1 jmp (Load_PLC_Raw).l ; --------------------------------------------------------------------------- -locret_52714: +AfterBoss_HCZ: rts ; --------------------------------------------------------------------------- -loc_52716: +AfterBoss_MGZ: lea PLC_MonitorsSpikesSprings(pc),a1 jmp (Load_PLC_Raw).l ; --------------------------------------------------------------------------- -locret_52720: +AfterBoss_CNZ: +AfterBoss_FBZ: +AfterBoss_ICZ1: rts ; --------------------------------------------------------------------------- -loc_52722: +AfterBoss_ICZ2: lea (Pal_ICZ2).l,a1 jmp (PalLoad_Line1).l ; --------------------------------------------------------------------------- -locret_5272E: +AfterBoss_LBZ: rts ; --------------------------------------------------------------------------- -PLC_52730: dc.w 6 +PLC_AfterMiniboss_AIZ: + dc.w 6 dc.l ArtNem_Monitors dc.w tiles_to_bytes(ArtTile_Monitors) dc.l ArtNem_AIZMisc2 @@ -101347,9 +101257,14 @@ PLC_52730: dc.w 6 dc.w $8AC0 dc.l ArtNem_AIZCorkFloor2 dc.w $8800 - dc.w 0,$EEE,$EC0,$E60,$C22, $EE, $88,$60A, $8E, $2E,$844, $20,$EAA,$A66,$ECC, $44 - dc.w 0,$EEE,$EC0,$E60,$C22, $EE, $88, $8E, $2C,$822, 0, $20,$CAA,$866,$644, $44 -PLC_MonitorsSpikesSprings:dc.w 1 +Pal_AfterMiniboss_AIZ: + binclude "Levels/AIZ/Palettes/Miniboss After.bin" + even +Pal_AfterMiniboss_ICZ: + binclude "Levels/ICZ/Palettes/Miniboss After.bin" + even +PLC_MonitorsSpikesSprings: + dc.w 1 dc.l ArtNem_Monitors dc.w tiles_to_bytes(ArtTile_Monitors) dc.l ArtNem_SpikesSprings @@ -101357,19 +101272,21 @@ PLC_MonitorsSpikesSprings:dc.w 1 PLC_Monitors: dc.w 0 dc.l ArtNem_Monitors dc.w tiles_to_bytes(ArtTile_Monitors) +PLC_AnimalsAndExplosion: dc.w 2 dc.l ArtNem_Explosion - dc.w $B400 + dc.w tiles_to_bytes(ArtTile_Explosion) dc.l ArtNem_Squirrel dc.w $B000 dc.l ArtNem_BlueFlicky dc.w $B240 -PLC_BossExplosion:dc.w 0 +PLC_BossExplosion: + dc.w 0 dc.l ArtNem_BossExplosion dc.w $A000 PLC_Explosion: dc.w 0 dc.l ArtNem_Explosion - dc.w $B400 + dc.w tiles_to_bytes(ArtTile_Explosion) PLC_EggCapsule: dc.w 0 dc.l ArtNem_EggCapsule dc.w $9280 @@ -101427,8 +101344,8 @@ Obj_NormalExpControl: sub_52850: - moveq #sfx_Explode,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Explode),d0 + jsr (Play_SFX).l lea Child6_MakeBossExplosion1(pc),a2 jsr CreateChild1_Normal(pc) bne.w locret_5293E @@ -101481,20 +101398,21 @@ loc_528BA: move.b (a1)+,5(a0) rts ; --------------------------------------------------------------------------- -CreateBossExpParameterIndex:dc.w CreateBossExp_00-CreateBossExpParameterIndex - dc.w CreateBossExp_02-CreateBossExpParameterIndex - dc.w CreateBossExp_04-CreateBossExpParameterIndex - dc.w CreateBossExp_06-CreateBossExpParameterIndex - dc.w CreateBossExp_08-CreateBossExpParameterIndex - dc.w CreateBossExp_0A-CreateBossExpParameterIndex - dc.w CreateBossExp_0C-CreateBossExpParameterIndex -CreateBossExp_00:dc.b $20, $20, $20, 2 -CreateBossExp_02:dc.b $28, $80, $80, 2 -CreateBossExp_04:dc.b $80, $20, $20, 4 -CreateBossExp_06:dc.b 4, 8, 8, 2 -CreateBossExp_08:dc.b 8, $20, $20, 2 -CreateBossExp_0A:dc.b $20, $20, $20, 2 -CreateBossExp_0C:dc.b $40, $80, $20, 2 +CreateBossExpParameterIndex: + dc.w CreateBossExp00-CreateBossExpParameterIndex + dc.w CreateBossExp02-CreateBossExpParameterIndex + dc.w CreateBossExp04-CreateBossExpParameterIndex + dc.w CreateBossExp06-CreateBossExpParameterIndex + dc.w CreateBossExp08-CreateBossExpParameterIndex + dc.w CreateBossExp0A-CreateBossExpParameterIndex + dc.w CreateBossExp0C-CreateBossExpParameterIndex +CreateBossExp00:dc.b $20, $20, $20, 2 +CreateBossExp02:dc.b $28, $80, $80, 2 +CreateBossExp04:dc.b $80, $20, $20, 4 +CreateBossExp06:dc.b 4, 8, 8, 2 +CreateBossExp08:dc.b 8, $20, $20, 2 +CreateBossExp0A:dc.b $20, $20, $20, 2 +CreateBossExp0C:dc.b $40, $80, $20, 2 ; --------------------------------------------------------------------------- Obj_BossExplosionSpecial: @@ -101540,28 +101458,27 @@ loc_5296A: jsr Animate_RawMultiDelay(pc) jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -ObjDat_BossExplosion:dc.l Map_BossExplosion +ObjDat_BossExplosion: + dc.l Map_BossExplosion dc.w $8500 dc.w 0 dc.b $C dc.b $C dc.b 0 dc.b 0 -AniRaw_BossExplosion:dc.b 0, 0 - dc.b 0, 1 - dc.b 1, 1 - dc.b 2, 2 - dc.b 3, 3 - dc.b 4, 4 - dc.b 5, 4 - dc.b $F4, 0 -Child6_MakeBossExplosion1:dc.w 0 +AniRaw_BossExplosion: + dc.b 0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 4, 4, 5, 4, $F4 + even +Child6_MakeBossExplosion1: + dc.w 0 dc.l loc_52940 dc.w 0 -Child6_CreateBossExplosion:dc.w 0 +Child6_CreateBossExplosion: + dc.w 0 dc.l Obj_CreateBossExplosion dc.w 0 -Child6_MakeNormalExplosion:dc.w 0 +Child6_MakeNormalExplosion: + dc.w 0 dc.l Obj_Explosion dc.w 0 @@ -102562,14 +102479,14 @@ Obj_IncLevEndXGradual: move.l d1,$30(a0) swap d1 add.w d1,d0 - cmp.w (Target_camera_max_X_pos).w,d0 + cmp.w (Camera_stored_max_X_pos).w,d0 bcc.s loc_531BC move.w d0,(Camera_max_X_pos).w rts ; --------------------------------------------------------------------------- loc_531BC: - move.w (Target_camera_max_X_pos).w,(Camera_max_X_pos).w + move.w (Camera_stored_max_X_pos).w,(Camera_max_X_pos).w loc_531C2: jmp (Delete_Current_Sprite).l @@ -102582,14 +102499,14 @@ Obj_DecLevStartXGradual: move.l d1,$30(a0) swap d1 sub.w d1,d0 - cmp.w (Target_camera_min_X_pos).w,d0 + cmp.w (Camera_stored_min_X_pos).w,d0 ble.s loc_531EA move.w d0,(Camera_min_X_pos).w rts ; --------------------------------------------------------------------------- loc_531EA: - move.w (Target_camera_min_X_pos).w,(Camera_min_X_pos).w + move.w (Camera_stored_min_X_pos).w,(Camera_min_X_pos).w jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- @@ -102600,14 +102517,14 @@ Obj_DecLevStartYGradual: move.l d1,$30(a0) swap d1 sub.w d1,d0 - cmp.w (Target_camera_min_Y_pos).w,d0 + cmp.w (Camera_stored_min_Y_pos).w,d0 ble.s loc_53218 move.w d0,(Camera_min_Y_pos).w rts ; --------------------------------------------------------------------------- loc_53218: - move.w (Target_camera_min_Y_pos).w,(Camera_min_Y_pos).w + move.w (Camera_stored_min_Y_pos).w,(Camera_min_Y_pos).w jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- @@ -102618,14 +102535,14 @@ Obj_IncLevEndYGradual: move.l d1,$30(a0) swap d1 add.w d1,d0 - cmp.w (Target_camera_max_Y_pos).w,d0 + cmp.w (Camera_stored_max_Y_pos).w,d0 bgt.s loc_53246 move.w d0,(Camera_max_Y_pos).w rts ; --------------------------------------------------------------------------- loc_53246: - move.w (Target_camera_max_Y_pos).w,(Camera_max_Y_pos).w + move.w (Camera_stored_max_Y_pos).w,(Camera_max_Y_pos).w jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- Child6_IncLevX: dc.w 0 @@ -102834,7 +102751,8 @@ MoveSprite_AtAngleLookup: ; End of function MoveSprite_AtAngleLookup ; --------------------------------------------------------------------------- -AtAngle_LookupIndex:dc.w AtAngle_00_3F-AtAngle_LookupIndex +AtAngle_LookupIndex: + dc.w AtAngle_00_3F-AtAngle_LookupIndex dc.w AtAngle_40_7F-AtAngle_LookupIndex dc.w AtAngle_80_BF-AtAngle_LookupIndex dc.w AtAngle_C0_FF-AtAngle_LookupIndex @@ -102941,7 +102859,8 @@ MoveSprite_AngleYLookup: ; End of function MoveSprite_AngleYLookup ; --------------------------------------------------------------------------- -AngleY_LookupIndex:dc.w loc_534B4-AngleY_LookupIndex +AngleY_LookupIndex: + dc.w loc_534B4-AngleY_LookupIndex dc.w loc_534BC-AngleY_LookupIndex dc.w loc_534C6-AngleY_LookupIndex dc.w loc_534D0-AngleY_LookupIndex @@ -102986,7 +102905,8 @@ MoveSprite_AngleXLookupOffset: ; End of function MoveSprite_AngleXLookupOffset ; --------------------------------------------------------------------------- -AngleX_LookupIndex:dc.w loc_534F6-AngleX_LookupIndex +AngleX_LookupIndex: + dc.w loc_534F6-AngleX_LookupIndex dc.w loc_534FE-AngleX_LookupIndex dc.w loc_5350A-AngleX_LookupIndex dc.w loc_5351A-AngleX_LookupIndex @@ -103240,7 +103160,7 @@ locret_53702: Sprite_CheckDelete: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.s loc_5371C @@ -103261,7 +103181,7 @@ loc_53728: Sprite_CheckDelete2: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.s loc_5374E @@ -103280,7 +103200,7 @@ loc_5375A: rts ; --------------------------------------------------------------------------- move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.s loc_5371C @@ -103289,7 +103209,7 @@ loc_5375A: Sprite_CheckDeleteXY: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w Go_Delete_Sprite @@ -103304,7 +103224,7 @@ Sprite_CheckDeleteXY: Obj_FlickerMove: jsr (MoveSprite).l move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w Go_Delete_Sprite @@ -103320,7 +103240,7 @@ Obj_FlickerMove: Sprite_CheckDeleteTouch: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_5371C @@ -103330,7 +103250,7 @@ Sprite_CheckDeleteTouch: Sprite_CheckDeleteTouch2: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_5374E @@ -103338,7 +103258,7 @@ Sprite_CheckDeleteTouch2: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_5371C @@ -103347,7 +103267,7 @@ Sprite_CheckDeleteTouch2: Sprite_CheckDeleteTouchXY: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w Go_Delete_Sprite @@ -103362,7 +103282,7 @@ Sprite_CheckDeleteTouchXY: Sprite_CheckDeleteSlotted: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.s Go_Delete_SpriteSlotted @@ -103391,7 +103311,7 @@ Remove_From_TrackingSlot: ; --------------------------------------------------------------------------- move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.s Go_Delete_SpriteSlotted @@ -103402,7 +103322,7 @@ Sprite_CheckDeleteTouchSlotted: tst.b $2A(a0) bmi.s Go_Delete_SpriteSlotted3 move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.s Go_Delete_SpriteSlotted @@ -103417,7 +103337,7 @@ Go_Delete_SpriteSlotted3: tst.b $2A(a0) bmi.s Go_Delete_SpriteSlotted3 move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w Go_Delete_SpriteSlotted @@ -103425,14 +103345,14 @@ Go_Delete_SpriteSlotted3: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w Go_Delete_Sprite jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w Go_Delete_Sprite @@ -103440,14 +103360,14 @@ Go_Delete_SpriteSlotted3: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w Go_Delete_Sprite_2 jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w Go_Delete_Sprite_2 @@ -103455,14 +103375,14 @@ Go_Delete_SpriteSlotted3: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w Go_Delete_SpriteSlotted2 jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w Go_Delete_SpriteSlotted2 @@ -103471,7 +103391,7 @@ Go_Delete_SpriteSlotted3: loc_539C4: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w Go_Delete_Sprite_2 @@ -103517,7 +103437,8 @@ locret_53A1C: ; End of function Set_IndexedVelocity ; --------------------------------------------------------------------------- -Obj_VelocityIndex:dc.w $FF00, $FF00 +Obj_VelocityIndex: + dc.w $FF00, $FF00 dc.w $100, $FF00 dc.w $FE00, $FE00 dc.w $200, $FE00 @@ -103554,7 +103475,7 @@ Find_SonicTails8Way: divu.w d2,d3 tst.w d0 beq.s loc_53A9C - cmpi.w #-$8000,d2 + cmpi.w #$8000,d2 bcs.s loc_53AEC tst.w d0 beq.s loc_53AE8 @@ -103562,7 +103483,7 @@ Find_SonicTails8Way: ; --------------------------------------------------------------------------- loc_53A9C: - cmpi.w #-$8000,d2 + cmpi.w #$8000,d2 bcs.s loc_53AFC tst.w d1 bne.s loc_53AF8 @@ -103575,7 +103496,7 @@ loc_53AAA: divu.w d3,d2 tst.w d1 bne.s loc_53AC2 - cmpi.w #-$8000,d2 + cmpi.w #$8000,d2 bcs.s loc_53AE4 tst.w d0 bne.s loc_53AE8 @@ -103583,7 +103504,7 @@ loc_53AAA: ; --------------------------------------------------------------------------- loc_53AC2: - cmpi.w #-$8000,d2 + cmpi.w #$8000,d2 bcs.s loc_53AF4 tst.w d0 bne.s loc_53AF0 @@ -103905,17 +103826,12 @@ MoveSlowFall_AnimateRaw: ; --------------------------------------------------------------------------- jsr Swing_UpAndDown(pc) -; =============== S U B R O U T I N E ======================================= - - Move_AnimateRaw_Wait: jsr (MoveSprite2).l loc_53CD6: jsr Animate_Raw(pc) jmp Obj_Wait(pc) -; End of function Move_AnimateRaw_Wait - ; --------------------------------------------------------------------------- Refresh_ChildPosWait: @@ -103997,7 +103913,7 @@ loc_53D88: move.w word_53DE8(pc,d0.w),d0 cmpi.w #$20,(Chain_bonus_counter).w bcs.s loc_53DA2 - move.w #$3E8,d0 + move.w #1000,d0 move.w #$A,$3E(a0) loc_53DA2: @@ -104023,10 +103939,10 @@ loc_53DDC: subi.w #$100,$1A(a0) jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -word_53DE8: dc.w $A - dc.w $14 - dc.w $32 - dc.w $64 +word_53DE8: dc.w 10 + dc.w 20 + dc.w 50 + dc.w 100 ; =============== S U B R O U T I N E ======================================= @@ -104374,48 +104290,48 @@ Map_Offscreen: dc.w 0 Obj_Song_Fade_ToLevelMusic: move.w #$78,$2E(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.l #loc_54048,(a0) loc_54048: subq.w #1,$2E(a0) bpl.w locret_529CE - bsr.w Obj_PlayLevelMusic + bsr.w Restore_LevelMusic jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- Obj_Song_Fade_Transition: move.w #$78,$2E(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.l #loc_5406E,(a0) loc_5406E: subq.w #1,$2E(a0) bpl.w locret_529CE move.b $2C(a0),d0 - jsr (Play_Sound).l + jsr (Play_Music).l jmp (Delete_Current_Sprite).l ; =============== S U B R O U T I N E ======================================= -Obj_PlayLevelMusic: +Restore_LevelMusic: moveq #0,d0 lea (Apparent_zone_and_act).w,a1 move.b (a1)+,d0 add.b d0,d0 add.b (a1),d0 move.b PlayLevelMusic_Playlist(pc,d0.w),d0 - move.w d0,(Level_music).w + move.w d0,(Current_music).w btst #1,(Player_1+status_secondary).w beq.s loc_540A4 - moveq #mus_Invincibility,d0 + moveq #signextendB(mus_Invincibility),d0 loc_540A4: - jmp (Play_Sound).l -; End of function Obj_PlayLevelMusic + jmp (Play_Music).l +; End of function Restore_LevelMusic ; --------------------------------------------------------------------------- PlayLevelMusic_Playlist: @@ -104453,13 +104369,14 @@ Obj_EndSignControl: bset #4,$38(a0) move.w #$7F,$2E(a0) move.l #Obj_EndSignControlDoSign,$34(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l rts ; End of function Obj_EndSignControl ; --------------------------------------------------------------------------- -PLC_EndSignStuff:dc.w 1 +PLC_EndSignStuff: + dc.w 1 dc.l ArtNem_SignpostStub dc.w $D3C0 dc.l ArtNem_Monitors @@ -104474,7 +104391,7 @@ Obj_EndSignControlWait: Obj_EndSignControlDoSign: move.l #Obj_EndSignControlAwaitStart,(a0) clr.b (Boss_flag).w - jsr Obj_PlayLevelMusic(pc) + jsr Restore_LevelMusic(pc) lea Child6_EndSign(pc),a2 jsr CreateChild6_Simple(pc) lea PLC_EndSignStuff(pc),a1 @@ -104551,7 +104468,7 @@ loc_541C8: subq.w #1,$2E(a0) bpl.s loc_541E6 move.b $26(a0),d0 - jsr (Play_Sound).l + jsr (Play_Music).l bset #0,$38(a0) loc_541E6: @@ -104592,11 +104509,11 @@ Change_Act2Sizes: lsl.w #4,d0 lea (LevelSizes).l,a1 lea 8(a1,d0.w),a1 - move.w (a1)+,(Target_camera_min_X_pos).w - move.w (a1)+,(Target_camera_max_X_pos).w - move.w (a1)+,(Target_camera_min_Y_pos).w + move.w (a1)+,(Camera_stored_min_X_pos).w + move.w (a1)+,(Camera_stored_max_X_pos).w + move.w (a1)+,(Camera_stored_min_Y_pos).w move.w (a1)+,d1 - move.w d1,(Target_camera_max_Y_pos).w + move.w d1,(Camera_stored_max_Y_pos).w move.w d1,(Camera_target_max_Y_pos).w cmpi.b #$10,d0 beq.w locret_529CE @@ -104612,7 +104529,8 @@ Make_LevelSizeObj: ; End of function Make_LevelSizeObj ; --------------------------------------------------------------------------- -Child1_Act2LevelSize:dc.w 2 +Child1_Act2LevelSize: + dc.w 2 dc.l Obj_IncLevEndXGradual dc.w 0 dc.l Obj_DecLevStartYGradual @@ -104636,12 +104554,12 @@ StartNewLevel: ; =============== S U B R O U T I N E ======================================= -sub_542A6: +Play_SFX_Continuous: move.b (V_int_run_count+3).w,d1 andi.b #$F,d1 bne.w locret_529CE - jmp (Play_Sound_2).l -; End of function sub_542A6 + jmp (Play_SFX).l +; End of function Play_SFX_Continuous ; --------------------------------------------------------------------------- @@ -104764,7 +104682,7 @@ sub_5439C: move.w (Player_mode).w,d0 cmpi.w #2,d0 beq.s loc_543B2 - cmpi.w #7,(Emerald_count).w + cmpi.w #7,(Chaos_emerald_count).w beq.s loc_543B6 moveq #0,d0 rts @@ -104884,7 +104802,7 @@ AddRings: lea (Update_HUD_ring_count).w,a3 lea (Extra_life_flags).w,a4 lea (Total_ring_count).w,a5 - move.w #$3E7,d1 + move.w #999,d1 add.w d0,(a5) cmp.w (a5),d1 bcc.s loc_544A0 @@ -104898,29 +104816,29 @@ loc_544A0: loc_544A8: ori.b #1,(a3) - cmpi.w #$64,(a2) + cmpi.w #100,(a2) bcs.s loc_544C4 bset #1,(a4) beq.s loc_544CC - cmpi.w #$C8,(a2) + cmpi.w #200,(a2) bcs.s loc_544C4 bset #2,(a4) beq.s loc_544CC loc_544C4: - moveq #sfx_RingRight,d0 - jmp (Play_Sound).l + moveq #signextendB(sfx_RingRight),d0 + jmp (Play_Music).l ; --------------------------------------------------------------------------- loc_544CC: addq.w #1,(Monitors_broken).w addq.b #1,(Life_count).w addq.b #1,(Update_HUD_life_count).w - moveq #mus_ExtraLife,d0 - jmp (Play_Sound).l + moveq #signextendB(mus_ExtraLife),d0 + jmp (Play_Music).l ; --------------------------------------------------------------------------- -Obj_81: +Obj_EggCapsule: moveq #0,d0 move.b 5(a0),d0 move.w off_54504(pc,d0.w),d1 @@ -105351,7 +105269,7 @@ locret_5491A: Set_PlayerEndingPose: - move.b #-$7F,$2E(a1) + move.b #$81,$2E(a1) move.b #$13,$20(a1) clr.b $3D(a1) clr.w $18(a1) @@ -105545,18 +105463,22 @@ word_54AA0: dc.w $200 dc.b 4 dc.b 6 dc.b 0 -ChildObjDat_54AA6:dc.w 0 +ChildObjDat_54AA6: + dc.w 0 dc.l loc_54672 dc.w $D8 -ChildObjDat_54AAE:dc.w 0 +ChildObjDat_54AAE: + dc.w 0 dc.l loc_546AE dc.w $28 -ChildObjDat_54AB6:dc.w 1 +ChildObjDat_54AB6: + dc.w 1 dc.l loc_54758 dc.w $ECDC dc.l loc_54758 dc.w $14DC -ChildObjDat_54AC4:dc.w 4 +ChildObjDat_54AC4: + dc.w 4 dc.l loc_5472C dc.w $F8 dc.l loc_5472C @@ -105567,7 +105489,8 @@ ChildObjDat_54AC4:dc.w 4 dc.w $E8F8 dc.l loc_5472C dc.w $18F8 -ChildObjDat_54AE4:dc.w 8 +ChildObjDat_54AE4: + dc.w 8 dc.l loc_54776 dc.w $FC dc.l loc_54776 @@ -105618,7 +105541,7 @@ loc_54B5A: jmp (Sprite_CheckDeleteTouchXY).l ; --------------------------------------------------------------------------- -Obj_Tulipon: +Obj_Bloominator: jsr (Obj_WaitOffscreen).l moveq #0,d0 move.b 5(a0),d0 @@ -105663,8 +105586,8 @@ loc_54BC2: bne.s locret_54B9C loc_54BD4: - moveq #sfx_Projectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Projectile),d0 + jsr (Play_SFX).l lea ChildObjDat_54C26(pc),a2 jsr CreateChild2_Complex(pc) bne.s locret_54BF6 @@ -105683,21 +105606,22 @@ loc_54BF8: move.l #loc_54BAA,$34(a0) rts ; --------------------------------------------------------------------------- -ObjDat3_54C0E: dc.l Map_Tulipon +ObjDat3_54C0E: dc.l Map_Bloominator dc.w $252A dc.w $200 dc.b $C dc.b $18 dc.b 0 dc.b $23 -ObjDat3_54C1A: dc.l Map_Tulipon +ObjDat3_54C1A: dc.l Map_Bloominator dc.w $252A dc.w $280 dc.b 8 dc.b 8 dc.b 4 dc.b $98 -ChildObjDat_54C26:dc.w 0 +ChildObjDat_54C26: + dc.w 0 dc.l loc_54B46 dc.l ObjDat3_54C1A dc.l 0 @@ -105718,13 +105642,13 @@ byte_54C3E: dc.b 0, 7 dc.b $F4, 0 ; --------------------------------------------------------------------------- -Obj_RhinoBot: +Obj_Rhinobot: jsr (Obj_WaitOffscreen).l moveq #0,d0 move.b 5(a0),d0 move.w off_54C72(pc,d0.w),d1 jsr off_54C72(pc,d1.w) - lea DPLCPtr_54F2E(pc),a2 + lea DPLCPtr_AIZRhinobot(pc),a2 jsr Perform_DPLC(pc) jmp Sprite_CheckDeleteTouchSlotted(pc) ; --------------------------------------------------------------------------- @@ -105785,7 +105709,7 @@ loc_54CF8: move.b 5(a0),d0 move.w off_54D1E(pc,d0.w),d1 jsr off_54D1E(pc,d1.w) - lea DPLCPtr_54F2E(pc),a2 + lea DPLCPtr_AIZRhinobot(pc),a2 jsr Perform_DPLC(pc) jmp Child_Remember_Draw_Sprite(pc) ; --------------------------------------------------------------------------- @@ -105840,8 +105764,8 @@ loc_54D8E: move.w #$20,$2E(a0) move.l #loc_54DCA,$34(a0) bset #1,$38(a0) - moveq #sfx_Blast,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Blast),d0 + jsr (Play_SFX).l lea ChildObjDat_54F26(pc),a2 jsr CreateChild1_Normal(pc) bne.s locret_54DC8 @@ -105940,8 +105864,8 @@ loc_54E7A: loc_54E80: move.b d1,$22(a0) - moveq #sfx_Blast,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Blast),d0 + jsr (Play_SFX).l lea ChildObjDat_54F1E(pc),a2 jsr CreateChild1_Normal(pc) bne.s locret_54E9E @@ -106012,7 +105936,7 @@ ObjDat4_54EFA: dc.w 1 dc.w $2500 dc.w $15 dc.w 0 - dc.l Map_RhinoBot + dc.l Map_Rhinobot dc.w $280 dc.b $14 dc.b $10 @@ -106022,20 +105946,23 @@ ObjDat4_54F0C: dc.w 1 dc.w $44A dc.w 6 dc.w 2 - dc.l Map_RhinoBot + dc.l Map_Rhinobot dc.w $200 dc.b $C dc.b 8 dc.b 4 dc.b 0 -ChildObjDat_54F1E:dc.w 0 +ChildObjDat_54F1E: + dc.w 0 dc.l loc_54CF8 dc.w $C08 -ChildObjDat_54F26:dc.w 0 +ChildObjDat_54F26: + dc.w 0 dc.l loc_54CF8 dc.w $1008 -DPLCPtr_54F2E: dc.l ArtUnc_AIZRhino - dc.l DPLC_RhinoBot +DPLCPtr_AIZRhinobot: + dc.l ArtUnc_AIZRhinobot + dc.l DPLC_Rhinobot byte_54F36: dc.b 2, 4 dc.b 4, 5 dc.b 6, 7 @@ -106204,7 +106131,7 @@ loc_550EA: btst #3,$38(a0) beq.s loc_55104 addq.b #4,d0 - cmpi.b #-$80,d0 + cmpi.b #$80,d0 bcc.s loc_55112 move.b d0,$3C(a0) rts @@ -106212,7 +106139,7 @@ loc_550EA: loc_55104: subq.b #4,d0 - cmpi.b #-$80,d0 + cmpi.b #$80,d0 bls.s loc_55112 move.b d0,$3C(a0) rts @@ -106247,7 +106174,7 @@ loc_5512C: loc_5514A: move.b $41(a0),d1 bsr.w sub_5533C - subi.b #-$80,d0 + subi.b #$80,d0 cmpi.b #$60,d0 bcs.s loc_55168 @@ -106411,14 +106338,14 @@ loc_5527C: move.b #8,$1E(a0) move.w #-$200,$18(a0) move.w #-$400,$1A(a0) - jmp (loc_19CC4).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- loc_552B2: jsr (MoveSprite_LightGravity).l jsr Animate_RawMultiDelay(pc) jsr ObjHitFloor_DoRoutine(pc) - jmp (loc_19CC4).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- loc_552C6: @@ -106427,7 +106354,7 @@ loc_552C6: ; --------------------------------------------------------------------------- loc_552CE: - jmp (loc_19CC4).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- movea.w $46(a0),a1 move.b 4(a1),d0 @@ -106587,8 +106514,8 @@ loc_553DC: loc_55406: bset #0,$38(a0) move.b #4,$22(a0) - moveq #sfx_MissileThrow,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileThrow),d0 + jsr (Play_SFX).l lea (ChildObjDat_55498).l,a2 jsr CreateChild2_Complex(pc) bne.s locret_553DA @@ -106643,9 +106570,11 @@ ObjDat3_55470: dc.l Map_MonkeyDude dc.b $20 dc.b 6 dc.b $98 -ChildObjDat_5547C:dc.w 4 +ChildObjDat_5547C: + dc.w 4 dc.l loc_5504A -ChildObjDat_55482:dc.w 4 +ChildObjDat_55482: + dc.w 4 dc.l loc_55044 dc.w 0 dc.l loc_5504A @@ -106653,7 +106582,8 @@ ChildObjDat_55482:dc.w 4 dc.w 0 dc.l loc_5527C dc.w 0 -ChildObjDat_55498:dc.w 0 +ChildObjDat_55498: + dc.w 0 dc.l loc_54B46 dc.l ObjDat3_55470 dc.w 0 @@ -106870,10 +106800,12 @@ word_5568E: dc.w $200 dc.b $10 dc.b 3 dc.b 0 -ChildObjDat_55694:dc.w 5 +ChildObjDat_55694: + dc.w 5 dc.l loc_55588 dc.w 0 -ChildObjDat_5569C:dc.w 0 +ChildObjDat_5569C: + dc.w 0 dc.l loc_55606 dc.w 0 byte_556A4: dc.b 3, 2 @@ -106978,8 +106910,8 @@ loc_55774: bne.s locret_55772 tst.b 4(a0) bpl.w locret_55772 - moveq #sfx_Projectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Projectile),d0 + jsr (Play_SFX).l lea ChildObjDat_557DE(pc),a2 jmp CreateChild5_ComplexAdjusted(pc) ; --------------------------------------------------------------------------- @@ -107018,10 +106950,11 @@ ObjDat3_557D2: dc.l Map_Blastoid dc.b 4 dc.b 2 dc.b $98 -ChildObjDat_557DE:dc.w 0 +ChildObjDat_557DE: + dc.w 0 dc.l loc_54B46 dc.l ObjDat3_557D2 - dc.l word_55805 + dc.l byte_55805 dc.l Move_AnimateRaw dc.b $EC dc.b $F9 @@ -107035,9 +106968,9 @@ byte_557F6: dc.b 0, $7F dc.b 1, 4 dc.b 0, $3F dc.b $F4 -word_55805: dc.w 2 - dc.w $3FC - dc.b 0 +byte_55805: dc.b 0, 2 + dc.b 3, $FC + dc.b 0 ; --------------------------------------------------------------------------- Obj_Buggernaut: @@ -107215,7 +107148,8 @@ word_55992: dc.w $280 dc.b $C dc.b 3 dc.b 0 -ChildObjDat_55998:dc.w 0 +ChildObjDat_55998: + dc.w 0 dc.l Obj_Buggernaught_Baby dc.w $2000 byte_559A0: dc.b 0, 0 @@ -107411,8 +107345,8 @@ loc_55B58: loc_55B6C: move.w d0,$18(a0) move.w #-$400,$1A(a0) - moveq #sfx_FloorLauncher,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FloorLauncher),d0 + jsr (Play_SFX).l lea ChildObjDat_55CD4(pc),a2 jsr CreateChild1_Normal(pc) jmp Sprite_CheckDeleteTouchXY(pc) @@ -107488,8 +107422,8 @@ loc_55C2E: jsr SetUp_ObjAttributes2(pc) move.l #loc_55C4C,(a0) move.b $2C(a0),$2F(a0) - moveq #sfx_Splash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Splash),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -107562,16 +107496,20 @@ ObjDat3_55CC0: dc.l Map_TurboSpikerHidden dc.b $10 dc.b 0 dc.b 0 -ChildObjDat_55CCC:dc.w 0 +ChildObjDat_55CCC: + dc.w 0 dc.l loc_55B32 dc.w $400 -ChildObjDat_55CD4:dc.w 0 +ChildObjDat_55CD4: + dc.w 0 dc.l loc_55B94 dc.w $FC14 -ChildObjDat_55CDC:dc.w 0 +ChildObjDat_55CDC: + dc.w 0 dc.l loc_55C00 dc.w 4 -ChildObjDat_55CE4:dc.w 4 +ChildObjDat_55CE4: + dc.w 4 dc.l loc_55C2E dc.w $4F8 dc.l loc_55C2E @@ -107582,7 +107520,8 @@ ChildObjDat_55CE4:dc.w 4 dc.w $F800 dc.l loc_55C2E dc.w $800 -ChildObjDat_55D04:dc.w 0 +ChildObjDat_55D04: + dc.w 0 dc.l loc_55C76 dc.w 0 byte_55D0C: dc.b 5, 0 @@ -107604,7 +107543,7 @@ Map_TurboSpikerHidden: include "General/Sprites/Turbo Spiker/Map - Turbo Spiker Hidden.asm" ; --------------------------------------------------------------------------- -Obj_MegaChomper: +Obj_MegaChopper: jsr (Obj_WaitOffscreen).l moveq #0,d0 move.b 5(a0),d0 @@ -107725,7 +107664,7 @@ loc_55E54: btst #2,$38(a0) beq.s loc_55E8C move.w (Ctrl_1).w,d0 - andi.w #-$7374,d0 + andi.w #$8C8C,d0 move.w d0,(Ctrl_1_logical).w loc_55E8C: @@ -107865,12 +107804,12 @@ sub_55FEA: bne.s loc_56022 loc_5601C: - ori.b #-$80,(Update_HUD_ring_count).w + ori.b #$80,(Update_HUD_ring_count).w loc_56022: move.w d0,(Ring_count).w - moveq #sfx_RingRight,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_RingRight),d0 + jsr (Play_SFX).l loc_5602E: moveq #0,d0 @@ -107880,7 +107819,7 @@ loc_5602E: loc_56032: bclr #7,$38(a0) beq.s loc_5602E - andi.b #-2,(Update_HUD_ring_count).w + andi.b #$FE,(Update_HUD_ring_count).w moveq #0,d0 rts ; --------------------------------------------------------------------------- @@ -107896,7 +107835,7 @@ loc_56044: ; End of function sub_55FEA ; --------------------------------------------------------------------------- -ObjDat3_56058: dc.l Map_MegaChomper +ObjDat3_56058: dc.l Map_MegaChopper dc.w $254D dc.w $280 dc.b $20 @@ -107951,7 +107890,7 @@ loc_560D2: move.b #$A,$28(a0) cmpi.b #2,$22(a0) bne.s locret_560F8 - move.b #-$7A,$28(a0) + move.b #$86,$28(a0) locret_560F8: rts @@ -107986,10 +107925,10 @@ Obj_BubblesBadnik: move.b #$12,$28(a0) cmpi.b #4,$22(a0) bne.s loc_5614A - move.b #-$7A,$28(a0) + move.b #$86,$28(a0) loc_5614A: - lea PLCPtr_56222(pc),a2 + lea PLCPtr_BubblesBadnik(pc),a2 jsr Perform_DPLC(pc) jmp Sprite_CheckDeleteTouchSlotted(pc) ; --------------------------------------------------------------------------- @@ -108039,8 +107978,8 @@ loc_561D2: beq.s loc_561E8 cmpi.b #4,$23(a0) bne.s loc_561E8 - moveq #sfx_ChainTick,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_ChainTick),d0 + jsr (Play_SFX).l loc_561E8: jsr Swing_UpAndDown(pc) @@ -108068,7 +108007,8 @@ ObjDat4_56210: dc.w 1 dc.b $18 dc.b 0 dc.b 0 -PLCPtr_56222: dc.l ArtUnc_BubblesBadnik +PLCPtr_BubblesBadnik: + dc.l ArtUnc_BubblesBadnik dc.l DPLC_BubblesBadnik byte_5622A: dc.b 0, $F dc.b 0, $77 @@ -108087,7 +108027,7 @@ byte_56239: dc.b 0, $7F dc.b $FC ; --------------------------------------------------------------------------- -Obj_MGZMiniBoss: +Obj_Tunnelbot: jsr (Obj_WaitOffscreen).l moveq #0,d0 move.b 5(a0),d0 @@ -108173,8 +108113,8 @@ loc_5632C: add.w d0,$14(a0) andi.b #7,d1 bne.s loc_56342 - moveq #sfx_Rumble2,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Rumble2),d0 + jsr (Play_SFX).l bsr.w sub_567FE loc_56342: @@ -108187,7 +108127,7 @@ loc_56346: jmp (Go_Delete_Sprite).l ; --------------------------------------------------------------------------- -Obj_9F_1: +Obj_MGZMiniboss: lea word_56388(pc),a1 jsr (Check_CameraInRange).l moveq #0,d0 @@ -108319,8 +108259,8 @@ loc_564E6: add.w d0,$14(a0) andi.b #7,d1 bne.s loc_564FC - moveq #sfx_Rumble2,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Rumble2),d0 + jsr (Play_SFX).l bsr.w sub_567FE loc_564FC: @@ -108397,7 +108337,7 @@ loc_565B2: loc_565C2: move.l #loc_565D0,(a0) - move.b #-$62,$28(a0) + move.b #$9E,$28(a0) rts ; --------------------------------------------------------------------------- @@ -108629,8 +108569,8 @@ sub_5682E: tst.b $20(a0) bne.s loc_56854 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l bset #6,$2A(a0) loc_56854: @@ -108665,7 +108605,7 @@ loc_56880: word_568A2: dc.w Normal_palette_line_2+$18, Normal_palette_line_2+$1A, Normal_palette_line_2+$1C word_568A8: dc.w $CAA, $866, $644 dc.w $EEE, $EEE, $EEE -ObjDat3_568B4: dc.l Map_MGZMiniBoss +ObjDat3_568B4: dc.l Map_MGZMiniboss dc.w $254F dc.w $280 dc.b $28 @@ -108698,15 +108638,18 @@ ObjDat3_568DE: dc.l Map_MGZMovingSpikePlatform dc.b $30 dc.b 0 dc.b 0 -ChildObjDat_568EA:dc.w 1 +ChildObjDat_568EA: + dc.w 1 dc.l loc_565C2 dc.w $E4EA dc.l loc_565C2 dc.w $1CEA -ChildObjDat_568F8:dc.w 0 +ChildObjDat_568F8: + dc.w 0 dc.l loc_565EC dc.w 0 -ChildObjDat_56900:dc.w 4 +ChildObjDat_56900: + dc.w 4 dc.l loc_56718 dc.w 0 dc.l loc_56718 @@ -108717,7 +108660,8 @@ ChildObjDat_56900:dc.w 4 dc.w $E4EA dc.l loc_56718 dc.w $1CEA -ChildObjDat_56920:dc.w 0 +ChildObjDat_56920: + dc.w 0 dc.l loc_56630 dc.w 0 dc.b 0, 5 @@ -108731,7 +108675,8 @@ byte_56931: dc.b 5, 4 byte_56937: dc.b 0, 0 dc.b 1, 2 dc.b $FC -Map_MGZMinibossSpires:dc.w word_5693E-Map_MGZMinibossSpires +Map_MGZMinibossSpires: + dc.w word_5693E-Map_MGZMinibossSpires word_5693E: dc.w 1 dc.b $F0, 3, 0, 0, $FF, $FC PLC_56946: dc.w 1 @@ -108916,8 +108861,8 @@ loc_56AC0: beq.s locret_56AE4 cmpi.b #4,$22(a0) bne.s locret_56AE4 - moveq #sfx_Projectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Projectile),d0 + jsr (Play_SFX).l lea ChildObjDat_56BF0(pc),a2 jsr CreateChild5_ComplexAdjusted(pc) @@ -108973,7 +108918,7 @@ loc_56B52: loc_56B56: move.b #2,5(a0) - move.b #-$36,$28(a0) + move.b #$CA,$28(a0) rts ; =============== S U B R O U T I N E ======================================= @@ -108986,8 +108931,8 @@ sub_56B64: move.b #2,5(a1) clr.b $40(a1) bclr #4,$2A(a1) - moveq #sfx_Spring,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jsr (Play_SFX).l rts ; End of function sub_56B64 @@ -109036,14 +108981,16 @@ ObjDat3_56BD0: dc.l Map_Spiker dc.b 4 dc.b 5 dc.b $98 -ChildObjDat_56BDC:dc.w 2 +ChildObjDat_56BDC: + dc.w 2 dc.l loc_56A3A dc.w $F00C dc.l loc_56A3A dc.w $100C dc.l loc_56AEE dc.w $F4 -ChildObjDat_56BF0:dc.w 0 +ChildObjDat_56BF0: + dc.w 0 dc.l loc_54B46 dc.l ObjDat3_56BD0 dc.l byte_56C1A @@ -109214,7 +109161,8 @@ word_56D54: dc.w $200 dc.b 4 dc.b 5 dc.b 0 -ChildObjDat_56D5A:dc.w 0 +ChildObjDat_56D5A: + dc.w 0 dc.l loc_56D0E dc.w $F7F5 byte_56D62: dc.b 0, 0 @@ -109234,7 +109182,7 @@ Obj_Clamer: move.b 5(a0),d0 move.w off_56D92(pc,d0.w),d1 jsr off_56D92(pc,d1.w) - lea PLCPtr_56F1C(pc),a2 + lea PLCPtr_Clamer(pc),a2 jsr Perform_DPLC(pc) jmp Sprite_CheckDeleteTouchSlotted(pc) ; --------------------------------------------------------------------------- @@ -109364,8 +109312,8 @@ loc_56EA6: move.b #$10,$20(a1) move.b #2,5(a1) clr.b $40(a1) - moveq #sfx_Spring,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jsr (Play_SFX).l rts ; End of function sub_56E8C @@ -109392,10 +109340,12 @@ ObjDat3_56EF0: dc.l Map_Clamer dc.b 8 dc.b 9 dc.b $98 -ChildObjDat_56EFC:dc.w 0 +ChildObjDat_56EFC: + dc.w 0 dc.l loc_56E4A dc.w $F8 -ChildObjDat_56F04:dc.w 0 +ChildObjDat_56F04: + dc.w 0 dc.l loc_54B46 dc.l ObjDat3_56EF0 dc.l 0 @@ -109404,7 +109354,7 @@ ChildObjDat_56F04:dc.w 0 dc.b 2 dc.w $FE00 dc.w 0 -PLCPtr_56F1C: dc.l ArtUnc_Clamer +PLCPtr_Clamer: dc.l ArtUnc_Clamer dc.l DPLC_Clamer byte_56F24: dc.b 1, 1 dc.b 0, $5F @@ -109429,7 +109379,7 @@ byte_56F39: dc.b 0, 2 dc.b $F4 ; --------------------------------------------------------------------------- -Obj_CNZBlastoid: +Obj_Sparkle: jsr (Obj_WaitOffscreen).l moveq #0,d0 move.b 5(a0),d0 @@ -109494,8 +109444,8 @@ loc_56FD8: add.w d0,$14(a0) move.w #$20,$2E(a0) move.l #loc_57002,$34(a0) - moveq #sfx_Lightning,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Lightning),d0 + jsr (Play_SFX).l tst.b 4(a0) bpl.w locret_56FA0 lea ChildObjDat_5710E(pc),a2 @@ -109609,7 +109559,7 @@ loc_570DC: loc_570E8: jmp (MoveSprite2).l ; --------------------------------------------------------------------------- -ObjDat3_570EE: dc.l Map_CNZBlastoid +ObjDat3_570EE: dc.l Map_Sparkle dc.w $A524 dc.w $280 dc.b $C @@ -109626,10 +109576,12 @@ word_57100: dc.w $280 dc.b 8 dc.b 6 dc.b $98 -ChildObjDat_57106:dc.w 0 +ChildObjDat_57106: + dc.w 0 dc.l loc_5700A dc.w 0 -ChildObjDat_5710E:dc.w 1 +ChildObjDat_5710E: + dc.w 1 dc.l loc_57054 dc.w 0 byte_57116: dc.b 9, $10 @@ -109769,7 +109721,8 @@ word_5721A: dc.w $200 dc.b 4 dc.b 5 dc.b 0 -ChildObjDat_57220:dc.w 1 +ChildObjDat_57220: + dc.w 1 dc.l loc_5719C dc.w $10 dc.l loc_571E2 @@ -110005,10 +109958,12 @@ ObjDat3_57456: dc.l Map_Blaster dc.b 4 dc.b 7 dc.b 0 -ChildObjDat_57462:dc.w 0 +ChildObjDat_57462: + dc.w 0 dc.l loc_573EA dc.w $E5EA -ChildObjDat_5746A:dc.w 0 +ChildObjDat_5746A: + dc.w 0 dc.l loc_54B46 dc.l ObjDat3_5744A dc.l byte_574AD @@ -110017,7 +109972,8 @@ ChildObjDat_5746A:dc.w 0 dc.b $E0 dc.w $FE00 dc.w $FC00 -ChildObjDat_57482:dc.w 0 +ChildObjDat_57482: + dc.w 0 dc.l loc_54B46 dc.l ObjDat3_57456 dc.l byte_574B1 @@ -110269,7 +110225,8 @@ word_5770A: dc.w $280 dc.b 4 dc.b 2 dc.b 0 -ChildObjDat_57710:dc.w 0 +ChildObjDat_57710: + dc.w 0 dc.l loc_5764C dc.w $1404 byte_57718: dc.b 0, 0 @@ -110704,8 +110661,8 @@ loc_57AF8: lea ChildObjDat_57C3A(pc),a2 jsr CreateChild6_Simple(pc) jsr Go_Delete_Sprite(pc) - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- word_57B12: dc.w $FFD0, $60, $FFC0, $80 @@ -110728,7 +110685,7 @@ loc_57B40: jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Obj_BB_1: +Obj_ICZIceBlock: jsr (Obj_WaitOffscreen).l lea ObjDat3_57BF8(pc),a1 jsr SetUp_ObjAttributes(pc) @@ -110872,11 +110829,14 @@ ObjDat3_57C28: dc.l Map_ICZPlatforms dc.b $C dc.b $1C dc.b 0 -ChildObjDat_57C34:dc.w 5 +ChildObjDat_57C34: + dc.w 5 dc.l loc_579FA -ChildObjDat_57C3A:dc.w 8 +ChildObjDat_57C3A: + dc.w 8 dc.l loc_57A32 -ChildObjDat_57C40:dc.w 0 +ChildObjDat_57C40: + dc.w 0 dc.l loc_57B1A dc.w $F010 byte_57C48: dc.b 2, $23 @@ -110993,8 +110953,8 @@ loc_57D38: move.b #$10,5(a0) move.w #$1F,$2E(a0) move.l #loc_57D92,$34(a0) - moveq #sfx_MetalLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MechaLand),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -111103,7 +111063,8 @@ word_57E2A: dc.w $280 dc.b $40 dc.b $D dc.b 0 -ChildObjDat_57E30:dc.w 0 +ChildObjDat_57E30: + dc.w 0 dc.l loc_57DFC dc.w 0 ; --------------------------------------------------------------------------- @@ -111124,8 +111085,8 @@ loc_57E4E: clr.w $2E(a0) clr.w $30(a0) clr.b $39(a0) - moveq #sfx_FrostPuff,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FrostPuff),d0 + jsr (Play_SFX).l loc_57E72: jmp Sprite_CheckDeleteTouch(pc) @@ -111160,8 +111121,8 @@ loc_57EBA: loc_57EBE: move.l #loc_57E4E,(a0) bclr #1,$38(a0) - moveq #mus_StopSFX,d0 - jsr (Play_Sound_2).l + moveq #signextendB(mus_StopSFX),d0 + jsr (Play_SFX).l jmp Sprite_CheckDeleteTouch(pc) ; --------------------------------------------------------------------------- word_57ED6: dc.w $40 @@ -111564,22 +111525,28 @@ ObjDat3_5828C: dc.l Map_ICZPlatforms dc.b 4 dc.b $C dc.b 0 -ChildObjDat_58298:dc.w 0 +ChildObjDat_58298: + dc.w 0 dc.l loc_57F14 dc.w $C -ChildObjDat_582A0:dc.w 0 +ChildObjDat_582A0: + dc.w 0 dc.l loc_57F14 dc.w $F4 -ChildObjDat_582A8:dc.w 0 +ChildObjDat_582A8: + dc.w 0 dc.l loc_57F40 dc.w $30 -ChildObjDat_582B0:dc.w 0 +ChildObjDat_582B0: + dc.w 0 dc.l loc_57F40 dc.w $D0 -ChildObjDat_582B8:dc.w 0 +ChildObjDat_582B8: + dc.w 0 dc.l loc_57FA6 dc.w 0 -ChildObjDat_582C0:dc.w $B +ChildObjDat_582C0: + dc.w $B dc.l loc_580B2 dc.w $F4F8 dc.l loc_580B2 @@ -111709,8 +111676,8 @@ loc_5840C: move.l #loc_5836E,(a0) bclr #0,$38(a0) move.w #$10,(Screen_shake_flag).w - moveq #sfx_MetalLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MechaLand),d0 + jsr (Play_SFX).l rts ; =============== S U B R O U T I N E ======================================= @@ -111750,8 +111717,8 @@ loc_58446: jsr CreateChild1_Normal(pc) jsr Displace_PlayerOffObject(pc) jsr Go_Delete_Sprite(pc) - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l addq.w #4,sp locret_58484: @@ -111778,10 +111745,12 @@ word_584A6: dc.w $280 dc.b $10 dc.b $A dc.b 0 -ChildObjDat_584AC:dc.w 2 +ChildObjDat_584AC: + dc.w 2 dc.l loc_58344 dc.w 0 -ChildObjDat_584B4:dc.w 3 +ChildObjDat_584B4: + dc.w 3 dc.l loc_58344 dc.w 0 ; --------------------------------------------------------------------------- @@ -112322,21 +112291,25 @@ word_58916: dc.w $300 dc.b 8 dc.b $27 dc.b 0 -ChildObjDat_5891C:dc.w 2 +ChildObjDat_5891C: + dc.w 2 dc.l loc_5865C dc.w 8 dc.l loc_5868C dc.w $1CF8 dc.l loc_586A2 dc.w 0 -ChildObjDat_58930:dc.w 7 +ChildObjDat_58930: + dc.w 7 dc.l loc_586F6 -ChildObjDat_58936:dc.w 1 +ChildObjDat_58936: + dc.w 1 dc.l Obj_ICZSnowdust dc.w $1C10 dc.l Obj_ICZSnowdust dc.w $1410 -ChildObjDat_58944:dc.w 0 +ChildObjDat_58944: + dc.w 0 dc.l Obj_ICZSnowdust dc.w $1C10 ; --------------------------------------------------------------------------- @@ -112377,7 +112350,7 @@ loc_58998: loc_589A4: move.l #loc_589B2,(a0) - move.b #-$7E,$28(a0) + move.b #$82,$28(a0) rts ; --------------------------------------------------------------------------- @@ -112390,8 +112363,8 @@ loc_589B2: clr.b $28(a0) lea ChildObjDat_58A4A(pc),a2 jsr CreateChild6_Simple(pc) - moveq #sfx_FloorThump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FloorThump),d0 + jsr (Play_SFX).l loc_589DC: jmp Sprite_CheckDeleteTouch(pc) @@ -112444,7 +112417,8 @@ ObjDat3_58A3E: dc.l Map_ICZPlatforms dc.b 4 dc.b $F dc.b 0 -ChildObjDat_58A4A:dc.w $B +ChildObjDat_58A4A: + dc.w $B dc.l loc_589E8 dc.w $27 dc.b $F, $27 @@ -112470,7 +112444,7 @@ loc_58A80: loc_58A84: move.l #loc_58AA6,(a0) - move.b #-$6E,$28(a0) + move.b #$92,$28(a0) rts ; --------------------------------------------------------------------------- @@ -112515,7 +112489,7 @@ locret_58AE6: ; --------------------------------------------------------------------------- loc_58AE8: - move.b #-$68,$28(a0) + move.b #$98,$28(a0) jsr (Add_SpriteToCollisionResponseList).l movea.w $46(a0),a1 btst #7,$2A(a1) @@ -112529,10 +112503,12 @@ ObjDat3_58B08: dc.l Map_ICZWallAndColumn dc.b $10 dc.b 5 dc.b 0 -ChildObjDat_58B14:dc.w 0 +ChildObjDat_58B14: + dc.w 0 dc.l loc_58AE8 dc.w $C -ChildObjDat_58B1C:dc.w 0 +ChildObjDat_58B1C: + dc.w 0 dc.l loc_58AE8 dc.w $F4 ; --------------------------------------------------------------------------- @@ -112585,8 +112561,8 @@ loc_58B8A: move.b #2,5(a1) lea ChildObjDat_58C20(pc),a2 jsr CreateChild1_Normal(pc) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l jsr (Go_Delete_Sprite).l locret_58BD0: @@ -112624,7 +112600,8 @@ word_58C18: dc.w $C3B6 dc.b $20 dc.b $12 dc.b 0 -ChildObjDat_58C20:dc.w $B +ChildObjDat_58C20: + dc.w $B dc.l loc_58BD2 dc.w $F8 dc.l loc_58BD2 @@ -112681,8 +112658,8 @@ loc_58C98: lea ChildObjDat_58CE2(pc),a2 jsr CreateChild6_Simple(pc) jsr Go_Delete_Sprite(pc) - moveq #sfx_IceSpikes,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_IceSpikes),d0 + jsr (Play_SFX).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- word_58CC4: dc.w Player_1 @@ -112702,11 +112679,12 @@ ObjDat3_58CD6: dc.l Map_ICZPlatforms dc.b $10 dc.b 4 dc.b $D7 -ChildObjDat_58CE2:dc.w $B +ChildObjDat_58CE2: + dc.w $B dc.l loc_589E8 ; --------------------------------------------------------------------------- -Obj_ICZ_SnowPile: +Obj_ICZSnowPile: jsr Obj_WaitOffscreen(pc) moveq #0,d0 move.b $2C(a0),d0 @@ -113017,7 +112995,8 @@ word_58FDC: dc.w $43B6 dc.b 8 dc.b 9 dc.b 0 -ChildObjDat_58FE4:dc.w 5 +ChildObjDat_58FE4: + dc.w 5 dc.l loc_58F00 dc.w $F8F8 dc.l loc_58F00 @@ -113030,12 +113009,14 @@ ChildObjDat_58FE4:dc.w 5 dc.w $800 dc.l loc_58F00 dc.w $1800 -ChildObjDat_5900A:dc.w 1 +ChildObjDat_5900A: + dc.w 1 dc.l loc_58F00 dc.w $F8 dc.l loc_58F00 dc.w 8 -ChildObjDat_59018:dc.w 3 +ChildObjDat_59018: + dc.w 3 dc.l loc_58F00 dc.w $F8F8 dc.l loc_58F00 @@ -113046,7 +113027,7 @@ ChildObjDat_59018:dc.w 3 dc.w $808 ; --------------------------------------------------------------------------- -Obj_ICZ_TensionPlatform: +Obj_ICZTensionPlatform: lea ObjDat3_59254(pc),a1 jsr SetUp_ObjAttributes(pc) move.l #loc_5904E,(a0) @@ -113330,7 +113311,8 @@ word_59260: dc.w $43B6 dc.b $40 dc.b 8 dc.b 0 -ChildObjDat_59268:dc.w 1 +ChildObjDat_59268: + dc.w 1 dc.l loc_5905A dc.w $C800 dc.l loc_5905A @@ -113343,7 +113325,7 @@ Obj_Penguinator: move.b 5(a0),d0 move.w off_59296(pc,d0.w),d1 jsr off_59296(pc,d1.w) - lea DPLCPtr_5959A(pc),a2 + lea DPLCPtr_Penguinator(pc),a2 jsr Perform_DPLC(pc) jmp Sprite_CheckDeleteTouchSlotted(pc) ; --------------------------------------------------------------------------- @@ -113620,8 +113602,8 @@ sub_5955A: move.w $2E(a0),d0 andi.w #3,d0 bne.s locret_59502 - moveq #sfx_SlideSkidQuiet,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SlideSkidQuiet),d0 + jsr (Play_SFX).l lea ChildObjDat_59592(pc),a2 jmp CreateChild1_Normal(pc) ; End of function sub_5955A @@ -113644,10 +113626,12 @@ ObjDat3_59586: dc.l Map_ICZSnowdust dc.b $18 dc.b 0 dc.b 0 -ChildObjDat_59592:dc.w 0 +ChildObjDat_59592: + dc.w 0 dc.l Obj_ICZSnowdust dc.w $C -DPLCPtr_5959A: dc.l ArtUnc_Penguinator +DPLCPtr_Penguinator: + dc.l ArtUnc_Penguinator dc.l DPLC_Penguinator byte_595A2: dc.b 7, $10 dc.b 0, 1 @@ -113812,7 +113796,8 @@ word_59732: dc.w $280 dc.b 8 dc.b 1 dc.b $8B -ChildObjDat_59738:dc.w 3 +ChildObjDat_59738: + dc.w 3 dc.l loc_59648 dc.w 0 byte_59740: dc.b 3, 1, 2, 3, $F4, 0 @@ -113969,7 +113954,7 @@ off_598CC: dc.w loc_598D2-off_598CC ; --------------------------------------------------------------------------- loc_598D2: - lea word_59A04(pc),a1 + lea word_59A14(pc),a1 jmp SetUp_ObjAttributes3(pc) ; --------------------------------------------------------------------------- @@ -114009,7 +113994,7 @@ off_59928: dc.w loc_59930-off_59928 ; --------------------------------------------------------------------------- loc_59930: - lea word_59A0A(pc),a1 + lea word_59A1A(pc),a1 jmp SetUp_ObjAttributes3(pc) ; --------------------------------------------------------------------------- @@ -114041,8 +114026,8 @@ loc_5996C: bne.s locret_599AE tst.b 4(a0) bpl.s locret_599AE - moveq #sfx_Projectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Projectile),d0 + jsr (Play_SFX).l lea ChildObjDat_59A30(pc),a2 jsr CreateChild2_Complex(pc) movea.w $46(a0),a2 @@ -114106,12 +114091,12 @@ ObjDat3_599F8: dc.l Map_SnaleBlaster dc.b $10 dc.b 0 dc.b $B -word_59A04: dc.w $180 +word_59A14: dc.w $180 dc.b 4 dc.b $C dc.b 5 dc.b 0 -word_59A0A: dc.w $200 +word_59A1A: dc.w $200 dc.b 4 dc.b 4 dc.b 7 @@ -114130,7 +114115,8 @@ word_59A1C: dc.w 2 dc.w $F807 dc.l loc_598B6 dc.w $F804 -ChildObjDat_59A30:dc.w 0 +ChildObjDat_59A30: + dc.w 0 dc.l loc_54B46 dc.l ObjDat3_59A10 dc.l 0 @@ -114517,29 +114503,36 @@ word_59D5C: dc.w $200 dc.b 4 dc.b 6 dc.b 0 -ChildObjDat_59D62:dc.w 1 +ChildObjDat_59D62: + dc.w 1 dc.l loc_59AFA dc.w $F40C dc.l loc_59AFA dc.w $C0C -ChildObjDat_59D70:dc.w 1 +ChildObjDat_59D70: + dc.w 1 dc.l loc_59AFA dc.w $E800 dc.l loc_59AFA dc.w $1800 -ChildObjDat_59D7E:dc.w 0 +ChildObjDat_59D7E: + dc.w 0 dc.l loc_59AFA dc.w $F0 -ChildObjDat_59D86:dc.w 2 +ChildObjDat_59D86: + dc.w 2 dc.l loc_59C8A dc.w $F4 -ChildObjDat_59D8E:dc.w 2 +ChildObjDat_59D8E: + dc.w 2 dc.l loc_59C8A dc.w $C00 -ChildObjDat_59D96:dc.w 2 +ChildObjDat_59D96: + dc.w 2 dc.l loc_59C8A dc.w $F400 -ChildObjDat_59D9E:dc.w 2 +ChildObjDat_59D9E: + dc.w 2 dc.l loc_59C8A dc.w 0 byte_59DA6: dc.b 7 @@ -114653,7 +114646,8 @@ word_59E7A: dc.w $280 dc.b 8 dc.b 1 dc.b $8B -ChildObjDat_59E80:dc.w 3 +ChildObjDat_59E80: + dc.w 3 dc.l loc_59E10 dc.w $10 dc.l loc_59E10 @@ -114843,8 +114837,8 @@ loc_5A03C: jsr (SetUp_ObjAttributes2).l move.l #loc_5A05C,(a0) move.l #Go_Delete_Sprite,$34(a0) - moveq #sfx_Lazer,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Laser),d0 + jsr (Play_SFX).l loc_5A05C: addq.w #1,$3A(a0) @@ -114869,16 +114863,20 @@ word_5A07A: dc.w $558 dc.b $50 dc.b 0 dc.b $A0 -ChildObjDat_5A082:dc.w 0 +ChildObjDat_5A082: + dc.w 0 dc.l loc_59F5A dc.w $C -ChildObjDat_5A08A:dc.w 0 +ChildObjDat_5A08A: + dc.w 0 dc.l loc_5A03C dc.w $FC54 -ChildObjDat_5A092:dc.w 0 +ChildObjDat_5A092: + dc.w 0 dc.l loc_5A03C dc.w $454 -ChildObjDat_5A09A:dc.w 0 +ChildObjDat_5A09A: + dc.w 0 dc.l loc_5A03C dc.w $54 byte_5A0A2: dc.b 7 @@ -114945,7 +114943,7 @@ Obj_Flybot767: move.b 5(a0),d0 move.w off_5A0FC(pc,d0.w),d1 jsr off_5A0FC(pc,d1.w) - lea DPLCPtr_5A28C(pc),a2 + lea DPLCPtr_Flybot767(pc),a2 jsr Perform_DPLC(pc) jmp (Sprite_CheckDeleteTouchSlotted).l ; --------------------------------------------------------------------------- @@ -115091,8 +115089,9 @@ ObjDat4_5A27A: dc.w 2 dc.b $10 dc.b 0 dc.b $1A -DPLCPtr_5A28C: dc.l ArtUnc_Flybot - dc.l DPLC_Flybot +DPLCPtr_Flybot767: + dc.l ArtUnc_Flybot767 + dc.l DPLC_Flybot767 byte_5A294: dc.b 4 dc.b 0 dc.b 1 @@ -115139,7 +115138,7 @@ byte_5A2B5: dc.b 3 dc.b 0 ; --------------------------------------------------------------------------- -Obj_C3_1: +Obj_LBZ1Robotnik: lea word_5A2F0(pc),a1 jsr Check_CameraInRange(pc) moveq #0,d0 @@ -115246,7 +115245,7 @@ loc_5A3DE: lea (ArtKosM_LBZMinibossBox).l,a1 move.w #-$7540,d2 jsr (Queue_Kos_Module).l - move.w #$3EA0,(Target_camera_max_X_pos).w + move.w #$3EA0,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jmp (CreateChild6_Simple).l ; --------------------------------------------------------------------------- @@ -115336,14 +115335,14 @@ loc_5A4E4: loc_5A4F8: bset #3,$38(a0) - moveq #sfx_BossActivate,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossActivate),d0 + jsr (Play_SFX).l lea ChildObjDat_5A810(pc),a2 jsr CreateChild1_Normal(pc) jmp Go_Delete_Sprite_2(pc) ; --------------------------------------------------------------------------- -Obj_C4_1: +Obj_LBZMinibossBox: tst.b (_unkFAAB).w bne.s loc_5A572 move.l #loc_5A57A,(a0) @@ -115589,8 +115588,8 @@ sub_5A7B4: tst.b $20(a0) bne.s loc_5A7D4 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l bset #6,$2A(a0) loc_5A7D4: @@ -115618,13 +115617,16 @@ ObjDat3_5A7F4: dc.l Map_LBZMinibossBox dc.b $14 dc.b 0 dc.b 0 -ChildObjDat_5A800:dc.w 0 +ChildObjDat_5A800: + dc.w 0 dc.l loc_5A4AA dc.w $34 -ChildObjDat_5A808:dc.w 9 +ChildObjDat_5A808: + dc.w 9 dc.l loc_5A5BC dc.w 0 -ChildObjDat_5A810:dc.w 0 +ChildObjDat_5A810: + dc.w 0 dc.l Obj_LBZMiniboss dc.w 0 byte_5A818: dc.b 0 @@ -115657,7 +115659,7 @@ byte_5A830: dc.b 0 dc.b $F4 ; --------------------------------------------------------------------------- -Obj_C6_1: +Obj_LBZ2RobotnikShip: move.w a0,(Events_bg+$00).w lea ObjDat3_5AAEE(pc),a1 jsr (SetUp_ObjAttributes).l @@ -115683,10 +115685,10 @@ loc_5A84E: move.w #-$100,$1A(a0) move.w #$3F,$2E(a0) move.l #loc_5A8E6,$34(a0) - moveq #sfx_Rising,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Rising),d0 + jsr (Play_SFX).l st (Anim_Counters+$F).w - move.w #$6000,(Target_camera_max_X_pos).w + move.w #$6000,(Camera_stored_max_X_pos).w lea Child6_IncLevX(pc),a2 jsr CreateChild6_Simple(pc) lea (Child1_MakeRoboShipFlame).l,a2 @@ -115759,8 +115761,8 @@ loc_5A990: move.l #loc_5A9AC,(a0) move.w #-$200,$18(a0) move.w #-$200,$1A(a0) - moveq #sfx_Thump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Thump),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -115815,7 +115817,7 @@ loc_5AA18: clr.b $40(a1) jsr (Create_New_Sprite).l bne.s loc_5AA78 - move.l #Obj_LBZ_FinalBoss1,(a1) + move.l #Obj_LBZFinalBoss1,(a1) move.w #$44A0,$10(a1) move.w #$780,$14(a1) @@ -115887,7 +115889,7 @@ ObjDat3_5AAEE: dc.l Map_RobotnikShip dc.b $A dc.b $CA dc.w 0 - dc.l Obj_C6_1 + dc.l Obj_LBZ2RobotnikShip dc.w 0 dc.b 0 dc.b 5 @@ -115909,8 +115911,8 @@ LevelLoadBlock: levartptrs $B, $B, $A, AIZ1_8x8_Primary_KosM, AIZ1_8x8_Second levartptrs $14, $14, $F, MGZ_8x8_Primary_KosM, MGZ2_8x8_Secondary_KosM, MGZ_16x16_Primary_Kos, MGZ2_16x16_Secondary_Kos, MGZ_128x128_Primary_Kos, MGZ2_128x128_Secondary_Kos levartptrs $16, $17, $10, CNZ_8x8_KosM, CNZ_8x8_KosM, CNZ_16x16_Kos, CNZ_16x16_Kos, CNZ_128x128_Kos, CNZ_128x128_Kos levartptrs $18, $19, $11, CNZ_8x8_KosM, CNZ_8x8_KosM, CNZ_16x16_Kos, CNZ_16x16_Kos, CNZ_128x128_Kos, CNZ_128x128_Kos - levartptrs $1A, $1A, $12, ArtKosM_FBZ, ArtKosM_FBZ, FBZ_16x16_Kos, FBZ_16x16_Kos, FBZ_128x128_Kos, FBZ_128x128_Kos - levartptrs $1C, $1C, $13, ArtKosM_FBZ, ArtKosM_FBZ, FBZ_16x16_Kos, FBZ_16x16_Kos, FBZ_128x128_Kos, FBZ_128x128_Kos + levartptrs $1A, $1A, $12, FBZ1_8x8_KosM, FBZ1_8x8_KosM, FBZ1_16x16_Kos, FBZ1_16x16_Kos, FBZ1_128x128_Kos, FBZ1_128x128_Kos + levartptrs $1C, $1C, $13, FBZ2_8x8_KosM, FBZ2_8x8_KosM, FBZ2_16x16_Kos, FBZ2_16x16_Kos, FBZ2_128x128_Kos, FBZ2_128x128_Kos levartptrs $1E, $1E, $14, ICZ_8x8_Primary_KosM, ICZ1_8x8_Secondary_KosM, ICZ_16x16_Primary_Kos, ICZ1_16x16_Secondary_Kos, ICZ_128x128_Primary_Kos, ICZ1_128x128_Secondary_Kos levartptrs $20, $20, $15, ICZ_8x8_Primary_KosM, ICZ2_8x8_Secondary_KosM, ICZ_16x16_Primary_Kos, ICZ2_16x16_Secondary_Kos, ICZ_128x128_Primary_Kos, ICZ2_128x128_Secondary_Kos levartptrs $22, $22, $16, LBZ_8x8_Primary_KosM, LBZ1_8x8_Secondary_KosM, LBZ_16x16_Primary_Kos, LBZ1_16x16_Secondary_Kos, LBZ1_128x128_Kos, LBZ1_128x128_Kos @@ -116077,7 +116079,7 @@ Offs_PLC: dc.w PLC_00-Offs_PLC PLC_00: plrlistheader plreq $7D4, ArtNem_SonicLifeIcon plreq ArtTile_Ring, ArtNem_RingHUDText - plreq $5E4, ArtNem_EnemyPtsStarPost + plreq ArtTile_StarPost, ArtNem_EnemyPtsStarPost plreq ArtTile_Monitors, ArtNem_Monitors PLC_00_End @@ -116085,11 +116087,11 @@ PLC_01: plrlistheader plreq $7D4, ArtNem_SonicLifeIcon plreq ArtTile_Monitors, ArtNem_Monitors plreq ArtTile_Ring, ArtNem_RingHUDText - plreq $5E4, ArtNem_EnemyPtsStarPost + plreq ArtTile_StarPost, ArtNem_EnemyPtsStarPost PLC_01_End PLC_02: plrlistheader - plreq $5A0, ArtNem_Explosion + plreq ArtTile_Explosion, ArtNem_Explosion plreq $580, ArtNem_Squirrel plreq $592, ArtNem_BlueFlicky PLC_02_End @@ -116116,7 +116118,7 @@ PLC_07: plrlistheader plreq $7D4, ArtNem_TailsLifeIcon plreq ArtTile_Monitors, ArtNem_Monitors plreq ArtTile_Ring, ArtNem_RingHUDText - plreq $5E4, ArtNem_EnemyPtsStarPost + plreq ArtTile_StarPost, ArtNem_EnemyPtsStarPost PLC_07_End PLC_08: plrlistheader @@ -116421,8 +116423,8 @@ off_5B52E: dc.w loc_5B532-off_5B52E loc_5B532: addq.b #2,(Debug_placement_routine).w - move.l $C(a0),(Debug_P1_mappings).w - move.w $A(a0),(Debug_P2_mappings).w + move.l $C(a0),(Debug_saved_mappings).w + move.w $A(a0),(Debug_saved_art_tile).w move.w (Screen_Y_wrap_value).w,d0 and.w d0,(Player_1+y_pos).w and.w d0,(Camera_Y_pos).w @@ -116593,8 +116595,8 @@ loc_5B708: moveq #0,d0 move.w d0,(Debug_placement_mode).w lea (Player_1).w,a1 - move.l (Debug_P1_mappings).w,$C(a1) - move.w (Debug_P2_mappings).w,$A(a1) + move.l (Debug_saved_mappings).w,$C(a1) + move.w (Debug_saved_art_tile).w,$A(a1) bsr.s sub_5B736 move.b #$13,$1E(a1) move.b #9,$1F(a1) @@ -116999,7 +117001,8 @@ AutoTunnel_00: dc.w $C dc.w $F60, $578 dc.w $F60, $548 dc.w $F60, $378 -AutoTunnel_01_02:dc.w $38 +AutoTunnel_01_02: + dc.w $38 dc.w $D40, $770 dc.w $D48, $770 dc.w $D50, $770 @@ -117445,8 +117448,10 @@ Gumball2_Sprites: Gumball1_Rings: dc.w $200, $200, $FFFF Gumball2_Rings: dc.w $80, $7100, $FFFF SpriteTerminatM:dc.w $FFFF, 0, 0 -Pachinko1_Sprites:dc.w $80, $80, 0, $FFFF, 0, 0 -Pachinko2_Sprites:dc.w $80, $80, 0, $FFFF, 0, 0 +Pachinko1_Sprites: + dc.w $80, $80, 0, $FFFF, 0, 0 +Pachinko2_Sprites: + dc.w $80, $80, 0, $FFFF, 0, 0 Pachinko1_Rings:dc.w $80, $7100, $FFFF Pachinko2_Rings:dc.w $80, $7100, $FFFF SpriteTerminatN:dc.w $FFFF, 0, 0 @@ -117500,8 +117505,8 @@ SolidIndexes: dc.l Solid_AIZ1 dc.l Solid_MGZ2 dc.l Solid_CNZ dc.l Solid_CNZ - dc.l Solid_FBZ - dc.l Solid_FBZ + dc.l Solid_FBZ1 + dc.l Solid_FBZ2 dc.l Solid_ICZ1 dc.l Solid_ICZ2 dc.l Solid_LBZ1 @@ -117554,7 +117559,8 @@ Solid_MGZ2: binclude "Levels/MGZ/Collision/2.bin" even Solid_CNZ: binclude "Levels/CNZ/Collision/1.bin" even -Solid_FBZ: +Solid_FBZ1: +Solid_FBZ2: Solid_ICZ1: binclude "Levels/ICZ/Collision/1.bin" even Solid_ICZ2: binclude "Levels/ICZ/Collision/2.bin" @@ -117673,11 +117679,11 @@ Layout_Slot_Special: even PalPoint: include "Levels/Misc/Palette pointers S3.asm" -Pal_Unknown1: binclude "Levels/Misc/Palettes/Unknown 1.bin" +Pal_S2Sega: binclude "General/Sprites/S2Menu/Palettes/Sega Screen.bin" even -Pal_Unknown2: binclude "Levels/Misc/Palettes/Unknown 2 S3.bin" +Pal_S2Title: binclude "General/Sprites/S2Menu/Palettes/Title Screen.bin" even -Pal_Unknown3: binclude "Levels/Misc/Palettes/Unknown 3 S3.bin" +Pal_S2LevSel: binclude "General/Sprites/S2Menu/Palettes/Proto Level Select.bin" even Pal_SonicTails: binclude "General/Sprites/Sonic/Palettes/SonicAndTails.bin" even @@ -117748,8 +117754,8 @@ Pal_Slot_Special: ArtUnc_CNZCannon: binclude "General/Sprites/CNZ Cannon/CNZ Cannon.bin" even -ArtUnc_AirCountDown: - binclude "General/Sprites/Bubbles/Air Countdown.bin" +ArtUnc_AirCountdown: + binclude "General/Sprites/Dash Dust/Air Countdown.bin" even ArtUnc_SONICMILES: binclude "General/Sprites/S2Menu/SONICMILES.bin" @@ -117799,7 +117805,7 @@ MapEni_SStageBG:binclude "General/Special Stage/Enigma Map/BG.bin" ArtNem_SStageBG:binclude "General/Special Stage/Nemesis Art/BG.bin" even MapUnc_SStageLayout: - binclude "General/Special Stage/Layout/S3 Plane Map.bin" + binclude "General/Special Stage/Uncompressed Map/Layout S3.bin" even ArtNem_SStageLayout: binclude "General/Special Stage/Nemesis Art/Layout.bin" @@ -118474,7 +118480,8 @@ DAC_B6_Setup2: dc.b $C DAC_B7_Setup2: dc.b $18 dc.w 0 dc.w 0 -DAC_B8_B9_Setup2:dc.b $C +DAC_B8_B9_Setup2: + dc.b $C dc.w 0 dc.w 0 DAC_BA_Setup2: dc.b $18 @@ -118698,7 +118705,8 @@ DAC_B6_Setup3: dc.b $C DAC_B7_Setup3: dc.b $18 dc.w $B104 dc.w $3FCE -DAC_B8_B9_Setup3:dc.b $C +DAC_B8_B9_Setup3: + dc.b $C dc.w $3A06 dc.w $F0D2 DAC_BA_Setup3: dc.b $18 @@ -118963,11 +118971,11 @@ ArtUnc_Knuckles2P: binclude "General/Sprites/Knuckles/Art/Knuckles 2P.bin" even Map_Sonic: include "General/Sprites/Sonic/Map - Sonic S3.asm" -PLC_Sonic: include "General/Sprites/Sonic/Sonic pattern load cues S3.asm" +PLC_Sonic: include "General/Sprites/Sonic/DPLC - Sonic S3.asm" Map_Tails: include "General/Sprites/Tails/Map - Tails S3.asm" -PLC_Tails: include "General/Sprites/Tails/Tails pattern load cues S3.asm" +PLC_Tails: include "General/Sprites/Tails/DPLC - Tails S3.asm" Map_Tails_Tail: include "General/Sprites/Tails/Map - Tails tails.asm" -PLC_Tails_Tail: include "General/Sprites/Tails/Tails tails pattern load cues.asm" +PLC_Tails_Tail: include "General/Sprites/Tails/DPLC - Tails tails.asm" ICZSnowboard_Slope1: binclude "Levels/ICZ/Misc/ICZ Snowboard Slope 1.bin" even @@ -119012,8 +119020,9 @@ ArtUnc_FireShield: ArtUnc_LightningShield: binclude "General/Sprites/Shields/Lightning Shield.bin" even -ArtUnc_Obj_Lightning_Shield_Sparks: +ArtUnc_LightningShield_Sparks: binclude "General/Sprites/Shields/Sparks.bin" +ArtUnc_LightningShield_Sparks_end: even ArtUnc_BubbleShield: binclude "General/Sprites/Shields/Bubble Shield.bin" @@ -119104,13 +119113,13 @@ ArtNem_DiagonalSpring: ArtNem_HUDText: binclude "General/Sprites/HUD Icon/HUD Text.bin" even ArtNem_SonicLifeIcon: - binclude "General/Sprites/HUD Icon/Sonic life icon.bin" + binclude "General/Sprites/HUD Icon/Sonic Life icon.bin" even ArtNem_TailsLifeIcon: binclude "General/Sprites/HUD Icon/Tails Life Icon.bin" even ArtNem_KnucklesLifeIcon: - binclude "General/Sprites/HUD Icon/Knuckles life icon.bin" + binclude "General/Sprites/HUD Icon/Knuckles Life icon.bin" even ArtNem_Ring: binclude "General/Sprites/Ring/Ring.bin" even @@ -119181,16 +119190,14 @@ Map_LBZMiniboss: Map_LBZMinibossBox: include "Levels/LBZ/Misc Object Data/Map - Miniboss Box.asm" Map_SnaleBlaster: - include "General/Sprites/Snail Blaster/Map - Snail Blaster.asm" + include "General/Sprites/Snale Blaster/Map - Snale Blaster.asm" Map_Orbinaut: include "General/Sprites/Orbinaut/Map - Orbinaut.asm" Map_Ribot: include "General/Sprites/Ribot/Map - Ribot.asm" Map_Corkey: include "General/Sprites/Corkey/Map - Corkey.asm" -Map_Flybot767: include "General/Sprites/Flybot/Map - Flybot.asm" -DPLC_Flybot: include "General/Sprites/Flybot/DPLC - Flybot.asm" -Map_LBZEndBoss: - include "Levels/LBZ/Misc Object Data/Map - End Boss.asm" -Map_CNZEndBoss: - include "Levels/CNZ/Misc Object Data/Map - End Boss.asm" +Map_Flybot767: include "General/Sprites/Flybot767/Map - Flybot767.asm" +DPLC_Flybot767: include "General/Sprites/Flybot767/DPLC - Flybot767.asm" +Map_LBZEndBoss: include "Levels/LBZ/Misc Object Data/Map - End Boss.asm" +Map_CNZEndBoss: include "Levels/CNZ/Misc Object Data/Map - End Boss.asm" CNZEndBossMagnet_AngleX: dc.b 0, 1, 2, 3, 4, 5, 6, 8, 9, $A, $B, $C, $D, $E, $F, $10 dc.b $11, $12, $13, $14, $15, $16, $17, $18, $18, $19, $1A, $1B, $1C, $1D, $1E, $1E @@ -119208,7 +119215,7 @@ Map_Blastoid: include "General/Sprites/Blastoid/Map - Blastoid.asm" Map_Toxomister: include "General/Sprites/Toxomister/Map - Toxomister S3.asm" Map_Poindexter: include "General/Sprites/Pointdexter/Map - Pointdexter.asm" Map_Buggernaut: include "General/Sprites/Buggernaut/Map - Buggernaut.asm" -Map_MegaChomper:include "General/Sprites/Mega Chomper/Map - Mega Chomper.asm" +Map_MegaChopper:include "General/Sprites/Mega Chopper/Map - Mega Chopper.asm" Map_Dragonfly: include "General/Sprites/Dragonfly/Map - Dragonfly.asm" DPLC_Cluckoid: include "General/Sprites/Cluckoid/DPLC - Cluckoid.asm" Map_CluckoidArrow: @@ -119226,8 +119233,8 @@ Map_Jawz: include "General/Sprites/Jawz/Map - Jawz.asm" Map_Mushmeanie: include "General/Sprites/Mushmeanie/Map - Mushmeanie.asm" Map_Madmole: include "General/Sprites/Madmole/Map - Madmole S3.asm" Map_Iwamodoki: include "General/Sprites/Iwamodoki/Map - Iwamodoki S3.asm" -DPLC_RhinoBot: include "General/Sprites/Rhino/DPLC - RhinoBot.asm" -Map_RhinoBot: include "General/Sprites/Rhino/Map - RhinoBot.asm" +DPLC_Rhinobot: include "General/Sprites/Rhinobot/DPLC - Rhinobot.asm" +Map_Rhinobot: include "General/Sprites/Rhinobot/Map - Rhinobot.asm" dc.w $A dc.w $1C dc.w $24 @@ -119239,15 +119246,15 @@ Map_AIZMinibossFlame: include "Levels/AIZ/Misc Object Data/Map - Miniboss Flame.asm" Map_FBZEndBossFlame: include "Levels/FBZ/Misc Object Data/Map - End Boss Flame.asm" -Map_Tulipon: include "General/Sprites/Tulipon/Map - Tulipon.asm" +Map_Bloominator:include "General/Sprites/Bloominator/Map - Bloominator.asm" Map_MonkeyDude: include "General/Sprites/Monkey Dude/Map - Monkey Dude.asm" Map_SOZMiniboss:include "Levels/SOZ/Misc Object Data/Map - Miniboss.asm" -Map_MGZMiniBoss:include "Levels/MGZ/Misc Object Data/Map - Miniboss.asm" +Map_MGZMiniboss:include "Levels/MGZ/Misc Object Data/Map - Miniboss.asm" Map_CaterKillerJr: include "General/Sprites/Caterkiller Jr/Map - Caterkiller Jr.asm" DPLC_Clamer: include "General/Sprites/Clamer/DPLC - Clamer.asm" Map_Clamer: include "General/Sprites/Clamer/Map - Clamer.asm" -Map_CNZBlastoid:include "Levels/CNZ/Misc Object Data/Map - Blastoid.asm" +Map_Sparkle: include "General/Sprites/Sparkle/Map - Sparkle.asm" Map_Batbot: include "General/Sprites/Batbot/Map - Batbot.asm" DPLC_BubblesBadnik: include "General/Sprites/Bubbles Badnik/DPLC - Bubbles Badnik.asm" @@ -119298,62 +119305,57 @@ Map_HCZMinibossSplash: DPLC_HCZMinibossSplash: include "Levels/HCZ/Misc Object Data/DPLC - Miniboss Splash.asm" Map_ICZEndBoss: include "Levels/ICZ/Misc Object Data/Map - End Boss.asm" -PalSPtr_CNZMinibossNormal: palscriptptr .header, .data + +PalSPtr_CNZMinibossNormal: + palscriptptr .header, .data dc.w 0 .header palscripthdr Normal_palette_line_2+$14, 1, 3-1 - .data palscriptdata 1, $EEE palscriptdata 1, $A22 palscriptdata 6, $020 palscriptloop .headr2 - .headr2 palscripthdr Normal_palette_line_2+$14, 1, 3-1 palscriptdata 1, $EEE palscriptdata 1, $A22 palscriptdata 4, $020 palscriptloop .headr3 - .headr3 palscripthdr Normal_palette_line_2+$14, 1, 3-1 palscriptdata 1, $EEE palscriptdata 1, $A22 palscriptdata 2, $020 palscriptloop .headr4 - .headr4 palscripthdr Normal_palette_line_2+$14, 1, $B-1 palscriptdata 1, $EEE palscriptdata 1, $A22 palscriptdata 1, $020 palscriptrun -PalSPtr_CNZMinibossSparks: palscriptptr .header, .data +PalSPtr_CNZMinibossSparks: + palscriptptr .header, .data dc.w 0 .header palscripthdr Normal_palette_line_2+$14, 1, $31-1 - .data palscriptdata 1, $EEE palscriptdata 1, $A22 palscriptdata 1, $020 palscriptloop .headr2 - .headr2 palscripthdr Normal_palette_line_2+$14, 1, 3-1 palscriptdata 1, $EEE palscriptdata 1, $A22 palscriptdata 2, $020 palscriptloop .headr3 - .headr3 palscripthdr Normal_palette_line_2+$14, 1, 4-1 palscriptdata 1, $EEE palscriptdata 1, $A22 palscriptdata 4, $020 palscriptloop .headr4 - .headr4 palscripthdr Normal_palette_line_2+$14, 1, 2-1 palscriptdata 96, $020 palscriptloop PalSPtr_CNZMinibossNormal.headr3 -PalSPtr_CNZMinibossOpen: palscriptptr .header, .data +PalSPtr_CNZMinibossOpen: + palscriptptr .header, .data dc.w 0 .header palscripthdr Normal_palette_line_2+$14, 1, 0 - .data palscriptdata 1, $EEE palscriptdata 1, $A22 palscriptdata 2, $020 @@ -119366,33 +119368,29 @@ PalSPtr_CNZMinibossOpen: palscriptptr .header, .data palscriptrept Map_CNZMiniboss:include "Levels/CNZ/Misc Object Data/Map - Miniboss.asm" + word_16322C: palscriptptr .header, .data dc.w 0 - .header palscripthdr Normal_palette_line_2+$14, 1, 3-1 .data palscriptdata 8, $222 palscriptdata 1, $C22 palscriptdata 1, $EE0 palscriptloop .headr2 - .headr2 palscripthdr Normal_palette_line_2+$14, 1, 3-1 palscriptdata 6, $222 palscriptdata 1, $C22 palscriptdata 1, $EE0 palscriptloop .headr3 - .headr3 palscripthdr Normal_palette_line_2+$14, 1, 3-1 palscriptdata 4, $222 palscriptdata 1, $C22 palscriptdata 1, $EE0 palscriptloop .headr4 - .headr4 palscripthdr Normal_palette_line_2+$14, 1, 3-1 palscriptdata 2, $222 palscriptdata 1, $C22 palscriptdata 1, $EE0 palscriptloop .headr5 - .headr5 palscripthdr Normal_palette_line_2+$14, 1, 0 palscriptdata 1, $222 palscriptdata 1, $C22 @@ -119401,36 +119399,32 @@ word_16322C: palscriptptr .header, .data word_163298: palscriptptr .header, .data dc.w 0 - .header palscripthdr Normal_palette_line_2+$14, 1, 3-1 .data palscriptdata 2, $222 palscriptdata 1, $C22 palscriptdata 1, $EE0 palscriptloop .headr2 - .headr2 palscripthdr Normal_palette_line_2+$14, 1, 3-1 palscriptdata 4, $222 palscriptdata 1, $C22 palscriptdata 1, $EE0 palscriptloop .headr3 - .headr3 palscripthdr Normal_palette_line_2+$14, 1, 3-1 palscriptdata 6, $222 palscriptdata 1, $C22 palscriptdata 1, $EE0 palscriptloop .headr4 - .headr4 palscripthdr Normal_palette_line_2+$14, 1, 3-1 palscriptdata 8, $222 palscriptdata 1, $C22 palscriptdata 1, $EE0 palscriptloop .headr5 - .headr5 palscripthdr Normal_palette_line_2+$14, 1, 5-1 palscriptdata 10,$222 palscriptdata 1, $C22 palscriptdata 1, $EE0 palscriptrun + ICZMiniboss_OrbAngleLookup: dc.b 0, 1, 2, 4, 5, 6, 7, 8, 9, $B, $C, $D, $E, $F, $10, $11 dc.b $12, $13, $15, $16, $17, $18, $19, $1A, $1B, $1C, $1D, $1E, $1E, $1F, $20, $21 @@ -119466,7 +119460,7 @@ Map_LBZFinalBoss1: include "Levels/LBZ/Misc Object Data/Map - Final Boss 1.asm" Map_LBZDeathEggSmall: include "Levels/LBZ/Misc Object Data/Map - Death Egg Small.asm" -Pal_MGZFadeCNZ: binclude "Levels/Misc/Palettes/MGZ Fade to CNZ.bin" +Pal_MGZFadeCNZ: binclude "Levels/MGZ/Palettes/Fade to CNZ.bin" even Map_LBZFinalBoss2: include "Levels/LBZ/Misc Object Data/Map - Final Boss 2.asm" @@ -119479,10 +119473,11 @@ ArtKosM_AIZEndBoss: ArtNem_AIZMinibossSmall: binclude "Levels/AIZ/Nemesis Art/Miniboss Small.bin" even -ArtUnc_AIZRhino:binclude "General/Sprites/Rhino/Rhino.bin" +ArtUnc_AIZRhinobot: + binclude "General/Sprites/Rhinobot/Rhinobot.bin" even -ArtKosM_AIZ_Tulipon: - binclude "General/Sprites/Tulipon/Tulipon.bin" +ArtKosM_AIZ_Bloominator: + binclude "General/Sprites/Bloominator/Bloominator.bin" even ArtKosM_AIZ_MonkeyDude: binclude "General/Sprites/Monkey Dude/Monkey Dude.bin" @@ -119603,8 +119598,8 @@ ArtKosM_LBZEndBoss: ArtKosM_LBZFinalBoss2: binclude "Levels/LBZ/KosinskiM Art/Final Boss 2.bin" even -ArtKosM_SnailBlaster: - binclude "General/Sprites/Snail Blaster/Snail Blaster.bin" +ArtKosM_SnaleBlaster: + binclude "General/Sprites/Snale Blaster/Snale Blaster.bin" even ArtKosM_Ribot: binclude "General/Sprites/Ribot/Ribot.bin" even @@ -119613,7 +119608,8 @@ ArtKosM_Orbinaut: even ArtKosM_Corkey: binclude "General/Sprites/Corkey/Corkey.bin" even -ArtUnc_Flybot: binclude "General/Sprites/Flybot/Flybot.bin" +ArtUnc_Flybot767: + binclude "General/Sprites/Flybot767/Flybot767.bin" even ArtNem_LBZKnuxBomb: binclude "Levels/LBZ/Nemesis Art/Knuckles Bomb.bin" @@ -119621,7 +119617,7 @@ ArtNem_LBZKnuxBomb: ArtKosM_LBZ2DeathEggSmall: binclude "Levels/LBZ/KosinskiM Art/Act 2 Death Egg Small.bin" even -ArtScaled_FleeingRobotnik: +ArtScaled_LBZ2UnusedRobotnik: binclude "General/Sprites/Robotnik/Robotnik Fly Scaled.bin" even ArtKosM_LBZ2DeathEgg2_8x8: @@ -119705,7 +119701,7 @@ ArtNem_AIZSlideRope: binclude "Levels/AIZ/Nemesis Art/Zip Vine.bin" even ArtNem_AIZBackgroundTree: - binclude "Levels/AIZ/Nemesis Art/BG Tree.bin" + binclude "Levels/AIZ/Nemesis Art/BG Tree.bin" even ArtNem_AIZMisc1:binclude "Levels/AIZ/Nemesis Art/Misc Art 1.bin" even @@ -119741,7 +119737,7 @@ ArtNem_HCZ2Slide: binclude "Levels/HCZ/Nemesis Art/Act 2 Slide.bin" even ArtNem_HCZ2BlockPlat: - binclude "Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin" + binclude "Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin" even ArtUnc_HCZWaterSplash2: binclude "Levels/HCZ/Animated Tiles/Water Splash 2.bin" @@ -119750,7 +119746,7 @@ ArtUnc_HCZWaterSplash: binclude "Levels/HCZ/Animated Tiles/Water Splash.bin" even ArtNem_HCZ2KnuxWall: - binclude "Levels/HCZ/Nemesis Art/Act 2 Knuckles Wall.bin" + binclude "Levels/HCZ/Nemesis Art/Act 2 Knuckles Wall.bin" even ArtNem_MGZMisc1:binclude "Levels/MGZ/Nemesis Art/Misc Art 1.bin" even @@ -119822,7 +119818,6 @@ ArtKosM_SSResults: dc.w $1220 ArtKos_SSResultsGeneral: binclude "General/Special Stage/Kosinski Art/S3 SSResults General.bin" - even ArtKos_SSResultsTKIcons: binclude "General/Special Stage/Kosinski Art/S3 SSResults Tails Knuckles Icons.bin" even @@ -119873,7 +119868,7 @@ Pal_SaveMenuBG: binclude "General/Save Menu/Palettes/BG.bin" Pal_CompetitionMenuBG: binclude "General/Competition Menu/Palettes/BG.bin" even -MapEni_S3MenuBG:binclude "General/Title/Enigma Map/S3 Menu BG.bin" +MapEni_S3MenuBG:binclude "General/Save Menu/Enigma Map/Menu BG.bin" even ArtKos_S3MenuBG:binclude "General/Save Menu/Kosinski Art/Menu BG.bin" even @@ -120040,9 +120035,12 @@ CNZ_8x8_KosM: binclude "Levels/CNZ/Tiles/Primary.bin" even CNZ_128x128_Kos:binclude "Levels/CNZ/Chunks/Primary.bin" even -FBZ_16x16_Kos: -ArtKosM_FBZ: -FBZ_128x128_Kos: +FBZ1_16x16_Kos: +FBZ1_8x8_KosM: +FBZ1_128x128_Kos: +FBZ2_16x16_Kos: +FBZ2_8x8_KosM: +FBZ2_128x128_Kos: ICZ_16x16_Primary_Kos: binclude "Levels/ICZ/Blocks/Primary.bin" even diff --git a/s3.constants.asm b/s3.constants.asm index 67738a4e..fba72d08 100644 --- a/s3.constants.asm +++ b/s3.constants.asm @@ -1,13 +1,14 @@ phase Level_layout_header+$400 -SStage_extra_sprites := * ; some extra sprite info for special stages - ds.b $70 ; Sonic & Knuckles has a different address... So uh... Yes +SStage_extra_sprites := * ; Sonic & Knuckles uses a different address + ds.b $70 ; some extra sprite info for special stages ds.b $390 ; unused -SStage_collision_response_list := * ; some extra sprite info for special stages - ds.b $100 ; unused -SStage_unkA500 := * ; unknown special stage array - ds.b $100 ; Sonic & Knuckles has a different address... So uh... Yes -SStage_unkA600 := * ; unknown special stage array - ds.b $100 ; Sonic & Knuckles has a different address... So uh... Yes +SStage_collision_response_list := * ; Sonic & Knuckles uses a different address + ds.b $100 ; some extra sprite info for special stages +SStage_unkA500 := * ; Sonic & Knuckles uses a different address + ds.b $100 ; unknown special stage array +SStage_unkA600 := * ; Sonic & Knuckles uses a different address + ds.b $100 ; unknown special stage array + dephase phase Stat_table+$12 _unkE412 ds.w 1 ; unused, but referenced in sphere test @@ -19,6 +20,7 @@ Save_pointer := Competition_saved_data+$B8; long ; pointer to the active save Saved_data := Competition_saved_data+$CC; $34 bytes ; saved data from 1 player mode H_int_jump := _tempF608 ; 6 bytes ; contains an instruction to jump to the H-int handler H_int_addr := H_int_jump+2 ; long + dephase phase _unkF712+8 CNZ_bumper_routine ds.b 1 ; left over from Sonic 2 @@ -27,50 +29,54 @@ CNZ_visible_bumpers_start ds.l 1 ; left over from Sonic 2 CNZ_Visible_bumpers_end ds.l 1 ; left over from Sonic 2 CNZ_Visible_bumpers_start_P2 ds.l 1 ; left over from Sonic 2 CNZ_Visible_bumpers_end_P2 ds.l 1 ; left over from Sonic 2 + dephase phase _tempFF88 Current_zone_2P ds.b 1 ; left over from Sonic 2 Current_act_2P ds.b 1 ; left over from Sonic 2 Options_menu_box = _tempFF8C ; byte ; left over from Sonic 2 _unkFF98 = _tempFF98 ; word ; unused + dephase phase Demo_mode_flag -Level_select_flag := * - ds.b 1 ; Sonic & Knuckles has a different address... So uh... Yes -Slow_motion_flag := * - ds.b 1 ; Sonic & Knuckles has a different address... So uh... Yes -Debug_cheat_flag := * ; set if the debug cheat's been entered - ds.w 1 ; Sonic & Knuckles has a different address... So uh... Yes -Level_select_cheat_counter := * ; progress entering level select cheat, unused - ds.w 1 ; Sonic & Knuckles has a different address... So uh... Yes -Debug_mode_cheat_counter := * ; progress entering debug mode cheat, unused - ds.w 1 ; Sonic & Knuckles has a different address... So uh... Yes -Competition_mode := * - ds.w 1 ; Sonic & Knuckles has a different address... So uh... Yes -P1_character := * ; 0 := Sonic, 1 := Tails, 2 := Knuckles - ds.b 1 ; Sonic & Knuckles has a different address... So uh... Yes -P2_character := * - ds.b 1 ; Sonic & Knuckles has a different address... So uh... Yes +Level_select_flag := * ; Sonic & Knuckles uses a different address + ds.b 1 +Slow_motion_flag := * ; Sonic & Knuckles uses a different address + ds.b 1 +Debug_cheat_flag := * ; Sonic & Knuckles uses a different address + ds.w 1 ; set if the debug cheat's been entered +Level_select_cheat_counter := * ; Sonic & Knuckles uses a different address + ds.w 1 ; progress entering level select cheat, unused +Debug_mode_cheat_counter := * ; Sonic & Knuckles uses a different address + ds.w 1 ; progress entering debug mode cheat, unused +Competition_mode := * ; Sonic & Knuckles uses a different address + ds.w 1 +P1_character := * ; Sonic & Knuckles uses a different address + ds.b 1 ; 0 = Sonic, 1 = Tails, 2 = Knuckles +P2_character := * ; Sonic & Knuckles uses a different address + ds.b 1 _dbgFFDC ds.b 1 ; seems like a leftover constant. Existed in Sonic 1 and Sonic 2 as well _dbgFFDD ds.b 1 ; seems like a leftover constant. Existed in Sonic 1 and Sonic 2 as well _dbgFFDE ds.b 1 ; seems like a leftover constant. Existed in Sonic 1 and Sonic 2 as well _dbgFFDF ds.b 1 ; seems like a leftover constant. Existed in Sonic 1 and Sonic 2 as well + dephase phase V_int_jump -Demo_mode_flag := * - ds.w 1 ; Sonic & Knuckles has a different address... So uh... Yes -Next_demo_number := * - ds.w 1 ; Sonic & Knuckles has a different address... So uh... Yes +Demo_mode_flag := * ; Sonic & Knuckles uses a different address + ds.w 1 +Next_demo_number := * ; Sonic & Knuckles uses a different address + ds.w 1 Ending_demo_number ds.w 1 ; zone for the ending demos, unused -V_blank_cycles := * ; the number of cycles between V-blanks - ds.w 1 ; Sonic & Knuckles has a different address... So uh... Yes -Graphics_flags := * ; bit 7 set := English system, bit 6 set := PAL system - ds.b 1 ; Sonic & Knuckles has a different address... So uh... Yes +V_blank_cycles := * ; Sonic & Knuckles uses a different address + ds.w 1 ; the number of cycles between V-blanks +Graphics_flags := * ; Sonic & Knuckles uses a different address + ds.b 1 ; bit 7 set = English system, bit 6 set = PAL system ds.b 1 ; unused -Debug_mode_flag := * - ds.w 1 ; Sonic 3 has a different address... So uh... Yes -Checksum_string := * ; set to 'init' once the checksum routine has run - ds.l 1 ; Sonic & Knuckles has a different address... So uh... Yes +Debug_mode_flag := * ; Sonic & Knuckles uses a different address + ds.w 1 +Checksum_string := * ; Sonic & Knuckles uses a different address + ds.l 1 ; set to Ref_Checksum_String once the checksum routine has run +Ref_Checksum_String := 'init' dephase !org 0 diff --git a/sonic3k.asm b/sonic3k.asm index 6927ece3..47056bb6 100644 --- a/sonic3k.asm +++ b/sonic3k.asm @@ -69,12 +69,12 @@ RAMEndLoc: dc.l (RAM_start&$FFFFFF)+$FFFF if Sonic3_Complete CartRAM_Info: dc.b "RA" CartRAM_Type: dc.w %1111100000100000 -CartRAMStartLoc: dc.l $00200001 +CartRAMStartLoc:dc.l $00200001 CartRAMEndLoc: dc.l $002003FF else CartRAM_Info: dc.b " " CartRAM_Type: dc.w %10000000100000 -CartRAMStartLoc: dc.l $20202020 +CartRAMStartLoc:dc.l $20202020 CartRAMEndLoc: dc.l $20202020 endif Modem_Info: dc.b " " @@ -82,7 +82,7 @@ Modem_Info: dc.b " " Unknown_Header: dc.w 0 dc.b " " dc.w 0, 0 - dc.l EndOfROM-1 ; 0 ;CHECKLATER (ROM Bank Info) + dc.l EndOfROM-1 ; 0 ;CHECKLATER (ROM Bank Info) dc.b " " KiS2ROM_Info: dc.b "RO" KiS2ROM_Type: dc.w %10000000100000 @@ -110,8 +110,8 @@ EntryPoint: movem.l (a5)+,a0-a4 move.b HW_Version-Z80_bus_request(a1),d0 ; get hardware version andi.b #$F,d0 - beq.s SkipSecurity ; branch if hardware is older than Genesis III - move.l #'SEGA',Security_addr-Z80_bus_request(a1) ; satisfy the TMSS + beq.s SkipSecurity ; branch if hardware is older than Genesis III + move.l #'SEGA',Security_addr-Z80_bus_request(a1) ; satisfy the TMSS SkipSecurity: move.w (a4),d0 ; check if VDP works @@ -139,7 +139,6 @@ WaitForZ80: Init_SoundRAM: move.b (a5)+,(a0)+ dbf d2,Init_SoundRAM - move.w d0,(a2) move.w d0,(a1) ; start the Z80 move.w d7,(a2) ; reset the Z80 @@ -163,7 +162,7 @@ Init_ClearVSRAM: moveq #PSGInitValues_End-PSGInitValues-1,d5 Init_InputPSG: - move.b (a5)+,PSG_input-VDP_data_port(a3) ; reset the PSG + move.b (a5)+,PSG_input-VDP_data_port(a3) ; reset the PSG dbf d5,Init_InputPSG move.w d0,(a2) movem.l (a6),d0-a6 ; clear all registers @@ -172,19 +171,20 @@ Init_InputPSG: Init_SkipPowerOn: bra.s Test_LockOn ; --------------------------------------------------------------------------- -SetupValues: dc.w $8000,bytesToLcnt($10000),$100 - dc.l Z80_RAM - dc.l Z80_bus_request - dc.l Z80_reset - dc.l VDP_data_port, VDP_control_port +SetupValues: dc.w $8000,bytesToLcnt($10000),$100 + dc.l Z80_RAM + dc.l Z80_bus_request + dc.l Z80_reset + dc.l VDP_data_port, VDP_control_port -VDPInitValues: ; values for VDP registers +; values for VDP registers +VDPInitValues: dc.b 4 ; Command $8004 - HInt off, Enable HV counter read dc.b $14 ; Command $8114 - Display off, VInt off, DMA on, PAL off dc.b $30 ; Command $8230 - Scroll A Address $C000 dc.b $3C ; Command $833C - Window Address $F000 dc.b 7 ; Command $8407 - Scroll B Address $E000 - dc.b $6C ; Command $856C - Sprite Table Addres $D800 + dc.b $6C ; Command $856C - Sprite Table Address $D800 dc.b 0 ; Command $8600 - Null dc.b 0 ; Command $8700 - Background color Pal 0 Color 0 dc.b 0 ; Command $8800 - Null @@ -204,16 +204,16 @@ VDPInitValues: ; values for VDP registers dc.b 0 ; Command $9600 - See above dc.b $80 ; Command $9700 - See above + VRAM fill mode VDPInitValues_End: - dc.l vdpComm($0000,VRAM,DMA) ; value for VRAM write mode + dc.l vdpComm($0000,VRAM,DMA) ; value for VRAM write mode - ; Z80 instructions (not the sound driver; that gets loaded later) +; Z80 instructions (not the sound driver; that gets loaded later) Z80StartupCodeBegin: if (*)+$26 < $10000 save - CPU Z80 ; start assembling Z80 code - phase 0 ; pretend we're at address 0 + CPU Z80 ; start assembling Z80 code + phase 0 ; pretend we're at address 0 xor a ; clear a to 0 - ld bc,((Z80_RAM_end-Z80_RAM)-zStartupCodeEndLoc)-1 ; prepare to loop this many times + ld bc,((Z80_RAM_end-Z80_RAM)-zStartupCodeEndLoc)-1 ; prepare to loop this many times ld de,zStartupCodeEndLoc+1 ; initial destination address ld hl,zStartupCodeEndLoc ; initial source address ld sp,hl ; set the address the stack starts at @@ -235,24 +235,22 @@ Z80StartupCodeBegin: ld sp,hl ; clear sp di ; clear iff1 (for interrupt handler) im 1 ; interrupt handling mode = 1 - ld (hl),0E9h ; replace the first instruction with a jump to itself - jp (hl) ; jump to the first instruction (to stay there forever) + ld (hl),0E9h ; replace the first instruction with a jump to itself + jp (hl) ; jump to the first instruction (to stay there forever) zStartupCodeEndLoc: - dephase ; stop pretending + dephase ; stop pretending restore - padding off ; unfortunately our flags got reset so we have to set them again... - else ; due to an address range limitation I could work around but don't think is worth doing so: + padding off ; unfortunately our flags got reset so we have to set them again... + else ; due to an address range limitation I could work around but don't think is worth doing so: message "Warning: using pre-assembled Z80 startup code." dc.w $AF01,$D91F,$1127,$0021,$2600,$F977,$EDB0,$DDE1,$FDE1,$ED47,$ED4F,$D1E1,$F108,$D9C1,$D1E1,$F1F9,$F3ED,$5636,$E9E9 endif Z80StartupCodeEnd: - dc.w $8104 ; value for VDP display mode - dc.w $8F02 ; value for VDP increment - dc.l vdpComm($0000,CRAM,WRITE) ; value for CRAM write mode - dc.l vdpComm($0000,VSRAM,WRITE) ; value for VSRAM write mode - -PSGInitValues: - dc.b $9F,$BF,$DF,$FF ; values for PSG channel volumes + dc.w $8104 ; value for VDP display mode + dc.w $8F02 ; value for VDP increment + dc.l vdpComm($0000,CRAM,WRITE) ; value for CRAM write mode + dc.l vdpComm($0000,VSRAM,WRITE) ; value for VSRAM write mode +PSGInitValues: dc.b $9F,$BF,$DF,$FF ; values for PSG channel volumes PSGInitValues_End: ; --------------------------------------------------------------------------- @@ -332,13 +330,11 @@ S2orS3LockedOn: jmp ($300000).l ; May be changed at a later date to become compatible with S2K disassembly ; --------------------------------------------------------------------------- LockonSerialsText: - dc.b "GM 00001051-00" ; Sonic 2 REV00/1/2 + dc.b "GM 00001051-00" ; Sonic 2 REV00/1/2 dc.b "GM 00001051-01" dc.b "GM 00001051-02" dc.b "GM MK-1079 -00" ; Sonic 3 - -SegaHeadersText: - dc.b "SEGA MEGA DRIVE " +SegaHeadersText:dc.b "SEGA MEGA DRIVE " dc.b "SEGA GENESIS " ; --------------------------------------------------------------------------- @@ -365,7 +361,7 @@ BlueSpheresStartup: Test_Checksum: btst #6,(HW_Expansion_Control).l beq.s + - cmpi.l #'SM&K',(Checksum_string).w + cmpi.l #Ref_Checksum_String,(Checksum_string).w beq.w Test_Checksum_Done + movea.l #ErrorTrap,a6 @@ -387,7 +383,7 @@ Test_Checksum: move.b (HW_Version).l,d6 andi.b #$C0,d6 move.b d6,(Graphics_flags).w - move.l #'SM&K',(Checksum_string).w + move.l #Ref_Checksum_String,(Checksum_string).w Test_Checksum_Done: rts @@ -439,9 +435,9 @@ JumpToSegaScreen: move.b #0,(Game_mode).w rts ; --------------------------------------------------------------------------- - ; unused/dead code ; weird routine, makes the screen go haywire pretty much + ChecksumError2: move.l d1,-(sp) bsr.w Init_VDP @@ -453,8 +449,8 @@ ChecksumError2_Loop: addq.w #1,d7 bra.s ChecksumError2_Loop ; --------------------------------------------------------------------------- - ; unused/dead code + ChecksumError: move.l #vdpComm($0000,CRAM,WRITE),(VDP_control_port).l moveq #$3F,d7 @@ -1272,25 +1268,25 @@ $$clearCRAM: ; --------------------------------------------------------------------------- VDP_register_values: - dc.w $8004 ; H-int disabled - dc.w $8134 ; V-int enabled, display blanked, DMA enabled, 224 line display - dc.w $8230 ; Scroll A PNT base $C000 - dc.w $8320 ; Window PNT base $8000 - dc.w $8407 ; Scroll B PNT base $E000 - dc.w $857C ; Sprite attribute table base $F800 + dc.w $8004 ; H-int disabled + dc.w $8134 ; V-int enabled, display blanked, DMA enabled, 224 line display + dc.w $8230 ; Scroll A PNT base $C000 + dc.w $8320 ; Window PNT base $8000 + dc.w $8407 ; Scroll B PNT base $E000 + dc.w $857C ; Sprite attribute table base $F800 dc.w $8600 - dc.w $8700 ; Backdrop color is color 0 of the first palette line + dc.w $8700 ; Backdrop color is color 0 of the first palette line dc.w $8800 dc.w $8900 dc.w $8A00 - dc.w $8B00 ; Full-screen horizontal and vertical scrolling - dc.w $8C81 ; 40 cell wide display, no interlace - dc.w $8D3C ; Horizontal scroll table base $F000 + dc.w $8B00 ; Full-screen horizontal and vertical scrolling + dc.w $8C81 ; 40 cell wide display, no interlace + dc.w $8D3C ; Horizontal scroll table base $F000 dc.w $8E00 - dc.w $8F02 ; Auto-ncrement is 2 - dc.w $9001 ; Scroll planes are 64x32 cells + dc.w $8F02 ; Auto-ncrement is 2 + dc.w $9001 ; Scroll planes are 64x32 cells dc.w $9100 - dc.w $9200 ; Window disabled + dc.w $9200 ; Window disabled ; =============== S U B R O U T I N E ======================================= @@ -1363,20 +1359,20 @@ SndDrvInit: ; =============== S U B R O U T I N E ======================================= -Play_Sound: +Play_Music: stopZ80 move.b d0,(Z80_RAM+zMusicNumber).l startZ80 rts -; End of function Play_Sound +; End of function Play_Music ; --------------------------------------------------------------------------- ; plays a sound if the source object is on-screen ; unused/dead code, left over from Sonic 2 -Play_Sound_Local: +Play_SFX_Local: tst.b render_flags(a0) - bpl.s Play_Sound_2_Done + bpl.s Play_SFX_Done ; --------------------------------------------------------------------------- ; Can handle up to two different indexes in one frame @@ -1385,7 +1381,7 @@ Play_Sound_Local: ; =============== S U B R O U T I N E ======================================= -Play_Sound_2: +Play_SFX: stopZ80 cmp.b (Z80_RAM+zSFXNumber0).l,d0 beq.s ++ @@ -1399,9 +1395,9 @@ Play_Sound_2: + startZ80 -Play_Sound_2_Done: +Play_SFX_Done: rts -; End of function Play_Sound_2 +; End of function Play_SFX ; =============== S U B R O U T I N E ======================================= @@ -1462,7 +1458,7 @@ Pause_NoSlowMo: blo.s Pause_ChkStart ; if the zone is below ALZ cmpi.b #$12,(Current_zone).w bhi.s Pause_ChkStart ; if the zone is above EMZ - tst.b (Competition_mode_type).w + tst.b (Competition_type).w bpl.s Pause_ChkStart btst #4,(Ctrl_1_pressed).w beq.s Pause_ChkStart @@ -2397,7 +2393,6 @@ Eni_Decomp_Masks: dc.w $3FFF dc.w $7FFF dc.w $FFFF - ; --------------------------------------------------------------------------- ; Part of the Enigma decompressor, fetches the next byte if needed ; --------------------------------------------------------------------------- @@ -2887,9 +2882,8 @@ GetSineCosine: ; End of function GetSineCosine ; --------------------------------------------------------------------------- -SineTable: binclude "Levels/Misc/sine.bin" ; test - even - +SineTable: binclude "Levels/Misc/sine.bin" + even ; --------------------------------------------------------------------------- ; Calculates the arctangent of y/x and returns it in d0 (360 degrees = 256) ; Inputs: d1 = input x, d2 = input y @@ -2950,7 +2944,7 @@ GetArcTan_Zero: ; --------------------------------------------------------------------------- ArcTanTable: binclude "Levels/Misc/arctan.bin" - even + even ; --------------------------------------------------------------------------- AnPal_Load: @@ -2968,7 +2962,7 @@ AnPal_Load: OffsAnPal: dc.w AnPal_AIZ1-OffsAnPal dc.w AnPal_AIZ2-OffsAnPal dc.w AnPal_HCZ1-OffsAnPal - dc.w AnPal_None2-OffsAnPal + dc.w AnPal_HCZ2-OffsAnPal dc.w AnPal_None-OffsAnPal dc.w AnPal_None-OffsAnPal dc.w AnPal_CNZ-OffsAnPal @@ -3165,7 +3159,7 @@ locret_2380: ; --------------------------------------------------------------------------- -AnPal_None2: +AnPal_HCZ2: rts ; --------------------------------------------------------------------------- @@ -3796,33 +3790,33 @@ loc_2AE8: locret_2AF4: rts ; --------------------------------------------------------------------------- -AnPal_PalAIZ1_1: dc.w $EE8,$EE2,$EA4,$E64,$EE2,$EA4,$E64,$EE8,$EA4,$E64,$EE8,$EE2,$E64,$EE8,$EE2,$EA4 +AnPal_PalAIZ1_1:dc.w $EE8,$EE2,$EA4,$E64,$EE2,$EA4,$E64,$EE8,$EA4,$E64,$EE8,$EE2,$E64,$EE8,$EE2,$EA4 -AnPal_PalAIZ1_3: dc.w $EEC,$EEE,$EE8,$E40,$EEC,$EE8,$EE8,$EEE,$EEA,$E86,$EE8,$EE8,$EE8,$E40,$EE8,$E86 - dc.w $EE6,$EEE,$EE8,$E40,$EEA,$EE8,$EE8,$EEE,$EE8,$E86,$EE8,$EE8,$EE8,$E40,$EE8,$E86 - dc.w $EE6,$EEE,$EE8,$E40,$EE8,$EE8,$EE8,$EEE,$EEA,$E86,$EE8,$EE8,$EEC,$E40,$EE8,$E86 - dc.w $EEC,$EEE,$EE8,$E40,$EEC,$EE8,$EE8,$EEE,$EEC,$E86,$EE8,$EE8,$EEC,$E40,$EE8,$E86 +AnPal_PalAIZ1_3:dc.w $EEC,$EEE,$EE8,$E40,$EEC,$EE8,$EE8,$EEE,$EEA,$E86,$EE8,$EE8,$EE8,$E40,$EE8,$E86 + dc.w $EE6,$EEE,$EE8,$E40,$EEA,$EE8,$EE8,$EEE,$EE8,$E86,$EE8,$EE8,$EE8,$E40,$EE8,$E86 + dc.w $EE6,$EEE,$EE8,$E40,$EE8,$EE8,$EE8,$EEE,$EEA,$E86,$EE8,$EE8,$EEC,$E40,$EE8,$E86 + dc.w $EEC,$EEE,$EE8,$E40,$EEC,$EE8,$EE8,$EEE,$EEC,$E86,$EE8,$EE8,$EEC,$E40,$EE8,$E86 -AnPal_PalAIZ1_4: dc.w $CEC,$CEE,$EEE,$CEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE - dc.w $EEE,$EEE,$EEE,$EEE,$EEE,$EE8,$EEE,$EEE,$EE8,$EE8,$EEE,$EE8,$EE8,$EE8,$EE8,$EE8 - dc.w $EE8,$EE8,$EE8,$EE8,$EE8,$EE8,$EE8,$EE8,$EE8,$AEC,$EE8,$AEC,$CEC,$AEC,$CEC,$CEC +AnPal_PalAIZ1_4:dc.w $CEC,$CEE,$EEE,$CEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE + dc.w $EEE,$EEE,$EEE,$EEE,$EEE,$EE8,$EEE,$EEE,$EE8,$EE8,$EEE,$EE8,$EE8,$EE8,$EE8,$EE8 + dc.w $EE8,$EE8,$EE8,$EE8,$EE8,$EE8,$EE8,$EE8,$EE8,$AEC,$EE8,$AEC,$CEC,$AEC,$CEC,$CEC -AnPal_PalAIZ1_2: dc.w $EA4,$E60,$EE2,$EA4,$EE8,$EA4,$E60,$EE8,$EEE,$E60,$EE2,$EE2,$EE8,$EA4,$EA4,$EE2 - dc.w $E60,$E60,$EE2,$E60,$EEE,$EE2,$E60,$EE8 +AnPal_PalAIZ1_2:dc.w $EA4,$E60,$EE2,$EA4,$EE8,$EA4,$E60,$EE8,$EEE,$E60,$EE2,$EE2,$EE8,$EA4,$EA4,$EE2 + dc.w $E60,$E60,$EE2,$E60,$EEE,$EE2,$E60,$EE8 -AnPal_PalAIZ2_1: dc.w $EE8,$EE2,$EC4,$EA4,$EE2,$EC4,$EA4,$EE8,$EC4,$EA4,$EE8,$EE2,$EA4,$EE8,$EE2,$EC4 +AnPal_PalAIZ2_1:dc.w $EE8,$EE2,$EC4,$EA4,$EE2,$EC4,$EA4,$EE8,$EC4,$EA4,$EE8,$EE2,$EA4,$EE8,$EE2,$EC4 -AnPal_PalAIZ2_2: dc.w $24, $44, $8E, $26, $46, $AE, $24, $48, $8E, $26, $4A, $AE, $24, $4C, $8E, $26 - dc.w $4A, $AE, $24, $48, $8E, $24, $46, $8E +AnPal_PalAIZ2_2:dc.w $24, $44, $8E, $26, $46, $AE, $24, $48, $8E, $26, $4A, $AE, $24, $4C, $8E, $26 + dc.w $4A, $AE, $24, $48, $8E, $24, $46, $8E -AnPal_PalAIZ2_3: dc.w $24, $44, $C, $26, $46, $E, $24, $48, $C, $26, $4A, $E, $24, $4C, $C, $26 - dc.w $4A, $E, $24, $48, $C, $24, $46, $C +AnPal_PalAIZ2_3:dc.w $24, $44, $C, $26, $46, $E, $24, $48, $C, $26, $4A, $E, $24, $4C, $C, $26 + dc.w $4A, $E, $24, $48, $C, $24, $46, $C -AnPal_PalAIZ2_4: dc.w $6E, $6E, $6E, $6E,$28E,$4AE,$6AE,$8CE,$8EE,$AEE,$AEE,$AEE,$AEE,$AEE,$8EE,$8EE - dc.w $8EE,$8EE,$8CE,$8CE,$8CE,$6AE,$6AE,$4AE,$4AE,$28E +AnPal_PalAIZ2_4:dc.w $6E, $6E, $6E, $6E,$28E,$4AE,$6AE,$8CE,$8EE,$AEE,$AEE,$AEE,$AEE,$AEE,$8EE,$8EE + dc.w $8EE,$8EE,$8CE,$8CE,$8CE,$6AE,$6AE,$4AE,$4AE,$28E -AnPal_PalAIZ2_5: dc.w $C, $C, $C, $C, $2C, $E, $2E, $4E, $6E, $8E, $8E, $8E, $8E, $8E, $6E, $4E - dc.w $4E, $4E, $2E, $2E, $2E, $E, $E, $2C, $2C, $2C +AnPal_PalAIZ2_5:dc.w $C, $C, $C, $C, $2C, $E, $2E, $4E, $6E, $8E, $8E, $8E, $8E, $8E, $6E, $4E + dc.w $4E, $4E, $2E, $2E, $2E, $E, $E, $2C, $2C, $2C AnPal_PalHCZ1: dc.w $EC8,$EC0,$EA0,$E80,$EC0,$EA0,$E80,$EC8,$EA0,$E80,$EC8,$EC0,$E80,$EC8,$EC0,$EA0 @@ -3875,43 +3869,49 @@ AnPal_PalSOZ1: dc.w $2CE,$6CE, $AE, $6C, $6C,$2CE,$6CE, $AE, $AE, $6C,$2CE,$6CE, dc.w $424,$846,$224,$222,$222,$424,$846,$224,$224,$222,$424,$846,$846,$224,$222,$424 dc.w $602,$824,$402,$200,$200,$602,$824,$402,$402,$200,$602,$824,$824,$402,$200,$602 -AnPal_PalSOZ2_Light: dc.w $EEE - -AnPal_PalSOZ2_Light_2: dc.w $8EE,$4EE, $CE,$24C, 6, 0,$CEA,$886,$424, $E0,$EEE,$AEE,$6EE,$4AC, $68, $46 - dc.w $22,$8AA,$468,$224, 2,$28E,$4EE, $8C, $C,$8CE,$6CC,$4AC, $8A,$248, 4, 0 - dc.w $8A8,$664,$422, $80,$CEE,$ACC,$6CC,$48A,$266, $46, $22,$ACC,$468,$224, 2,$28E - dc.w $6EE,$28C,$22C,$2CE,$28A,$268,$246,$224,$202, 0,$464,$222,$200, $40,$ACE,$8AA - dc.w $688,$468,$244, $24, $22,$CCC,$468,$224, 2,$26C,$6EE,$28C,$24C,$88A,$668,$646 - dc.w $424,$224,$202, 0,$444,$222,$200, $40,$8CE,$888,$666,$446,$222, $22, $22,$EEE - dc.w $468,$224, 2,$26A,$6EE,$48C,$26C,$C46,$824,$804,$402,$202,$200, 0,$422,$402 - dc.w $200, $40,$6AE,$664,$422,$402,$200, 0, 0,$EEE,$466,$224, 0, $46,$6EE,$48C - dc.w $26A - -AnPal_PalLRZ12_1: dc.w $EE, $AE, $6E, $E, $AE, $6E, $E, $EE, $6E, $E, $EE,$2CE, $2E,$8EE,$4EE, $6E - dc.w $AEE,$6EE, $8E, $4E,$4EE, $6E, $2E,$8EE, $6E, $E, $EE,$2CE, $E, $EE,$2CE, $6E - dc.w $EE, $AE, $6E, $E, $8E, $4E, $C, $CE, $2E, $A, $AC, $6E, 8, $8E, $4C, $C - dc.w $AC, $6E, $2E, $A, $8E, $4E, $C, $CE, $6E, $E, $EE, $AE, $E, $EE, $AE, $6E - -AnPal_PalLRZ12_2: dc.w $224,$224,$224,$424,$224,$426,$426,$224,$424,$224,$224,$224,$224,$224,$224,$422 - dc.w $422,$422 - -AnPal_PalLRZ1_3: dc.w $624,$624,$624,$624,$624,$624,$626,$626,$826,$826,$826,$826,$826,$826,$826,$626 - dc.w $626 - -AnPal_PalLRZ2_3: dc.w $824,$C44,$E2A,$EAE,$824,$C44,$E2A,$EAE,$824,$C44,$E2A,$EAE,$824,$C44,$E48,$EAC - dc.w $822,$C44,$E66,$EAA,$822,$C44,$E66,$EAA,$822,$C44,$E66,$EAA,$842,$C64,$EA4,$EC6 - dc.w $642,$A82,$CC2,$EE0,$642,$A82,$CC2,$EE0,$642,$A82,$CC2,$EE0,$642,$882,$AC2,$CE0 - dc.w $642,$682,$8C2,$8E0,$642,$682,$8C2,$8E0,$642,$682,$8C2,$8E0,$642,$486,$4C8,$4E8 - dc.w $442,$288,$2CA,$2EC,$442,$288,$2CC,$2EE,$442,$288,$2CA,$2EC,$642,$486,$4C8,$4E8 - dc.w $642,$682,$8C2,$8E0,$642,$882,$AC2,$CE0,$642,$A82,$CC2,$EE0,$842,$C64,$EA4,$EC6 - dc.w $822,$C44,$E66,$EAA,$824,$C44,$E48,$EAC,$824,$C44,$E2A,$EAE,$826,$C46,$E4A,$E8E - dc.w $624,$A48,$C6C,$E6E,$624,$A48,$C6C,$E6E,$624,$A48,$C6C,$E6E,$826,$C46,$E4A,$E8E - -AnPal_PalDEZ12_1: dc.w $E0, 0, 0,$E0E,$E00, 0, 0, $EE, $E, 0, 0,$EE0,$EE0, 0, 0, $E - dc.w $EE, 0, 0,$E00,$E0E, 0, 0, $E0 - -AnPal_PalDEZ12_2: dc.w $8E, $6C, $4A, $28,$6AE,$28C,$26A, $4A,$226,$4AC,$48A,$468,$248,$424,$4AA,$28C - dc.w $26A, $4A,$226,$4AC +AnPal_PalSOZ2_Light: + dc.w $EEE + +AnPal_PalSOZ2_Light_2: + dc.w $8EE,$4EE, $CE,$24C, 6, 0,$CEA,$886,$424, $E0,$EEE,$AEE,$6EE,$4AC, $68, $46 + dc.w $22,$8AA,$468,$224, 2,$28E,$4EE, $8C, $C,$8CE,$6CC,$4AC, $8A,$248, 4, 0 + dc.w $8A8,$664,$422, $80,$CEE,$ACC,$6CC,$48A,$266, $46, $22,$ACC,$468,$224, 2,$28E + dc.w $6EE,$28C,$22C,$2CE,$28A,$268,$246,$224,$202, 0,$464,$222,$200, $40,$ACE,$8AA + dc.w $688,$468,$244, $24, $22,$CCC,$468,$224, 2,$26C,$6EE,$28C,$24C,$88A,$668,$646 + dc.w $424,$224,$202, 0,$444,$222,$200, $40,$8CE,$888,$666,$446,$222, $22, $22,$EEE + dc.w $468,$224, 2,$26A,$6EE,$48C,$26C,$C46,$824,$804,$402,$202,$200, 0,$422,$402 + dc.w $200, $40,$6AE,$664,$422,$402,$200, 0, 0,$EEE,$466,$224, 0, $46,$6EE,$48C + dc.w $26A + +AnPal_PalLRZ12_1: + dc.w $EE, $AE, $6E, $E, $AE, $6E, $E, $EE, $6E, $E, $EE,$2CE, $2E,$8EE,$4EE, $6E + dc.w $AEE,$6EE, $8E, $4E,$4EE, $6E, $2E,$8EE, $6E, $E, $EE,$2CE, $E, $EE,$2CE, $6E + dc.w $EE, $AE, $6E, $E, $8E, $4E, $C, $CE, $2E, $A, $AC, $6E, 8, $8E, $4C, $C + dc.w $AC, $6E, $2E, $A, $8E, $4E, $C, $CE, $6E, $E, $EE, $AE, $E, $EE, $AE, $6E + +AnPal_PalLRZ12_2: + dc.w $224,$224,$224,$424,$224,$426,$426,$224,$424,$224,$224,$224,$224,$224,$224,$422 + dc.w $422,$422 + +AnPal_PalLRZ1_3:dc.w $624,$624,$624,$624,$624,$624,$626,$626,$826,$826,$826,$826,$826,$826,$826,$626 + dc.w $626 + +AnPal_PalLRZ2_3:dc.w $824,$C44,$E2A,$EAE,$824,$C44,$E2A,$EAE,$824,$C44,$E2A,$EAE,$824,$C44,$E48,$EAC + dc.w $822,$C44,$E66,$EAA,$822,$C44,$E66,$EAA,$822,$C44,$E66,$EAA,$842,$C64,$EA4,$EC6 + dc.w $642,$A82,$CC2,$EE0,$642,$A82,$CC2,$EE0,$642,$A82,$CC2,$EE0,$642,$882,$AC2,$CE0 + dc.w $642,$682,$8C2,$8E0,$642,$682,$8C2,$8E0,$642,$682,$8C2,$8E0,$642,$486,$4C8,$4E8 + dc.w $442,$288,$2CA,$2EC,$442,$288,$2CC,$2EE,$442,$288,$2CA,$2EC,$642,$486,$4C8,$4E8 + dc.w $642,$682,$8C2,$8E0,$642,$882,$AC2,$CE0,$642,$A82,$CC2,$EE0,$842,$C64,$EA4,$EC6 + dc.w $822,$C44,$E66,$EAA,$824,$C44,$E48,$EAC,$824,$C44,$E2A,$EAE,$826,$C46,$E4A,$E8E + dc.w $624,$A48,$C6C,$E6E,$624,$A48,$C6C,$E6E,$624,$A48,$C6C,$E6E,$826,$C46,$E4A,$E8E + +AnPal_PalDEZ12_1: + dc.w $E0, 0, 0,$E0E,$E00, 0, 0, $EE, $E, 0, 0,$EE0,$EE0, 0, 0, $E + dc.w $EE, 0, 0,$E00,$E0E, 0, 0, $E0 + +AnPal_PalDEZ12_2: + dc.w $8E, $6C, $4A, $28,$6AE,$28C,$26A, $4A,$226,$4AC,$48A,$468,$248,$424,$4AA,$28C + dc.w $26A, $4A,$226,$4AC AnPal_PalDEZ1: dc.w $8AC,$68A,$468,$246,$246,$8AC,$68A,$468,$468,$246,$8AC,$68A,$68A,$468,$246,$8AC dc.w $468,$246,$8AC,$68A,$246,$8AC,$68A,$468 @@ -3933,15 +3933,18 @@ AnPal_PalEMZ_1: dc.w 6, 8, $A, $C, $E, $E, $E, $E, $C, $A, 8, 6 AnPal_PalEMZ_2: dc.w 0, $E, 2, $C, 4, $A, 6, 8, 8, 6, $A, 4, $C, 2, $E, 0 dc.w $C, 2, $A, 4, 8, 6, 6, 8, 4, $A, 2, $C -AnPal_PalSlots_1: dc.w $46,$488,$2EE, $8A, $68,$26A,$EEE, $AC, $8A, $46,$488,$2EE, $AC, $68,$26A,$EEE - dc.w $2EE, $8A, $46,$488,$EEE, $AC, $68,$26A,$48A,$2EE, $8A, $46,$268,$EEE, $AC, $68 +AnPal_PalSlots_1: + dc.w $46,$488,$2EE, $8A, $68,$26A,$EEE, $AC, $8A, $46,$488,$2EE, $AC, $68,$26A,$EEE + dc.w $2EE, $8A, $46,$488,$EEE, $AC, $68,$26A,$48A,$2EE, $8A, $46,$268,$EEE, $AC, $68 -AnPal_PalSlots_2: dc.w $268,$EEE, $AC, $68,$EEE,$EEE,$EEE,$EEE,$48A,$2EE, $8A, $46, $EE, $EE, $EE, $EE - dc.w $EEE, $AC, $68,$26A,$EEE,$EEE,$EEE,$EEE,$2EE, $8A, $46,$488,$E0E,$E0E,$E0E,$E0E - dc.w $AC, $68,$26A,$EEE,$EEE,$EEE,$EEE,$EEE, $8A, $46,$488,$2EE,$EE0,$EE0,$EE0,$EE0 - dc.w $68,$26A,$EEE, $AC,$EEE,$EEE,$EEE,$EEE, $46,$488,$2EE, $8A, $E0, $E0, $E0, $E0 +AnPal_PalSlots_2: + dc.w $268,$EEE, $AC, $68,$EEE,$EEE,$EEE,$EEE,$48A,$2EE, $8A, $46, $EE, $EE, $EE, $EE + dc.w $EEE, $AC, $68,$26A,$EEE,$EEE,$EEE,$EEE,$2EE, $8A, $46,$488,$E0E,$E0E,$E0E,$E0E + dc.w $AC, $68,$26A,$EEE,$EEE,$EEE,$EEE,$EEE, $8A, $46,$488,$2EE,$EE0,$EE0,$EE0,$EE0 + dc.w $68,$26A,$EEE, $AC,$EEE,$EEE,$EEE,$EEE, $46,$488,$2EE, $8A, $E0, $E0, $E0, $E0 -AnPal_PalSlots_3: dc.w $E02,$E24,$E46,$E68,$E8A,$EAC +AnPal_PalSlots_3: + dc.w $E02,$E24,$E46,$E68,$E8A,$EAC AnPal_PalLRZ3: dc.w $424, $AE,$424, $AE,$424, $AE,$426, $8E,$428, $6E,$42A, $4E,$42C, $2E,$42E, $E dc.w $42E, $E,$42E, $E,$42C, $2E,$42A, $4E,$428, $6E,$426, $8E,$424, $AE @@ -3989,7 +3992,7 @@ SuperHyper_PalCycle_FadeIn: SuperHyper_PalCycle_SonicApply: lea (Normal_palette+$4).w,a1 move.l (a0,d0.w),(a1)+ ; Write first two palette entries - move.w 4(a0,d0.w),(a1) ; Write last palette entry + move.w 4(a0,d0.w),(a1) ; Write last palette entry tst.b (Water_flag).w beq.s locret_37EC @@ -4003,7 +4006,7 @@ SuperHyper_PalCycle_SonicApply: SuperHyper_PalCycle_ApplyUnderwater: lea (Water_palette+$4).w,a1 move.l (a0,d0.w),(a1)+ ; Write first two palette entries - move.w 4(a0,d0.w),(a1) ; Write last palette entry + move.w 4(a0,d0.w),(a1) ; Write last palette entry locret_37EC: rts @@ -4096,12 +4099,12 @@ SuperHyper_PalCycle_HyperSonicApply: ; and other areas of code do branch to it instead of duplicating the code as seen here lea (Normal_palette+$4).w,a1 move.l (a0,d0.w),(a1)+ ; Write first two palette entries - move.w 4(a0,d0.w),(a1) ; Write last palette entry + move.w 4(a0,d0.w),(a1) ; Write last palette entry tst.b (Water_flag).w beq.w locret_37EC lea (Water_palette+$4).w,a1 move.l (a0,d0.w),(a1)+ ; Write first two palette entries - move.w 4(a0,d0.w),(a1) ; Write last palette entry + move.w 4(a0,d0.w),(a1) ; Write last palette entry rts ; --------------------------------------------------------------------------- @@ -4178,7 +4181,6 @@ PalCycle_SuperSonic: dc.w $AEE,$8EE,$6CC dc.w $8EE,$0EE,$0AA dc.w $AEE,$8EE,$6CC - PalCycle_SuperSonicUnderwaterAIZICZ: dc.w $A82,$860,$640 dc.w $E88,$C66,$844 @@ -4190,7 +4192,6 @@ PalCycle_SuperSonicUnderwaterAIZICZ: dc.w $AEC,$8EC,$6CA dc.w $8EC,$4EA,$4A8 dc.w $CEE,$CEC,$AEC - PalCycle_SuperSonicUnderwaterHCZCNZLBZ: dc.w $C66,$A44,$624 dc.w $E88,$C66,$844 @@ -4202,7 +4203,6 @@ PalCycle_SuperSonicUnderwaterHCZCNZLBZ: dc.w $AEC,$8EC,$6CA dc.w $8EC,$4EA,$4A8 dc.w $CEE,$CEC,$AEC - PalCycle_HyperSonic: dc.w $EEC,$ECA,$EA8 dc.w $EEE,$EEE,$EEE @@ -4216,7 +4216,6 @@ PalCycle_HyperSonic: dc.w $EEE,$EEE,$EEE dc.w $EEE,$ECE,$CAC dc.w $EEE,$EEE,$EEE - PalCycle_SuperTails: dc.w $0AE,$08E,$46A dc.w $4CE,$2AE,$46A @@ -4224,7 +4223,6 @@ PalCycle_SuperTails: dc.w $AEE,$8CE,$48E dc.w $8CE,$4CE,$46C dc.w $4CE,$2AE,$46A - PalCycle_SuperHyperKnuckles: dc.w $A6E,$64E,$428 dc.w $C8E,$86E,$64A @@ -4236,7 +4234,6 @@ PalCycle_SuperHyperKnuckles: dc.w $C8E,$86E,$64A dc.w $A6E,$64E,$428 dc.w $84E,$40C,$206 - PalCycle_SuperHyperKnucklesRevert: dc.w $64E,$20C,$206 @@ -4479,7 +4476,7 @@ loc_3C76: ; =============== S U B R O U T I N E ======================================= -Pal_FromBlackWhite: +Pal_FadeFromWhite: move.w #$3F,(Palette_fade_info).w bsr.s Pal_FillWhite move.w #$15,d4 @@ -4491,7 +4488,7 @@ loc_3C8E: bsr.w Process_Nem_Queue_Init dbf d4,loc_3C8E rts -; End of function Pal_FromBlackWhite +; End of function Pal_FadeFromWhite ; =============== S U B R O U T I N E ======================================= @@ -4733,8 +4730,8 @@ Sega_Screen: ; --------------------------------------------------------------------------- Title_Screen: - moveq #mus_FadeOut,d0 - bsr.w Play_Sound ; Fade music if any is playing + moveq #signextendB(mus_FadeOut),d0 + bsr.w Play_Music ; Fade music if any is playing clr.w (Kos_decomp_queue_count).w lea (Kos_decomp_stored_registers).w,a1 moveq #0,d0 @@ -4854,8 +4851,8 @@ loc_3F9E: ori.b #$40,d0 move.w d0,(VDP_control_port).l ; Turn the display on bsr.w Pal_FadeFromBlack ; Fade in to logo - moveq #mus_SEGA,d0 - bsr.w Play_Sound + moveq #signextendB(mus_SEGA),d0 + bsr.w Play_Music move.w #$B4,(Demo_timer).w ; Set to wait for 3 seconds Wait_SegaS3K: @@ -4868,8 +4865,8 @@ Wait_SegaS3K: bne.s Wait_SegaS3K loc_3FE4: - moveq #mus_StopSEGA,d0 - bsr.w Play_Sound ; Stop SEGA sound + moveq #signextendB(mus_StopSEGA),d0 + bsr.w Play_Music ; Stop SEGA sound lea (Pal_Title).l,a1 loc_3FF0: @@ -4898,8 +4895,8 @@ loc_4040: lea (ArtKos_S3TitleSonic8).l,a1 lea (RAM_start).l,a2 jsr (Queue_Kos).l ; Queue frame 8 of data into a2 since frame 1 is already in VRAM - moveq #mus_TitleScreen,d0 - bsr.w Play_Sound ; Start playing the title screen music + moveq #signextendB(mus_TitleScreen),d0 + bsr.w Play_Music ; Start playing the title screen music Wait_TitleS3K: move.b #4,(V_int_routine).w @@ -5010,8 +5007,8 @@ loc_41D4: move.b d0,(Continue_count).w move.l #5000,(Next_extra_life_score).w move.l #5000,(Next_extra_life_score_P2).w ;CHECKLATER - moveq #mus_FadeOut,d0 - bsr.w Play_Sound ; Fade out the title screen music + moveq #signextendB(mus_FadeOut),d0 + bsr.w Play_Music ; Fade out the title screen music moveq #0,d0 move.b (Title_screen_option).w,d0 ; Selection is stored here. bne.w loc_4264 @@ -5032,8 +5029,8 @@ loc_4270: ; --------------------------------------------------------------------------- loc_4278: - moveq #mus_FadeOut,d0 - bsr.w Play_Sound ; Fade out music + moveq #signextendB(mus_FadeOut),d0 + bsr.w Play_Music ; Fade out music move.w (Next_demo_number).w,d0 ; Get index of current demo to run move.w d0,(Demo_number).w andi.w #7,d0 @@ -5059,6 +5056,8 @@ loc_42B6: moveq #0,d1 bra.s loc_42C8 ; --------------------------------------------------------------------------- +; unused/dead code, since it's not possible to reach the S3K title screen in S&K mode +; Even if were, this sets the next demo to a S3 level, which would crash S&K when played loc_42C0: cmpi.w #3,d1 @@ -5073,7 +5072,7 @@ loc_42C8: move.b #1,(Current_special_stage).w move.b #1,(SK_special_stage_flag).w move.b #7,(Current_zone).w - clr.w (Emerald_count).w + clr.w (Emerald_counts).w clr.l (Collected_emeralds_array).w clr.w (Collected_emeralds_array+4).w clr.b (Collected_emeralds_array+6).w @@ -5099,14 +5098,13 @@ loc_4306: move.l #5000,(Next_extra_life_score_P2).w rts ; --------------------------------------------------------------------------- -DemoLevels: dc.w 0 ; Angel Island - dc.w $100 ; Hydrocity - dc.w $200 ; Marble Garden - dc.w $700 ; Mushroom Hill - dc.w $400 ; Flying Battery - dc.w $800 ; Sandopolis - dc.w $FFFF - +DemoLevels: dc.w 0 ; Angel Island + dc.w $100 ; Hydrocity + dc.w $200 ; Marble Garden + dc.w $700 ; Mushroom Hill + dc.w $400 ; Flying Battery + dc.w $800 ; Sandopolis + dc.w $FFFF ; --------------------------------------------------------------------------- @@ -5181,7 +5179,7 @@ loc_43F2: ; End of function Iterate_TitleSonicFrame ; --------------------------------------------------------------------------- -SonicFrameIndex: dc.b 1, 2, 3, 4, 5, 6, 7, 8, 9, $A, $B, $FF +SonicFrameIndex:dc.b 1, 2, 3, 4, 5, 6, 7, 8, 9, $A, $B, $FF ; =============== S U B R O U T I N E ======================================= @@ -5279,7 +5277,8 @@ loc_44E2: ; End of function TitleSonic_LoadFrame ; --------------------------------------------------------------------------- -TitleSonic_Frames:dc.l ArtKos_S3TitleSonic1 ;S3DATA +TitleSonic_Frames: + dc.l ArtKos_S3TitleSonic1 ;S3DATA dc.l Pal_TitleSonic1 dc.l MapEni_S3TitleSonic1 ;S3DATA dc.l ArtKos_S3TitleSonic1 ;S3DATA @@ -5319,48 +5318,33 @@ TitleSonic_Frames:dc.l ArtKos_S3TitleSonic1 ;S3DATA dc.l Pal_TitleSonicD dc.l MapEni_S3TitleSonicD ;S3DATA Pal_Title: binclude "General/Title/Palettes/S3.bin" - even - + even Pal_TitleSonic1:binclude "General/Title/Palettes/S3 Sonic 1.bin" - even - + even Pal_TitleSonic2:binclude "General/Title/Palettes/S3 Sonic 2.bin" - even - + even Pal_TitleSonic3:binclude "General/Title/Palettes/S3 Sonic 3.bin" - even - + even Pal_TitleSonic4:binclude "General/Title/Palettes/S3 Sonic 4.bin" - even - + even Pal_TitleSonic5:binclude "General/Title/Palettes/S3 Sonic 5.bin" - even - + even Pal_TitleSonic6:binclude "General/Title/Palettes/S3 Sonic 6.bin" - even - + even Pal_TitleSonic7:binclude "General/Title/Palettes/S3 Sonic 7.bin" - even - + even Pal_TitleSonic8:binclude "General/Title/Palettes/S3 Sonic 8.bin" - even - + even Pal_TitleSonic9:binclude "General/Title/Palettes/S3 Sonic 9.bin" - even - + even Pal_TitleSonicA:binclude "General/Title/Palettes/S3 Sonic A.bin" - even - + even Pal_TitleSonicB:binclude "General/Title/Palettes/S3 Sonic B.bin" - even - + even Pal_TitleSonicC:binclude "General/Title/Palettes/S3 Sonic C.bin" - even - + even Pal_TitleSonicD:binclude "General/Title/Palettes/S3 Sonic D.bin" - even - - + even ; --------------------------------------------------------------------------- Obj_TitleBanner: @@ -5426,8 +5410,9 @@ loc_48F2: move.l Pal_TitleWaterRot(pc,d0.w),(Target_palette_line_3+$1A).w jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Pal_TitleWaterRot: binclude "General/Title/Palettes/S3 Water Anim.bin" - even +Pal_TitleWaterRot: + binclude "General/Title/Palettes/S3 Water Anim.bin" + even ; --------------------------------------------------------------------------- Obj_TitleTM: @@ -5467,8 +5452,8 @@ Obj_TitleANDKnuckles_Display: move.w d0,$14(a0) jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Map_TitleANDKnuckles: include "General/Title/Map - S3 ANDKnuckles.asm" - +Map_TitleANDKnuckles: + include "General/Title/Map - S3 ANDKnuckles.asm" ; --------------------------------------------------------------------------- ; Dead code @@ -5486,8 +5471,8 @@ OldDebugCode: tst.b 1(a1) bne.s locret_4A10 move.w #$101,(Debug_cheat_flag).w - moveq #sfx_RingLoss,d0 - bsr.w Play_Sound_2 + moveq #signextendB(sfx_RingLoss),d0 + bsr.w Play_SFX loc_4A0A: move.w #0,(Debug_mode_cheat_counter).w @@ -5495,18 +5480,8 @@ loc_4A0A: locret_4A10: rts ; --------------------------------------------------------------------------- -OldDebugCodeDat:dc.b $20 - dc.b $30 - dc.b $70 - dc.b $10 - dc.b $50 - dc.b $70 - dc.b $40 - dc.b $60 - dc.b $70 - dc.b $71 - dc.b $72 - dc.b 0 +OldDebugCodeDat:dc.b $20, $30, $70, $10, $50, $70, $40, $60, $70, $71, $72, 0 + even ; --------------------------------------------------------------------------- Obj_TitleCopyright: @@ -5565,8 +5540,8 @@ loc_4AC8: move.b d2,(Title_screen_option).w andi.b #3,d0 beq.s loc_4ADE - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l ; Only play sound if selection was changed + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l ; Only play sound if selection was changed loc_4ADE: jmp (Draw_Sprite).l @@ -5590,8 +5565,8 @@ Obj_TitleSonicFinger_Display: jsr (Animate_Sprite).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Ani_TitleSonicFinger: include "General/Title/Anim - S3 Sonic Finger.asm" - +Ani_TitleSonicFinger: + include "General/Title/Anim - S3 Sonic Finger.asm" ; --------------------------------------------------------------------------- Obj_TitleSonicWink: @@ -5612,8 +5587,8 @@ Obj_TitleSonicWink_Display: jsr (Animate_SpriteIrregularDelay).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Ani_TitleSonicWink: include "General/Title/Anim - S3 Sonic Wink.asm" - +Ani_TitleSonicWink: + include "General/Title/Anim - S3 Sonic Wink.asm" ; --------------------------------------------------------------------------- Obj_TitleTailsPlane: @@ -5658,16 +5633,14 @@ loc_4C28: loc_4C3E: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Ani_TitleTailsPlane: include "General/Title/Anim - S3 Tails Plane.asm" - +Ani_TitleTailsPlane: + include "General/Title/Anim - S3 Tails Plane.asm" ; =============== S U B R O U T I N E ======================================= S3_Level_Select_Code: rts -; End of function S3_Level_Select_Code - ; --------------------------------------------------------------------------- lea (LSelect3CodeDat).l,a1 move.w (Level_select_cheat_counter).w,d0 @@ -5683,35 +5656,29 @@ S3_Level_Select_Code: bne.s locret_4C90 move.w #$101,(Level_select_flag).w move.w #$101,(Debug_cheat_flag).w - moveq #sfx_RingRight,d0 - bsr.w Play_Sound_2 + moveq #signextendB(sfx_RingRight),d0 + bsr.w Play_SFX loc_4C8A: move.w #0,(Level_select_cheat_counter).w locret_4C90: rts -; --------------------------------------------------------------------------- -LSelect3CodeDat:dc.b 1 - dc.b 1 - dc.b 2 - dc.b 2 - dc.b 1 - dc.b 1 - dc.b 1 - dc.b 1 - dc.b 0 - dc.b 0 -Map_TitleScreenText: include "General/Title/Map - S3 Screen Text.asm" - -ArtNem_TitleScreenText:binclude "General/Title/Nemesis Art/S3 Screen Text.bin" - even - -Map_TitleSonicAnim: include "General/Title/Map - S3 Sonic Anim.asm" - -Map_TitleTailsPlane: include "General/Title/Map - S3 Tails Plane.asm" +; End of function S3_Level_Select_Code ; --------------------------------------------------------------------------- +LSelect3CodeDat:dc.b 1, 1, 2, 2, 1, 1, 1, 1, 0 + even +Map_TitleScreenText: + include "General/Title/Map - S3 Screen Text.asm" +ArtNem_TitleScreenText: + binclude "General/Title/Nemesis Art/S3 Screen Text.bin" + even +Map_TitleSonicAnim: + include "General/Title/Map - S3 Sonic Anim.asm" +Map_TitleTailsPlane: + include "General/Title/Map - S3 Tails Plane.asm" +; --------------------------------------------------------------------------- SK_Alone_Title_Screen: lea (ArtKos_SKTitleScreenBG).l,a0 @@ -5819,8 +5786,8 @@ loc_51F4: ori.b #$40,d0 move.w d0,(VDP_control_port).l ; Turn the display on bsr.w Pal_FadeFromBlack ; Fade to Sega screen - moveq #mus_SEGA,d0 ; SEGA sound - bsr.w Play_Sound + moveq #signextendB(mus_SEGA),d0 ; SEGA sound + bsr.w Play_Music loc_520C: move.b #$14,(V_int_routine).w @@ -5836,8 +5803,8 @@ loc_520C: bne.s loc_520C ; Otherwise, wait for vsync timer to run out loc_523A: - moveq #mus_StopSEGA,d0 - bsr.w Play_Sound ; Stop the SEGA sound if necessary + moveq #signextendB(mus_StopSEGA),d0 + bsr.w Play_Music ; Stop the SEGA sound if necessary lea (Pal_SKTitle_Sonic).l,a0 lea (Target_palette).w,a1 moveq #$1F,d0 @@ -5853,8 +5820,8 @@ loc_524C: move.l #Obj_SKTitle_SonicFall,(Player_1).w move.l #Obj_SKTitle_DeathEgg,(Player_2).w move.l #Obj_SKTitle_Mountain,(Reserved_object_3).w - moveq #mus_TitleScreen,d0 - bsr.w Play_Sound ; Play the title screen music + moveq #signextendB(mus_TitleScreen),d0 + bsr.w Play_Music ; Play the title screen music move.b #3,(Life_count).w move.w #$438,(Demo_timer).w ; 18 second delay (1080 frames NTSC) btst #6,(Graphics_flags).w @@ -5954,8 +5921,8 @@ loc_539A: move.b d0,(Continue_count).w move.l #5000,(Next_extra_life_score).w move.l #5000,(Next_extra_life_score_P2).w - moveq #mus_FadeOut,d0 - bsr.w Play_Sound + moveq #signextendB(mus_FadeOut),d0 + bsr.w Play_Music moveq #0,d0 move.b (Title_screen_option).w,d0 cmpi.b #2,d0 @@ -5968,7 +5935,7 @@ loc_539A: move.w d0,(Apparent_zone_and_act).w move.w d0,(Saved_zone_and_act).w clr.w (Current_special_stage).w - clr.w (Emerald_count).w + clr.w (Emerald_counts).w clr.l (Collected_emeralds_array).w clr.w (Collected_emeralds_array+4).w clr.b (Collected_emeralds_array+6).w @@ -5987,8 +5954,8 @@ locret_546A: ; --------------------------------------------------------------------------- loc_546C: - moveq #mus_FadeOut,d0 ; Start demo by fading out music - bsr.w Play_Sound + moveq #signextendB(mus_FadeOut),d0 ; Start demo by fading out music + bsr.w Play_Music move.w (Next_demo_number).w,d0 ; Get demo number cmpi.w #3,d0 bhs.s loc_547E @@ -6018,7 +5985,7 @@ loc_54AE: move.b #1,(Current_special_stage).w move.b #1,(SK_special_stage_flag).w move.b #7,(Current_zone).w - clr.w (Emerald_count).w + clr.w (Emerald_counts).w clr.l (Collected_emeralds_array).w clr.w (Collected_emeralds_array+4).w clr.b (Collected_emeralds_array+6).w @@ -6073,16 +6040,15 @@ Prep_MHZDemo: ; End of function Prep_MHZDemo ; --------------------------------------------------------------------------- -Pal_SKTitle_Sonic: binclude "General/Title/Palettes/SK Sonic.bin" ;5588.bin" - even - -Pal_SKTitle_SegaBG: binclude "General/Title/Palettes/SK Sega and BG.bin" ;55A8.bin" - even - -Pal_SKTitle_Knux: binclude "General/Title/Palettes/SK Knuckles.bin" ;5608.bin" - even - - +Pal_SKTitle_Sonic: + binclude "General/Title/Palettes/SK Sonic.bin" + even +Pal_SKTitle_SegaBG: + binclude "General/Title/Palettes/SK Sega and BG.bin" + even +Pal_SKTitle_Knux: + binclude "General/Title/Palettes/SK Knuckles.bin" + even ; --------------------------------------------------------------------------- Obj_SKTitle_SonicFall: @@ -6109,7 +6075,7 @@ loc_5666: addq.w #8,(Camera_Y_pos).w ; Otherwise scroll foreground by 8 pixels cmpi.w #$C8,(Camera_Y_pos).w bne.s loc_5698 - lea (ArtKosM_SonicLand).l,a1 ; Once foreground has hit C8 Y + lea (ArtKosM_SonicLand).l,a1 ; Once foreground has hit C8 Y move.w #$8C40,d2 jsr (Queue_Kos_Module).l ; Queue the landing frames into VRAM @@ -6447,13 +6413,16 @@ loc_5A80: ; End of function sub_5A50 ; --------------------------------------------------------------------------- -SKTitle_AnimSmile: dc.b 5, 0, 3, 6, $FE, 1 -SKTitle_AnimFinger: dc.b 3, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29 - dc.b $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, 0, 0, $29, $52, $29, 0, $29 - dc.b $52, $29, 0, $29, $52, $29, $FF -SKTitle_AnimKnuckle1: dc.b 3, 0, 0, 0, 0, 0, 0, 0, 0, $2F, $5E, $2F, 0, $2F, $5E, $2F, $FF -SKTitle_AnimKnuckle2: dc.b 3, 0, 0, $14, $28, $14, 0, 0, $FF, 0 - +SKTitle_AnimSmile: + dc.b 5, 0, 3, 6, $FE, 1 +SKTitle_AnimFinger: + dc.b 3, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29 + dc.b $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, 0, 0, $29, $52, $29, 0, $29 + dc.b $52, $29, 0, $29, $52, $29, $FF +SKTitle_AnimKnuckle1: + dc.b 3, 0, 0, 0, 0, 0, 0, 0, 0, $2F, $5E, $2F, 0, $2F, $5E, $2F, $FF +SKTitle_AnimKnuckle2: + dc.b 3, 0, 0, $14, $28, $14, 0, 0, $FF, 0 ; --------------------------------------------------------------------------- Obj_SKTitle_Icon: @@ -6506,8 +6475,8 @@ loc_5B8C: move.b d2,(Title_screen_option).w ; Move selection andi.b #3,d0 beq.s loc_5B9E - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l ; Only play sound if selection was made + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l ; Only play sound if selection was made loc_5B9E: move.b $26(a0),d0 @@ -6570,8 +6539,8 @@ Obj_SKTitle_Icon2Display: jsr (Animate_Sprite).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Ani_SKTitle_Icon: include "General/Title/Anim - SK Icon.asm" - +Ani_SKTitle_Icon: + include "General/Title/Anim - SK Icon.asm" ; --------------------------------------------------------------------------- Obj_SKTitle_TM: @@ -6823,53 +6792,56 @@ loc_5E8C: ; End of function SKTitle_DeformBG ; --------------------------------------------------------------------------- -SKTitle_ShakeOffsets: dc.b 1, 2, 1, 3, 1, 2, 2, 1, 2, 3, 1, 2, 1, 2, 0, 0 - dc.b 2, 0, 3, 2, 2, 3, 2, 2, 1, 3, 0, 0, 1, 0, 1, 3 - dc.b 1, 2, 1, 3, 1, 2, 2, 1, 2, 3, 1, 2, 1, 2, 0, 0 - dc.b 2, 0, 3, 2, 2, 3, 2, 2, 1, 3, 0, 0, 1, 0, 1, 3, 1, 2 - even -Map_SKTitle_Icon: include "General/Title/Map - SK Icon.asm" ;5ED8.asm" - even -Map_SKTitle_TM: include "General/Title/Map - SK TM.asm" ;5F62.asm" - even -Map_SKTitle_Copyright: include "General/Title/Map - SK Copyright.asm" ;5F6C.asm" - even +SKTitle_ShakeOffsets: + dc.b 1, 2, 1, 3, 1, 2, 2, 1, 2, 3, 1, 2, 1, 2, 0, 0 + dc.b 2, 0, 3, 2, 2, 3, 2, 2, 1, 3, 0, 0, 1, 0, 1, 3 + dc.b 1, 2, 1, 3, 1, 2, 2, 1, 2, 3, 1, 2, 1, 2, 0, 0 + dc.b 2, 0, 3, 2, 2, 3, 2, 2, 1, 3, 0, 0, 1, 0, 1, 3, 1, 2 + even +Map_SKTitle_Icon: + include "General/Title/Map - SK Icon.asm" + even +Map_SKTitle_TM: + include "General/Title/Map - SK TM.asm" + even +Map_SKTitle_Copyright: + include "General/Title/Map - SK Copyright.asm" + even ; --------------------------------------------------------------------------- - LevelMusic_Playlist: - dc.b mus_AIZ1, mus_AIZ2 ; ANGEL ISLAND ZONE - dc.b mus_HCZ1, mus_HCZ2 ; HYDROCITY ZONE ACT - dc.b mus_MGZ1, mus_MGZ2 ; MARBLE GARDEN ZONE - dc.b mus_CNZ1, mus_CNZ2 ; CARNIVAL NIGHT ZONE - dc.b mus_FBZ1, mus_FBZ2 ; FLYING BATTERY ZONE - dc.b mus_ICZ1, mus_ICZ2 ; ICE CAP ZONE - dc.b mus_LBZ1, mus_LBZ2 ; LAUNCH BASE ZONE - dc.b mus_MHZ1, mus_MHZ2 ; MUSHROOM HILL ZONE - dc.b mus_SOZ1, mus_SOZ2 ; SANDOPOLIS ZONE - dc.b mus_LRZ1, mus_HPZ ; LAVA REEF ZONE - dc.b mus_SSZ, mus_SSZ ; SKY SANCTUARY ZONE - dc.b mus_DEZ1, mus_DEZ2 ; DEATH EGG ZONE - dc.b mus_DDZ, mus_DDZ ; DOOMSDAY ZONE - dc.b mus_SpecialStage, mus_SSZ ; AIZ INTRO & ENDING - dc.b mus_ALZ, mus_ALZ ; AZURE LAKE ZONE - dc.b mus_BPZ, mus_BPZ ; BALLOON PARK ZONE - dc.b mus_DPZ, mus_DPZ ; DESERT PALACE ZONE - dc.b mus_CGZ, mus_CGZ ; CHROME GADGET ZONE - dc.b mus_EMZ, mus_EMZ ; ENDLESS MINE ZONE - dc.b mus_Gumball, mus_Gumball ; GUMBALL - dc.b mus_MagneticOrbs, mus_MagneticOrbs; PACHINKO - dc.b mus_SlotMachine, mus_SlotMachine ; SLOTS - dc.b mus_EndBoss, mus_HPZ ; LAVA REEF ZONE BOSS & HIDDEN PALACE ZONE - dc.b mus_DEZ2, mus_HPZ ; FINAL BOSS & SPECIAL STAGE? - even + dc.b mus_AIZ1, mus_AIZ2 ; ANGEL ISLAND ZONE + dc.b mus_HCZ1, mus_HCZ2 ; HYDROCITY ZONE + dc.b mus_MGZ1, mus_MGZ2 ; MARBLE GARDEN ZONE + dc.b mus_CNZ1, mus_CNZ2 ; CARNIVAL NIGHT ZONE + dc.b mus_FBZ1, mus_FBZ2 ; FLYING BATTERY ZONE + dc.b mus_ICZ1, mus_ICZ2 ; ICECAP ZONE + dc.b mus_LBZ1, mus_LBZ2 ; LAUNCH BASE ZONE + dc.b mus_MHZ1, mus_MHZ2 ; MUSHROOM HILL ZONE + dc.b mus_SOZ1, mus_SOZ2 ; SANDOPOLIS ZONE + dc.b mus_LRZ1, mus_LRZ2 ; LAVA REEF ZONE + dc.b mus_SSZ, mus_SSZ ; SKY SANCTUARY ZONE + dc.b mus_DEZ1, mus_DEZ2 ; DEATH EGG ZONE + dc.b mus_DDZ, mus_DDZ ; DOOMSDAY ZONE + dc.b mus_SpecialStage, mus_SSZ ; AIZ INTRO & ENDING + dc.b mus_ALZ, mus_ALZ ; AZURE LAKE ZONE + dc.b mus_BPZ, mus_BPZ ; BALLOON PARK ZONE + dc.b mus_DPZ, mus_DPZ ; DESERT PALACE ZONE + dc.b mus_CGZ, mus_CGZ ; CHROME GADGET ZONE + dc.b mus_EMZ, mus_EMZ ; ENDLESS MINE ZONE + dc.b mus_Gumball, mus_Gumball ; GUMBALL + dc.b mus_Pachinko, mus_Pachinko ; PACHINKO + dc.b mus_Slots, mus_Slots ; SLOTS + dc.b mus_EndBoss, mus_LRZ2 ; LAVA REEF ZONE BOSS & HIDDEN PALACE ZONE + dc.b mus_DEZ2, mus_LRZ2 ; FINAL BOSS & SPECIAL STAGE HUB + even ; --------------------------------------------------------------------------- Level: bset #7,(Game_mode).w ; Set bit 7 of F600 is indicate that we're loading the level tst.w (Demo_mode_flag).w bmi.s loc_5FC4 - moveq #mus_FadeOut,d0 ; If a demo - bsr.w Play_Sound + moveq #signextendB(mus_FadeOut),d0 ; If a demo + bsr.w Play_Music loc_5FC4: clr.w (Ending_running_flag).w @@ -6920,6 +6892,8 @@ loc_6034: loc_6040: move.w (Current_zone_and_act).w,d0 + + ; Useless code. Player_mode has not been set yet, and level $D00 has the same PLCs as level 0 bne.s loc_6058 cmpi.w #2,(Player_mode).w ; If level is Angel Island 1 bhs.s loc_6054 @@ -7092,7 +7066,7 @@ loc_61FC: bne.s loc_622A cmpi.b #3,(Last_star_post_hit).w bne.s loc_622A - moveq #mus_AIZ1,d0 + moveq #signextendB(mus_AIZ1),d0 loc_622A: cmpi.w #$700,(Current_zone_and_act).w @@ -7103,11 +7077,11 @@ loc_622A: beq.s loc_6248 tst.b (Last_star_post_hit).w bne.s loc_6248 - moveq #mus_Knuckles,d0 + moveq #signextendB(mus_Knuckles),d0 loc_6248: - move.w d0,(Level_music).w - bsr.w Play_Sound + move.w d0,(Current_music).w + bsr.w Play_Music tst.w (Current_zone_and_act).w bne.s loc_6268 cmpi.w #2,(Player_mode).w @@ -7237,10 +7211,10 @@ loc_6404: move.w d0,(Total_ring_count_P2).w move.w d0,(Monitors_broken).w move.w d0,(Monitors_broken_P2).w - move.w d0,(_unkFEDE).w + move.w d0,(Loser_time_left).w move.b d0,(LRZ_rocks_routine).w move.b d0,(Super_Sonic_Knux_flag).w - bsr.w sub_76E6 + bsr.w OscillateNumInit move.b #1,(Update_HUD_score).w move.b #1,(Update_HUD_ring_count).w move.b #1,(Update_HUD_timer).w @@ -7321,12 +7295,12 @@ Level_NotLRZ: jsr (Animate_Tiles).l bsr.w Process_Nem_Queue_Init jsr (Process_Kos_Module_Queue).l - bsr.w sub_773C - bsr.w sub_77D2 + bsr.w OscillateNumDo + bsr.w ChangeRingFrame jsr (Render_Sprites).l cmpi.b #$15,(Current_zone).w bne.s Level_NotSlots - jsr (Ending_4B356).l + jsr (Slots_RenderLayout).l jsr (Slots_CycleOptions).l Level_NotSlots: @@ -7524,7 +7498,7 @@ locret_67EC: SpawnLevelMainSprites: - move.l #Obj_Level_6C2C,(Reserved_object_3).w + move.l #Obj_ResetCollisionResponseList,(Reserved_object_3).w bsr.w SpawnLevelMainSprites_SpawnPlayers bsr.w SpawnLevelMainSprites_SpawnPowerup tst.b (Last_star_post_hit).w @@ -7708,7 +7682,7 @@ loc_6A02: andi.b #$8E,$2B(a1) bset #0,$2B(a1) bset #4,$2B(a1) - move.l #Obj_Fire_Shield,(Shield).w + move.l #Obj_FireShield,(Shield).w move.w a1,(Shield+parent).w rts ; --------------------------------------------------------------------------- @@ -7719,7 +7693,7 @@ loc_6A28: andi.b #$8E,$2B(a1) bset #0,$2B(a1) bset #5,$2B(a1) - move.l #Obj_Lightning_Shield,(Shield).w + move.l #Obj_LightningShield,(Shield).w move.w a1,(Shield+parent).w rts ; --------------------------------------------------------------------------- @@ -7730,7 +7704,7 @@ loc_6A4E: andi.b #$8E,$2B(a1) bset #0,$2B(a1) bset #6,$2B(a1) - move.l #Obj_Bubble_Shield,(Shield).w + move.l #Obj_BubbleShield,(Shield).w move.w a1,(Shield+parent).w rts ; --------------------------------------------------------------------------- @@ -7769,7 +7743,7 @@ loc_6AB8: bne.s loc_6B1E move.l #Obj_Sonic,(Player_1).w move.l #Obj_DashDust,(Dust).w - move.l #Obj_Insta_Shield,(Shield).w + move.l #Obj_InstaShield,(Shield).w move.w #Player_1,(Shield+parent).w move.l #Obj_Tails,(Player_2).w move.w (Player_1+x_pos).w,(Player_2+x_pos).w @@ -7786,7 +7760,7 @@ loc_6B1E: bne.s loc_6B42 move.l #Obj_Sonic,(Player_1).w move.l #Obj_DashDust,(Dust).w - move.l #Obj_Insta_Shield,(Shield).w + move.l #Obj_InstaShield,(Shield).w move.w #Player_1,(Shield+parent).w rts ; --------------------------------------------------------------------------- @@ -7871,11 +7845,10 @@ loc_6C04: rts ; --------------------------------------------------------------------------- Pal_Level_2P: binclude "Levels/Misc/Palettes/2P Level Secondary.bin" - even - + even ; --------------------------------------------------------------------------- -Obj_Level_6C2C: +Obj_ResetCollisionResponseList: move.w #0,(Collision_response_list).w rts @@ -7985,9 +7958,9 @@ loc_6D26: bsr.w sub_714E rts ; --------------------------------------------------------------------------- -StartingWaterHeights: binclude "Levels/Misc/StartingWaterHeights.bin" - even - +StartingWaterHeights: + binclude "Levels/Misc/StartingWaterHeights.bin" + even ; =============== S U B R O U T I N E ======================================= @@ -8333,7 +8306,8 @@ locret_705A: ; End of function HCZ_WaterTunnels ; --------------------------------------------------------------------------- -HCZ1_WaterTunLocs: dc.w $E +HCZ1_WaterTunLocs: + dc.w $E dc.w $380, $580, $5A0, $5C0, $3F0, $FFE0, 0 ; Min X, Min Y, Max X, Max Y, X Velo, Y Velo, Player can influence which axis flag (Set = X, Clear = Y) dc.w $5A0, $560, $A80, $5C0, $3F0, $FFF0, 0 dc.w $1400, $A80, $15A0, $AC0, $400, 0, 0 @@ -8349,11 +8323,11 @@ HCZ1_WaterTunLocs: dc.w $E dc.w $2EE0, $790, $2F50, $800, $300, $FD00, $100 dc.w $2F00, $700, $2F70, $790, $100, $FC00, $100 dc.w $2F30, $680, $2F70, $700, 0, $FC00, $100 -HCZ2_WaterTunLocs: dc.w 1 +HCZ2_WaterTunLocs: + dc.w 1 dc.w $3980, $800, $3AA0, $840, $400, 0, 0 dc.w $3AA0, $7C0, $3F00, $840, $400, $FFC0, 0 - ; =============== S U B R O U T I N E ======================================= @@ -8660,8 +8634,8 @@ loc_7402: move.b (V_int_run_count+3).w,d0 andi.b #$F,d0 bne.s locret_7446 - moveq #sfx_SlideSkidQuiet,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SlideSkidQuiet),d0 + jsr (Play_SFX).l locret_7446: rts @@ -8698,13 +8672,10 @@ loc_747C: ; --------------------------------------------------------------------------- dc.b $1C, $72, $83, $84, $8B, $91, $9F, $A0, $A5, $A6 byte_7498: dc.b $2E, $C6, $33, $C5, $24, $2A, $44, $1F, $27, $2B - byte_74A2: dc.b $F8, $F8, 8, 8, $F4, $F4, $F4, $C, $C, $C, $F, $13, $14, $15, $16, $17, $35, $6C, $6D, $76 dc.b $77, $7E, $7F, $85, $8A, $8C, $90 - byte_74BD: dc.b $F8, 0, $F8, 0, $FA, 1, $FA, 2, $F8, 0, $F8, 0, $F8, 0, 6, 1, 0, 3, 6, 2 dc.b 8, 0, 8, 0, 8, 0, 8, 0, 8, 0, 0, 3, $F8, 0, 0 - ; --------------------------------------------------------------------------- ; Water palette transition tables @@ -8970,64 +8941,48 @@ LoadSolids_SK_Interleaved_Format: ; =============== S U B R O U T I N E ======================================= -sub_76E6: +OscillateNumInit: lea (Oscillating_table).w,a1 - lea (word_76FA).l,a2 + lea (Osc_Data).l,a2 moveq #(Oscillating_table_end-Oscillating_table)/2-1,d1 -loc_76F2: +Osc_Loop: move.w (a2)+,(a1)+ - dbf d1,loc_76F2 + dbf d1,Osc_Loop rts -; End of function sub_76E6 +; End of function OscillateNumInit ; --------------------------------------------------------------------------- -word_76FA: dc.w $7D - dc.w $80 - dc.w 0 - dc.w $80 - dc.w 0 - dc.w $80 - dc.w 0 - dc.w $80 - dc.w 0 - dc.w $80 - dc.w 0 - dc.w $80 - dc.w 0 - dc.w $80 - dc.w 0 - dc.w $80 - dc.w 0 - dc.w $80 - dc.w 0 - dc.w $3848 - dc.w $EE - dc.w $2080 - dc.w $B4 - dc.w $3080 - dc.w $10E - dc.w $5080 - dc.w $1C2 - dc.w $7080 - dc.w $276 - dc.w $80 - dc.w 0 - dc.w $4000 - dc.w $FE +Osc_Data: dc.w %0000000001111101 ; oscillation direction bitfield + dc.w $80, 0 ; baseline values + dc.w $80, 0 + dc.w $80, 0 + dc.w $80, 0 + dc.w $80, 0 + dc.w $80, 0 + dc.w $80, 0 + dc.w $80, 0 + dc.w $80, 0 + dc.w $3848, $EE + dc.w $2080, $B4 + dc.w $3080, $10E + dc.w $5080, $1C2 + dc.w $7080, $276 + dc.w $80, 0 + dc.w $4000, $FE ; =============== S U B R O U T I N E ======================================= -sub_773C: +OscillateNumDo: tst.w (Competition_mode).w bne.s loc_774A cmpi.b #6,(Player_1+routine).w - bhs.s locret_7790 + bhs.s OscillateNumDo_Return loc_774A: lea (Oscillating_table).w,a1 - lea (word_7792).l,a2 + lea (Osc_Data2).l,a2 move.w (a1)+,d3 moveq #$F,d1 @@ -9060,48 +9015,32 @@ loc_7786: dbf d1,loc_7758 move.w d3,(Oscillating_table).w -locret_7790: +OscillateNumDo_Return: rts -; End of function sub_773C +; End of function OscillateNumDo ; --------------------------------------------------------------------------- -word_7792: dc.w 2 - dc.w $10 - dc.w 2 - dc.w $18 - dc.w 2 - dc.w $20 - dc.w 2 - dc.w $30 - dc.w 4 - dc.w $20 - dc.w 8 - dc.w 8 - dc.w 8 - dc.w $40 - dc.w 4 - dc.w $40 - dc.w 2 - dc.w $38 - dc.w 2 - dc.w $38 - dc.w 2 - dc.w $20 - dc.w 3 - dc.w $30 - dc.w 5 - dc.w $50 - dc.w 7 - dc.w $70 - dc.w 2 - dc.w $40 - dc.w 2 - dc.w $40 +Osc_Data2: dc.w 2, $10 + dc.w 2, $18 + dc.w 2, $20 + dc.w 2, $30 + dc.w 4, $20 + dc.w 8, 8 + dc.w 8, $40 + dc.w 4, $40 + dc.w 2, $38 + dc.w 2, $38 + dc.w 2, $20 + dc.w 3, $30 + dc.w 5, $50 + dc.w 7, $70 + dc.w 2, $40 + dc.w 2, $40 ; =============== S U B R O U T I N E ======================================= -sub_77D2: +ChangeRingFrame: subq.b #1,(Rings_frame_timer).w bpl.s loc_77E8 move.b #7,(Rings_frame_timer).w @@ -9123,7 +9062,7 @@ loc_77E8: loc_780A: addi.w #$180,(AIZ_vine_angle).w rts -; End of function sub_77D2 +; End of function ChangeRingFrame ; =============== S U B R O U T I N E ======================================= @@ -9315,7 +9254,7 @@ loc_7A22: ; --------------------------------------------------------------------------- Pal_WaterKnux: binclude "Levels/Misc/Palettes/Water Knuckles Patch.bin" - even + even ; --------------------------------------------------------------------------- LevelSelect_S2Options: @@ -9470,8 +9409,8 @@ loc_7BE4: move.l (a1),(a2)+ clr.l (a1)+ dbf d1,loc_7BE4 - moveq #mus_DataSelect,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_DataSelect),d0 + jsr (Play_Music).l move.w #$707,(Demo_timer).w clr.w (Competition_mode).w clr.l (Camera_X_pos).w @@ -9565,8 +9504,7 @@ LevelSelect_SpecialStageCheck: move.b #1,(SK_special_stage_flag).w bra.s LevelSelect_SpecialStage ; --------------------------------------------------------------------------- -LS_Level_Order: - dc.w 0 ; AIZ act 1 +LS_Level_Order: dc.w 0 ; AIZ act 1 dc.w 1 ; AIZ act 2 dc.w $100 ; HCZ act 1 dc.w $101 ; HCZ act 2 @@ -9622,8 +9560,8 @@ LevelSelect_CheckKnuckles: LevelSelect_DenySelection: - moveq #sfx_Error,d0 ; Play error buzzer sound - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Error),d0 ; Play error buzzer sound + jsr (Play_SFX).l bra.w LevelSelect_Main ; --------------------------------------------------------------------------- @@ -9674,10 +9612,10 @@ LevelSelect_StartZone: move.w d0,(Demo_mode_flag).w move.l #5000,(Next_extra_life_score).w move.l #5000,(Next_extra_life_score_P2).w - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l moveq #0,d0 - move.w d0,(Competition_mode_monitors).w + move.w d0,(Competition_settings).w move.w d0,(Competition_mode).w cmpi.b #$E,(Current_zone).w blo.s locret_7E62 @@ -9752,8 +9690,8 @@ loc_7EE4: move.w d0,(Sound_test_sound).w btst #4,d1 beq.s loc_7EF8 - moveq #mus_MutePSG,d0 - jmp (Play_Sound).l + moveq #signextendB(mus_MutePSG),d0 + jmp (Play_Music).l ; --------------------------------------------------------------------------- loc_7EF8: @@ -9765,14 +9703,14 @@ loc_7EF8: blo.s .play_music endif if sfx_First<$ff - cmpi.b #sfx__End,d0 + cmpi.b #sfx_End,d0 bhi.s .play_music endif - jmp (Play_Sound_2).l + jmp (Play_SFX).l ; --------------------------------------------------------------------------- .play_music: - jmp (Play_Sound).l + jmp (Play_Music).l ; --------------------------------------------------------------------------- @@ -9794,7 +9732,7 @@ loc_7F1E: rts ; --------------------------------------------------------------------------- LevelSelect_SwitchTable: - dc.b $12 + dc.b $12 ; 0 dc.b $13 ; 1 dc.b $14 ; 2 dc.b $15 ; 3 @@ -9947,41 +9885,40 @@ loc_8036: ; --------------------------------------------------------------------------- LevSel_MarkTable: ; 4 bytes per level select entry ; line primary, 2*column ($E fields), line secondary, 2*column secondary (1 field) - dc.b 1, 6, 1,$24 ;0 + dc.b 1, 6, 1,$24 ; 0 dc.b 1, 6, 2,$24 dc.b 4, 6, 4,$24 dc.b 4, 6, 5,$24 - dc.b 7, 6, 7,$24 ;4 + dc.b 7, 6, 7,$24 ; 4 dc.b 7, 6, 8,$24 dc.b $A, 6, $A,$24 dc.b $A, 6, $B,$24 - dc.b $D, 6, $D,$24 ;8 + dc.b $D, 6, $D,$24 ; 8 dc.b $D, 6, $E,$24 dc.b $10, 6,$10,$24 dc.b $10, 6,$11,$24 - dc.b $13, 6,$13,$24 ;$C + dc.b $13, 6,$13,$24 ; $C dc.b $13, 6,$14,$24 dc.b $16, 6,$16,$24 dc.b $16, 6,$17,$24 - dc.b $19, 6,$19,$24 ;$10 + dc.b $19, 6,$19,$24 ; $10 dc.b $19, 6,$1A,$24 ; --- second column --- dc.b 1,$2C, 1,$4A dc.b 1,$2C, 2,$4A - dc.b 4,$2C, 4,$4A ;$14 + dc.b 4,$2C, 4,$4A ; $14 dc.b 4,$2C, 5,$4A dc.b 7,$2C, 7,$4A dc.b 7,$2C, 8,$4A - dc.b $A,$2C, $A,$4A ;$18 + dc.b $A,$2C, $A,$4A ; $18 dc.b $A,$2C, $B,$4A dc.b $D,$2C, $D,$4A dc.b $D,$2C, $E,$4A - dc.b $10,$2C,$10,$4A ;$1C + dc.b $10,$2C,$10,$4A ; $1C dc.b $10,$2C,$11,$4A dc.b $13,$2C,$13,$4A dc.b $13,$2C,$14,$4A - dc.b $16,$2C,$16,$4A ;$20 - + dc.b $16,$2C,$16,$4A ; $20 LevSel_MappingOffsets: dc.w planeLocH28(3,1) dc.w planeLocH28(3,4) @@ -10000,45 +9937,40 @@ LevSel_MappingOffsets: dc.w planeLocH28($16,$10) dc.w planeLocH28($16,$13) dc.w planeLocH28($16,$16) - -LevelSelectText: - levselstr "ANGEL ISLAND" - levselstr "HYDROCITY" - levselstr "MARBLE GARDEN" - levselstr "CARNIVAL NIGHT" - levselstr "ICECAP" - levselstr "LAUNCH BASE" - levselstr "MUSHROOM HILL" - levselstr "FLYING BATTERY" - levselstr "SANDOPOLIS" - levselstr "LAVA REEF" - levselstr "LAVA REEF" - levselstr "SKY SANCTUARY" - levselstr "DEATHEGG" - levselstr "THE DOOMSDAY" - levselstr "BONUS" - levselstr "SPECIAL STAGE" - levselstr "SOUND TEST *" - even - -AniPLC_SONICMILES: zoneanimstart +LevelSelectText:levselstr "ANGEL ISLAND" + levselstr "HYDROCITY" + levselstr "MARBLE GARDEN" + levselstr "CARNIVAL NIGHT" + levselstr "ICECAP" + levselstr "LAUNCH BASE" + levselstr "MUSHROOM HILL" + levselstr "FLYING BATTERY" + levselstr "SANDOPOLIS" + levselstr "LAVA REEF" + levselstr "LAVA REEF" + levselstr "SKY SANCTUARY" + levselstr "DEATHEGG" + levselstr "THE DOOMSDAY" + levselstr "BONUS" + levselstr "SPECIAL STAGE" + levselstr "SOUND TEST *" + even +AniPLC_SONICMILES: zoneanimstart ; Sonic/Miles animated background zoneanimdecl -1, ArtUnc_SONICMILES, 1, 6, $A - dc.b 0,$C7 - dc.b $A, 5 - dc.b $14, 5 - dc.b $1E,$C7 - dc.b $14, 5 - dc.b $A, 5 - even - + dc.b 0,$C7 + dc.b $A, 5 + dc.b $14, 5 + dc.b $1E,$C7 + dc.b $14, 5 + dc.b $A, 5 + even zoneanimend - ; --------------------------------------------------------------------------- SpecialStage: - moveq #mus_Stop,d0 - bsr.w Play_Sound + moveq #signextendB(mus_Stop),d0 + bsr.w Play_Music clr.w (Kos_decomp_queue_count).w lea (Kos_decomp_stored_registers).w,a1 moveq #0,d0 @@ -10153,12 +10085,12 @@ loc_82A6: move.l #$74000003,(VDP_control_port).l lea (ArtNem_SStageShadow).l,a0 bsr.w Nem_Decomp - lea (SSNum000_Map).l,a1 + lea (MapUnc_SSNum000).l,a1 move.l #$40840003,d0 moveq #7,d1 moveq #2,d2 jsr (Plane_Map_To_VRAM).l - lea (SSNum000_Map).l,a1 + lea (MapUnc_SSNum000).l,a1 move.l #$40BC0003,d0 moveq #7,d1 moveq #2,d2 @@ -10211,12 +10143,12 @@ loc_8454: move.w #$8C89,(VDP_control_port).l move.w #$708,(Demo_timer).w jsr (GetDemoPtr).l - moveq #mus_SpecialStage,d0 - bsr.w Play_Sound + moveq #signextendB(mus_SpecialStage),d0 + bsr.w Play_Music move.w (VDP_reg_1_command).w,d0 ori.b #$40,d0 move.w d0,(VDP_control_port).l - bsr.w Pal_FromBlackWhite + bsr.w Pal_FadeFromWhite loc_84C2: bsr.w Pause_Game @@ -10277,7 +10209,8 @@ loc_8588: bne.s loc_853E rts ; --------------------------------------------------------------------------- -SSLayoutOffs_RAM:dc.l RAM_start+$0000 +SSLayoutOffs_RAM: + dc.l RAM_start+$0000 dc.l RAM_start+$0408 dc.l RAM_start+$0810 dc.l RAM_start+$0C18 @@ -10297,7 +10230,7 @@ sub_85B0: lea (RAM_start).l,a1 bsr.w Kos_Decomp lea (SStageLayoutPtrs).l,a2 - move.b (Emerald_count).w,d3 + move.b (Chaos_emerald_count).w,d3 tst.w (SK_alone_flag).w beq.s loc_85E4 lea (SSLayoutOffs_RAM).l,a2 @@ -10632,59 +10565,42 @@ SS_Pal_Map_Ptrs:dc.l RAM_start+$5500 dc.l Pal_SStage_3_1 dc.l RAM_start+$6680 dc.l Pal_SStage_3_1 -Pal_SStage_Main: binclude "General/Special Stage/Palettes/Main.bin" - even - -Pal_SStage_Knux: binclude "General/Special Stage/Palettes/Knux Patch.bin" - even - -Pal_SStage_3_1: binclude "General/Special Stage/Palettes/3-1.bin" - even - -Pal_SStage_3_2: binclude "General/Special Stage/Palettes/3-2.bin" - even - -Pal_SStage_3_3: binclude "General/Special Stage/Palettes/3-3.bin" - even - -Pal_SStage_3_4: binclude "General/Special Stage/Palettes/3-4.bin" - even - -Pal_SStage_3_5: binclude "General/Special Stage/Palettes/3-5.bin" - even - -Pal_SStage_3_6: binclude "General/Special Stage/Palettes/3-6.bin" - even - -Pal_SStage_3_7: binclude "General/Special Stage/Palettes/3-7.bin" - even - -Pal_SStage_3_8: binclude "General/Special Stage/Palettes/3-8.bin" - even - -Pal_SStage_K_1: binclude "General/Special Stage/Palettes/K-1.bin" - even - -Pal_SStage_K_2: binclude "General/Special Stage/Palettes/K-2.bin" - even - -Pal_SStage_K_3: binclude "General/Special Stage/Palettes/K-3.bin" - even - -Pal_SStage_K_4: binclude "General/Special Stage/Palettes/K-4.bin" - even - -Pal_SStage_K_5: binclude "General/Special Stage/Palettes/K-5.bin" - even - -Pal_SStage_K_6: binclude "General/Special Stage/Palettes/K-6.bin" - even - -Pal_SStage_K_7: binclude "General/Special Stage/Palettes/K-7.bin" - even - -Pal_SStage_K_8: binclude "General/Special Stage/Palettes/K-8.bin" - even +Pal_SStage_Main:binclude "General/Special Stage/Palettes/Main.bin" + even +Pal_SStage_Knux:binclude "General/Special Stage/Palettes/Knux Patch.bin" + even +Pal_SStage_3_1: binclude "General/Special Stage/Palettes/3-1.bin" + even +Pal_SStage_3_2: binclude "General/Special Stage/Palettes/3-2.bin" + even +Pal_SStage_3_3: binclude "General/Special Stage/Palettes/3-3.bin" + even +Pal_SStage_3_4: binclude "General/Special Stage/Palettes/3-4.bin" + even +Pal_SStage_3_5: binclude "General/Special Stage/Palettes/3-5.bin" + even +Pal_SStage_3_6: binclude "General/Special Stage/Palettes/3-6.bin" + even +Pal_SStage_3_7: binclude "General/Special Stage/Palettes/3-7.bin" + even +Pal_SStage_3_8: binclude "General/Special Stage/Palettes/3-8.bin" + even +Pal_SStage_K_1: binclude "General/Special Stage/Palettes/K-1.bin" + even +Pal_SStage_K_2: binclude "General/Special Stage/Palettes/K-2.bin" + even +Pal_SStage_K_3: binclude "General/Special Stage/Palettes/K-3.bin" + even +Pal_SStage_K_4: binclude "General/Special Stage/Palettes/K-4.bin" + even +Pal_SStage_K_5: binclude "General/Special Stage/Palettes/K-5.bin" + even +Pal_SStage_K_6: binclude "General/Special Stage/Palettes/K-6.bin" + even +Pal_SStage_K_7: binclude "General/Special Stage/Palettes/K-7.bin" + even +Pal_SStage_K_8: binclude "General/Special Stage/Palettes/K-8.bin" + even ; =============== S U B R O U T I N E ======================================= @@ -10692,7 +10608,7 @@ Pal_SStage_K_8: binclude "General/Special Stage/Palettes/K-8.bin" Draw_SSNum: lea (SSNum_Precision).l,a2 moveq #2,d6 - lea SSNum_Map(pc),a1 + lea MapUnc_SSNum(pc),a1 loc_8C6A: moveq #0,d2 @@ -10724,15 +10640,13 @@ loc_8C76: ; End of function Draw_SSNum ; --------------------------------------------------------------------------- -SSNum_Precision: dc.w $64 - dc.w $A - dc.w 1 ;0 1 2 3 4 5 6 7 8 9 -SSNum_Map: dc.l $C781CF81, $C782C783, $C781CF81, $C781CF81, $C784C785, $C786C787, $C781CF81, $CF87C788, $C781CF81, $C781CF81 - dc.l $C78ACF8A, $C78BC78C, $C78DC78E, $C78FC790, $C791C792, $C793C794, $C795C796, $C797C798, $C799CF99, $DF96DF95 - dc.l $D781DF81, $C79BD783, $DF88D787, $D781DF81, $C79CC79D, $D781DF81, $D781DF81, $C79EC79F, $D781DF81, $D781DF81 -SSNum000_Map:dc.w $CF89, $C781, $CF81, $C781, $CF81, $C781, $CF81, $C789 - dc.w $CF9A, $C78A, $CF8A, $C78A, $CF8A, $C78A, $CF8A, $C79A - dc.w $DF89, $D781, $DF81, $D781, $DF81, $D781, $DF81, $D789 +SSNum_Precision:dc.w 100 + dc.w 10 + dc.w 1 +MapUnc_SSNum: binclude "General/Special Stage/Uncompressed Map/HUD Numbers.bin" + even +MapUnc_SSNum000:binclude "General/Special Stage/Uncompressed Map/HUD.bin" + even ; =============== S U B R O U T I N E ======================================= @@ -10780,7 +10694,6 @@ loc_8E2A: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- Map_SSIcons: include "General/Special Stage/Map - Icons.asm" - ; --------------------------------------------------------------------------- Obj_SStage_8E40: @@ -10882,8 +10795,8 @@ loc_8F50: move.w d0,$10(a0) jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Map_GetBlueSpheres: include "General/Special Stage/Map - Get Blue Spheres.asm" - +Map_GetBlueSpheres: + include "General/Special Stage/Map - Get Blue Spheres.asm" ; --------------------------------------------------------------------------- Obj_SStage_8FAA: @@ -10989,8 +10902,8 @@ loc_90EE: move.l #-$100000,$40(a0) move.b #$80,(Special_stage_jumping).w move.b #0,(Special_stage_turning).w - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l loc_911E: tst.b (Special_stage_jumping).w @@ -11066,11 +10979,8 @@ locret_91E6: rts ; --------------------------------------------------------------------------- byte_91E8: dc.b 2, 6, 7, 8, 7, 6, 2, 3, 4, 5, 4, 3, 1, 0 - byte_91F6: dc.b 9, $B, $A, $B, 9, $B, $A, $B, 9, $B, $A, $B, $B, 0 - byte_9204: dc.b 9, $A, $B, 9, $A, $B, 9, $A, $B, 9, $A, $B, $B, 0 - ; --------------------------------------------------------------------------- Obj_SStage_9212: @@ -11138,8 +11048,8 @@ loc_92C4: bne.w loc_9304 move.l #$FFE80000,$40(a0) move.b #$81,(Special_stage_jumping_P2).w - moveq #sfx_Spring,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jsr (Play_SFX).l loc_9304: bsr.w sub_937C @@ -11149,8 +11059,8 @@ loc_9304: bne.s loc_932A move.l #$FFF00000,$40(a0) move.b #$80,(Special_stage_jumping_P2).w - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l loc_932A: tst.b (Special_stage_jumping_P2).w @@ -11601,8 +11511,8 @@ loc_978E: ori.b #$80,(Last_star_post_hit).w loc_97A0: - moveq #sfx_Goal,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Goal),d0 + jsr (Play_SFX).l locret_97A8: rts @@ -11617,8 +11527,8 @@ loc_97AA: move.l a1,4(a2) loc_97BE: - moveq #sfx_BlueSphere,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BlueSphere),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -11630,8 +11540,8 @@ loc_97C8: move.w d1,(Special_stage_interact).w move.b #1,(Special_stage_bumper_lock).w move.b #0,(Special_stage_advancing).w - moveq #sfx_Bumper,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Bumper),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -11647,8 +11557,8 @@ loc_97EE: bne.w loc_9822 move.l #$FFE80000,$40(a0) move.b #$81,(Special_stage_jumping).w - moveq #sfx_Spring,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jsr (Play_SFX).l loc_9822: cmpi.b #4,d2 @@ -11663,13 +11573,13 @@ loc_9838: beq.s loc_984C subq.w #1,(Special_stage_rings_left).w bne.s loc_984C - moveq #sfx_Perfect,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Perfect),d0 + jsr (Play_SFX).l loc_984C: addi.w #1,(Special_stage_ring_count).w bset #7,(Special_stage_extra_life_flags).w - moveq #sfx_RingRight,d0 + moveq #signextendB(sfx_RingRight),d0 tst.b (Blue_spheres_stage_flag).w bne.s loc_98A6 cmpi.w #50,(Special_stage_ring_count).w @@ -11678,11 +11588,11 @@ loc_984C: bne.s loc_987E addq.b #1,(Continue_count).w move.w #$FF00|sfx_Continue,d0 - jmp (Play_Sound_2).l + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_987E: - moveq #sfx_RingRight,d0 + moveq #signextendB(sfx_RingRight),d0 cmpi.w #100,(Special_stage_ring_count).w blo.s loc_98A6 bset #1,(Special_stage_extra_life_flags).w @@ -11694,10 +11604,10 @@ loc_987E: loc_98A0: addq.b #1,(Life_count).w - moveq #sfx_RingLoss,d0 + moveq #signextendB(sfx_RingLoss),d0 loc_98A6: - jsr (Play_Sound_2).l + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -12014,8 +11924,8 @@ sub_9B62: addq.w #2,(Special_stage_clear_timer).w cmpi.w #2,(Special_stage_clear_timer).w bne.s loc_9B8C - moveq #sfx_AllSpheres,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_AllSpheres),d0 + jsr (Play_SFX).l loc_9B8C: cmpi.w #$40,(Special_stage_clear_timer).w @@ -12098,8 +12008,8 @@ loc_9C5C: subq.b #1,(Special_stage_emerald_timer).w bne.s locret_9C7E addq.b #1,(Special_stage_clear_routine).w - moveq #mus_Emerald,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Emerald),d0 + jsr (Play_Music).l locret_9C7E: rts @@ -12126,7 +12036,7 @@ loc_9C80: bne.s locret_9D1C tst.b (Blue_spheres_stage_flag).w bne.s loc_9CE6 - lea (Emerald_count).w,a2 + lea (Chaos_emerald_count).w,a2 move.b (SK_special_stage_flag).w,d2 beq.s loc_9CCE lea (Super_emerald_count).w,a2 @@ -12155,17 +12065,17 @@ loc_9D02: ori.b #$80,(Last_star_post_hit).w loc_9D14: - moveq #sfx_Goal,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Goal),d0 + jsr (Play_SFX).l locret_9D1C: rts ; End of function sub_9B62 ; --------------------------------------------------------------------------- -Pal_SStage_Emeralds: binclude "General/Special Stage/Palettes/Emeralds.bin" - even - +Pal_SStage_Emeralds: + binclude "General/Special Stage/Palettes/Emeralds.bin" + even ; =============== S U B R O U T I N E ======================================= @@ -12408,8 +12318,8 @@ loc_9F30: dbf d0,loc_9F1A subq.w #2,d1 bne.s loc_9F0E - moveq #sfx_RingLoss,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_RingLoss),d0 + jsr (Play_SFX).l moveq #1,d1 locret_9F42: @@ -12816,30 +12726,16 @@ GetScalars2: ; End of function GetScalars2 ; --------------------------------------------------------------------------- -ScalarTable2: dc.w 0, $192, $324, $4B5, $646, $7D6, $964, $AF1, $C7C, $E06, $F8D, $1112, $1294, $1413, $1590, $1709 - dc.w $187E, $19EF, $1B5D, $1CC6, $1E2B, $1F8C, $20E7, $223D, $238E, $24DA, $2620, $2760, $289A, $29CE, $2AFB, $2C21 - dc.w $2D41, $2E5A, $2F6C, $3076, $3179, $3274, $3368, $3453, $3537, $3612, $36E5, $37B0, $3871, $392B, $39DB, $3A82 - dc.w $3B21, $3BB6, $3C42, $3CC5, $3D3F, $3DAF, $3E15, $3E72, $3EC5, $3F0F, $3F4F, $3F85, $3FB1, $3FD4, $3FEC, $3FFB - dc.w $4000, $3FFB, $3FEC, $3FD4, $3FB1, $3F85, $3F4F, $3F0F, $3EC5, $3E72, $3E15, $3DAF, $3D3F, $3CC5, $3C42, $3BB6 - dc.w $3B21, $3A82, $39DB, $392B, $3871, $37B0, $36E5, $3612, $3537, $3453, $3368, $3274, $3179, $3076, $2F6C, $2E5A - dc.w $2D41, $2C21, $2AFB, $29CE, $289A, $2760, $2620, $24DA, $238E, $223D, $20E7, $1F8C, $1E2B, $1CC6, $1B5D, $19EF - dc.w $187E, $1709, $1590, $1413, $1294, $1112, $F8D, $E06, $C7C, $AF1, $964, $7D6, $646, $4B5, $324, $192 - dc.w 0, $FE6E, $FCDC, $FB4B, $F9BA, $F82A, $F69C, $F50F, $F384, $F1FA, $F073, $EEEE, $ED6C, $EBED, $EA70, $E8F7 - dc.w $E782, $E611, $E4A3, $E33A, $E1D5, $E074, $DF19, $DDC3, $DC72, $DB26, $D9E0, $D8A0, $D766, $D632, $D505, $D3DF - dc.w $D2BF, $D1A6, $D094, $CF8A, $CE87, $CD8C, $CC98, $CBAD, $CAC9, $C9EE, $C91B, $C850, $C78F, $C6D5, $C625, $C57E - dc.w $C4DF, $C44A, $C3BE, $C33B, $C2C1, $C251, $C1EB, $C18E, $C13B, $C0F1, $C0B1, $C07B, $C04F, $C02C, $C014, $C005 - dc.w $C000, $C005, $C014, $C02C, $C04F, $C07B, $C0B1, $C0F1, $C13B, $C18E, $C1EB, $C251, $C2C1, $C33B, $C3BE, $C44A - dc.w $C4DF, $C57E, $C625, $C6D5, $C78F, $C850, $C91B, $C9EE, $CAC9, $CBAD, $CC98, $CD8C, $CE87, $CF8A, $D094, $D1A6 - dc.w $D2BF, $D3DF, $D505, $D632, $D766, $D8A0, $D9E0, $DB26, $DC72, $DDC3, $DF19, $E074, $E1D5, $E33A, $E4A3, $E611 - dc.w $E782, $E8F7, $EA70, $EBED, $ED6C, $EEEE, $F073, $F1FA, $F384, $F50F, $F69C, $F82A, $F9BA, $FB4B, $FCDC, $FE6E -Map_SStageSphere: include "General/Special Stage/Map - Sphere.asm" - -Map_SStageRing: include "General/Special Stage/Map - Ring.asm" - -Map_SStageChaosEmerald: include "General/Special Stage/Map - Chaos Emerald.asm" - -Map_SStageSuperEmerald: include "General/Special Stage/Map - Super Emerald.asm" - +ScalarTable2: binclude "General/Special Stage/Scalars.bin" + even +Map_SStageSphere: + include "General/Special Stage/Map - Sphere.asm" +Map_SStageRing: + include "General/Special Stage/Map - Ring.asm" +Map_SStageChaosEmerald: + include "General/Special Stage/Map - Chaos Emerald.asm" +Map_SStageSuperEmerald: + include "General/Special Stage/Map - Super Emerald.asm" ; --------------------------------------------------------------------------- locret_A85C: @@ -12939,8 +12835,8 @@ loc_A988: jsr (Init_SpriteTable).l jsr (Process_Sprites).l jsr (Render_Sprites).l - moveq #mus_CompetitionMenu,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_CompetitionMenu),d0 + jsr (Play_Music).l move.b #$1E,(V_int_routine).w jsr (Wait_VSync).l move.w (VDP_reg_1_command).w,d0 @@ -12981,8 +12877,8 @@ loc_AA2E: ; --------------------------------------------------------------------------- loc_AA36: - clr.b (Competition_mode_type).w - move.b (Competition_menu_monitors).w,(Competition_mode_monitors).w + clr.b (Competition_type).w + move.b (Competition_menu_items).w,(Competition_items).w move.b (Ctrl_2_pressed).w,d0 andi.b #$E0,d0 sne (Not_ghost_flag).w @@ -12991,8 +12887,8 @@ loc_AA36: ; --------------------------------------------------------------------------- loc_AA54: - move.b #3,(Competition_mode_type).w - move.b (Competition_menu_monitors).w,(Competition_mode_monitors).w + move.b #3,(Competition_type).w + move.b (Competition_menu_items).w,(Competition_items).w move.b (Ctrl_2_pressed).w,d0 andi.b #$E0,d0 sne (Not_ghost_flag).w @@ -13004,7 +12900,7 @@ loc_AA74: move.b (Ctrl_1_pressed).w,d2 andi.w #$E0,d2 beq.s loc_AAA6 - move.w #-1,(Competition_mode_monitors).w + move.w #-1,(Competition_settings).w clr.b (Not_ghost_flag).w move.b #-$40,(Game_mode).w @@ -13016,8 +12912,8 @@ loc_AA8E: loc_AA98: move.l d0,(a1)+ dbf d1,loc_AA98 - moveq #sfx_Starpost,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Starpost),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_AAA6: @@ -13025,7 +12921,7 @@ loc_AAA6: move.b (Competition_menu_selection).w,d1 lsr.w #1,d0 bcc.s loc_AABA - moveq #sfx_Switch,d2 + moveq #signextendB(sfx_Switch),d2 subq.b #1,d1 bcc.s loc_AACA moveq #3,d1 @@ -13035,7 +12931,7 @@ loc_AAA6: loc_AABA: lsr.w #1,d0 bcc.s loc_AACA - moveq #sfx_Switch,d2 + moveq #signextendB(sfx_Switch),d2 addq.b #1,d1 cmpi.b #3,d1 bls.s loc_AACA @@ -13045,7 +12941,7 @@ loc_AACA: move.b d1,(Competition_menu_selection).w move.w d2,d0 beq.s loc_AAD8 - jsr (Play_Sound_2).l + jsr (Play_SFX).l loc_AAD8: bra.w loc_A9E8 @@ -13074,14 +12970,14 @@ Obj_Competition_AB00: or.b (Ctrl_2_pressed).w,d0 andi.w #$C,d0 beq.s loc_AB26 - tst.b (Competition_menu_monitors).w - seq (Competition_menu_monitors).w - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + tst.b (Competition_menu_items).w + seq (Competition_menu_items).w + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l loc_AB26: move.w #$15C,d0 - tst.b (Competition_menu_monitors).w + tst.b (Competition_menu_items).w beq.s loc_AB34 addi.w #$20,d0 @@ -13276,8 +13172,8 @@ loc_AD8A: move.l #Map_CompetitionSelect,$C(a0) addi.w #$C29F,$A(a0) move.w #$B0,$10(a0) - moveq #mus_CompetitionMenu,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_CompetitionMenu),d0 + jsr (Play_Music).l move.b #$1E,(V_int_routine).w jsr (Wait_VSync).l move.w (VDP_reg_1_command).w,d0 @@ -13368,8 +13264,8 @@ loc_AE9A: bcs.s loc_AED2 cmpi.b #4,(a0) beq.s loc_AEF2 - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l addq.b #1,(a0) cmpi.b #4,(a0) beq.s loc_AEF2 @@ -13382,8 +13278,8 @@ loc_AE9A: loc_AED2: tst.b (a0) beq.s loc_AEF2 - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l subq.b #1,(a0) beq.s loc_AEF2 cmpi.b #3,(a0) @@ -13395,8 +13291,8 @@ loc_AED2: loc_AEF2: andi.w #$E0,d1 beq.w loc_ADF2 - moveq #sfx_Starpost,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Starpost),d0 + jsr (Play_SFX).l moveq #0,d0 move.b (Competition_menu_zone).w,d0 move.b Comp_ZoneList(pc,d0.w),(Current_zone).w @@ -13646,7 +13542,8 @@ sub_B0E4: ; End of function sub_B0E4 ; --------------------------------------------------------------------------- -VRAMDatList_CompetitionLevelSelect:dc.w $18 +VRAMDatList_CompetitionLevelSelect: + dc.w $18 dc.l RAM_start+$0000 dc.w $C098 dc.w $1A @@ -13747,7 +13644,8 @@ VRAMDatList_CompetitionLevelSelect:dc.w $18 dc.w $D3D0 dc.w 8 dc.w 1 -ObjDat_CompetitionMatchRace: dc.w $B +ObjDat_CompetitionMatchRace: + dc.w $B dc.l Obj_Competition_ZoneSelect dc.w $F4 dc.w 0 @@ -13820,7 +13718,8 @@ ObjDat_CompetitionMatchRace: dc.w $B dc.w $2000 dc.b 5 dc.b 0 -ObjDat_CompetitionTimeAttack: dc.w 5 +ObjDat_CompetitionTimeAttack: + dc.w 5 dc.l Obj_Competition_ZoneSelect dc.w $F4 dc.w $30 @@ -13970,8 +13869,8 @@ loc_B406: jsr sub_C0AE(pc) jsr (Process_Sprites).l jsr (Render_Sprites).l - moveq #mus_CompetitionMenu,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_CompetitionMenu),d0 + jsr (Play_Music).l move.b #$1E,(V_int_routine).w jsr (Wait_VSync).l move.w (VDP_reg_1_command).w,d0 @@ -14054,8 +13953,8 @@ loc_B558: andi.w #$C,d0 beq.w loc_B602 move.l d0,-(sp) - moveq #sfx_GravityTunnel,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GravityTunnel),d0 + jsr (Play_SFX).l move.l (sp)+,d0 clr.b $34(a0) move.b $2E(a0),$35(a0) @@ -14137,8 +14036,8 @@ loc_B610: beq.s loc_B626 st $2F(a0) sf (a2) - moveq #sfx_Starpost,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Starpost),d0 + jsr (Play_SFX).l loc_B626: moveq #1,d0 @@ -14381,8 +14280,8 @@ loc_B8B4: jsr (Init_SpriteTable).l jsr (Process_Sprites).l jsr (Render_Sprites).l - moveq #mus_Continue,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Continue),d0 + jsr (Play_Music).l move.b #$1E,(V_int_routine).w jsr (Wait_VSync).l move.w (VDP_reg_1_command).w,d0 @@ -14681,7 +14580,8 @@ ObjDat_BB4A: dc.w 7 dc.w 0 dc.b 0 dc.b 1 -VRAMDatList_BBAC:dc.w 8 +VRAMDatList_BBAC: + dc.w 8 dc.l RAM_start+$0000 dc.w $E000 dc.w $27 @@ -14855,8 +14755,8 @@ loc_BDE8: jsr (Init_SpriteTable).l jsr (Process_Sprites).l jsr (Render_Sprites).l - moveq #mus_Continue,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Continue),d0 + jsr (Play_Music).l move.b #$1E,(V_int_routine).w jsr (Wait_VSync).l move.w (VDP_reg_1_command).w,d0 @@ -14952,7 +14852,7 @@ loc_BF30: move.l #loc_BF3E,(a0) loc_BF3E: - move.b (_unkEE5A).w,d0 + move.b (Competition_time_attack_new_top_record).w,d0 cmp.b $2E(a0),d0 bne.s loc_BF50 btst #3,(Level_frame_counter+1).w @@ -14996,7 +14896,8 @@ ObjDat_BF58: dc.w 4 dc.w 0 dc.b 0 dc.b 2 -VRAMDatList_BF96:dc.w 8 +VRAMDatList_BF96: + dc.w 8 dc.l RAM_start+$0000 dc.w $E000 dc.w $27 @@ -15033,7 +14934,8 @@ VRAMDatList_BF96:dc.w 8 dc.w $C944 dc.w 2 dc.w 7 -CompTimeAttack_LevelNameMaps:dc.l MapUnc_CompetitionAZURELAKE +CompTimeAttack_LevelNameMaps: + dc.l MapUnc_CompetitionAZURELAKE dc.l MapUnc_CompetitionBALLOONPARK dc.l MapUnc_CompetitionDESERTPALACE dc.l MapUnc_CompetitionCHROMEGADGET @@ -15495,7 +15397,8 @@ Write_SaveGame: ; End of function Write_SaveGame ; --------------------------------------------------------------------------- -SaveGame_NextLevel: dc.b 1, 1, 2, 2, 3, 3, 4, 4, 8, 8, 5, 5, 6, 6, 7, 7, 9, 9, $A, $A +SaveGame_NextLevel: + dc.b 1, 1, 2, 2, 3, 3, 4, 4, 8, 8, 5, 5, 6, 6, 7, 7, 9, 9, $A, $A dc.b $C, $C, $D, $D, $E, $E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.b 0, 0, 0, 0, $A, $B, $D, 0 @@ -15517,7 +15420,7 @@ SaveGame: beq.s loc_C464 cmp.b 3(a1),d0 ; If game is complete, make it uncomplete if last level is less than the current level blo.s loc_C4B4 ; Think of, say, getting all the super emeralds then going to Doomsday on a completed save file - andi.b #-4,(a1) + andi.b #$FC,(a1) loc_C464: move.b d0,3(a1) ; Move next level into current level @@ -15525,7 +15428,7 @@ loc_C464: bne.s loc_C478 cmpi.b #$C,d0 blo.s loc_C4B0 - bra.s loc_C498 ; If playing as Knuckles and level code is Death egg or higher, make it a completed save file + bra.s loc_C498 ; If playing as Knuckles and level code is Death Egg or higher, make it a completed save file ; --------------------------------------------------------------------------- loc_C478: @@ -15533,19 +15436,19 @@ loc_C478: bne.s loc_C488 cmpi.b #$D,d0 blo.s loc_C4B0 - bra.s loc_C498 ; If playing as Knuckles and level code is Doomsday or higher, make it a completed save file + bra.s loc_C498 ; If playing as Tails and level code is Doomsday or higher, make it a completed save file ; --------------------------------------------------------------------------- loc_C488: cmpi.b #$D,d0 - bhi.s loc_C498 ; If next level above Doomsday's code, make it a completed save file + bhi.s loc_C498 ; If next level above Doomsday's code, make it a completed save file bne.s loc_C4B0 - cmpi.b #7,(Emerald_count).w ; If next level IS Doomsday but the emeralds aren't collected, make it a completed save file + cmpi.b #7,(Chaos_emerald_count).w ; If next level IS Doomsday but the emeralds aren't collected, make it a completed save file bhs.s loc_C4B0 loc_C498: moveq #1,d0 - cmpi.b #7,(Emerald_count).w + cmpi.b #7,(Chaos_emerald_count).w blo.s loc_C4AE ; code 1 is completed without all emeralds addq.b #1,d0 cmpi.b #7,(Super_emerald_count).w @@ -15665,18 +15568,9 @@ SaveScreen: andi.b #$BF,d0 move.w d0,(VDP_control_port).l jsr (Clear_DisplayData).l - lea (VDP_control_port).l,a5 - move.w #$8F01,(a5) - move.l #$940F93FF,(a5) - move.w #$9780,(a5) - move.l #$50000083,(a5) - move.w #0,(VDP_data_port).l -loc_C5B0: - move.w (a5),d1 - btst #1,d1 - bne.s loc_C5B0 - move.w #$8F02,(a5) + dmaFillVRAM 0,$D000,$1000 + lea (VDP_control_port).l,a6 move.w #$8004,(a6) move.w #$8238,(a6) @@ -15812,8 +15706,8 @@ loc_C7A4: loc_C7CC: move.l (a0)+,(a1)+ dbf d0,loc_C7CC - moveq #mus_DataSelect,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_DataSelect),d0 + jsr (Play_Music).l move.l #loc_C890,(_unkEF44_1).w move.b #$1E,(V_int_routine).w jsr (Wait_VSync).l @@ -15857,8 +15751,8 @@ loc_C84E: loc_C856: cmpi.b #$4C,(Game_mode).w ; are we still in the savescreen mode? beq.s SaveScreen_MainLoop ; if so, loop - moveq #sfx_EnterSS,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_EnterSS),d0 + jmp (Play_SFX).l ; =============== S U B R O U T I N E ======================================= @@ -15984,8 +15878,7 @@ loc_C94C: ; --------------------------------------------------------------------------- ; shows level number 1-14 ; NOTE: $FF acts as zero -byte_C95E: - dc.b $FF, 1 ; 01 +byte_C95E: dc.b $FF, 1 ; 01 dc.b $FF, 2 ; 02 dc.b $FF, 3 ; 03 dc.b $FF, 4 ; 04 @@ -16115,55 +16008,73 @@ word_CA4E: dc.w $A49B dc.w $8000 dc.w $8000 Pal_Save_Chars: binclude "General/Save Menu/Palettes/Chars.bin" - even - -Pal_Save_Emeralds: binclude "General/Save Menu/Palettes/Emeralds.bin" - even - -Pal_Save_FinishCard1: binclude "General/Save Menu/Palettes/Finish Card 1.bin" - even -Pal_Save_FinishCard2: binclude "General/Save Menu/Palettes/Finish Card 2.bin" - even -Pal_Save_FinishCard3: binclude "General/Save Menu/Palettes/Finish Card 3.bin" - even - -Pal_Save_ZoneCard1: binclude "General/Save Menu/Palettes/Zone Card 1.bin" - even -Pal_Save_ZoneCard2: binclude "General/Save Menu/Palettes/Zone Card 2.bin" - even -Pal_Save_ZoneCard3: binclude "General/Save Menu/Palettes/Zone Card 3.bin" - even -Pal_Save_ZoneCard4: binclude "General/Save Menu/Palettes/Zone Card 4.bin" - even -Pal_Save_ZoneCard5: binclude "General/Save Menu/Palettes/Zone Card 5.bin" - even -Pal_Save_ZoneCard6: binclude "General/Save Menu/Palettes/Zone Card 6.bin" - even -Pal_Save_ZoneCard7: binclude "General/Save Menu/Palettes/Zone Card 7.bin" - even -Pal_Save_ZoneCard8: binclude "General/Save Menu/Palettes/Zone Card 8.bin" - even -Pal_Save_ZoneCard9: binclude "General/Save Menu/Palettes/Zone Card 9.bin" - even -Pal_Save_ZoneCardA: binclude "General/Save Menu/Palettes/Zone Card A.bin" - even -Pal_Save_ZoneCardB: binclude "General/Save Menu/Palettes/Zone Card B.bin" - even -Pal_Save_ZoneCardC: binclude "General/Save Menu/Palettes/Zone Card C.bin" - even -Pal_Save_ZoneCardD: binclude "General/Save Menu/Palettes/Zone Card D.bin" - even -Pal_Save_ZoneCardE: binclude "General/Save Menu/Palettes/Zone Card E.bin" - even -Pal_Save_ZoneCardF: binclude "General/Save Menu/Palettes/Zone Card F.bin" - even -Pal_Save_ZoneCard10: binclude "General/Save Menu/Palettes/Zone Card 10.bin" - even -Pal_Save_ZoneCard11: binclude "General/Save Menu/Palettes/Zone Card 11.bin" - even -Pal_Save_ZoneCard12: binclude "General/Save Menu/Palettes/Zone Card 12.bin" - even - + even +Pal_Save_Emeralds: + binclude "General/Save Menu/Palettes/Emeralds.bin" + even +Pal_Save_FinishCard1: + binclude "General/Save Menu/Palettes/Finish Card 1.bin" + even +Pal_Save_FinishCard2: + binclude "General/Save Menu/Palettes/Finish Card 2.bin" + even +Pal_Save_FinishCard3: + binclude "General/Save Menu/Palettes/Finish Card 3.bin" + even +Pal_Save_ZoneCard1: + binclude "General/Save Menu/Palettes/Zone Card 1.bin" + even +Pal_Save_ZoneCard2: + binclude "General/Save Menu/Palettes/Zone Card 2.bin" + even +Pal_Save_ZoneCard3: + binclude "General/Save Menu/Palettes/Zone Card 3.bin" + even +Pal_Save_ZoneCard4: + binclude "General/Save Menu/Palettes/Zone Card 4.bin" + even +Pal_Save_ZoneCard5: + binclude "General/Save Menu/Palettes/Zone Card 5.bin" + even +Pal_Save_ZoneCard6: + binclude "General/Save Menu/Palettes/Zone Card 6.bin" + even +Pal_Save_ZoneCard7: + binclude "General/Save Menu/Palettes/Zone Card 7.bin" + even +Pal_Save_ZoneCard8: + binclude "General/Save Menu/Palettes/Zone Card 8.bin" + even +Pal_Save_ZoneCard9: + binclude "General/Save Menu/Palettes/Zone Card 9.bin" + even +Pal_Save_ZoneCardA: + binclude "General/Save Menu/Palettes/Zone Card A.bin" + even +Pal_Save_ZoneCardB: + binclude "General/Save Menu/Palettes/Zone Card B.bin" + even +Pal_Save_ZoneCardC: + binclude "General/Save Menu/Palettes/Zone Card C.bin" + even +Pal_Save_ZoneCardD: + binclude "General/Save Menu/Palettes/Zone Card D.bin" + even +Pal_Save_ZoneCardE: + binclude "General/Save Menu/Palettes/Zone Card E.bin" + even +Pal_Save_ZoneCardF: + binclude "General/Save Menu/Palettes/Zone Card F.bin" + even +Pal_Save_ZoneCard10: + binclude "General/Save Menu/Palettes/Zone Card 10.bin" + even +Pal_Save_ZoneCard11: + binclude "General/Save Menu/Palettes/Zone Card 11.bin" + even +Pal_Save_ZoneCard12: + binclude "General/Save Menu/Palettes/Zone Card 12.bin" + even word_CD58: dc.w $11 dc.l Chunk_table+$222 dc.w $C102 @@ -16238,7 +16149,6 @@ word_CD58: dc.w $11 dc.w $C dc.w $A Map_SaveScreen: include "General/Save Menu/Map - Save Screen General.asm" - ObjDat_SaveScreen: dc.l Draw_Sprite ; "Data Select" Text dc.w $120 ; x_pos, objoff_12 (x_pos copy) @@ -16255,7 +16165,7 @@ ObjDat_SaveScreen: dc.w $D8 ; y_pos dc.b $D ; mapping_frame dc.b 0 ; unused - dc.l Obj_SaveScreen_NoSave_Slot ; Slot that starts a non-saving game + dc.l Obj_SaveScreen_NoSave_Slot ; Slot that starts a non-saving game dc.w $B0 ; x_pos, objoff_12 (x_pos copy) dc.w $C8 ; y_pos dc.b 0 ; unused @@ -16361,13 +16271,13 @@ loc_D238: tst.b (Dataselect_entry).w beq.s loc_D254 subq.b #1,(Dataselect_entry).w - moveq #sfx_SlotMachine,d0 + moveq #signextendB(sfx_SlotMachine),d0 tst.w (Events_bg+$12).w beq.s loc_D24C - moveq #sfx_SmallBumpers,d0 + moveq #signextendB(sfx_SmallBumpers),d0 loc_D24C: - jsr (Play_Sound_2).l + jsr (Play_SFX).l moveq #-8,d0 loc_D254: @@ -16376,13 +16286,13 @@ loc_D254: cmpi.b #9,(Dataselect_entry).w beq.s loc_D27A addq.b #1,(Dataselect_entry).w - moveq #sfx_SlotMachine,d0 + moveq #signextendB(sfx_SlotMachine),d0 tst.w (Events_bg+$12).w beq.s loc_D272 - moveq #sfx_SmallBumpers,d0 + moveq #signextendB(sfx_SmallBumpers),d0 loc_D272: - jsr (Play_Sound_2).l + jsr (Play_SFX).l moveq #8,d0 loc_D27A: @@ -16476,7 +16386,7 @@ Obj_SaveScreen_NoSave_Slot: clr.w (Current_zone_and_act).w clr.w (Apparent_zone_and_act).w clr.w (Current_special_stage).w - clr.w (Emerald_count).w + clr.w (Emerald_counts).w clr.l (Collected_emeralds_array).w clr.w (Collected_emeralds_array+4).w clr.b (Collected_emeralds_array+6).w @@ -16623,7 +16533,7 @@ loc_D4EE: move.b (Ctrl_1_pressed).w,d0 btst #1,d0 beq.s loc_D508 - moveq #sfx_Switch,d2 + moveq #signextendB(sfx_Switch),d2 subq.w #1,d1 bpl.s loc_D518 move.w d6,d1 @@ -16633,7 +16543,7 @@ loc_D4EE: loc_D508: btst #0,d0 beq.s loc_D518 - moveq #sfx_Switch,d2 + moveq #signextendB(sfx_Switch),d2 addq.w #1,d1 cmp.w d6,d1 bls.s loc_D518 @@ -16642,7 +16552,7 @@ loc_D508: loc_D518: move.w d1,$36(a0) move.l d2,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.b #$1A,$1D(a0) btst #4,(Level_frame_counter+1).w beq.s loc_D53C @@ -16686,7 +16596,7 @@ loc_D57A: move.w 6(a1),d0 lea (Collected_emeralds_array).w,a2 jsr sub_DA1E(pc) - move.b d1,(Emerald_count).w + move.b d1,(Chaos_emerald_count).w move.b d2,(Super_emerald_count).w move.l a1,(Save_pointer).w jsr (Set_Lives_and_Continues).l @@ -16732,7 +16642,7 @@ loc_D5FE: clr.w (Current_zone_and_act).w clr.w (Apparent_zone_and_act).w clr.w (Current_special_stage).w - clr.w (Emerald_count).w + clr.w (Emerald_counts).w clr.l (Collected_emeralds_array).w clr.w (Collected_emeralds_array+4).w clr.b (Collected_emeralds_array+6).w @@ -16782,7 +16692,7 @@ sub_D6D0: move.b (Ctrl_1_pressed).w,d1 lsr.w #1,d1 bcc.s loc_D6EE - moveq #sfx_Switch,d2 + moveq #signextendB(sfx_Switch),d2 addq.w #1,d0 cmpi.w #3,d0 bls.s loc_D6FA @@ -16793,7 +16703,7 @@ sub_D6D0: loc_D6EE: lsr.w #1,d1 bcc.s loc_D6FA - moveq #sfx_Switch,d2 + moveq #signextendB(sfx_Switch),d2 subq.w #1,d0 bpl.s loc_D6FA moveq #3,d0 @@ -16803,7 +16713,7 @@ loc_D6FA: beq.s locret_D70A move.l d0,-(sp) move.l d2,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.l (sp)+,d0 locret_D70A: @@ -16886,8 +16796,8 @@ loc_D7C0: move.b (Ctrl_1_pressed).w,d0 andi.w #$E0,d0 beq.w loc_D8A0 - moveq #sfx_Starpost,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Starpost),d0 + jsr (Play_SFX).l st (Events_bg+$12).w addq.b #4,5(a0) bra.w loc_D8A0 @@ -16914,8 +16824,8 @@ loc_D7EA: movea.l d0,a1 tst.b (a1) bmi.s loc_D854 - moveq #sfx_Starpost,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Starpost),d0 + jsr (Play_SFX).l st (Events_bg+$10).w addq.b #8,5(a0) @@ -16976,8 +16886,8 @@ loc_D8C4: bne.s loc_D8FE btst #2,(Ctrl_1_pressed).w beq.s loc_D90C - moveq #sfx_Perfect,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Perfect),d0 + jsr (Play_SFX).l movea.l $2E(a0),a1 move.w #$8000,(a1) clr.l 2(a1) @@ -17285,17 +17195,17 @@ byte_DB36: dc.b $20, $29, $22, $1E, $2F, $FF ; =============== S U B R O U T I N E ======================================= -sub_DB3C: +Render_HUD_P1: tst.w (Debug_mode_flag).w - bne.s sub_DB44 + bne.s Render_HUD rts -; End of function sub_DB3C +; End of function Render_HUD_P1 ; =============== S U B R O U T I N E ======================================= -sub_DB44: +Render_HUD: cmpi.b #$16,(Current_zone).w bhs.s loc_DB68 cmpi.b #$13,(Current_zone).w @@ -17343,15 +17253,15 @@ loc_DB92: locret_DBB2: rts -; End of function sub_DB44 +; End of function Render_HUD ; =============== S U B R O U T I N E ======================================= -nullsub_2: +Render_HUD_P2: rts -; End of function nullsub_2 +; End of function Render_HUD_P2 ; --------------------------------------------------------------------------- Map_HUD: include "General/Sprites/HUD Icon/Map - HUD.asm" @@ -17363,7 +17273,7 @@ HUD_AddToScore: move.b #1,(Update_HUD_score).w lea (Score).w,a3 add.l d0,(a3) ; Add to score - move.l #$F423F,d1 ; 9999990 maximum points + move.l #999999,d1 ; 9999990 maximum points cmp.l (a3),d1 bhi.s loc_DCE2 move.l d1,(a3) @@ -17376,7 +17286,7 @@ loc_DCE2: addq.b #1,(Life_count).w ; Give an additional extra life addq.b #1,(Update_HUD_life_count).w move.w #mus_ExtraLife,d0 ; Play the 1up song - jmp (Play_Sound).l + jmp (Play_Music).l ; --------------------------------------------------------------------------- locret_DD04: @@ -17588,7 +17498,6 @@ locret_DEEA: ; End of function HUD_DrawInitial ; --------------------------------------------------------------------------- - charset ' ',$FF charset '0',0 charset '1',2 @@ -17977,11 +17886,12 @@ loc_E17E: ; End of function HUD_Lives ; --------------------------------------------------------------------------- -ArtUnc_HUDDigits: binclude "General/Sprites/HUD Icon/HUD Digits.bin" - -ArtUnc_LivesDigits: binclude "General/Sprites/HUD Icon/Lives Digits.bin" - -ArtUnc_DebugDigits: binclude "General/Sprites/HUD Icon/Debug Digits.bin" +ArtUnc_HUDDigits: + binclude "General/Sprites/HUD Icon/HUD Digits.bin" +ArtUnc_LivesDigits: + binclude "General/Sprites/HUD Icon/Lives Digits.bin" +ArtUnc_DebugDigits: + binclude "General/Sprites/HUD Icon/Debug Digits.bin" ; =============== S U B R O U T I N E ======================================= @@ -18384,7 +18294,7 @@ loc_EB7A: ; =============== S U B R O U T I N E ======================================= -sub_EB86: +Render_Rings: movea.l (Ring_start_addr_ROM).w,a0 move.l (Ring_end_addr_ROM).w,d2 sub.l a0,d2 @@ -18432,7 +18342,7 @@ loc_EBE6: locret_EBEC: rts -; End of function sub_EB86 +; End of function Render_Rings ; --------------------------------------------------------------------------- ; Custom mappings format. Compare to Map_Ring. @@ -18445,52 +18355,52 @@ locret_EBEC: CMap_Ring: ;frame1: - dc.w $FFF8 - dc.w $0005 - dc.w $0000+make_art_tile(ArtTile_Ring,1,0) - dc.w $FFF8 + dc.w $FFF8 + dc.w $0005 + dc.w $0000+make_art_tile(ArtTile_Ring,1,0) + dc.w $FFF8 ;frame2: - dc.w $FFF8 - dc.w $0005 - dc.w $0004+make_art_tile(ArtTile_Ring,1,0) - dc.w $FFF8 + dc.w $FFF8 + dc.w $0005 + dc.w $0004+make_art_tile(ArtTile_Ring,1,0) + dc.w $FFF8 ;frame3: - dc.w $FFF8 - dc.w $0001 - dc.w $0008+make_art_tile(ArtTile_Ring,1,0) - dc.w $FFFC + dc.w $FFF8 + dc.w $0001 + dc.w $0008+make_art_tile(ArtTile_Ring,1,0) + dc.w $FFFC ;frame4: - dc.w $FFF8 - dc.w $0005 - dc.w $0804+make_art_tile(ArtTile_Ring,1,0) - dc.w $FFF8 + dc.w $FFF8 + dc.w $0005 + dc.w $0804+make_art_tile(ArtTile_Ring,1,0) + dc.w $FFF8 ;frame5: - dc.w $FFF8 - dc.w $0005 - dc.w $000A+make_art_tile(ArtTile_Ring,1,0) - dc.w $FFF8 + dc.w $FFF8 + dc.w $0005 + dc.w $000A+make_art_tile(ArtTile_Ring,1,0) + dc.w $FFF8 ;frame6: - dc.w $FFF8 - dc.w $0005 - dc.w $180A+make_art_tile(ArtTile_Ring,1,0) - dc.w $FFF8 + dc.w $FFF8 + dc.w $0005 + dc.w $180A+make_art_tile(ArtTile_Ring,1,0) + dc.w $FFF8 ;frame7: - dc.w $FFF8 - dc.w $0005 - dc.w $080A+make_art_tile(ArtTile_Ring,1,0) - dc.w $FFF8 + dc.w $FFF8 + dc.w $0005 + dc.w $080A+make_art_tile(ArtTile_Ring,1,0) + dc.w $FFF8 ;frame8: - dc.w $FFF8 - dc.w $0005 - dc.w $100A+make_art_tile(ArtTile_Ring,1,0) - dc.w $FFF8 + dc.w $FFF8 + dc.w $0005 + dc.w $100A+make_art_tile(ArtTile_Ring,1,0) + dc.w $FFF8 ; =============== S U B R O U T I N E ======================================= @@ -18881,8 +18791,8 @@ loc_EFA2: move.b #1,$21(a0) rts ; --------------------------------------------------------------------------- - -GetFloorPosition_BG: +;GetFloorPosition_BG +Find_Tile_BG: lea (Level_layout_header).w,a1 move.w d2,d0 lsr.w #5,d0 @@ -18907,8 +18817,8 @@ GetFloorPosition_BG: movea.l d1,a1 rts ; --------------------------------------------------------------------------- - -GetFloorPosition_FG: +;GetFloorPosition_FG +Find_Tile_FG: lea (Level_layout_header).w,a1 move.w d2,d0 lsr.w #5,d0 @@ -18954,22 +18864,22 @@ ChunkAddrArray: dc.w 0, $80, $100, $180, $200, $280, $300, $380, $400, $480 FindFloor: - lea (GetFloorPosition_FG).l,a5 + lea (Find_Tile_FG).l,a5 tst.b (Background_collision_flag).w beq.s sub_F264 bsr.s sub_F264 - move.b (a4),1(a4) + move.b (a4),Primary_Angle_save-Primary_Angle(a4) move.w d1,-(sp) sub.w (Camera_X_diff).w,d3 sub.w (Camera_Y_diff).w,d2 - lea (GetFloorPosition_BG).l,a5 + lea (Find_Tile_BG).l,a5 bsr.s sub_F264 add.w (Camera_X_diff).w,d3 add.w (Camera_Y_diff).w,d2 move.w (sp)+,d0 cmp.w d0,d1 ble.s locret_F262 - move.b 1(a4),(a4) + move.b Primary_Angle_save-Primary_Angle(a4),(a4) move.w d0,d1 locret_F262: @@ -19134,24 +19044,24 @@ loc_F394: ; End of function sub_F30C ; --------------------------------------------------------------------------- - -loc_F3A4: - lea (GetFloorPosition_FG).l,a5 +;loc_F3A4 +Ring_FindFloor: + lea (Find_Tile_FG).l,a5 tst.b (Background_collision_flag).w beq.s sub_F3DE bsr.s sub_F3DE - move.b (a4),1(a4) + move.b (a4),Primary_Angle_save-Primary_Angle(a4) move.w d1,-(sp) sub.w (Camera_X_diff).w,d3 sub.w (Camera_Y_diff).w,d2 - lea (GetFloorPosition_BG).l,a5 + lea (Find_Tile_BG).l,a5 bsr.s sub_F3DE add.w (Camera_X_diff).w,d3 add.w (Camera_Y_diff).w,d2 move.w (sp)+,d0 cmp.w d0,d1 ble.s locret_F3DC - move.b 1(a4),(a4) + move.b Primary_Angle_save-Primary_Angle(a4),(a4) move.w d0,d1 locret_F3DC: @@ -19240,11 +19150,11 @@ loc_F470: FindWall: - lea (GetFloorPosition_FG).l,a5 + lea (Find_Tile_FG).l,a5 tst.b (Background_collision_flag).w beq.s sub_F4DC bsr.s sub_F4DC - move.b (a4),1(a4) + move.b (a4),Primary_Angle_save-Primary_Angle(a4) move.w d1,-(sp) move.w a3,d0 bpl.s loc_F4A4 @@ -19259,7 +19169,7 @@ loc_F4A4: loc_F4A8: sub.w (Camera_Y_diff).w,d2 - lea (GetFloorPosition_BG).l,a5 + lea (Find_Tile_BG).l,a5 bsr.s sub_F4DC move.w a3,d0 bpl.s loc_F4C6 @@ -19277,7 +19187,7 @@ loc_F4CA: move.w (sp)+,d0 cmp.w d0,d1 ble.s locret_F4DA - move.b 1(a4),(a4) + move.b Primary_Angle_save-Primary_Angle(a4),(a4) move.w d0,d1 locret_F4DA: @@ -19561,7 +19471,7 @@ loc_F712: andi.b #$C0,d0 beq.w sub_F828 cmpi.b #$80,d0 - beq.w sub_FBEE + beq.w CheckCeilingDist_WithRadius cmpi.b #$40,d0 beq.w loc_FDC8 bra.w loc_FAA4 @@ -19660,8 +19570,8 @@ locret_F7F8: ; End of function Sonic_CheckFloor ; --------------------------------------------------------------------------- +; unused/dead code - ; a bit of unused/dead code here CheckFloorDist: move.w y_pos(a0),d2 move.w x_pos(a0),d3 @@ -19876,7 +19786,7 @@ RingCheckFloorDist: movea.w #$10,a3 move.w #0,d6 moveq #$C,d5 - bra.w loc_F3A4 + bra.w Ring_FindFloor ; End of function RingCheckFloorDist @@ -20088,7 +19998,8 @@ sub_FB5A: ; End of function sub_FB5A ; --------------------------------------------------------------------------- - ; a bit of unused/dead code here +; unused/dead code + CheckCeilingDist: move.w $14(a0),d2 move.w $10(a0),d3 @@ -20105,9 +20016,9 @@ CheckCeilingDist_Part2: ; =============== S U B R O U T I N E ======================================= - -sub_FBEE: - move.b $1F(a0),d0 +; sub_FBEE: +CheckCeilingDist_WithRadius: + move.b x_radius(a0),d0 ext.w d0 sub.w d0,d2 eori.w #$F,d2 @@ -20117,7 +20028,7 @@ sub_FBEE: bsr.w FindFloor move.b #-$80,d2 bra.w loc_F81A -; End of function sub_FBEE +; End of function CheckCeilingDist_WithRadius ; =============== S U B R O U T I N E ======================================= @@ -20182,8 +20093,8 @@ locret_FC9E: ; =============== S U B R O U T I N E ======================================= - -sub_FCA0: +;sub_FCA0 +RingCheckFloorDist_ReverseGravity: move.w $10(a0),d3 move.w $14(a0),d2 move.b $1E(a0),d0 @@ -20195,8 +20106,8 @@ sub_FCA0: movea.w #-$10,a3 move.w #$800,d6 moveq #$C,d5 - bra.w loc_F3A4 -; End of function sub_FCA0 + bra.w Ring_FindFloor +; End of function RingCheckFloorDist_ReverseGravity ; =============== S U B R O U T I N E ======================================= @@ -20885,26 +20796,26 @@ loc_10320: move.w #0,$1C(a0) move.b #$1A,$20(a0) move.b #$78,$34(a0) - moveq #sfx_Death,d0 + moveq #signextendB(sfx_Death),d0 cmpi.l #Obj_Spikes,(a2) blo.s loc_10346 cmpi.l #sub_24280,(a2) bhs.s loc_10346 - moveq #sfx_SpikeHit,d0 + moveq #signextendB(sfx_SpikeHit),d0 loc_10346: - jsr (Play_Sound_2).l + jsr (Play_SFX).l moveq #-1,d0 rts ; --------------------------------------------------------------------------- loc_10350: - moveq #sfx_Death,d0 + moveq #signextendB(sfx_Death),d0 cmpi.l #Obj_Spikes,(a2) blo.s loc_10364 cmpi.l #sub_24280,(a2) bhs.s loc_10364 - moveq #sfx_SpikeHit,d0 + moveq #signextendB(sfx_SpikeHit),d0 loc_10364: bra.s loc_1036E @@ -20913,7 +20824,7 @@ loc_10364: Kill_Character: tst.w (Debug_placement_mode).w bne.s loc_103B6 - moveq #sfx_Death,d0 + moveq #signextendB(sfx_Death),d0 loc_1036E: clr.b $2B(a0) @@ -20927,9 +20838,9 @@ loc_1036E: move.w #0,$18(a0) move.w #0,$1C(a0) move.b #$18,$20(a0) - move.w $A(a0),(Debug_P2_mappings).w + move.w $A(a0),(Debug_saved_art_tile).w bset #7,$A(a0) - jsr (Play_Sound_2).l + jsr (Play_SFX).l loc_103B6: moveq #-1,d0 @@ -21165,7 +21076,8 @@ HyperTouch_DestroyEnemy: move.b #0,routine(a1) rts ; --------------------------------------------------------------------------- -HyperEnemy_Score: dc.w 10, 20, 50, 100 +HyperEnemy_Score: + dc.w 10, 20, 50, 100 ; --------------------------------------------------------------------------- HyperTouch_Harmful: @@ -21223,11 +21135,11 @@ loc_1060E: jmp off_1061C(pc,d1.w) ; --------------------------------------------------------------------------- off_1061C: dc.w loc_10628-off_1061C - dc.w loc_10740-off_1061C; 1 - dc.w loc_122BE-off_1061C; 2 - dc.w loc_12390-off_1061C; 3 - dc.w loc_1257C-off_1061C; 4 - dc.w loc_12590-off_1061C; 5 + dc.w loc_10740-off_1061C + dc.w loc_122BE-off_1061C + dc.w loc_12390-off_1061C + dc.w loc_1257C-off_1061C + dc.w loc_12590-off_1061C ; --------------------------------------------------------------------------- loc_10628: @@ -21489,7 +21401,7 @@ loc_10918: move.b #2,$20(a0) addq.w #4,$14(a0) move.w #sfx_Roll,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l tst.w $1C(a0) bne.s locret_1094A move.w #$200,$1C(a0) @@ -21512,7 +21424,7 @@ sub_1094C: beq.w locret_10996 move.b #9,$20(a0) move.w #$FF00|sfx_Spindash,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l addq.l #4,sp move.b #1,$3D(a0) move.w #0,$3E(a0) @@ -21560,8 +21472,8 @@ loc_109F0: loc_109FE: bset #2,$2A(a0) move.b #0,$20(a6) - moveq #sfx_Dash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Dash),d0 + jsr (Play_SFX).l bra.s loc_10A80 ; --------------------------------------------------------------------------- word_10A14: dc.w $800 @@ -21573,7 +21485,7 @@ word_10A14: dc.w $800 dc.w $B00 dc.w $B80 dc.w $C00 - dc.w $B00 +word_10A26: dc.w $B00 dc.w $B80 dc.w $C00 dc.w $C80 @@ -21599,7 +21511,7 @@ loc_10A50: beq.w loc_10A80 move.w #$900,$20(a0) move.w #$FF00|sfx_Spindash,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l addi.w #$200,$3E(a0) cmpi.w #$800,$3E(a0) blo.s loc_10A80 @@ -21829,8 +21741,8 @@ Sonic_ChkInvin: ; Checks if invincibility has expired and disables it if it has. bne.s Sonic_RmvInvin cmpi.b #$C,air_left(a0) ; Don't change music if drowning blo.s Sonic_RmvInvin - move.w (Level_music).w,d0 - jsr (Play_Sound).l ; stop playing invincibility theme and resume normal level music + move.w (Current_music).w,d0 + jsr (Play_Music).l ; stop playing invincibility theme and resume normal level music Sonic_RmvInvin: bclr #Status_Invincible,status_secondary(a0) @@ -21990,7 +21902,7 @@ Sonic_InWater: addq.b #1,(Water_entered_counter).w movea.l a0,a1 bsr.w Player_ResetAirTimer - move.l #Obj_Air_CountDown,(Breathing_bubbles).w ; load Sonic's breathing bubbles + move.l #Obj_AirCountdown,(Breathing_bubbles).w ; load Sonic's breathing bubbles move.b #$81,(Breathing_bubbles+subtype).w move.l a0,(Breathing_bubbles+$40).w move.w #$300,Max_speed-Max_speed(a4) @@ -22011,7 +21923,7 @@ loc_10E82: beq.s locret_10E2C move.w #$100,anim(a6) ; splash animation, write 1 to anim and clear prev_anim move.w #sfx_Splash,d0 - jmp (Play_Sound_2).l + jmp (Play_SFX).l ; --------------------------------------------------------------------------- Sonic_OutWater: @@ -22052,7 +21964,7 @@ loc_10EFC: loc_10F22: move.w #sfx_Splash,d0 - jmp (Play_Sound_2).l + jmp (Play_SFX).l ; End of function Sonic_Water ; --------------------------------------------------------------------------- @@ -22599,7 +22511,7 @@ loc_11438: tst.b $2D(a0) bmi.s locret_11480 move.w #sfx_Skid,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.b #$D,$20(a0) bclr #0,$2A(a0) cmpi.b #$C,$2C(a0) @@ -22654,7 +22566,7 @@ loc_114BE: tst.b $2D(a0) bmi.s locret_11506 move.w #sfx_Skid,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.b #$D,$20(a0) bset #0,$2A(a0) cmpi.b #$C,$2C(a0) @@ -22960,7 +22872,7 @@ Player_Boundary_Bottom: Player_Boundary_Sides: move.w d0,x_pos(a0) - move.w #0,2+x_pos(a0) ; subpixel x + move.w #0,2+x_pos(a0) ; subpixel x move.w #0,x_vel(a0) move.w #0,ground_vel(a0) bra.s Player_Boundary_CheckBottom @@ -22974,9 +22886,9 @@ SonicKnux_Roll: tst.b status_secondary(a0) bmi.s locret_1177E move.b (Ctrl_1_logical).w,d0 - andi.b #button_left_mask|button_right_mask,d0 ; is left/right being pressed? + andi.b #button_left_mask|button_right_mask,d0 ; is left/right being pressed? bne.s locret_1177E ; if yes, branch - btst #button_down,(Ctrl_1_logical).w ; is down being pressed? + btst #button_down,(Ctrl_1_logical).w ; is down being pressed? beq.s Player_ChkWalk ; if not, branch move.w ground_vel(a0),d0 bpl.s loc_1176A @@ -23018,7 +22930,7 @@ Player_DoRoll: loc_117C2: move.w #sfx_Roll,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l tst.w ground_vel(a0) bne.s locret_117D8 move.w #$200,ground_vel(a0) @@ -23037,7 +22949,7 @@ locret_117D8: Sonic_Jump: move.b (Ctrl_1_pressed_logical).w,d0 - andi.b #button_B_mask|button_C_mask|button_A_mask,d0 ; is A, B or C pressed? + andi.b #button_B_mask|button_C_mask|button_A_mask,d0 ; is A, B or C pressed? beq.w locret_118B2 ; if not, return moveq #0,d0 move.b angle(a0),d0 @@ -23081,7 +22993,7 @@ loc_1182E: move.b #1,jumping(a0) clr.b stick_to_convex(a0) move.w #sfx_Jump,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.b default_y_radius(a0),y_radius(a0) move.b default_x_radius(a0),x_radius(a0) btst #Status_Roll,status(a0) @@ -23123,7 +23035,7 @@ Sonic_JumpHeight: loc_118D2: cmp.w y_vel(a0),d1 ; is y speed greater than 4? (2 if underwater) - ble.w Sonic_InstaAndShieldMoves ; if not, branch + ble.w Sonic_ShieldMoves ; if not, branch move.b (Ctrl_1_logical).w,d0 andi.b #$70,d0 ; are buttons A, B or C being pressed? bne.s locret_118E8 ; if yes, branch @@ -23144,7 +23056,7 @@ locret_118FE: rts ; --------------------------------------------------------------------------- -Sonic_InstaAndShieldMoves: +Sonic_ShieldMoves: tst.b double_jump_flag(a0) ; is Sonic currently performing a double jump? bne.w locret_11A14 ; if yes, branch move.b (Ctrl_1_pressed_logical).w,d0 @@ -23177,7 +23089,7 @@ loc_11958: move.w #$2000,(H_scroll_frame_offset).w bsr.w Reset_Player_Position_Array move.w #sfx_FireAttack,d0 - jmp (Play_Sound_2).l + jmp (Play_SFX).l ; --------------------------------------------------------------------------- Sonic_LightningShield: @@ -23188,7 +23100,7 @@ Sonic_LightningShield: move.w #-$580,y_vel(a0) ; bounce Sonic up, creating the double jump effect clr.b jumping(a0) move.w #sfx_ElectricAttack,d0 - jmp (Play_Sound_2).l + jmp (Play_SFX).l ; --------------------------------------------------------------------------- Sonic_BubbleShield: @@ -23200,7 +23112,7 @@ Sonic_BubbleShield: move.w #0,ground_vel(a0) ; ...both ground and air move.w #$800,y_vel(a0) ; force Sonic down move.w #sfx_BubbleAttack,d0 - jmp (Play_Sound_2).l + jmp (Play_SFX).l ; --------------------------------------------------------------------------- ; Code that transforms Sonic into Super/Hyper Sonic ; if he has enough rings and emeralds @@ -23209,7 +23121,7 @@ Sonic_BubbleShield: Sonic_CheckTransform: cmpi.b #7,(Super_emerald_count).w ; does Sonic have all 7 Super Emeralds? bhs.s loc_119E8 ; if yes, branch - cmpi.b #7,(Emerald_count).w ; does Sonic have all 7 Chaos Emeralds? + cmpi.b #7,(Chaos_emerald_count).w ; does Sonic have all 7 Chaos Emeralds? blo.s Sonic_InstaShield ; if not, branch tst.b (Emeralds_converted_flag).w bne.s Sonic_InstaShield @@ -23226,7 +23138,7 @@ Sonic_InstaShield: move.b #1,(Shield+anim).w move.b #1,double_jump_flag(a0) move.w #sfx_InstaAttack,d0 - jmp (Play_Sound_2).l + jmp (Play_SFX).l ; --------------------------------------------------------------------------- locret_11A14: @@ -23259,10 +23171,10 @@ Sonic_Transform: move.w #$100,Deceleration-Max_speed(a4) move.b #0,invincibility_timer(a0) bset #Status_Invincible,status_secondary(a0) - moveq #sfx_SuperTransform,d0 - jsr (Play_Sound_2).l - moveq #mus_Invincibility,d0 ; play invincibility theme - jmp (Play_Sound).l + moveq #signextendB(sfx_SuperTransform),d0 + jsr (Play_SFX).l + moveq #signextendB(mus_Invincibility),d0 ; play invincibility theme + jmp (Play_Music).l ; --------------------------------------------------------------------------- Sonic_HyperDash: @@ -23271,8 +23183,8 @@ Sonic_HyperDash: bsr.w Reset_Player_Position_Array move.b #1,double_jump_flag(a0) move.b #1,(Invincibility_stars+anim).w ; This causes the screen flash, and sparks to come out of Sonic - moveq #sfx_Dash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Dash),d0 + jsr (Play_SFX).l move.b (Ctrl_1_logical).w,d0 andi.w #button_up_mask|button_down_mask|button_left_mask|button_right_mask,d0 ; Get D-pad input beq.s .noInput @@ -23398,7 +23310,7 @@ SonicKnux_Spindash: beq.w locret_11C5C move.b #9,$20(a0) move.w #$FF00|sfx_Spindash,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l addq.l #4,sp move.b #1,$3D(a0) move.w #0,$3E(a0) @@ -23476,8 +23388,8 @@ loc_11CCE: loc_11CDC: bset #2,$2A(a0) move.b #0,$20(a6) - moveq #sfx_Dash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Dash),d0 + jsr (Play_SFX).l bra.s loc_11D5E ; --------------------------------------------------------------------------- word_11CF2: dc.w $800 @@ -23515,7 +23427,7 @@ loc_11D2E: beq.w loc_11D5E move.w #$900,$20(a0) move.w #$FF00|sfx_Spindash,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l addi.w #$200,$3E(a0) cmpi.w #$800,$3E(a0) blo.s loc_11D5E @@ -23852,7 +23764,7 @@ loc_11F9C: ; --------------------------------------------------------------------------- loc_11FAE: - move.w #0,x_vel(a0) ; stop Sonic since he hit a wall + move.w #0,x_vel(a0) ; stop Sonic since he hit a wall cmpi.w #$FC0,y_vel(a0) ble.s loc_11FC2 move.w #$FC0,y_vel(a0) @@ -23911,9 +23823,9 @@ ChooseChkFloorEdge: Player_HitLeftWall: bsr.w CheckLeftWallDist tst.w d1 - bpl.s Player_HitCeiling ; branch if distance is positive (not inside wall) + bpl.s Player_HitCeiling ; branch if distance is positive (not inside wall) sub.w d1,x_pos(a0) - move.w #0,x_vel(a0) ; stop Sonic since he hit a wall + move.w #0,x_vel(a0) ; stop Sonic since he hit a wall move.w y_vel(a0),ground_vel(a0) Player_HitCeiling: @@ -23931,7 +23843,7 @@ loc_12042: add.w d1,y_pos(a0) tst.w y_vel(a0) bpl.s locret_12052 - move.w #0,y_vel(a0) ; stop Sonic in y since he hit a ceiling + move.w #0,y_vel(a0) ; stop Sonic in y since he hit a ceiling locret_12052: rts @@ -24001,7 +23913,7 @@ loc_120D2: addi.b #$20,d0 andi.b #$40,d0 bne.s loc_120EA - move.w #0,y_vel(a0) ; stop Sonic in y since he hit a ceiling + move.w #0,y_vel(a0) ; stop Sonic in y since he hit a ceiling rts ; --------------------------------------------------------------------------- @@ -24179,7 +24091,7 @@ loc_122AA: sub.w d0,$14(a0) move.b #2,(Shield+anim).w move.w #sfx_BubbleAttack,d0 - jmp (Play_Sound_2).l + jmp (Play_SFX).l ; End of function BubbleShield_Bounce ; --------------------------------------------------------------------------- @@ -24334,8 +24246,8 @@ loc_12432: subq.b #1,(Life_count).w bne.s loc_12498 move.w #0,$3E(a0) - move.l #loc_2D5C6,(Reserved_object_3).w - move.l #loc_2D5C6,(Dynamic_object_RAM).w + move.l #Obj_GameOver,(Reserved_object_3).w + move.l #Obj_GameOver,(Dynamic_object_RAM).w move.b #0,(Reserved_object_3+mapping_frame).w move.b #1,(Dynamic_object_RAM+mapping_frame).w move.w a0,(Reserved_object_3+objoff_3E).w @@ -24343,10 +24255,10 @@ loc_12432: loc_12478: clr.b (Update_HUD_timer).w - clr.b (_unkFEC7).w + clr.b (Update_HUD_timer_P2).w move.b #8,5(a0) move.w #mus_GameOver,d0 - jsr (Play_Sound).l + jsr (Play_Music).l moveq #3,d0 jmp (Load_PLC_2).l ; --------------------------------------------------------------------------- @@ -24355,8 +24267,8 @@ loc_12498: tst.b (Time_over_flag).w beq.s locret_124C6 move.w #0,$3E(a0) - move.l #loc_2D5C6,(Reserved_object_3).w - move.l #loc_2D5C6,(Dynamic_object_RAM).w + move.l #Obj_GameOver,(Reserved_object_3).w + move.l #Obj_GameOver,(Dynamic_object_RAM).w move.b #2,(Reserved_object_3+mapping_frame).w move.b #3,(Dynamic_object_RAM+mapping_frame).w move.w a0,(Reserved_object_3+objoff_3E).w @@ -25260,6 +25172,7 @@ loc_12F6A: ; --------------------------------------------------------------------------- AniSonic2P: include "General/Sprites/Sonic/Anim - Sonic Knuckles 2P.asm" + ; =============== S U B R O U T I N E ======================================= @@ -25438,7 +25351,7 @@ loc_132B4: move.w (Ctrl_2).w,(Ctrl_2_logical).w loc_132C0: - bsr.w loc_138FE + bsr.w Tails_Display btst #0,$2E(a0) bne.s loc_132DE moveq #0,d0 @@ -25583,8 +25496,8 @@ loc_13438: addq.b #8,d0 andi.b #$F,d0 bne.s locret_13452 - moveq #sfx_FlyTired,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FlyTired),d0 + jsr (Play_SFX).l locret_13452: rts @@ -25595,8 +25508,8 @@ loc_13454: addq.b #8,d0 andi.b #$F,d0 bne.s locret_13468 - moveq #sfx_Flying,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Flying),d0 + jsr (Play_SFX).l locret_13468: rts @@ -25669,7 +25582,7 @@ loc_134EC: move.b #2,$20(a0) addq.w #4,$14(a0) move.w #sfx_Roll,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l tst.w $1C(a0) bne.s locret_1351E move.w #$200,$1C(a0) @@ -25692,7 +25605,7 @@ sub_13520: beq.w locret_1356E move.b #9,$20(a0) move.w #$FF00|sfx_Spindash,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l addq.l #4,sp move.b #1,$3D(a0) move.w #0,$3E(a0) @@ -25742,7 +25655,7 @@ loc_135D6: bset #2,$2A(a0) move.b #0,$20(a6) move.w #$FF00|sfx_Dash,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l bra.s loc_13648 ; --------------------------------------------------------------------------- word_135EE: dc.w $800 @@ -25771,7 +25684,7 @@ loc_13618: beq.w loc_13648 move.w #$900,$20(a0) move.w #$FF00|sfx_Spindash,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l addi.w #$200,$3E(a0) cmpi.w #$800,$3E(a0) blo.s loc_13648 @@ -25799,9 +25712,9 @@ Obj_Tails: lea (Distance_from_top_P2).w,a5 lea (Dust_P2).w,a6 cmpi.w #2,(Player_mode).w - bne.s loc_136AE + bne.s Tails_Normal tst.w (Debug_placement_mode).w - beq.s loc_136AE + beq.s Tails_Normal cmpi.b #1,(Debug_placement_type).w beq.s loc_136A8 btst #4,(Ctrl_1_pressed).w @@ -25823,22 +25736,22 @@ loc_136A8: jmp (DebugMode).l ; --------------------------------------------------------------------------- -loc_136AE: +Tails_Normal: moveq #0,d0 move.b routine(a0),d0 - move.w off_136BC(pc,d0.w),d1 - jmp off_136BC(pc,d1.w) + move.w Tails_Index(pc,d0.w),d1 + jmp Tails_Index(pc,d1.w) ; --------------------------------------------------------------------------- -off_136BC: dc.w loc_136CA-off_136BC - dc.w loc_137C4-off_136BC - dc.w loc_1569C-off_136BC - dc.w loc_1578E-off_136BC - dc.w loc_157E0-off_136BC - dc.w loc_157F4-off_136BC - dc.w loc_15810-off_136BC +Tails_Index: dc.w Tails_Init-Tails_Index + dc.w Tails_Control-Tails_Index + dc.w loc_1569C-Tails_Index + dc.w loc_1578E-Tails_Index + dc.w loc_157E0-Tails_Index + dc.w loc_157F4-Tails_Index + dc.w loc_15810-Tails_Index ; --------------------------------------------------------------------------- -loc_136CA: +Tails_Init: addq.b #2,routine(a0) move.b #$F,y_radius(a0) move.b #9,x_radius(a0) @@ -25856,27 +25769,27 @@ loc_136CA: cmpi.w #2,(Player_mode).w bne.s loc_1375E tst.b (Last_star_post_hit).w - bne.s loc_13776 + bne.s Tails_Init_Continued move.w #ArtTile_Player_2,art_tile(a0) move.b #$C,top_solid_bit(a0) move.b #$D,lrb_solid_bit(a0) cmpi.b #2,(Special_bonus_entry_flag).w - beq.s loc_13776 + beq.s Tails_Init_Continued move.w x_pos(a0),(Saved_X_pos).w move.w y_pos(a0),(Saved_Y_pos).w move.w art_tile(a0),(Saved_art_tile).w move.w top_solid_bit(a0),(Saved_solid_bits).w - bra.s loc_13776 + bra.s Tails_Init_Continued ; --------------------------------------------------------------------------- loc_1375E: move.w #ArtTile_Player_2,art_tile(a0) move.w (Player_1+top_solid_bit).w,top_solid_bit(a0) tst.w (Player_1+art_tile).w - bpl.s loc_13776 + bpl.s Tails_Init_Continued ori.w #$8000,art_tile(a0) -loc_13776: +Tails_Init_Continued: move.b #0,flips_remaining(a0) move.b #4,flip_speed(a0) move.b #0,(Super_Tails_flag).w @@ -25896,7 +25809,7 @@ loc_137A4: rts ; --------------------------------------------------------------------------- -loc_137C4: +Tails_Control: cmpi.w #2,(Player_mode).w bne.s loc_13808 tst.w (Debug_mode_flag).w @@ -25965,8 +25878,8 @@ loc_13872: moveq #0,d0 move.b $2A(a0),d0 andi.w #6,d0 - move.w off_138F6(pc,d0.w),d1 - jsr off_138F6(pc,d1.w) + move.w Tails_Modes(pc,d0.w),d1 + jsr Tails_Modes(pc,d1.w) movem.l (sp)+,a4-a6 loc_1388C: @@ -25976,10 +25889,10 @@ loc_1388C: and.w d0,$14(a0) loc_1389C: - bsr.s loc_138FE + bsr.s Tails_Display bsr.w Tails_Super bsr.w Sonic_RecordPos - bsr.w sub_14632 + bsr.w Tails_Water move.b (Primary_Angle).w,$3A(a0) move.b (Secondary_Angle).w,$3B(a0) tst.b (WindTunnel_flag_P2).w @@ -26008,13 +25921,13 @@ loc_138E4: locret_138F4: rts ; --------------------------------------------------------------------------- -off_138F6: dc.w Tails_Stand_Path-off_138F6 - dc.w Tails_Stand_Freespace-off_138F6 - dc.w Tails_Spin_Path-off_138F6 - dc.w Tails_Spin_Freespace-off_138F6 +Tails_Modes: dc.w Tails_Stand_Path-Tails_Modes + dc.w Tails_Stand_Freespace-Tails_Modes + dc.w Tails_Spin_Path-Tails_Modes + dc.w Tails_Spin_Freespace-Tails_Modes ; --------------------------------------------------------------------------- -loc_138FE: +Tails_Display: move.b $34(a0),d0 beq.s loc_1390C subq.b #1,$34(a0) @@ -26038,8 +25951,8 @@ loc_13912: bne.s loc_13948 cmpi.b #$C,$2C(a0) blo.s loc_13948 - move.w (Level_music).w,d0 - jsr (Play_Sound).l + move.w (Current_music).w,d0 + jsr (Play_Music).l loc_13948: bclr #1,$2B(a0) @@ -26246,7 +26159,7 @@ loc_13B78: move.b d0,double_jump_flag(a0) move.b #2,$2A(a0) move.b #$1E,$2C(a0) - move.b #-$7F,$2E(a0) + move.b #$81,$2E(a0) move.b d0,$30(a0) move.b d0,$31(a0) move.w d0,$32(a0) @@ -26262,7 +26175,7 @@ loc_13B78: move.w d0,$3E(a0) move.b d0,$40(a0) move.b d0,$41(a0) - move.b #-$10,$25(a0) + move.b #$F0,$25(a0) bsr.w Tails_Set_Flying_Animation locret_13BF6: @@ -26281,13 +26194,13 @@ Tails_FlySwim_Unknown: move.b #2,$2A(a0) move.w #0,$10(a0) move.w #0,$14(a0) - move.b #-$10,$25(a0) + move.b #$F0,$25(a0) bsr.w Tails_Set_Flying_Animation rts ; --------------------------------------------------------------------------- loc_13C3A: - move.b #-$10,$25(a0) + move.b #$F0,$25(a0) ori.b #2,$2A(a0) bsr.w Tails_Set_Flying_Animation move.w #0,(Tails_CPU_flight_timer).w @@ -26387,7 +26300,7 @@ loc_13D34: ; --------------------------------------------------------------------------- loc_13D42: - move.b #-$7F,$2E(a0) + move.b #$81,$2E(a0) rts ; --------------------------------------------------------------------------- @@ -26397,7 +26310,7 @@ loc_13D4A: move.w #4,(Tails_CPU_routine).w move.b #0,$3D(a0) move.w #0,$3E(a0) - move.b #-$7F,$2E(a0) + move.b #$81,$2E(a0) move.b #2,$2A(a0) move.b #$20,$20(a0) rts @@ -26488,12 +26401,12 @@ loc_13E50: bset #0,$2A(a0) loc_13E64: - tst.b (_unkF70F).w + tst.b (Tails_CPU_auto_jump_flag).w beq.s loc_13E7C ori.w #$7000,d1 btst #1,$2A(a0) bne.s loc_13EB8 - move.b #0,(_unkF70F).w + move.b #0,(Tails_CPU_auto_jump_flag).w loc_13E7C: move.w (Level_frame_counter).w,d0 @@ -26517,7 +26430,7 @@ loc_13E9C: cmpi.b #8,$20(a0) beq.s loc_13EB8 ori.w #$7070,d1 - move.b #1,(_unkF70F).w + move.b #1,(Tails_CPU_auto_jump_flag).w loc_13EB8: move.w d1,(Ctrl_2_logical).w @@ -26640,7 +26553,7 @@ locret_13FC0: loc_13FC2: move.b #1,double_jump_flag(a0) - move.b #-$10,$25(a0) + move.b #$F0,$25(a0) move.b #2,$2A(a0) move.w #$100,$18(a0) move.w #0,$1A(a0) @@ -26674,7 +26587,7 @@ loc_14016: andi.w #$7FFF,$A(a0) tst.b $A(a1) bpl.s loc_14068 - ori.w #-$8000,$A(a0) + ori.w #$8000,$A(a0) loc_14068: move.b $46(a1),$46(a0) @@ -26717,7 +26630,7 @@ loc_140C6: loc_140CE: move.b #1,double_jump_flag(a0) - move.b #-$10,$25(a0) + move.b #$F0,$25(a0) move.b #2,$2A(a0) move.w #0,$18(a0) move.w #0,$1A(a0) @@ -26766,10 +26679,10 @@ loc_14164: clr.b (_unkFAAC).w btst #1,(Ctrl_1).w beq.s loc_14198 - addq.b #1,(_unkF70E).w - cmpi.b #-$40,(_unkF70E).w + addq.b #1,(Tails_CPU_auto_fly_timer).w + cmpi.b #$C0,(Tails_CPU_auto_fly_timer).w blo.s loc_141D2 - move.b #0,(_unkF70E).w + move.b #0,(Tails_CPU_auto_fly_timer).w ori.w #$7070,(Ctrl_2_logical).w bra.s loc_141D2 ; --------------------------------------------------------------------------- @@ -26777,19 +26690,19 @@ loc_14164: loc_14198: btst #0,(Ctrl_1).w beq.s loc_141BA - addq.b #1,(_unkF70E).w - cmpi.b #$20,(_unkF70E).w + addq.b #1,(Tails_CPU_auto_fly_timer).w + cmpi.b #$20,(Tails_CPU_auto_fly_timer).w blo.s loc_141D2 - move.b #0,(_unkF70E).w + move.b #0,(Tails_CPU_auto_fly_timer).w ori.w #$7070,(Ctrl_2_logical).w bra.s loc_141D2 ; --------------------------------------------------------------------------- loc_141BA: - addq.b #1,(_unkF70E).w - cmpi.b #$58,(_unkF70E).w + addq.b #1,(Tails_CPU_auto_fly_timer).w + cmpi.b #$58,(Tails_CPU_auto_fly_timer).w blo.s loc_141D2 - move.b #0,(_unkF70E).w + move.b #0,(Tails_CPU_auto_fly_timer).w ori.w #$7070,(Ctrl_2_logical).w loc_141D2: @@ -26807,7 +26720,7 @@ loc_141E2: loc_141F2: move.b #1,double_jump_flag(a0) - move.b #-$10,$25(a0) + move.b #$F0,$25(a0) move.b #2,$2A(a0) move.w #0,$18(a0) move.w #0,$1A(a0) @@ -26835,13 +26748,13 @@ locret_14252: ; --------------------------------------------------------------------------- loc_14254: - move.b #-$10,$25(a0) + move.b #$F0,$25(a0) rts ; --------------------------------------------------------------------------- loc_1425C: move.b #1,double_jump_flag(a0) - move.b #-$10,$25(a0) + move.b #$F0,$25(a0) move.b #2,$2A(a0) move.w #$100,$18(a0) move.w #0,$1A(a0) @@ -26887,10 +26800,10 @@ loc_142E2: move.w #0,(Ctrl_2_logical).w cmpi.w #$200,$1A(a0) bge.s loc_14328 - addq.b #1,(_unkF70E).w - cmpi.b #$58,(_unkF70E).w + addq.b #1,(Tails_CPU_auto_fly_timer).w + cmpi.b #$58,(Tails_CPU_auto_fly_timer).w blo.s loc_1432E - move.b #0,(_unkF70E).w + move.b #0,(Tails_CPU_auto_fly_timer).w loc_14328: ori.w #$7070,(Ctrl_2_logical).w @@ -26911,7 +26824,7 @@ loc_14340: move.w d1,d2 lsr.w #1,d2 add.w d2,d1 - move.w d1,(Target_camera_min_X_pos).w + move.w d1,(Camera_stored_min_X_pos).w move.w $10(a1),d1 sub.w $10(a0),d1 bpl.s loc_14358 @@ -26919,7 +26832,7 @@ loc_14340: loc_14358: lsr.w #2,d1 - move.w d1,(Target_camera_max_X_pos).w + move.w d1,(Camera_stored_max_X_pos).w bra.w loc_143AA ; --------------------------------------------------------------------------- @@ -26929,7 +26842,7 @@ loc_14362: move.w $10(a0),d0 move.w $14(a0),d1 subi.w #$10,d1 - move.w (Target_camera_max_X_pos).w,d2 + move.w (Camera_stored_max_X_pos).w,d2 bclr #0,$2A(a0) cmp.w $10(a1),d0 blo.s loc_14390 @@ -26940,7 +26853,7 @@ loc_14390: add.w d2,$18(a0) cmp.w $14(a1),d1 bhs.s loc_143AA - move.w (Target_camera_min_X_pos).w,d2 + move.w (Camera_stored_min_X_pos).w,d2 cmp.w $14(a1),d1 blo.s loc_143A6 neg.w d2 @@ -27044,11 +26957,11 @@ loc_144BA: moveq #0,d1 move.b $23(a1),d1 addq.b #1,$23(a1) - move.b byte_14522(pc,d1.w),d0 + move.b AniRaw_Tails_Carry(pc,d1.w),d0 cmpi.b #-1,d0 bne.s loc_144E4 move.b #0,$23(a1) - move.b byte_14522(pc),d0 + move.b AniRaw_Tails_Carry(pc),d0 loc_144E4: move.b d0,$22(a1) @@ -27069,24 +26982,9 @@ loc_144F8: movem.l (sp)+,d0-a6 rts ; --------------------------------------------------------------------------- -byte_14522: dc.b $91 - dc.b $91 - dc.b $90 - dc.b $90 - dc.b $90 - dc.b $90 - dc.b $90 - dc.b $90 - dc.b $92 - dc.b $92 - dc.b $92 - dc.b $92 - dc.b $92 - dc.b $92 - dc.b $91 - dc.b $91 - dc.b $FF - dc.b 0 +AniRaw_Tails_Carry: + dc.b $91, $91, $90, $90, $90, $90, $90, $90, $92, $92, $92, $92, $92, $92, $91, $91, $FF + even ; --------------------------------------------------------------------------- loc_14534: @@ -27120,8 +27018,8 @@ loc_1456C: tst.b $3D(a1) bne.s locret_1459C bsr.s sub_1459E - moveq #sfx_Grab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Grab),d0 + jsr (Play_SFX).l move.b #1,(a2) locret_1459C: @@ -27170,7 +27068,7 @@ locret_14630: ; =============== S U B R O U T I N E ======================================= -sub_14632: +Tails_Water: tst.b (Water_flag).w bne.s loc_1463A @@ -27187,7 +27085,7 @@ loc_1463A: addq.b #1,(Water_entered_counter).w movea.l a0,a1 bsr.w Player_ResetAirTimer - move.l #Obj_Air_CountDown,(Breathing_bubbles_P2).w + move.l #Obj_AirCountdown,(Breathing_bubbles_P2).w move.b #$81,(Breathing_bubbles_P2+subtype).w move.l a0,(Breathing_bubbles_P2+$40).w move.w #$300,Max_speed-Max_speed(a4) @@ -27212,7 +27110,7 @@ loc_1469C: beq.s locret_14638 move.w #$100,anim(a6) move.w #sfx_Splash,d0 - jmp (Play_Sound_2).l + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_146BA: @@ -27256,8 +27154,8 @@ loc_14718: loc_1473E: move.w #sfx_Splash,d0 - jmp (Play_Sound_2).l -; End of function sub_14632 + jmp (Play_SFX).l +; End of function Tails_Water ; --------------------------------------------------------------------------- @@ -27426,8 +27324,8 @@ loc_148CC: addq.b #8,d0 andi.b #$F,d0 bne.s locret_148F2 - moveq #sfx_FlyTired,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FlyTired),d0 + jsr (Play_SFX).l locret_148F2: rts @@ -27441,8 +27339,8 @@ loc_148F4: addq.b #8,d0 andi.b #$F,d0 bne.s locret_14912 - moveq #sfx_Flying,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Flying),d0 + jsr (Play_SFX).l locret_14912: rts @@ -27826,7 +27724,7 @@ loc_14C62: tst.b $2D(a0) bmi.s locret_14CAA move.w #sfx_Skid,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.b #$D,$20(a0) bclr #0,$2A(a0) cmpi.b #$C,$2C(a0) @@ -27881,7 +27779,7 @@ loc_14CE8: tst.b $2D(a0) bmi.s locret_14D30 move.w #sfx_Skid,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.b #$D,$20(a0) bset #0,$2A(a0) cmpi.b #$C,$2C(a0) @@ -28234,7 +28132,7 @@ loc_14FC4: loc_14FEA: move.w #sfx_Roll,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l tst.w $1C(a0) bne.s locret_15000 move.w #$200,$1C(a0) @@ -28288,7 +28186,7 @@ loc_1504C: move.b #1,$40(a0) clr.b $3C(a0) move.w #sfx_Jump,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.b $44(a0),$1E(a0) move.b $45(a0),$1F(a0) btst #2,$2A(a0) @@ -28363,7 +28261,7 @@ Tails_Test_For_Flight: bne.s loc_1515C cmpi.b #7,(Super_emerald_count).w blo.s loc_1515C - cmpi.w #$32,(Ring_count).w + cmpi.w #50,(Ring_count).w blo.s loc_1515C tst.b (Update_HUD_timer).w bne.s Tails_Transform @@ -28413,10 +28311,10 @@ Tails_Transform: move.w #$C0,Deceleration_P2-Max_speed_P2(a4) move.b #0,invincibility_timer(a0) bset #Status_Invincible,status_secondary(a0) - moveq #sfx_SuperTransform,d0 - jsr (Play_Sound_2).l - moveq #mus_Invincibility,d0 ; play invincibility theme - jmp (Play_Sound).l + moveq #signextendB(sfx_SuperTransform),d0 + jsr (Play_SFX).l + moveq #signextendB(mus_Invincibility),d0 ; play invincibility theme + jmp (Play_Music).l ; End of function Tails_JumpHeight @@ -28433,7 +28331,7 @@ Tails_Spindash: beq.w locret_1527A move.b #9,$20(a0) move.w #$FF00|sfx_Spindash,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l addq.l #4,sp move.b #1,$3D(a0) move.w #0,$3E(a0) @@ -28511,8 +28409,8 @@ loc_152EA: loc_152F8: bset #2,$2A(a0) move.b #0,$20(a6) - moveq #sfx_Dash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Dash),d0 + jsr (Play_SFX).l bra.s loc_1537A ; --------------------------------------------------------------------------- word_1530E: dc.w $800 @@ -28550,7 +28448,7 @@ loc_1534A: beq.w loc_1537A move.w #$900,$20(a0) move.w #$FF00|sfx_Spindash,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l addi.w #$200,$3E(a0) cmpi.w #$800,$3E(a0) blo.s loc_1537A @@ -29335,7 +29233,6 @@ loc_15A92: rts ; --------------------------------------------------------------------------- AniTails: include "General/Sprites/Tails/Anim - Tails.asm" - ; --------------------------------------------------------------------------- Tails_Tail_Load_PLC: @@ -29681,7 +29578,6 @@ loc_15F32: ; --------------------------------------------------------------------------- AniTails2P: include "General/Sprites/Tails/Anim - Tails 2P.asm" - ; =============== S U B R O U T I N E ======================================= @@ -29803,49 +29699,47 @@ loc_1615A: ; chooses which animation script to run depending on what Tails is doing Obj_Tails_Tail_AniSelection: - dc.b 0,0 ; TailsAni_Walk,Run -> - dc.b 3 ; TailsAni_Roll -> Directional - dc.b 3 ; TailsAni_Roll2 -> Directional - dc.b 9 ; TailsAni_Push -> Pushing - dc.b 1 ; TailsAni_Wait -> Swish - dc.b 0 ; TailsAni_Balance -> Blank - dc.b 2 ; TailsAni_LookUp -> Flick - dc.b 1 ; TailsAni_Duck -> Swish - dc.b 7 ; TailsAni_Spindash -> Spindash - dc.b 0,0,0 ; TailsAni_Dummy1,2,3 -> - dc.b 8 ; TailsAni_Stop -> Skidding - dc.b 0,0 ; TailsAni_Float,2 -> - dc.b 0 ; TailsAni_Spring -> - dc.b 0 ; TailsAni_Hang -> - dc.b 0 ; - dc.b 0 ; TailsAni_Victory -> - dc.b $A ; TailsAni_Hang2 -> Hanging - dc.b 0 ; TailsAni_Bubble -> - dc.b 0,0,0 ; TailsAni_Death,2,3 -> - dc.b 0 ; TailsAni_Slide2? -> - dc.b 0,0 ; TailsAni_Hurt,Slide -> - dc.b 0 ; TailsAni_Blank -> - dc.b 0,0 ; TailsAni_Dummy4,5 -> - dc.b 0 ; TailsAni_HaulAss -> - dc.b $B,$C ; TailsAni_Fly,2 -> Fly1,2 - dc.b $B ; TailsAni_Carry -> Fly1 - dc.b $C ; TailsAni_Ascend -> Fly2 - dc.b $B ; TailsAni_Tired -> Fly1 - dc.b 0,0 ; TailsAni_Swim,2 -> - dc.b 0 ; TailsAni_Tired2 -> - dc.b 0 ; TailsAni_Tired3 -> - dc.b 0 - dc.b 0 - dc.b 0 - dc.b 0 - dc.b 0 - dc.b 0 - dc.b 0 - dc.b 0 - dc.b 0 - + dc.b 0,0 ; TailsAni_Walk,Run -> + dc.b 3 ; TailsAni_Roll -> Directional + dc.b 3 ; TailsAni_Roll2 -> Directional + dc.b 9 ; TailsAni_Push -> Pushing + dc.b 1 ; TailsAni_Wait -> Swish + dc.b 0 ; TailsAni_Balance -> Blank + dc.b 2 ; TailsAni_LookUp -> Flick + dc.b 1 ; TailsAni_Duck -> Swish + dc.b 7 ; TailsAni_Spindash -> Spindash + dc.b 0,0,0 ; TailsAni_Dummy1,2,3 -> + dc.b 8 ; TailsAni_Stop -> Skidding + dc.b 0,0 ; TailsAni_Float,2 -> + dc.b 0 ; TailsAni_Spring -> + dc.b 0 ; TailsAni_Hang -> + dc.b 0 ; + dc.b 0 ; TailsAni_Victory -> + dc.b $A ; TailsAni_Hang2 -> Hanging + dc.b 0 ; TailsAni_Bubble -> + dc.b 0,0,0 ; TailsAni_Death,2,3 -> + dc.b 0 ; TailsAni_Slide2? -> + dc.b 0,0 ; TailsAni_Hurt,Slide -> + dc.b 0 ; TailsAni_Blank -> + dc.b 0,0 ; TailsAni_Dummy4,5 -> + dc.b 0 ; TailsAni_HaulAss -> + dc.b $B,$C ; TailsAni_Fly,2 -> Fly1,2 + dc.b $B ; TailsAni_Carry -> Fly1 + dc.b $C ; TailsAni_Ascend -> Fly2 + dc.b $B ; TailsAni_Tired -> Fly1 + dc.b 0,0 ; TailsAni_Swim,2 -> + dc.b 0 ; TailsAni_Tired2 -> + dc.b 0 ; TailsAni_Tired3 -> + dc.b 0 + dc.b 0 + dc.b 0 + dc.b 0 + dc.b 0 + dc.b 0 + dc.b 0 + dc.b 0 + dc.b 0 AniTails_Tail: include "General/Sprites/Tails/Anim - Tails Tail.asm" - ; --------------------------------------------------------------------------- Obj_Tails2P_Tail: @@ -29895,10 +29789,32 @@ loc_1628C: bsr.w Tails2P_Tail_Load_PLC jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -byte_162A0: dc.b 0, 0, 3, 3, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 - dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +byte_162A0: dc.b 0,0 + dc.b 3 + dc.b 3 + dc.b 0 + dc.b 1 + dc.b 1 + dc.b 1 + dc.b 1 + dc.b 0 + dc.b 1,1,1 + dc.b 0 + dc.b 0,0 + dc.b 0 + dc.b 0 + dc.b 0 + dc.b 0 + dc.b 0 + dc.b 0 + dc.b 0,0,0 + dc.b 0 + dc.b 0,0 + dc.b 0 + dc.b 0,0 + dc.b 0 + dc.b 0,0 AniTails2P_Tail:include "General/Sprites/Tails/Anim - Tails 2P Tail.asm" - ; --------------------------------------------------------------------------- Obj_MGZ2_BossTransition: @@ -30012,7 +29928,7 @@ Obj_Knuckles: lea (Distance_from_top).w,a5 lea (Dust).w,a6 tst.w (Debug_placement_mode).w - beq.s loc_1648E + beq.s Knuckles_Normal cmpi.b #1,(Debug_placement_type).w beq.s loc_16488 btst #4,(Ctrl_1_pressed).w @@ -30034,22 +29950,22 @@ loc_16488: jmp (DebugMode).l ; --------------------------------------------------------------------------- -loc_1648E: +Knuckles_Normal: moveq #0,d0 move.b routine(a0),d0 - move.w off_1649C(pc,d0.w),d1 - jmp off_1649C(pc,d1.w) + move.w Knuckles_Index(pc,d0.w),d1 + jmp Knuckles_Index(pc,d1.w) ; --------------------------------------------------------------------------- -off_1649C: dc.w loc_164AA-off_1649C - dc.w loc_1656C-off_1649C; 1 - dc.w loc_17BB6-off_1649C; 2 - dc.w loc_17C88-off_1649C; 3 - dc.w loc_17CBA-off_1649C; 4 - dc.w loc_17CCE-off_1649C; 5 - dc.w loc_17CEA-off_1649C; 6 +Knuckles_Index: dc.w Knuckles_Init-Knuckles_Index + dc.w Knuckles_Control-Knuckles_Index + dc.w loc_17BB6-Knuckles_Index + dc.w loc_17C88-Knuckles_Index + dc.w loc_17CBA-Knuckles_Index + dc.w loc_17CCE-Knuckles_Index + dc.w loc_17CEA-Knuckles_Index ; --------------------------------------------------------------------------- -loc_164AA: +Knuckles_Init: addq.b #2,routine(a0) move.b #$13,y_radius(a0) move.b #9,x_radius(a0) @@ -30065,18 +29981,18 @@ loc_164AA: move.w #$C,Acceleration-Max_speed(a4) move.w #$80,Deceleration-Max_speed(a4) tst.b (Last_star_post_hit).w - bne.s loc_16534 + bne.s Knuckles_Init_Continued move.w #ArtTile_Player_1,art_tile(a0) move.b #$C,top_solid_bit(a0) move.b #$D,lrb_solid_bit(a0) cmpi.b #2,(Special_bonus_entry_flag).w - beq.s loc_16534 + beq.s Knuckles_Init_Continued move.w x_pos(a0),(Saved_X_pos).w move.w y_pos(a0),(Saved_Y_pos).w move.w art_tile(a0),(Saved_art_tile).w move.w top_solid_bit(a0),(Saved_solid_bits).w -loc_16534: +Knuckles_Init_Continued: move.b #0,flips_remaining(a0) move.b #4,flip_speed(a0) move.b #0,(Super_Sonic_Knux_flag).w @@ -30089,7 +30005,7 @@ loc_16534: rts ; --------------------------------------------------------------------------- -loc_1656C: +Knuckles_Control: tst.w (Debug_mode_flag).w beq.s loc_165A2 bclr #6,(Ctrl_1_pressed).w @@ -30126,8 +30042,8 @@ loc_165BE: moveq #0,d0 move.b $2A(a0),d0 andi.w #6,d0 - move.w off_16642(pc,d0.w),d1 - jsr off_16642(pc,d1.w) + move.w Knux_Modes(pc,d0.w),d1 + jsr Knux_Modes(pc,d1.w) movem.l (sp)+,a4-a6 loc_165D8: @@ -30137,10 +30053,10 @@ loc_165D8: and.w d0,$14(a0) loc_165E8: - bsr.s sub_1664A + bsr.s Knuckles_Display bsr.w SonicKnux_SuperHyper bsr.w Sonic_RecordPos - bsr.w sub_166EE + bsr.w Knuckles_Water move.b (Primary_Angle).w,$3A(a0) move.b (Secondary_Angle).w,$3B(a0) tst.b (WindTunnel_flag).w @@ -30169,15 +30085,15 @@ loc_16630: locret_16640: rts ; --------------------------------------------------------------------------- -off_16642: dc.w Knux_Stand_Path-off_16642 - dc.w Knux_Stand_Freespace-off_16642 - dc.w Knux_Spin_Path-off_16642 - dc.w Knux_Spin_Freespace-off_16642 +Knux_Modes: dc.w Knux_Stand_Path-Knux_Modes + dc.w Knux_Stand_Freespace-Knux_Modes + dc.w Knux_Spin_Path-Knux_Modes + dc.w Knux_Spin_Freespace-Knux_Modes ; =============== S U B R O U T I N E ======================================= -sub_1664A: +Knuckles_Display: move.b $34(a0),d0 beq.s loc_16658 subq.b #1,$34(a0) @@ -30201,8 +30117,8 @@ loc_1665E: bne.s loc_16694 cmpi.b #$C,$2C(a0) blo.s loc_16694 - move.w (Level_music).w,d0 - jsr (Play_Sound).l + move.w (Current_music).w,d0 + jsr (Play_Music).l loc_16694: bclr #1,$2B(a0) @@ -30234,13 +30150,13 @@ loc_166DE: locret_166EC: rts -; End of function sub_1664A +; End of function Knuckles_Display ; =============== S U B R O U T I N E ======================================= -sub_166EE: +Knuckles_Water: tst.b (Water_flag).w bne.s loc_166F6 @@ -30257,7 +30173,7 @@ loc_166F6: addq.b #1,(Water_entered_counter).w movea.l a0,a1 bsr.w Player_ResetAirTimer - move.l #Obj_Air_CountDown,(Breathing_bubbles).w + move.l #Obj_AirCountdown,(Breathing_bubbles).w move.b #$81,(Breathing_bubbles+subtype).w move.l a0,(Breathing_bubbles+$40).w move.w #$300,Max_speed-Max_speed(a4) @@ -30278,7 +30194,7 @@ loc_1674A: beq.s locret_166F4 move.w #$100,anim(a6) move.w #sfx_Splash,d0 - jmp (Play_Sound_2).l + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_1676E: @@ -30318,8 +30234,8 @@ loc_167C4: loc_167EA: move.w #sfx_Splash,d0 - jmp (Play_Sound_2).l -; End of function sub_166EE + jmp (Play_SFX).l +; End of function Knuckles_Water ; --------------------------------------------------------------------------- @@ -30361,7 +30277,7 @@ Knux_Stand_Freespace: tst.b double_jump_flag(a0) bne.s Knux_Glide_Freespace bsr.w Knux_JumpHeight - bsr.w sub_17680 + bsr.w Knux_ChgJumpDir bsr.w Player_LevelBound jsr (MoveSprite_TestGravity).l btst #6,$2A(a0) @@ -30397,613 +30313,841 @@ Knuckles_Glide: beq.w Knuckles_Wall_Climb cmpi.b #5,d0 beq.w Knuckles_Climb_Ledge + + ; This function updates 'Gliding_collision_flags'. bsr.w Knux_DoLevelCollision_CheckRet - btst #1,(_unkF74E).w + + btst #Status_InAir,(Gliding_collision_flags).w beq.s Knux_Gliding_HitFloor - btst #5,(_unkF74E).w + + btst #Status_Push,(Gliding_collision_flags).w bne.w Knuckles_Gliding_HitWall + move.b (Ctrl_1_logical).w,d0 - andi.b #$70,d0 - bne.s loc_1690A + andi.b #button_A_mask|button_B_mask|button_C_mask,d0 + bne.s .continueGliding + + ; The player has let go of the jump button, so exit the gliding state + ; and enter the falling state. move.b #2,double_jump_flag(a0) - move.b #$21,$20(a0) - bclr #0,$2A(a0) - tst.w $18(a0) - bpl.s loc_168F4 - bset #0,$2A(a0) + move.b #$21,anim(a0) + bclr #Status_Facing,status(a0) + tst.w x_vel(a0) + bpl.s .skip1 + bset #Status_Facing,status(a0) + +.skip1: + ; Divide Knuckles' X velocity by 4. + asr.w x_vel(a0) + asr.w x_vel(a0) + + move.b default_y_radius(a0),y_radius(a0) + move.b default_x_radius(a0),x_radius(a0) -loc_168F4: - asr $18(a0) - asr $18(a0) - move.b $44(a0),$1E(a0) - move.b $45(a0),$1F(a0) rts ; --------------------------------------------------------------------------- - -loc_1690A: +; loc_1690A: +.continueGliding: bra.w Knuckles_Set_Gliding_Animation ; --------------------------------------------------------------------------- Knux_Gliding_HitFloor: - bclr #0,$2A(a0) - tst.w $18(a0) - bpl.s loc_16920 - bset #0,$2A(a0) - -loc_16920: - move.b $26(a0),d0 + bclr #Status_Facing,status(a0) + tst.w x_vel(a0) + bpl.s + + bset #Status_Facing,status(a0) ++ + move.b angle(a0),d0 addi.b #$20,d0 andi.b #$C0,d0 beq.s loc_1693E - move.w $1C(a0),$18(a0) - move.w #0,$1A(a0) + + move.w ground_vel(a0),x_vel(a0) + move.w #0,y_vel(a0) + bra.w Knux_TouchFloor ; --------------------------------------------------------------------------- loc_1693E: move.b #3,double_jump_flag(a0) - move.b #-$34,$22(a0) - move.b #$7F,$24(a0) - move.b #0,$23(a0) - cmpi.b #$C,$2C(a0) - blo.s locret_1696A - move.b #6,5(a6) - move.b #$15,$22(a6) + move.b #$CC,mapping_frame(a0) + move.b #$7F,anim_frame_timer(a0) + move.b #0,anim_frame(a0) -locret_1696A: + ; The drowning countdown uses the dust clouds' VRAM, so don't create + ; dust if Knuckles is drowning. + cmpi.b #12,air_left(a0) + blo.s + + ; Create dust clouds. + move.b #6,routine(a6) + move.b #$15,mapping_frame(a6) ++ rts ; --------------------------------------------------------------------------- Knuckles_Gliding_HitWall: tst.b (Disable_wall_grab).w - bmi.w loc_16A6E - move.b $47(a0),d5 - move.b $25(a0),d0 + bmi.w .fail + + move.b lrb_solid_bit(a0),d5 + move.b double_jump_property(a0),d0 addi.b #$40,d0 - bpl.s loc_16996 - bset #0,$2A(a0) + bpl.s .right + +;.left: + bset #Status_Facing,status(a0) + bsr.w CheckLeftCeilingDist or.w d0,d1 - bne.s loc_16A00 - addq.w #1,$10(a0) - bra.s loc_169A6 -; --------------------------------------------------------------------------- + bne.s .checkFloorLeft + + addq.w #1,x_pos(a0) + bra.s .success + +.right: + bclr #Status_Facing,status(a0) -loc_16996: - bclr #0,$2A(a0) bsr.w CheckRightCeilingDist or.w d0,d1 - bne.w loc_16A58 - -loc_169A6: - moveq #sfx_Grab,d0 + bne.w .checkFloorRight +; loc_169A6: +.success: + moveq #signextendB(sfx_Grab),d0 + + ; If Hyper Knuckles glides into a wall at a high-enough + ; speed, then make the screen shake and harm all enemies + ; on-screen. tst.b (Super_Sonic_Knux_flag).w - bpl.s loc_169C2 - cmpi.w #$480,$1C(a0) - blo.s loc_169C2 + bpl.s .noQuake + + cmpi.w #$480,ground_vel(a0) + blo.s .noQuake + move.w #$14,(Glide_screen_shake).w bsr.w HyperAttackTouchResponse - moveq #sfx_Thump,d0 - -loc_169C2: - jsr (Play_Sound_2).l - move.w #0,$1C(a0) - move.w #0,$18(a0) - move.w #0,$1A(a0) + moveq #signextendB(sfx_Thump),d0 +; loc_169C2: +.noQuake: + jsr (Play_SFX).l + move.w #0,ground_vel(a0) + move.w #0,x_vel(a0) + move.w #0,y_vel(a0) move.b #4,double_jump_flag(a0) - move.b #-$49,$22(a0) - move.b #$7F,$24(a0) - move.b #0,$23(a0) - move.b #3,$25(a0) - move.w $10(a0),$12(a0) + move.b #$B7,mapping_frame(a0) + move.b #$7F,anim_frame_timer(a0) + move.b #0,anim_frame(a0) + move.b #3,double_jump_property(a0) + ; 'x_pos+2' holds the X coordinate that Knuckles was at when he first + ; latched onto the wall. + move.w x_pos(a0),x_pos+2(a0) rts ; --------------------------------------------------------------------------- - -loc_16A00: - move.w $10(a0),d3 - move.b $1E(a0),d0 +; loc_16A00: +.checkFloorLeft: + ; This adds the Y radius to the X coordinate... + ; This appears to be a bug, but, luckily, the X and Y radius are both + ; 10, so this is harmless. + move.w x_pos(a0),d3 + move.b y_radius(a0),d0 ext.w d0 sub.w d0,d3 subq.w #1,d3 - tst.b (Reverse_gravity_flag).w - bne.s loc_16A34 -loc_16A14: - move.w $14(a0),d2 - subi.w #$B,d2 + tst.b (Reverse_gravity_flag).w + bne.s .reverseGravity +; loc_16A14: +.checkFloorCommon: + move.w y_pos(a0),d2 + subi.w #11,d2 jsr (ChkFloorEdge_Part3).l + tst.w d1 - bmi.s loc_16A6E - cmpi.w #$C,d1 - bhs.s loc_16A6E - add.w d1,$14(a0) - bra.w loc_169A6 + bmi.s .fail + cmpi.w #12,d1 + bhs.s .fail + add.w d1,y_pos(a0) + bra.w .success ; --------------------------------------------------------------------------- - -loc_16A34: - move.w $14(a0),d2 - addi.w #$B,d2 +; loc_16A34: +.reverseGravity: + move.w y_pos(a0),d2 + addi.w #11,d2 eori.w #$F,d2 jsr (ChkFloorEdge_ReverseGravity_Part2).l - tst.w d1 - bmi.s loc_16A6E - cmpi.w #$C,d1 - bhs.s loc_16A6E - sub.w d1,$14(a0) - bra.w loc_169A6 -; --------------------------------------------------------------------------- -loc_16A58: - move.w $10(a0),d3 - move.b $1E(a0),d0 + tst.w d1 + bmi.s .fail + cmpi.w #12,d1 + bhs.s .fail + sub.w d1,y_pos(a0) + bra.w .success +; --------------------------------------------------------------------------- +; loc_16A58: +.checkFloorRight: + ; This adds the Y radius to the X coordinate... + ; This appears to be a bug, but, luckily, the X and Y radius are both + ; 10, so this is harmless. + move.w x_pos(a0),d3 + move.b y_radius(a0),d0 ext.w d0 add.w d0,d3 addq.w #1,d3 + tst.b (Reverse_gravity_flag).w - bne.s loc_16A34 - bra.s loc_16A14 -; --------------------------------------------------------------------------- + bne.s Knuckles_Gliding_HitWall.reverseGravity -loc_16A6E: + bra.s .checkFloorCommon +; --------------------------------------------------------------------------- +; loc_16A6E: +.fail: move.b #2,double_jump_flag(a0) - move.b #$21,$20(a0) - move.b $44(a0),$1E(a0) - move.b $45(a0),$1F(a0) - bset #1,(_unkF74E).w + move.b #$21,anim(a0) + move.b default_y_radius(a0),y_radius(a0) + move.b default_x_radius(a0),x_radius(a0) + bset #Status_InAir,(Gliding_collision_flags).w rts ; --------------------------------------------------------------------------- Knuckles_Fall_From_Glide: - bsr.w sub_17680 - addi.w #$38,$1A(a0) - btst #6,$2A(a0) - beq.s loc_16AA6 - subi.w #$28,$1A(a0) + bsr.w Knux_ChgJumpDir + + ; Apply gravity. + addi.w #$38,y_vel(a0) + + ; Fall slower when underwater. + btst #Status_Underwater,status(a0) + beq.s .skip1 + subi.w #$28,y_vel(a0) -loc_16AA6: +.skip1: + ; This function updates 'Gliding_collision_flags'. bsr.w Knux_DoLevelCollision_CheckRet - btst #1,(_unkF74E).w - bne.s locret_16B04 - move.w #0,$1C(a0) - move.w #0,$18(a0) - move.w #0,$1A(a0) - move.b $1E(a0),d0 - sub.b $44(a0),d0 + + btst #Status_InAir,(Gliding_collision_flags).w + bne.s .return + + ; Knuckles has touched the ground. + move.w #0,ground_vel(a0) + move.w #0,x_vel(a0) + move.w #0,y_vel(a0) + + move.b y_radius(a0),d0 + sub.b default_y_radius(a0),d0 ext.w d0 tst.b (Reverse_gravity_flag).w - beq.s loc_16AD6 + beq.s .skip2 neg.w d0 -loc_16AD6: - add.w d0,$14(a0) - moveq #sfx_GlideLand,d0 - jsr (Play_Sound_2).l - move.b $26(a0),d0 +.skip2: + add.w d0,y_pos(a0) + + moveq #signextendB(sfx_GlideLand),d0 + jsr (Play_SFX).l + + move.b angle(a0),d0 addi.b #$20,d0 andi.b #$C0,d0 - beq.s loc_16AF4 + beq.s .skip3 bra.w Knux_TouchFloor -; --------------------------------------------------------------------------- -loc_16AF4: +.skip3: bsr.w Knux_TouchFloor - move.w #$F,$32(a0) - move.b #$23,$20(a0) - -locret_16B04: + move.w #$F,move_lock(a0) + move.b #$23,anim(a0) +; locret_16B04: +.return: rts ; --------------------------------------------------------------------------- Knuckles_Sliding: move.b (Ctrl_1_logical).w,d0 - andi.b #$70,d0 - beq.s loc_16B2A - tst.w $18(a0) - bpl.s loc_16B22 - addi.w #$20,$18(a0) - bmi.s loc_16B20 - bra.s loc_16B2A -; --------------------------------------------------------------------------- + andi.b #button_A_mask|button_B_mask|button_C_mask,d0 + beq.s .getUp -loc_16B20: - bra.s loc_16B64 -; --------------------------------------------------------------------------- + tst.w x_vel(a0) + bpl.s .goingRight -loc_16B22: - subi.w #$20,$18(a0) - bpl.s loc_16B64 +;.goingLeft: + addi.w #$20,x_vel(a0) + bmi.s .continueSliding2 -loc_16B2A: - move.w #0,$1C(a0) - move.w #0,$18(a0) - move.w #0,$1A(a0) - move.b $1E(a0),d0 - sub.b $44(a0),d0 + bra.s .getUp +; --------------------------------------------------------------------------- +; loc_16B20: +.continueSliding2: + bra.s .continueSliding +; --------------------------------------------------------------------------- +; loc_16B22: +.goingRight: + subi.w #$20,x_vel(a0) + bpl.s .continueSliding +; loc_16B2A: +.getUp: + move.w #0,ground_vel(a0) + move.w #0,x_vel(a0) + move.w #0,y_vel(a0) + + move.b y_radius(a0),d0 + sub.b default_y_radius(a0),d0 ext.w d0 tst.b (Reverse_gravity_flag).w - beq.s loc_16B4E + beq.s .skip1 neg.w d0 -loc_16B4E: - add.w d0,$14(a0) +.skip1: + add.w d0,y_pos(a0) + bsr.w Knux_TouchFloor - move.w #$F,$32(a0) - move.b #$22,$20(a0) + + move.w #$F,move_lock(a0) + move.b #$22,anim(a0) + rts ; --------------------------------------------------------------------------- - -loc_16B64: +; loc_16B64: +.continueSliding: bsr.w Knux_DoLevelCollision_CheckRet + + ; Get distance from floor in 'd1', and angle of floor in 'd3'. bsr.w sub_11FD6 - cmpi.w #$E,d1 - bge.s loc_16B96 + + ; If the distance from the floor is suddenly really high, then + ; Knuckles must have slid off a ledge, so make him enter his falling + ; state. + cmpi.w #14,d1 + bge.s .fail + tst.b (Reverse_gravity_flag).w - beq.s loc_16B7A + beq.s .skip2 neg.w d1 -loc_16B7A: - add.w d1,$14(a0) - move.b d3,$26(a0) +.skip2: + add.w d1,y_pos(a0) + move.b d3,angle(a0) + + ; Play the sliding sound every 8 frames. move.b (Level_frame_counter+1).w,d0 andi.b #7,d0 - bne.s locret_16B94 - moveq #sfx_GroundSlide,d0 - jsr (Play_Sound_2).l + bne.s .skip3 -locret_16B94: + moveq #signextendB(sfx_GroundSlide),d0 + jsr (Play_SFX).l +.skip3: rts ; --------------------------------------------------------------------------- - -loc_16B96: +; loc_16B96: +.fail: move.b #2,double_jump_flag(a0) - move.b #$21,$20(a0) - move.b $44(a0),$1E(a0) - move.b $45(a0),$1F(a0) - bset #1,(_unkF74E).w + move.b #$21,anim(a0) + + move.b default_y_radius(a0),y_radius(a0) + move.b default_x_radius(a0),x_radius(a0) + + bset #Status_InAir,(Gliding_collision_flags).w rts ; --------------------------------------------------------------------------- Knuckles_Wall_Climb: tst.b (Disable_wall_grab).w - bmi.w loc_16ED2 - move.w $10(a0),d0 - cmp.w $12(a0),d0 - bne.w loc_16ED2 - btst #3,$2A(a0) - bne.w loc_16ED2 - move.w #0,$1C(a0) - move.w #0,$18(a0) - move.w #0,$1A(a0) + bmi.w Knuckles_LetGoOfWall + + ; If Knuckles' X coordinate is no longer the same as when he first + ; latched onto the wall, then detach him from the wall. This is + ; probably intended to detach Knuckles from the wall if something + ; physically pushes him away from it. + move.w x_pos(a0),d0 + cmp.w x_pos+2(a0),d0 + bne.w Knuckles_LetGoOfWall + + ; If an object is now carrying Knuckles, then detach him from the + ; wall. + btst #Status_OnObj,status(a0) + bne.w Knuckles_LetGoOfWall + + move.w #0,ground_vel(a0) + move.w #0,x_vel(a0) + move.w #0,y_vel(a0) + move.l (Primary_collision_addr).w,(Collision_addr).w - cmpi.b #$D,$47(a0) - beq.s loc_16BFA + cmpi.b #$D,lrb_solid_bit(a0) + beq.s + move.l (Secondary_collision_addr).w,(Collision_addr).w ++ + move.b lrb_solid_bit(a0),d5 -loc_16BFA: - move.b $47(a0),d5 - moveq #0,d1 - btst #0,(Ctrl_1_logical).w - beq.w loc_16D10 + moveq #0,d1 ; Climbing animation delta: make the animation pause. + + btst #button_up,(Ctrl_1_logical).w + beq.w .notClimbingUp + +;.climbingUp: tst.b (Reverse_gravity_flag).w - bne.w loc_16DA8 - move.w $14(a0),d2 - subi.w #$B,d2 - bsr.w sub_16F4E + bne.w .climbingUp_ReverseGravity + + ; Get Knuckles' distance from the wall in 'd1'. + move.w y_pos(a0),d2 + subi.w #11,d2 + bsr.w GetDistanceFromWall + + ; If the wall is far away from Knuckles, then we must have reached a + ; ledge, so make Knuckles climb up onto it. cmpi.w #4,d1 - bge.w loc_16EBA + bge.w Knuckles_ClimbUp + + ; If Knuckles has encountered a small dip in the wall, then make him + ; stop. tst.w d1 - bne.w loc_16E60 - move.b $47(a0),d5 - move.w $14(a0),d2 + bne.w .notMoving + + ; Get Knuckles' distance from the ceiling in 'd1'. + move.b lrb_solid_bit(a0),d5 + move.w y_pos(a0),d2 subq.w #8,d2 - move.w $10(a0),d3 - bsr.w sub_FBEE + move.w x_pos(a0),d3 + bsr.w CheckCeilingDist_WithRadius + + ; Check if Knuckles has room above him. tst.w d1 - bpl.s loc_16C4C - sub.w d1,$14(a0) - moveq #1,d1 - bra.w loc_16E10 + bpl.s .moveUp + + ; Knuckles is bumping into the ceiling, so push him out. + sub.w d1,y_pos(a0) + + moveq #1,d1 ; Climbing animation delta: make the animation play forwards. + bra.w .finishMoving ; --------------------------------------------------------------------------- +; loc_16C4C: +.moveUp: + subq.w #1,y_pos(a0) -loc_16C4C: - subq.w #1,$14(a0) + ; Super Knuckles and Hyper Knuckles climb walls faster. tst.b (Super_Sonic_Knux_flag).w - beq.s loc_16C5A - subq.w #1,$14(a0) + beq.s .notSuperOrHyper1 + subq.w #1,y_pos(a0) -loc_16C5A: - moveq #1,d1 +.notSuperOrHyper1: + moveq #1,d1 ; Climbing animation delta: make the animation play forwards. + + ; Don't let Knuckles climb through the level's upper boundary. move.w (Camera_min_Y_pos).w,d0 + + ; If the level wraps vertically, then don't bother with any of this. cmpi.w #-$100,d0 - beq.w loc_16E10 - addi.w #$10,d0 - cmp.w $14(a0),d0 - ble.w loc_16E10 - move.w d0,$14(a0) - bra.w loc_16E10 -; --------------------------------------------------------------------------- + beq.w .finishMoving -loc_16C7C: - cmpi.b #$BD,$22(a0) - bne.s loc_16C9E - move.b #$B7,$22(a0) - subq.w #3,$14(a0) - subq.w #3,$10(a0) - btst #0,$2A(a0) - beq.s loc_16C9E - addq.w #6,$10(a0) + ; Check if Knuckles is over the level's top boundary. + addi.w #16,d0 + cmp.w y_pos(a0),d0 + ble.w .finishMoving -loc_16C9E: - move.w $14(a0),d2 - subi.w #$B,d2 - bsr.w sub_16F4E + ; Knuckles is climbing over the level's top boundary: push him back + ; down. + move.w d0,y_pos(a0) + bra.w .finishMoving +; --------------------------------------------------------------------------- +; loc_16C7C: +.climbingDown_ReverseGravity: + ; Knuckles is climbing down. + + ; ...I'm not sure what this code is for. + cmpi.b #$BD,mapping_frame(a0) + bne.s .skip3 + move.b #$B7,mapping_frame(a0) + subq.w #3,y_pos(a0) + subq.w #3,x_pos(a0) + btst #Status_Facing,status(a0) + beq.s .skip3 + addq.w #3*2,x_pos(a0) + +.skip3: + ; Get Knuckles' distance from the wall in 'd1'. + move.w y_pos(a0),d2 + subi.w #11,d2 + bsr.w GetDistanceFromWall + + ; If Knuckles is no longer against the wall (he has climbed off the + ; bottom of it) then make him let go. tst.w d1 - bne.w loc_16ED2 - move.b $46(a0),d5 - move.w $14(a0),d2 + bne.w Knuckles_LetGoOfWall + + ; Get Knuckles' distance from the floor in 'd1'. + move.b top_solid_bit(a0),d5 + move.w y_pos(a0),d2 subi.w #9,d2 - move.w $10(a0),d3 - bsr.w sub_FBEE + move.w x_pos(a0),d3 + bsr.w CheckCeilingDist_WithRadius + + ; Check if Knuckles has room below him. tst.w d1 - bpl.s loc_16CFC - sub.w d1,$14(a0) + bpl.s .moveDown_ReverseGravity + + ; Knuckles has reached the floor. + sub.w d1,y_pos(a0) move.b (Primary_Angle).w,d0 addi.b #$40,d0 neg.b d0 subi.b #$40,d0 - move.b d0,$26(a0) - move.w #0,$1C(a0) - move.w #0,$18(a0) - move.w #0,$1A(a0) + move.b d0,angle(a0) + + move.w #0,ground_vel(a0) + move.w #0,x_vel(a0) + move.w #0,y_vel(a0) + bsr.w Knux_TouchFloor - move.b #5,$20(a0) + + move.b #5,anim(a0) + rts ; --------------------------------------------------------------------------- +; loc_16CFC: +.moveDown_ReverseGravity: + subq.w #1,y_pos(a0) -loc_16CFC: - subq.w #1,$14(a0) + ; Super Knuckles and Hyper Knuckles climb walls faster. tst.b (Super_Sonic_Knux_flag).w - beq.s loc_16D0A - subq.w #1,$14(a0) + beq.s .notSuperOrHyper2 + subq.w #1,y_pos(a0) -loc_16D0A: - moveq #-1,d1 - bra.w loc_16E10 +.notSuperOrHyper2: + moveq #-1,d1 ; Climbing animation delta: make the animation play backwards. + bra.w .finishMoving ; --------------------------------------------------------------------------- +; loc_16D10: +.notClimbingUp: + btst #button_down,(Ctrl_1_logical).w + beq.w .finishMoving -loc_16D10: - btst #1,(Ctrl_1_logical).w - beq.w loc_16E10 +;.climbingDown: tst.b (Reverse_gravity_flag).w - bne.w loc_16C7C - cmpi.b #$BD,$22(a0) - bne.s loc_16D44 - move.b #$B7,$22(a0) - addq.w #3,$14(a0) - subq.w #3,$10(a0) - btst #0,$2A(a0) - beq.s loc_16D44 - addq.w #6,$10(a0) + bne.w .climbingDown_ReverseGravity + + ; ...I'm not sure what this code is for. + cmpi.b #$BD,mapping_frame(a0) + bne.s .skip4 + move.b #$B7,mapping_frame(a0) + addq.w #3,y_pos(a0) + subq.w #3,x_pos(a0) + btst #Status_Facing,status(a0) + beq.s .skip4 + addq.w #3*2,x_pos(a0) -loc_16D44: - move.w $14(a0),d2 - addi.w #$B,d2 - bsr.w sub_16F4E +.skip4: + ; Get Knuckles' distance from the wall in 'd1'. + move.w y_pos(a0),d2 + addi.w #11,d2 + bsr.w GetDistanceFromWall + + ; If Knuckles is no longer against the wall (he has climbed off the + ; bottom of it) then make him let go. tst.w d1 - bne.w loc_16ED2 - move.b $46(a0),d5 - move.w $14(a0),d2 + bne.w Knuckles_LetGoOfWall + + ; Get Knuckles' distance from the floor in 'd1'. + move.b top_solid_bit(a0),d5 + move.w y_pos(a0),d2 addi.w #9,d2 - move.w $10(a0),d3 + move.w x_pos(a0),d3 bsr.w sub_F828 + + ; Check if Knuckles has room below him. tst.w d1 - bpl.s loc_16D96 + bpl.s .moveDown +; loc_16D6E: +.reachedFloor: + ; Knuckles has reached the floor. + add.w d1,y_pos(a0) + move.b (Primary_Angle).w,angle(a0) + + move.w #0,ground_vel(a0) + move.w #0,x_vel(a0) + move.w #0,y_vel(a0) -loc_16D6E: - add.w d1,$14(a0) - move.b (Primary_Angle).w,$26(a0) - move.w #0,$1C(a0) - move.w #0,$18(a0) - move.w #0,$1A(a0) bsr.w Knux_TouchFloor - move.b #5,$20(a0) + + move.b #5,anim(a0) + rts ; --------------------------------------------------------------------------- +; loc_16D96: +.moveDown: + addq.w #1,y_pos(a0) -loc_16D96: - addq.w #1,$14(a0) + ; Super Knuckles and Hyper Knuckles climb walls faster. tst.b (Super_Sonic_Knux_flag).w - beq.s loc_16DA4 - addq.w #1,$14(a0) + beq.s .notSuperOrHyper3 + addq.w #1,y_pos(a0) -loc_16DA4: - moveq #-1,d1 - bra.s loc_16E10 +.notSuperOrHyper3: + moveq #-1,d1 ; Climbing animation delta: make the animation play backwards. + bra.s .finishMoving ; --------------------------------------------------------------------------- +; loc_16DA8: +.climbingUp_ReverseGravity: + ; Get Knuckles' distance from the wall in 'd1'. + move.w y_pos(a0),d2 + addi.w #11,d2 + bsr.w GetDistanceFromWall -loc_16DA8: - move.w $14(a0),d2 - addi.w #$B,d2 - bsr.w sub_16F4E + ; If the wall is far away from Knuckles, then we must have reached a + ; ledge, so make Knuckles climb up onto it. cmpi.w #4,d1 - bge.w loc_16EBA + bge.w Knuckles_ClimbUp + + ; If Knuckles has encountered a small dip in the wall, then make him + ; stop. tst.w d1 - bne.w loc_16E60 - move.b $47(a0),d5 - move.w $14(a0),d2 + bne.w .notMoving + + ; Get Knuckles' distance from the ceiling in 'd1'. + move.b lrb_solid_bit(a0),d5 + move.w y_pos(a0),d2 addq.w #8,d2 - move.w $10(a0),d3 + move.w x_pos(a0),d3 bsr.w sub_F828 + + ; Check if Knuckles has room above him. tst.w d1 - bpl.s loc_16DE2 - add.w d1,$14(a0) - moveq #1,d1 - bra.w loc_16E10 + bpl.s .moveUp_ReverseGravity + + ; Knuckles is bumping into the ceiling, so push him out. + add.w d1,y_pos(a0) + + moveq #1,d1 ; Climbing animation delta: make the animation play forwards. + bra.w .finishMoving ; --------------------------------------------------------------------------- +; loc_16DE2: +.moveUp_ReverseGravity: + addq.w #1,y_pos(a0) -loc_16DE2: - addq.w #1,$14(a0) + ; Super Knuckles and Hyper Knuckles climb walls faster. tst.b (Super_Sonic_Knux_flag).w - beq.s loc_16DF0 - addq.w #1,$14(a0) + beq.s .notSuperOrHyper4 + addq.w #1,y_pos(a0) -loc_16DF0: - moveq #1,d1 +.notSuperOrHyper4: + moveq #1,d1 ; Climbing animation delta: make the animation play forwards. + + ; Don't let Knuckles climb through the level's upper boundary. + + ; If the level wraps vertically, then don't bother with any of this. cmpi.w #-$100,(Camera_min_Y_pos).w - beq.w loc_16E10 + beq.w .finishMoving + + ; Check if Knuckles is over the level's top boundary. move.w (Camera_max_Y_pos).w,d0 addi.w #$D0,d0 - cmp.w $14(a0),d0 - bge.w loc_16E10 - move.w d0,$14(a0) + cmp.w y_pos(a0),d0 + bge.w .finishMoving -loc_16E10: - move.b (Ctrl_1_logical).w,d0 - andi.b #3,d0 - bne.s loc_16E34 - move.b $46(a0),d5 - move.w $14(a0),d2 + ; Knuckles is climbing over the level's top boundary: push him back + ; down. + move.w d0,y_pos(a0) +; loc_16E10: +.finishMoving: + ; This block of code was not here in KiS2. + ; This code detaches Knuckles from the wall if there is + ; ground directly below him. Note that this code specifically + ; does not run if the player is holding up or down: this is + ; because similar code already runs if either of those + ; buttons are being held. Presumably, this check was added so + ; that Knuckles would properly detach from the wall if a + ; rising floor (think Marble Garden Zone Act 2) came up from + ; under him. With that said, KiS2 lacks this logic, and yet + ; Knuckles seems to detach from the wall in Hill Top Zone's + ; rising wall section just fine, so I'm not sure whether this + ; code was ever actually needed in the first place. + move.b (Ctrl_1_held_logical).w,d0 + andi.b #button_up_mask|button_down_mask,d0 + bne.s .isMovingUpOrDown + + ; Get Knuckles' distance from the floor in 'd1'. + move.b top_solid_bit(a0),d5 + move.w y_pos(a0),d2 addi.w #9,d2 - move.w $10(a0),d3 + move.w x_pos(a0),d3 bsr.w sub_F828 + + ; Check if Knuckles has room below him. tst.w d1 - bmi.w loc_16D6E + bmi.w .reachedFloor -loc_16E34: + ; Bug! 'd1' has been overwritten by 'sub_F828', but the code + ; after this needs it for updating Knuckles' animation. This + ; bug is the reason why Knuckles resets to his first climbing + ; frame when the player is not holding up or down. + +.isMovingUpOrDown: + ; If Knuckles has not moved, skip this. tst.w d1 - beq.s loc_16E60 - subq.b #1,$25(a0) - bpl.s loc_16E60 - move.b #3,$25(a0) - add.b $22(a0),d1 + beq.s .notMoving + + ; Only animate every 4 frames. + subq.b #1,double_jump_property(a0) + bpl.s .notMoving + move.b #3,double_jump_property(a0) + + ; Add delta to animation frame. + add.b mapping_frame(a0),d1 + + ; Make the animation loop. cmpi.b #$B7,d1 - bhs.s loc_16E52 + bhs.s .noLoop1 move.b #$BC,d1 -loc_16E52: +.noLoop1: cmpi.b #$BC,d1 - bls.s loc_16E5C + bls.s .noLoop2 move.b #$B7,d1 -loc_16E5C: - move.b d1,$22(a0) +.noLoop2: + ; Apply the frame. + move.b d1,mapping_frame(a0) +; loc_16E60: +.notMoving: + move.b #$20,anim_frame_timer(a0) + move.b #0,anim_frame(a0) -loc_16E60: - move.b #$20,$24(a0) - move.b #0,$23(a0) move.w (Ctrl_1_logical).w,d0 - andi.w #$70,d0 - beq.s locret_16EB8 - move.w #-$380,$1A(a0) - move.w #$400,$18(a0) - bchg #0,$2A(a0) - bne.s loc_16E8E - neg.w $18(a0) + andi.w #button_A_mask|button_B_mask|button_C_mask,d0 + beq.s .hasNotJumped -loc_16E8E: - bset #1,$2A(a0) - move.b #1,$40(a0) - move.b #$E,$1E(a0) - move.b #7,$1F(a0) - move.b #2,$20(a0) - bset #2,$2A(a0) - move.b #0,double_jump_flag(a0) + ; Knuckles has jumped off the wall. + move.w #-$380,y_vel(a0) + move.w #$400,x_vel(a0) -locret_16EB8: + bchg #Status_Facing,status(a0) + bne.s .goingRight + neg.w x_vel(a0) + +.goingRight: + bset #Status_InAir,status(a0) + move.b #1,jumping(a0) + + move.b #$E,y_radius(a0) + move.b #7,x_radius(a0) + + move.b #2,anim(a0) + bset #Status_Roll,status(a0) + move.b #0,double_jump_flag(a0) +; locret_16EB8: +.hasNotJumped: rts ; --------------------------------------------------------------------------- - -loc_16EBA: +; loc_16EBA: +Knuckles_ClimbUp: move.b #5,double_jump_flag(a0) - cmpi.b #-$43,$22(a0) - beq.s locret_16ED0 - move.b #0,$25(a0) - bsr.s sub_16EFE -locret_16ED0: + cmpi.b #$BD,mapping_frame(a0) + beq.s + + + move.b #0,double_jump_property(a0) + bsr.s Knuckles_DoLedgeClimbingAnimation ++ rts ; --------------------------------------------------------------------------- - -loc_16ED2: +; loc_16ED2: +Knuckles_LetGoOfWall: move.b #2,double_jump_flag(a0) - move.w #$2121,$20(a0) - move.b #$CB,$22(a0) - move.b #7,$24(a0) - move.b #1,$23(a0) - move.b $44(a0),$1E(a0) - move.b $45(a0),$1F(a0) + + move.w #$2121,anim(a0) + move.b #$CB,mapping_frame(a0) + move.b #7,anim_frame_timer(a0) + move.b #1,anim_frame(a0) + + move.b default_y_radius(a0),y_radius(a0) + move.b default_x_radius(a0),x_radius(a0) + rts ; End of function Knuckles_Glide ; =============== S U B R O U T I N E ======================================= - -sub_16EFE: +; sub_16EFE: +Knuckles_DoLedgeClimbingAnimation: moveq #0,d0 - move.b $25(a0),d0 - lea byte_16F3E(pc,d0.w),a1 - move.b (a1)+,$22(a0) + move.b double_jump_property(a0),d0 + lea Knuckles_ClimbLedge_Frames(pc,d0.w),a1 + + move.b (a1)+,mapping_frame(a0) + move.b (a1)+,d0 ext.w d0 - btst #0,$2A(a0) - beq.s loc_16F1A + btst #Status_Facing,status(a0) + beq.s + neg.w d0 ++ + add.w d0,x_pos(a0) -loc_16F1A: - add.w d0,$10(a0) move.b (a1)+,d1 ext.w d1 tst.b (Reverse_gravity_flag).w - beq.s loc_16F2A + beq.s + neg.w d1 ++ + add.w d1,y_pos(a0) -loc_16F2A: - add.w d1,$14(a0) - move.b (a1)+,$24(a0) - addq.b #4,$25(a0) - move.b #0,$23(a0) + move.b (a1)+,anim_frame_timer(a0) + + addq.b #4,double_jump_property(a0) + move.b #0,anim_frame(a0) rts -; End of function sub_16EFE +; End of function Knuckles_DoLedgeClimbingAnimation ; --------------------------------------------------------------------------- -byte_16F3E: dc.b $BD, 3, $FD, 6, $BE, 8, $F6, 6, $BF, $F8, $F4, 6, $D2, 8, $FB, 6 +; Strangely, the last frame uses frame $D2. It will never be seen, however, +; because it is immediately overwritten by Knuckles' waiting animation. + +Knuckles_ClimbLedge_Frames: + ; mapping_frame, x_pos, y_pos, anim_frame_timer + dc.b $BD, 3, -3, 6 + dc.b $BE, 8, -10, 6 + dc.b $BF, -8, -12, 6 + dc.b $D2, 8, -5, 6 +Knuckles_ClimbLedge_Frames_End: ; =============== S U B R O U T I N E ======================================= +; sub_16F4E: +GetDistanceFromWall: + move.b lrb_solid_bit(a0),d5 + btst #Status_Facing,status(a0) + bne.s .facingLeft -sub_16F4E: - move.b $47(a0),d5 - btst #0,$2A(a0) - bne.s loc_16F62 - move.w $10(a0),d3 +;.facingRight: + move.w x_pos(a0),d3 bra.w loc_FAA4 ; --------------------------------------------------------------------------- - -loc_16F62: - move.w $10(a0),d3 +; loc_16F62: +.facingLeft: + move.w x_pos(a0),d3 subq.w #1,d3 bra.w loc_FDC8 -; End of function sub_16F4E +; End of function GetDistanceFromWall ; --------------------------------------------------------------------------- Knuckles_Climb_Ledge: - tst.b $24(a0) + tst.b anim_frame_timer(a0) bne.s locret_16FA6 - bsr.w sub_16EFE - cmpi.b #$10,$25(a0) + + bsr.w Knuckles_DoLedgeClimbingAnimation + + ; Have we reached the end of the ledge-climbing animation? + cmpi.b #Knuckles_ClimbLedge_Frames_End-Knuckles_ClimbLedge_Frames,double_jump_property(a0) bne.s locret_16FA6 - move.w #0,$1C(a0) - move.w #0,$18(a0) - move.w #0,$1A(a0) - btst #0,$2A(a0) - beq.s loc_16F9C - subq.w #1,$10(a0) -loc_16F9C: + ; Yes. + move.w #0,ground_vel(a0) + move.w #0,x_vel(a0) + move.w #0,y_vel(a0) + + btst #Status_Facing,status(a0) + beq.s + + subq.w #1,x_pos(a0) ++ bsr.w Knux_TouchFloor - move.b #5,$20(a0) + move.b #5,anim(a0) locret_16FA6: rts @@ -31012,28 +31156,30 @@ locret_16FA6: Knuckles_Set_Gliding_Animation: - move.b #$20,$24(a0) - move.b #0,$23(a0) - move.w #$2020,$20(a0) - bclr #5,$2A(a0) - bclr #0,$2A(a0) + move.b #$20,anim_frame_timer(a0) + move.b #0,anim_frame(a0) + move.w #$2020,anim(a0) + bclr #Status_Push,status(a0) + bclr #Status_Facing,status(a0) + + ; Update Knuckles' frame, depending on where he's facing. moveq #0,d0 - move.b $25(a0),d0 + move.b double_jump_property(a0),d0 addi.b #$10,d0 lsr.w #5,d0 - move.b byte_16FEE(pc,d0.w),d1 - move.b d1,$22(a0) + move.b RawAni_Knuckles_GlideTurn(pc,d0.w),d1 + move.b d1,mapping_frame(a0) cmpi.b #$C4,d1 - bne.s locret_16FEC - bset #0,$2A(a0) - move.b #$C0,$22(a0) - -locret_16FEC: + bne.s + + bset #Status_Facing,status(a0) + move.b #$C0,mapping_frame(a0) ++ rts ; End of function Knuckles_Set_Gliding_Animation ; --------------------------------------------------------------------------- -byte_16FEE: dc.b $C0 +RawAni_Knuckles_GlideTurn: + dc.b $C0 dc.b $C1 dc.b $C2 dc.b $C3 @@ -31047,96 +31193,123 @@ byte_16FEE: dc.b $C0 Knuckles_Move_Glide: cmpi.b #1,double_jump_flag(a0) - bne.w loc_170B4 - move.w $1C(a0),d0 + bne.w .doNotKillspeed + + move.w ground_vel(a0),d0 cmpi.w #$400,d0 - bhs.s loc_1700E + bhs.s .mediumSpeed + +;.lowSpeed: + ; Increase Knuckles' speed. addq.w #8,d0 - bra.s loc_17028 + bra.s .applySpeed ; --------------------------------------------------------------------------- - -loc_1700E: +; loc_1700E: +.mediumSpeed: + ; If Knuckles is at his speed limit, then don't increase his speed. cmpi.w #$1800,d0 - bhs.s loc_17028 - move.b $25(a0),d1 + bhs.s .applySpeed + + ; If Knuckles is turning, then don't increase his speed either. + move.b double_jump_property(a0),d1 andi.b #$7F,d1 - bne.s loc_17028 + bne.s .applySpeed + + ; Increase Knuckles' speed. addq.w #4,d0 + + ; Super Knuckles and Hyper Knuckles glide faster. tst.b (Super_Sonic_Knux_flag).w - beq.s loc_17028 + beq.s .applySpeed addq.w #8,d0 +; loc_17028: +.applySpeed: + move.w d0,ground_vel(a0) -loc_17028: - move.w d0,$1C(a0) - move.b $25(a0),d0 - btst #2,(Ctrl_1_logical).w - beq.s loc_17048 + move.b double_jump_property(a0),d0 + btst #button_left,(Ctrl_1_logical).w + beq.s .notHoldingLeft + +;.holdingLeft: + ; Playing is holding left. cmpi.b #$80,d0 - beq.s loc_17048 + beq.s .notHoldingLeft tst.b d0 - bpl.s loc_17044 + bpl.s .doNotNegate1 neg.b d0 -loc_17044: +.doNotNegate1: addq.b #2,d0 - bra.s loc_17066 + bra.s .setNewTurningValue ; --------------------------------------------------------------------------- +; loc_17048: +.notHoldingLeft: + btst #button_right,(Ctrl_1_logical).w + beq.s .notHoldingRight -loc_17048: - btst #3,(Ctrl_1_logical).w - beq.s loc_1705C +;.holdingRight: + ; Playing is holding right. tst.b d0 - beq.s loc_1705C - bmi.s loc_17058 + beq.s .notHoldingRight + bmi.s .doNotNegate2 neg.b d0 -loc_17058: +.doNotNegate2: addq.b #2,d0 - bra.s loc_17066 + bra.s .setNewTurningValue ; --------------------------------------------------------------------------- - -loc_1705C: +; loc_1705C: +.notHoldingRight: move.b d0,d1 andi.b #$7F,d1 - beq.s loc_17066 + beq.s .setNewTurningValue addq.b #2,d0 +; loc_17066: +.setNewTurningValue: + move.b d0,double_jump_property(a0) -loc_17066: - move.b d0,$25(a0) - move.b $25(a0),d0 + move.b double_jump_property(a0),d0 jsr (GetSineCosine).l - muls.w $1C(a0),d1 + muls.w ground_vel(a0),d1 asr.l #8,d1 - move.w d1,$18(a0) - cmpi.w #$80,$1A(a0) - blt.s loc_1708E - subi.w #$20,$1A(a0) - bra.s loc_17094 -; --------------------------------------------------------------------------- - -loc_1708E: - addi.w #$20,$1A(a0) - -loc_17094: + move.w d1,x_vel(a0) + + ; Is Knuckles is falling at a high speed, then create a parachute + ; effect, where gliding makes Knuckles fall slower. + cmpi.w #$80,y_vel(a0) + blt.s .fallingSlow + subi.w #$20,y_vel(a0) + bra.s .fallingFast +; --------------------------------------------------------------------------- +; loc_1708E: +.fallingSlow: + ; Apply gravity. + addi.w #$20,y_vel(a0) +; loc_17094: +.fallingFast: + ; If Knuckles is above the level's top boundary, then kill his + ; horizontal speed. move.w (Camera_min_Y_pos).w,d0 cmpi.w #-$100,d0 - beq.w loc_170B4 + beq.w .doNotKillspeed + addi.w #$10,d0 - cmp.w $14(a0),d0 - ble.w loc_170B4 - asr $18(a0) - asr $1C(a0) + cmp.w y_pos(a0),d0 + ble.w .doNotKillspeed -loc_170B4: + asr.w x_vel(a0) + asr.w ground_vel(a0) +; loc_170B4: +.doNotKillspeed: cmpi.w #$60,(a5) - beq.s locret_170C0 - bcc.s loc_170BE - addq.w #4,(a5) + beq.s .doNotModifyBias + bhs.s .goUp + addq.w #2*2,(a5) -loc_170BE: +.goUp: subq.w #2,(a5) - -locret_170C0: +; locret_170C0: +.doNotModifyBias: rts ; End of function Knuckles_Move_Glide @@ -31180,7 +31353,7 @@ locret_17116: Knux_Spin_Freespace: bsr.w Knux_JumpHeight - bsr.w sub_17680 + bsr.w Knux_ChgJumpDir bsr.w Player_LevelBound jsr (MoveSprite_TestGravity).l btst #6,$2A(a0) @@ -31524,7 +31697,7 @@ loc_1746A: tst.b $2D(a0) bmi.s locret_174B2 move.w #sfx_Skid,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.b #$D,$20(a0) bclr #0,$2A(a0) cmpi.b #$C,$2C(a0) @@ -31579,7 +31752,7 @@ loc_174F0: tst.b $2D(a0) bmi.s locret_17538 move.w #sfx_Skid,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.b #$D,$20(a0) bset #0,$2A(a0) cmpi.b #$C,$2C(a0) @@ -31755,8 +31928,8 @@ loc_1767A: ; =============== S U B R O U T I N E ======================================= - -sub_17680: +; sub_17680: +Knux_ChgJumpDir: move.w (a4),d6 move.w 2(a4),d5 asl.w #1,d5 @@ -31827,7 +32000,7 @@ loc_1770A: locret_1770E: rts -; End of function sub_17680 +; End of function Knux_ChgJumpDir ; =============== S U B R O U T I N E ======================================= @@ -31874,7 +32047,7 @@ loc_1775C: move.b #1,$40(a0) clr.b $3C(a0) move.w #sfx_Jump,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.b $44(a0),$1E(a0) move.b $45(a0),$1F(a0) btst #2,$2A(a0) @@ -31947,13 +32120,13 @@ Knux_Test_For_Glide: bne.s loc_1786C cmpi.b #7,(Super_emerald_count).w bhs.s loc_1785E - cmpi.b #7,(Emerald_count).w + cmpi.b #7,(Chaos_emerald_count).w blo.s loc_1786C tst.b (Emeralds_converted_flag).w bne.s loc_1786C loc_1785E: - cmpi.w #$32,(Ring_count).w + cmpi.w #50,(Ring_count).w blo.s loc_1786C tst.b (Update_HUD_timer).w bne.s Knux_Transform @@ -31981,8 +32154,8 @@ loc_178AE: move.w d0,$18(a0) move.b d1,$25(a0) move.w #0,$26(a0) - move.b #0,(_unkF74E).w - bset #1,(_unkF74E).w + move.b #0,(Gliding_collision_flags).w + bset #Status_InAir,(Gliding_collision_flags).w bsr.w Knuckles_Set_Gliding_Animation locret_178CC: @@ -32013,10 +32186,10 @@ Knux_Transform: move.w #$C0,Deceleration-Max_speed(a4) move.b #0,invincibility_timer(a0) bset #Status_Invincible,status_secondary(a0) - moveq #sfx_SuperTransform,d0 - jsr (Play_Sound_2).l - moveq #mus_Invincibility,d0 ; play invincibility theme - jmp (Play_Sound).l + moveq #signextendB(sfx_SuperTransform),d0 + jsr (Play_SFX).l + moveq #signextendB(mus_Invincibility),d0 ; play invincibility theme + jmp (Play_Music).l ; End of function Knux_JumpHeight @@ -32047,7 +32220,7 @@ loc_17952: bpl.s loc_1799C sub.w d1,$10(a0) move.w #0,$18(a0) - bset #5,(_unkF74E).w + bset #Status_Push,(Gliding_collision_flags).w loc_1799C: bsr.w CheckRightWallDist @@ -32055,7 +32228,7 @@ loc_1799C: bpl.s loc_179B4 add.w d1,$10(a0) move.w #0,$18(a0) - bset #5,(_unkF74E).w + bset #Status_Push,(Gliding_collision_flags).w loc_179B4: bsr.w sub_11FD6 @@ -32069,7 +32242,7 @@ loc_179C4: add.w d1,$14(a0) move.b d3,$26(a0) move.w #0,$1A(a0) - bclr #1,(_unkF74E).w + bclr #Status_InAir,(Gliding_collision_flags).w locret_179D8: rts @@ -32081,7 +32254,7 @@ loc_179DA: bpl.s loc_179F2 sub.w d1,$10(a0) move.w #0,$18(a0) - bset #5,(_unkF74E).w + bset #Status_Push,(Gliding_collision_flags).w loc_179F2: bsr.w sub_11FEE @@ -32110,7 +32283,7 @@ loc_17A1C: bpl.s locret_17A34 add.w d1,$10(a0) move.w #0,$18(a0) - bset #5,(_unkF74E).w + bset #Status_Push,(Gliding_collision_flags).w locret_17A34: rts @@ -32130,7 +32303,7 @@ loc_17A4C: add.w d1,$14(a0) move.b d3,$26(a0) move.w #0,$1A(a0) - bclr #1,(_unkF74E).w + bclr #Status_InAir,(Gliding_collision_flags).w locret_17A60: rts @@ -32142,7 +32315,7 @@ loc_17A62: bpl.s loc_17A7A sub.w d1,$10(a0) move.w #0,$18(a0) - bset #5,(_unkF74E).w + bset #Status_Push,(Gliding_collision_flags).w loc_17A7A: jsr (CheckRightWallDist).l @@ -32150,7 +32323,7 @@ loc_17A7A: bpl.s loc_17A94 add.w d1,$10(a0) move.w #0,$18(a0) - bset #5,(_unkF74E).w + bset #Status_Push,(Gliding_collision_flags).w loc_17A94: bsr.w sub_11FEE @@ -32174,7 +32347,7 @@ loc_17AB0: bpl.s loc_17ACA add.w d1,$10(a0) move.w #0,$18(a0) - bset #5,(_unkF74E).w + bset #Status_Push,(Gliding_collision_flags).w loc_17ACA: bsr.w sub_11FEE @@ -32208,15 +32381,15 @@ loc_17B02: add.w d1,$14(a0) move.b d3,$26(a0) move.w #0,$1A(a0) - bclr #1,(_unkF74E).w + bclr #Status_InAir,(Gliding_collision_flags).w locret_17B16: rts ; End of function Knux_DoLevelCollision_CheckRet ; --------------------------------------------------------------------------- +; unused/dead code -; Some unused code Knux_TouchFloor_Check_Spindash: tst.b $3D(a0) bne.s loc_17B6A @@ -32623,7 +32796,6 @@ loc_17EE4: ; --------------------------------------------------------------------------- AniKnuckles: include "General/Sprites/Knuckles/Anim - Knuckles.asm" - ; =============== S U B R O U T I N E ======================================= @@ -32667,10 +32839,9 @@ locret_18162: ; End of function Knuckles_Load_PLC ; --------------------------------------------------------------------------- -; ---------------------------------------------------------------------------- ; Small bubbles from Sonic's face while underwater -; ---------------------------------------------------------------------------- -Obj_Air_CountDown: +; --------------------------------------------------------------------------- +Obj_AirCountdown: moveq #0,d0 move.b routine(a0),d0 move.w AirCountdown_Index(pc,d0.w),d1 @@ -32714,7 +32885,7 @@ loc_181CC: move.w #-$100,y_vel(a0) AirCountdown_Animate: - lea (Ani_Shields).l,a1 + lea (Ani_AirCountdown).l,a1 jsr (Animate_Sprite).l AirCountdown_ChkWater: @@ -32763,7 +32934,7 @@ loc_1824E: AirCountdown_Display: bsr.s AirCountdown_ShowNumber - lea (Ani_Shields).l,a1 + lea (Ani_AirCountdown).l,a1 jsr (Animate_Sprite).l bsr.w AirCountdown_Load_Art jmp (Draw_Sprite).l @@ -32785,7 +32956,7 @@ AirCountdown_AirLeft: ; --------------------------------------------------------------------------- AirCountdown_Display2: - lea (Ani_Shields).l,a1 + lea (Ani_AirCountdown).l,a1 jsr (Animate_Sprite).l bsr.w AirCountdown_Load_Art tst.b render_flags(a0) @@ -32802,7 +32973,7 @@ AirCountdown_DisplayNumber: cmpi.b #$C,air_left(a2) bhi.s AirCountdown_Delete bsr.s AirCountdown_ShowNumber - lea (Ani_Shields).l,a1 + lea (Ani_AirCountdown).l,a1 jsr (Animate_Sprite).l jmp (Draw_Sprite).l @@ -32873,7 +33044,7 @@ AirCountdown_Load_Art: add.w d1,d1 add.w d0,d1 lsl.w #6,d1 - addi.l #ArtUnc_AirCountDown,d1 + addi.l #ArtUnc_AirCountdown,d1 move.w #tiles_to_bytes(ArtTile_DashDust),d2 tst.b parent+1(a0) beq.s loc_1845A @@ -32921,8 +33092,8 @@ AirCountdown_Countdown: bne.s loc_184E8 tst.b parent+1(a0) bne.s loc_184E8 - moveq #mus_Drowning,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Drowning),d0 + jsr (Play_Music).l loc_184E8: subq.b #1,$36(a0) @@ -32935,15 +33106,15 @@ loc_184E8: AirCountdown_WarnSound: tst.b parent+1(a0) bne.s AirCountdown_ReduceAir - moveq #sfx_AirDing,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_AirDing),d0 + jsr (Play_SFX).l AirCountdown_ReduceAir: subq.b #1,air_left(a2) bcc.w loc_18592 move.b #$81,object_control(a2) move.w #sfx_Drown,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.b #$A,$38(a0) move.w #1,$3A(a0) move.w #$78,$30(a0) @@ -33067,7 +33238,7 @@ Player_ResetAirTimer: bhi.s loc_186BC ; branch if countdown hasn't started yet cmpa.w #Player_1,a1 bne.s loc_186BC ; branch if it isn't player 1 - move.w (Level_music).w,d0 ; prepare to play current level's music + move.w (Current_music).w,d0 ; prepare to play current level's music btst #Status_Invincible,status_secondary(a1) beq.s loc_186A0 ; branch if Sonic is not invincible move.w #mus_Invincibility,d0 ; prepare to play invincibility music @@ -33083,7 +33254,7 @@ loc_186AC: move.w #mus_MinibossK,d0 ; prepare to play boss music loc_186B6: - jsr (Play_Sound).l + jsr (Play_Music).l loc_186BC: move.b #$1E,air_left(a1) ; reset air to full @@ -33091,45 +33262,45 @@ loc_186BC: ; End of function Player_ResetAirTimer ; --------------------------------------------------------------------------- -Ani_Shields: include "General/Sprites/Shields/Anim - Shields.asm" - +Ani_AirCountdown: + include "General/Sprites/Dash Dust/Anim - Air Countdown.asm" ; --------------------------------------------------------------------------- -Obj_Shield_S2: +Obj_S2Shield: moveq #0,d0 move.b routine(a0),d0 - move.w Obj_Shield_S2_Index(pc,d0.w),d1 - jmp Obj_Shield_S2_Index(pc,d1.w) + move.w Obj_S2Shield_Index(pc,d0.w),d1 + jmp Obj_S2Shield_Index(pc,d1.w) ; --------------------------------------------------------------------------- -Obj_Shield_S2_Index: - dc.w Obj_Shield_S2_Init-Obj_Shield_S2_Index - dc.w Obj_Shield_S2_Main-Obj_Shield_S2_Index +Obj_S2Shield_Index: + dc.w Obj_S2Shield_Init-Obj_S2Shield_Index + dc.w Obj_S2Shield_Main-Obj_S2Shield_Index ; --------------------------------------------------------------------------- -Obj_Shield_S2_Init: +Obj_S2Shield_Init: addq.b #2,routine(a0) - move.l #Map_Shield_S2,mappings(a0) + move.l #Map_S2Shield,mappings(a0) move.b #4,render_flags(a0) move.w #$80,priority(a0) move.b #$18,width_pixels(a0) move.w #ArtTile_Shield,art_tile(a0) -Obj_Shield_S2_Main: +Obj_S2Shield_Main: movea.w parent(a0),a2 btst #Status_Invincible,status_secondary(a2) bne.s locret_187D6 btst #Status_Shield,status_secondary(a2) - beq.s Obj_Shield_S2_Destroy + beq.s Obj_S2Shield_Destroy move.w x_pos(a2),x_pos(a0) move.w y_pos(a2),y_pos(a0) move.b status(a2),status(a0) andi.w #drawing_mask,art_tile(a0) tst.w art_tile(a2) - bpl.s Obj_Shield_S2_Display + bpl.s Obj_S2Shield_Display ori.w #high_priority,art_tile(a0) -Obj_Shield_S2_Display: - lea (Ani_Shield_S2).l,a1 +Obj_S2Shield_Display: + lea (Ani_S2Shield).l,a1 jsr (Animate_Sprite).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -33138,11 +33309,10 @@ locret_187D6: rts ; --------------------------------------------------------------------------- -Obj_Shield_S2_Destroy: +Obj_S2Shield_Destroy: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -off_187DE: - dc.l byte_189ED +off_187DE: dc.l byte_189ED dc.w $B dc.l byte_18A02 dc.w $160D @@ -33303,22 +33473,18 @@ sub_1898A: word_189A0: dc.w $F00, $F03, $E06, $D08, $B0B, $80D, $60E, $30F, $10, $FC0F, $F90E, $F70D, $F40B, $F208, $F106, $F003 dc.w $F000, $F0FC, $F1F9, $F2F7, $F4F4, $F7F2, $F9F1, $FCF0, $FFF0, $3F0, $6F1, $8F2, $BF4, $DF7, $EF9, $FFC byte_189E0: dc.b 8, 5, 7, 6, 6, 7, 5, 8, 6, 7, 7, 6, $FF - byte_189ED: dc.b 8, 7, 6, 5, 4, 3, 4, 5, 6, 7, $FF, 3, 4, 5, 6, 7, 8, 7, 6, 5 dc.b 4 - byte_18A02: dc.b 8, 7, 6, 5, 4, 3, 2, 3, 4, 5, 6, 7, $FF, 2, 3, 4, 5, 6, 7, 8 dc.b 7, 6, 5, 4, 3 - byte_18A1B: dc.b 7, 6, 5, 4, 3, 2, 1, 2, 3, 4, 5, 6, $FF, 1, 2, 3, 4, 5, 6, 7 dc.b 6, 5, 4, 3, 2 - -Ani_Shield_S2: include "General/Sprites/Shields/Anim - Shield S2.asm" - -Map_Shield_S2: include "General/Sprites/Shields/Map - Shield S2.asm" - -Map_Invincibility:include "General/Sprites/Shields/Map - Invincibility.asm" - +Ani_S2Shield: + include "General/Sprites/Shields/Anim - S2 Shield.asm" +Map_S2Shield: + include "General/Sprites/Shields/Map - S2 Shield.asm" +Map_Invincibility: + include "General/Sprites/Shields/Map - Invincibility.asm" ; --------------------------------------------------------------------------- Obj_DashDust: @@ -33328,9 +33494,9 @@ Obj_DashDust: jmp off_18B4C(pc,d1.w) ; --------------------------------------------------------------------------- off_18B4C: dc.w loc_18B54-off_18B4C - dc.w loc_18BAA-off_18B4C; 1 - dc.w loc_18CB2-off_18B4C; 2 - dc.w loc_18CB6-off_18B4C; 3 + dc.w loc_18BAA-off_18B4C + dc.w loc_18CB2-off_18B4C + dc.w loc_18CB6-off_18B4C ; --------------------------------------------------------------------------- loc_18B54: @@ -33543,12 +33709,12 @@ locret_18DBE: ; End of function DashDust_Load_DPLC ; --------------------------------------------------------------------------- -Ani_DashSplashDrown:include "General/Sprites/Dash Dust/Anim - Dash Dust.asm" - -Map_DashDust: include "General/Sprites/Dash Dust/Map - Dash Dust.asm" - -DPLC_DashSplashDrown:include "General/Sprites/Dash Dust/DPLC - Dash Dust.asm" - +Ani_DashSplashDrown: + include "General/Sprites/Dash Dust/Anim - Dash Dust.asm" +Map_DashDust: + include "General/Sprites/Dash Dust/Map - Dash Dust.asm" +DPLC_DashSplashDrown: + include "General/Sprites/Dash Dust/DPLC - Dash Dust.asm" ; --------------------------------------------------------------------------- Obj_DashDust2P: @@ -33671,9 +33837,7 @@ locret_190F0: rts ; --------------------------------------------------------------------------- Ani_DashDust2P: include "General/Sprites/Dash Dust/Anim - Dash Dust 2P.asm" - Map_DashDust2P: include "General/Sprites/Dash Dust/Map - Dash Dust 2P.asm" - ; --------------------------------------------------------------------------- Obj_SuperSonicKnux_Stars: @@ -33814,7 +33978,8 @@ loc_192CC: bsr.w MoveSprite2 bra.w Draw_Sprite ; --------------------------------------------------------------------------- -Map_SuperSonic_Stars: include "General/Sprites/Shields/Map - Super Sonic Stars.asm" +Map_SuperSonic_Stars: + include "General/Sprites/Shields/Map - Super Sonic Stars.asm" ; --------------------------------------------------------------------------- Obj_HyperSonic_Stars: @@ -33870,7 +34035,7 @@ Obj_HyperSonic_Stars_Main: move.w (Player_1+x_pos).w,x_pos(a0) move.w (Player_1+y_pos).w,y_pos(a0) moveq #2,d2 - bsr.w Obj_Lightning_Shield_Create_Spark_Part2 + bsr.w Obj_LightningShield_CreateSpark_Part2 move.b #4,(Hyper_Sonic_flash_timer).w .child: @@ -33924,15 +34089,15 @@ loc_19480: loc_19486: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Map_HyperSonicStars:include "General/Sprites/Sonic/Map - Hyper Sonic Stars.asm" - +Map_HyperSonicStars: + include "General/Sprites/Sonic/Map - Hyper Sonic Stars.asm" ; --------------------------------------------------------------------------- -Obj_Insta_Shield: +Obj_InstaShield: ; Init move.l #Map_InstaShield,mappings(a0) - move.l #DPLC_InstaShield,DPLC_Address(a0) ; Used by PLCLoad_Shields - move.l #ArtUnc_InstaShield,Art_Address(a0) ; Used by PLCLoad_Shields + move.l #DPLC_InstaShield,shield_plc(a0) ; Used by PLCLoad_Shields + move.l #ArtUnc_InstaShield,shield_art(a0) ; Used by PLCLoad_Shields move.b #4,render_flags(a0) move.w #$80,priority(a0) move.b #$18,width_pixels(a0) @@ -33945,12 +34110,12 @@ Obj_Insta_Shield: .nothighpriority: move.w #1,anim(a0) ; Clear anim and set prev_anim to 1 - move.b #-1,LastLoadedDPLC(a0) ; Reset LastLoadedDPLC (used by PLCLoad_Shields) - move.l #Obj_Insta_Shield_Main,(a0) + move.b #-1,shield_prev_frame(a0) ; Reset shield_prev_frame (used by PLCLoad_Shields) + move.l #Obj_InstaShield_Main,(a0) -Obj_Insta_Shield_Main: +Obj_InstaShield_Main: movea.w parent(a0),a2 - btst #Status_Invincible,status_secondary(a2) ; Is the player invincible? + btst #Status_Invincible,status_secondary(a2) ; Is the player invincible? bne.s locret_195A4 ; If so, return move.w x_pos(a2),x_pos(a0) ; Inherit player's x_pos move.w y_pos(a2),y_pos(a0) ; Inherit player's y_pos @@ -33992,11 +34157,11 @@ locret_195A4: rts ; --------------------------------------------------------------------------- -Obj_Fire_Shield: +Obj_FireShield: ; Init move.l #Map_FireShield,mappings(a0) - move.l #DPLC_FireShield,DPLC_Address(a0) ; Used by PLCLoad_Shields - move.l #ArtUnc_FireShield,Art_Address(a0) ; Used by PLCLoad_Shields + move.l #DPLC_FireShield,shield_plc(a0) ; Used by PLCLoad_Shields + move.l #ArtUnc_FireShield,shield_art(a0) ; Used by PLCLoad_Shields move.b #4,render_flags(a0) move.w #$80,priority(a0) move.b #$18,width_pixels(a0) @@ -34009,19 +34174,19 @@ Obj_Fire_Shield: loc_195F0: move.w #1,anim(a0) ; Clear anim and set prev_anim to 1 - move.b #-1,LastLoadedDPLC(a0) ; Reset LastLoadedDPLC (used by PLCLoad_Shields) - move.l #Obj_Fire_Shield_Main,(a0) + move.b #-1,shield_prev_frame(a0) ; Reset shield_prev_frame (used by PLCLoad_Shields) + move.l #Obj_FireShield_Main,(a0) -Obj_Fire_Shield_Main: +Obj_FireShield_Main: movea.w parent(a0),a2 - btst #Status_Invincible,status_secondary(a2) ; Is player invincible? + btst #Status_Invincible,status_secondary(a2) ; Is player invincible? bne.w locret_19690 ; If so, do not display and do not update variables cmpi.b #$1C,anim(a2) ; Is player in their 'blank' animation? beq.s locret_19690 ; If so, do not display and do not update variables - btst #Status_Shield,status_secondary(a2) ; Should the player still have a shield? - beq.w Obj_Fire_Shield_Destroy ; If not, change to Insta-Shield + btst #Status_Shield,status_secondary(a2) ; Should the player still have a shield? + beq.w Obj_FireShield_Destroy ; If not, change to Insta-Shield btst #Status_Underwater,status(a2) ; Is player underwater? - bne.s Obj_Fire_Shield_DestroyUnderwater ; If so, branch + bne.s Obj_FireShield_DestroyUnderwater ; If so, branch move.w x_pos(a2),x_pos(a0) move.w y_pos(a2),y_pos(a0) tst.b anim(a0) ; Is shield in its 'dashing' state? @@ -34055,31 +34220,31 @@ locret_19690: rts ; --------------------------------------------------------------------------- -Obj_Fire_Shield_DestroyUnderwater: +Obj_FireShield_DestroyUnderwater: andi.b #$8E,status_secondary(a2) ; Sets Status_Shield, Status_FireShield, Status_LtngShield, and Status_BublShield to 0 jsr (Create_New_Sprite).l ; Set up for a new object - bne.w Obj_Fire_Shield_Destroy ; If that can't happen, branch + bne.w Obj_FireShield_Destroy ; If that can't happen, branch move.l #Obj_FireShield_Dissipate,(a1) ; Create dissipate object move.w x_pos(a0),x_pos(a1) ; Put it at shields' x_pos move.w y_pos(a0),y_pos(a1) ; Put it at shields' y_pos -Obj_Fire_Shield_Destroy: +Obj_FireShield_Destroy: andi.b #$8E,status_secondary(a2) ; Sets Status_Shield, Status_FireShield, Status_LtngShield, and Status_BublShield to 0 - move.l #Obj_Insta_Shield,(a0) ; Replace the Fire Shield with the Insta-Shield + move.l #Obj_InstaShield,(a0) ; Replace the Fire Shield with the Insta-Shield rts ; --------------------------------------------------------------------------- -Obj_Lightning_Shield: +Obj_LightningShield: ; init ; Load Spark art - move.l #ArtUnc_Obj_Lightning_Shield_Sparks,d1 ; Load art source + move.l #ArtUnc_LightningShield_Sparks,d1 ; Load art source move.w #tiles_to_bytes(ArtTile_Shield_Sparks),d2 ; Load art destination - move.w #(ArtUnc_Obj_Lightning_Shield_Sparks_end-ArtUnc_Obj_Lightning_Shield_Sparks)/2,d3 ; Size of art (in words) + move.w #(ArtUnc_LightningShield_Sparks_end-ArtUnc_LightningShield_Sparks)/2,d3 ; Size of art (in words) jsr (Add_To_DMA_Queue).l move.l #Map_LightningShield,mappings(a0) - move.l #DPLC_LightningShield,DPLC_Address(a0) ; Used by PLCLoad_Shields - move.l #ArtUnc_LightningShield,Art_Address(a0) ; Used by PLCLoad_Shields + move.l #DPLC_LightningShield,shield_plc(a0) ; Used by PLCLoad_Shields + move.l #ArtUnc_LightningShield,shield_art(a0) ; Used by PLCLoad_Shields move.b #4,render_flags(a0) move.w #$80,priority(a0) move.b #$18,width_pixels(a0) @@ -34092,19 +34257,19 @@ Obj_Lightning_Shield: .nothighpriority: move.w #1,anim(a0) ; Clear anim and set prev_anim to 1 - move.b #-1,LastLoadedDPLC(a0) ; Reset LastLoadedDPLC (used by PLCLoad_Shields) - move.l #Obj_Lightning_Shield_Main,(a0) + move.b #-1,shield_prev_frame(a0) ; Reset shield_prev_frame (used by PLCLoad_Shields) + move.l #Obj_LightningShield_Main,(a0) -Obj_Lightning_Shield_Main: +Obj_LightningShield_Main: movea.w parent(a0),a2 btst #Status_Invincible,status_secondary(a2) ; Is player invincible? bne.w locret_197C4 ; If so, do not display and do not update variables cmpi.b #$1C,anim(a2) ; Is player in their 'blank' animation? beq.s locret_197C4 ; If so, do not display and do not update variables btst #Status_Shield,status_secondary(a2) ; Should the player still have a shield? - beq.s Obj_Lightning_Shield_Destroy ; If not, change to Insta-Shield + beq.s Obj_LightningShield_Destroy ; If not, change to Insta-Shield btst #Status_Underwater,status(a2) ; Is player underwater? - bne.s Obj_Lightning_Shield_DestroyUnderwater ; If so, branch + bne.s Obj_LightningShield_DestroyUnderwater ; If so, branch move.w x_pos(a2),x_pos(a0) move.w y_pos(a2),y_pos(a0) move.b status(a2),status(a0) ; Inherit status @@ -34121,11 +34286,11 @@ Obj_Lightning_Shield_Main: .nothighpriority: tst.b anim(a0) ; Is shield in its 'double jump' state? - beq.s Obj_Lightning_Shield_Display ; Is not, branch and display - bsr.s Obj_Lightning_Shield_Create_Spark ; Create sparks + beq.s Obj_LightningShield_Display ; Is not, branch and display + bsr.s Obj_LightningShield_CreateSpark ; Create sparks clr.b anim(a0) ; Once done, return to non-'double jump' state -Obj_Lightning_Shield_Display: +Obj_LightningShield_Display: lea (Ani_LightningShield).l,a1 jsr (Animate_Sprite).l move.w #$80,priority(a0) ; Layer shield over player sprite @@ -34142,18 +34307,18 @@ locret_197C4: rts ; --------------------------------------------------------------------------- -Obj_Lightning_Shield_DestroyUnderwater: +Obj_LightningShield_DestroyUnderwater: tst.w (Palette_fade_timer).w - beq.s Obj_Lightning_Shield_FlashWater + beq.s Obj_LightningShield_FlashWater -Obj_Lightning_Shield_Destroy: +Obj_LightningShield_Destroy: andi.b #$8E,status_secondary(a2) ; Sets Status_Shield, Status_FireShield, Status_LtngShield, and Status_BublShield to 0 - move.l #Obj_Insta_Shield,(a0) ; Replace the Lightning Shield with the Insta-Shield + move.l #Obj_InstaShield,(a0) ; Replace the Lightning Shield with the Insta-Shield rts ; --------------------------------------------------------------------------- -Obj_Lightning_Shield_FlashWater: - move.l #Obj_Lightning_Shield_DestroyUnderwater2,(a0) +Obj_LightningShield_FlashWater: + move.l #Obj_LightningShield_DestroyUnderwater2,(a0) andi.b #$8E,status_secondary(a2) ; Sets Status_Shield, Status_FireShield, Status_LtngShield, and Status_BublShield to 0 ; Flashes the underwater palette white @@ -34173,17 +34338,17 @@ loc_197F2: ; =============== S U B R O U T I N E ======================================= -Obj_Lightning_Shield_Create_Spark: +Obj_LightningShield_CreateSpark: moveq #1,d2 -Obj_Lightning_Shield_Create_Spark_Part2: +Obj_LightningShield_CreateSpark_Part2: lea (SparkVelocities).l,a2 moveq #3,d1 loc_19816: bsr.w Create_New_Sprite ; Find free object slot bne.s locret_19862 ; If one can't be found, return - move.l #Obj_Lightning_Shield_Spark,(a1) ; Make new object a Spark + move.l #Obj_LightningShield_Spark,(a1) ; Make new object a Spark move.w x_pos(a0),x_pos(a1) ; (Spark) Inherit x_pos from source object (Lightning Shield, Hyper Sonic Stars) move.w y_pos(a0),y_pos(a1) ; (Spark) Inherit y_pos from source object (Lightning Shield, Hyper Sonic Stars) move.l mappings(a0),mappings(a1) ; (Spark) Inherit mappings from source object (Lightning Shield, Hyper Sonic Stars) @@ -34199,7 +34364,7 @@ loc_19816: locret_19862: rts -; End of function Obj_Lightning_Shield_Create_Spark +; End of function Obj_LightningShield_CreateSpark ; --------------------------------------------------------------------------- SparkVelocities:dc.w -$200, -$200 @@ -34208,24 +34373,24 @@ SparkVelocities:dc.w -$200, -$200 dc.w $200, $200 ; --------------------------------------------------------------------------- -Obj_Lightning_Shield_Spark: +Obj_LightningShield_Spark: jsr (MoveSprite2).l addi.w #$18,y_vel(a0) lea (Ani_LightningShield).l,a1 jsr (Animate_Sprite).l tst.b routine(a0) ; Changed by Animate_Sprite - bne.s Obj_Lightning_Shield_Spark_Delete + bne.s Obj_LightningShield_Spark_Delete jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Obj_Lightning_Shield_Spark_Delete: +Obj_LightningShield_Spark_Delete: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Obj_Lightning_Shield_DestroyUnderwater2: +Obj_LightningShield_DestroyUnderwater2: subq.b #1,anim_frame_timer(a0) ; Is it time to end the white flash? bpl.s locret_198BC ; If not, return - move.l #Obj_Insta_Shield,(a0) ; Replace Lightning Shield with Insta-Shield + move.l #Obj_InstaShield,(a0) ; Replace Lightning Shield with Insta-Shield lea (Target_water_palette).w,a1 lea (Water_palette).w,a2 move.w #($80/4)-1,d0 ; Size of Water_palette/4-1 @@ -34238,11 +34403,11 @@ locret_198BC: rts ; --------------------------------------------------------------------------- -Obj_Bubble_Shield: +Obj_BubbleShield: ; Init move.l #Map_BubbleShield,mappings(a0) - move.l #DPLC_BubbleShield,DPLC_Address(a0) ; Used by PLCLoad_Shields - move.l #ArtUnc_BubbleShield,Art_Address(a0) ; Used by PLCLoad_Shields + move.l #DPLC_BubbleShield,shield_plc(a0) ; Used by PLCLoad_Shields + move.l #ArtUnc_BubbleShield,shield_art(a0) ; Used by PLCLoad_Shields move.b #4,render_flags(a0) move.w #$80,priority(a0) move.b #$18,width_pixels(a0) @@ -34255,19 +34420,19 @@ Obj_Bubble_Shield: .nothighpriority: move.w #1,anim(a0) ; Clear anim and set prev_anim to 1 - move.b #-1,LastLoadedDPLC(a0) ; Reset LastLoadedDPLC (used by PLCLoad_Shields) + move.b #-1,shield_prev_frame(a0) ; Reset shield_prev_frame (used by PLCLoad_Shields) movea.w parent(a0),a1 bsr.w Player_ResetAirTimer - move.l #Obj_Bubble_Shield_Main,(a0) + move.l #Obj_BubbleShield_Main,(a0) -Obj_Bubble_Shield_Main: +Obj_BubbleShield_Main: movea.w parent(a0),a2 btst #Status_Invincible,status_secondary(a2) ; Is player invincible? bne.s locret_1998A ; If so, do not display and do not update variables cmpi.b #$1C,anim(a2) ; Is player in their 'blank' animation? beq.s locret_1998A ; If so, do not display and do not update variables btst #Status_Shield,status_secondary(a2) ; Should the player still have a shield? - beq.s Obj_Bubble_Shield_Destroy ; If not, change to Insta-Shield + beq.s Obj_BubbleShield_Destroy ; If not, change to Insta-Shield move.w x_pos(a2),x_pos(a0) move.w y_pos(a2),y_pos(a0) move.b status(a2),status(a0) ; Inherit status @@ -34293,9 +34458,9 @@ locret_1998A: rts ; --------------------------------------------------------------------------- -Obj_Bubble_Shield_Destroy: +Obj_BubbleShield_Destroy: andi.b #$8E,status_secondary(a2) ; Sets Status_Shield, Status_FireShield, Status_LtngShield, and Status_BublShield to 0 - move.l #Obj_Insta_Shield,(a0) ; Replace the Bubble Shield with the Insta-Shield + move.l #Obj_InstaShield,(a0) ; Replace the Bubble Shield with the Insta-Shield rts ; =============== S U B R O U T I N E ======================================= @@ -34304,10 +34469,10 @@ Obj_Bubble_Shield_Destroy: PLCLoad_Shields: moveq #0,d0 move.b mapping_frame(a0),d0 - cmp.b LastLoadedDPLC(a0),d0 + cmp.b shield_prev_frame(a0),d0 beq.s locret_199E8 - move.b d0,LastLoadedDPLC(a0) - movea.l DPLC_Address(a0),a2 + move.b d0,shield_prev_frame(a0) + movea.l shield_plc(a0),a2 add.w d0,d0 adda.w (a2,d0.w),a2 move.w (a2)+,d5 @@ -34324,7 +34489,7 @@ PLCLoad_Shields_ReadEntry: addi.w #$10,d3 andi.w #$FFF,d1 lsl.l #5,d1 - add.l Art_Address(a0),d1 + add.l shield_art(a0),d1 move.w d4,d2 add.w d3,d4 add.w d3,d4 @@ -34336,30 +34501,30 @@ locret_199E8: ; End of function PLCLoad_Shields ; --------------------------------------------------------------------------- -Ani_InstaShield:include "General/Sprites/Shields/Anim - Insta-Shield.asm" - -Ani_FireShield: include "General/Sprites/Shields/Anim - Fire Shield.asm" - -Ani_LightningShield:include "General/Sprites/Shields/Anim - Lightning Shield.asm" - -Ani_BubbleShield:include "General/Sprites/Shields/Anim - Bubble Shield.asm" - -Map_FireShield: include "General/Sprites/Shields/Map - Fire Shield.asm" - -DPLC_FireShield:include "General/Sprites/Shields/DPLC - Fire Shield.asm" - -Map_LightningShield:include "General/Sprites/Shields/Map - Lightning Shield.asm" - -DPLC_LightningShield:include "General/Sprites/Shields/DPLC - Lightning Shield.asm" - -Map_BubbleShield:include "General/Sprites/Shields/Map - Bubble Shield.asm" - -DPLC_BubbleShield:include "General/Sprites/Shields/DPLC - Bubble Shield.asm" - -Map_InstaShield:include "General/Sprites/Shields/Map - Insta-Shield.asm" - -DPLC_InstaShield:include "General/Sprites/Shields/DPLC - Insta-Shield.asm" - +Ani_InstaShield: + include "General/Sprites/Shields/Anim - Insta-Shield.asm" +Ani_FireShield: + include "General/Sprites/Shields/Anim - Fire Shield.asm" +Ani_LightningShield: + include "General/Sprites/Shields/Anim - Lightning Shield.asm" +Ani_BubbleShield: + include "General/Sprites/Shields/Anim - Bubble Shield.asm" +Map_FireShield: + include "General/Sprites/Shields/Map - Fire Shield.asm" +DPLC_FireShield: + include "General/Sprites/Shields/DPLC - Fire Shield.asm" +Map_LightningShield: + include "General/Sprites/Shields/Map - Lightning Shield.asm" +DPLC_LightningShield: + include "General/Sprites/Shields/DPLC - Lightning Shield.asm" +Map_BubbleShield: + include "General/Sprites/Shields/Map - Bubble Shield.asm" +DPLC_BubbleShield: + include "General/Sprites/Shields/DPLC - Bubble Shield.asm" +Map_InstaShield: + include "General/Sprites/Shields/Map - Insta-Shield.asm" +DPLC_InstaShield: + include "General/Sprites/Shields/DPLC - Insta-Shield.asm" ; --------------------------------------------------------------------------- superTailsBirds_target_found = $30 superTailsBirds_search_delay = $32 @@ -34712,8 +34877,8 @@ loc_1A41A: ; End of function sub_1A434 ; --------------------------------------------------------------------------- -Map_SuperTails_Birds:include "General/Sprites/Tails/Map - Super Tails birds.asm" - +Map_SuperTails_Birds: + include "General/Sprites/Tails/Map - Super Tails birds.asm" ; --------------------------------------------------------------------------- Obj_HyperSonicKnux_Trail: @@ -34760,11 +34925,11 @@ Obj_Ring: move.w Ring_Index(pc,d0.w),d1 jmp Ring_Index(pc,d1.w) ; --------------------------------------------------------------------------- -Ring_Index: dc.w Obj_RingInit-Ring_Index ; 0 - dc.w Obj_RingAnimate-Ring_Index ; 2 - dc.w Obj_RingCollect-Ring_Index ; 4 - dc.w Obj_RingSparkle-Ring_Index ; 6 - dc.w Obj_RingDelete-Ring_Index ; 8 +Ring_Index: dc.w Obj_RingInit-Ring_Index + dc.w Obj_RingAnimate-Ring_Index + dc.w Obj_RingCollect-Ring_Index + dc.w Obj_RingSparkle-Ring_Index + dc.w Obj_RingDelete-Ring_Index ; --------------------------------------------------------------------------- Obj_RingInit: @@ -34781,7 +34946,7 @@ Obj_RingInit: Obj_RingAnimate: move.b (Rings_frame).w,mapping_frame(a0) - bra.w loc_1B662 + bra.w Sprite_CheckDeleteTouch3 ; --------------------------------------------------------------------------- Obj_RingCollect: @@ -34808,36 +34973,34 @@ GiveRing: addq.w #1,(Total_ring_count).w ; add 1 to the number of collected rings GiveRing_1P: - move.w #sfx_RingRight,d0 ; prepare to play the ring sound + move.w #sfx_RingRight,d0 ; prepare to play the ring sound cmpi.w #999,(Ring_count).w ; does the player 1 have 999 or more rings? - bhs.s JmpTo_Play_Sound_2 ; if yes, play the ring sound + bhs.s JmpTo_Play_SFX ; if yes, play the ring sound addq.w #1,(Ring_count).w ; add 1 to the ring count ori.b #1,(Update_HUD_ring_count).w ; set flag to update the ring counter in the HUD cmpi.w #100,(Ring_count).w ; does the player 1 have less than 100 rings? - blo.s JmpTo_Play_Sound_2 ; if yes, play the ring sound + blo.s JmpTo_Play_SFX ; if yes, play the ring sound bset #1,(Extra_life_flags).w ; test and set the flag for the first extra life beq.s loc_1A5D8 ; if it was clear before, branch cmpi.w #200,(Ring_count).w ; does the player 1 have less than 200 rings? - blo.s JmpTo_Play_Sound_2 ; if yes, play the ring sound + blo.s JmpTo_Play_SFX ; if yes, play the ring sound bset #2,(Extra_life_flags).w ; test and set the flag for the second extra life - bne.s JmpTo_Play_Sound_2 ; if it was set before, play the ring sound + bne.s JmpTo_Play_SFX ; if it was set before, play the ring sound loc_1A5D8: addq.b #1,(Life_count).w ; add 1 to the life count addq.b #1,(Update_HUD_life_count).w ; add 1 to the displayed life count - moveq #mus_ExtraLife,d0 ; prepare to play the extra life jingle - jmp (Play_Sound).l ; Sonic 2 wound up putting music in the stereo sound queue, this would have fixed it + moveq #signextendB(mus_ExtraLife),d0 ; prepare to play the extra life jingle + jmp (Play_Music).l ; Sonic 2 wound up putting music in the stereo sound queue, this would have fixed it ; --------------------------------------------------------------------------- -JmpTo_Play_Sound_2: - jmp (Play_Sound_2).l -; End of function GiveRing - +JmpTo_Play_SFX: + jmp (Play_SFX).l ; --------------------------------------------------------------------------- rts ; --------------------------------------------------------------------------- -loc_1A5F0: +GiveRing_Tails: cmpi.w #999,(Total_ring_count_P2).w bhs.s loc_1A5FC addq.w #1,(Total_ring_count_P2).w @@ -34863,12 +35026,14 @@ loc_1A608: loc_1A638: addq.b #1,(Life_count_P2).w - moveq #mus_ExtraLife,d0 - jmp (Play_Sound).l + moveq #signextendB(mus_ExtraLife),d0 + jmp (Play_Music).l ; --------------------------------------------------------------------------- loc_1A644: - jmp (Play_Sound_2).l + jmp (Play_SFX).l +; End of function GiveRing + ; --------------------------------------------------------------------------- Obj_Bouncing_Ring: @@ -34966,7 +35131,7 @@ loc_1A728: loc_1A738: move.w #$FF00|sfx_RingLoss,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l move.w #0,(Ring_count).w move.b #$80,(Update_HUD_ring_count).w move.b #0,(Extra_life_flags).w @@ -35035,7 +35200,7 @@ loc_1A7E8: bne.s loc_1A83C tst.b 4(a0) bpl.s loc_1A828 - jsr (sub_FCA0).l + jsr (RingCheckFloorDist_ReverseGravity).l tst.w d1 bpl.s loc_1A828 sub.w d1,$14(a0) @@ -35188,13 +35353,11 @@ AttractedRing_ApplyMovementY: ; End of function AttractedRing_Move ; --------------------------------------------------------------------------- -Ani_RingSparkle: include "General/Sprites/Ring/Anim - Ring Sparkle.asm" - +Ani_RingSparkle:include "General/Sprites/Ring/Anim - Ring Sparkle.asm" Map_Ring: include "General/Sprites/Ring/Map - Ring.asm" - ; --------------------------------------------------------------------------- -loc_1A9EE: +Obj_SlotRing: moveq #0,d0 move.b 5(a0),d0 move.w off_1A9FC(pc,d0.w),d1 @@ -35242,7 +35405,6 @@ loc_1AA62: ; --------------------------------------------------------------------------- Ani_Ring: include "General/Sprites/Ring/Anim - Ring.asm" - ; =============== S U B R O U T I N E ======================================= @@ -35668,8 +35830,8 @@ Render_Sprites: lea (Sprite_table_buffer).w,a6 tst.b (Level_started_flag).w beq.s loc_1AD4A - jsr (sub_DB44).l - jsr (sub_EB86).l + jsr (Render_HUD).l + jsr (Render_Rings).l loc_1AD4A: tst.w (a5) @@ -35677,7 +35839,7 @@ loc_1AD4A: lea 2(a5),a4 loc_1AD54: - movea.w (a4)+,a0 ; a0=object + movea.w (a4)+,a0 ; a0=object andi.b #$7F,render_flags(a0) ; clear on-screen flag move.b render_flags(a0),d6 move.w x_pos(a0),d0 @@ -36287,7 +36449,7 @@ Render_Sprites_CompetitionMode: loc_1B210: tst.b (Level_started_flag).w beq.s loc_1B21C - jsr (sub_DB3C).l + jsr (Render_HUD_P1).l loc_1B21C: move.b 1(a5),(a5) @@ -36386,7 +36548,7 @@ loc_1B2F6: loc_1B312: tst.b (Level_started_flag).w beq.s loc_1B31E - jsr (nullsub_2).l + jsr (Render_HUD_P2).l loc_1B31E: tst.b 1(a5) @@ -36736,7 +36898,7 @@ loc_1B65E: bra.w Delete_Current_Sprite ; --------------------------------------------------------------------------- -loc_1B662: +Sprite_CheckDeleteTouch3: move.w $10(a0),d0 loc_1B666: @@ -37455,55 +37617,55 @@ Get_LevelSizeStart: move.w #-1,(Screen_Y_wrap_value).w bra.w loc_1BE46 ; --------------------------------------------------------------------------- -; xstart xend ystart yend ; Level -LevelSizes: dc.w $1308, $6000, $0, $390 ; AIZ1 - dc.w $0, $4640, $0, $590 ; AIZ2 - dc.w $0, $6000, $0, $1000 ; HCZ1 - dc.w $0, $6000, $0, $1000 ; HCZ2 - dc.w $0, $6000, -$100, $1000 ; MGZ1 - dc.w $0, $6000, $0, $1000 ; MGZ2 - dc.w $0, $6000, $0, $B20 ; CNZ1 - dc.w $0, $6000, $580, $1000 ; CNZ2 - dc.w $0, $2E60, $0, $B00 ; FBZ1 - dc.w $0, $6000, $0, $B00 ; FBZ2 - dc.w $0, $7000, -$100, $800 ; ICZ1 - dc.w $0, $7000, $0, $B20 ; ICZ2 - dc.w $0, $6000, $0, $1000 ; LBZ1 - dc.w $0, $6000, $0, $B20 ; LBZ2 - dc.w $0, $4298, $0, $AA0 ; MHZ1 - dc.w $98, $3C90, $620, $9A0 ; MHZ2 - dc.w $0, $4310, $0, $B20 ; SOZ1 - dc.w $0, $6000, -$100, $800 ; SOZ2 - dc.w $0, $2CC0, $0, $B20 ; LRZ1 - dc.w $940, $3EC0, $0, $B20 ; LRZ2 - dc.w $0, $19A0, -$100, $1000 ; SSZ1 - dc.w $0, $6000, $0, $400 ; SSZ2 - dc.w $0, $6000, $0, $B20 ; DEZ1 - dc.w $0, $6000, $0, $F10 ; DEZ2 - dc.w $0, $6000, $0, $1000 ; DDZ - dc.w $0, $6000, $0, $1000 ; DDZ - dc.w $0, $6000, $0, $1000 ; AIZ Intro (?) - dc.w $0, $6000, $0, $1000 ; Ending scene - dc.w $0, $12C0, $100, $190 ; ALZ - dc.w $0, $12C0, $100, $190 ; ALZ - dc.w $0, $12C0, $200, $390 ; BPZ - dc.w $0, $12C0, $200, $390 ; BPZ - dc.w $0, $12C0, $100, $190 ; DPZ - dc.w $0, $12C0, $100, $190 ; DPZ - dc.w $0, $12C0, -$100, $1000 ; CGZ - dc.w $0, $12C0, $0, $90 ; CGZ - dc.w $0, $12C0, $100, $190 ; EMZ - dc.w $0, $12C0, $100, $190 ; EMZ - dc.w $60, $60, $0, $240 ; Gumball - dc.w $60, $60, $0, $240 ; Gumball - dc.w $0, $140, $0, $F00 ; Pachinko - dc.w $0, $140, $0, $F00 ; Pachinko - dc.w $0, $6000, $0, $1000 ; Slots - dc.w $0, $6000, $0, $1000 ; Slots - dc.w $0, $EC0, $0, $430 ; LRZ Boss - dc.w $0, $1880, $0, $B20 ; HPZ - dc.w $0, $6000, $20, $20 ; DEZ Boss - dc.w $1500, $1640, $320, $320 ; Special Stage Arena (HPZ) +; xstart xend ystart yend ; Level +LevelSizes: dc.w $1308, $6000, 0, $390 ; AIZ1 + dc.w 0, $4640, 0, $590 ; AIZ2 + dc.w 0, $6000, 0, $1000 ; HCZ1 + dc.w 0, $6000, 0, $1000 ; HCZ2 + dc.w 0, $6000, -$100, $1000 ; MGZ1 + dc.w 0, $6000, 0, $1000 ; MGZ2 + dc.w 0, $6000, 0, $B20 ; CNZ1 + dc.w 0, $6000, $580, $1000 ; CNZ2 + dc.w 0, $2E60, 0, $B00 ; FBZ1 + dc.w 0, $6000, 0, $B00 ; FBZ2 + dc.w 0, $7000, -$100, $800 ; ICZ1 + dc.w 0, $7000, 0, $B20 ; ICZ2 + dc.w 0, $6000, 0, $1000 ; LBZ1 + dc.w 0, $6000, 0, $B20 ; LBZ2 + dc.w 0, $4298, 0, $AA0 ; MHZ1 + dc.w $98, $3C90, $620, $9A0 ; MHZ2 + dc.w 0, $4310, 0, $B20 ; SOZ1 + dc.w 0, $6000, -$100, $800 ; SOZ2 + dc.w 0, $2CC0, 0, $B20 ; LRZ1 + dc.w $940, $3EC0, 0, $B20 ; LRZ2 + dc.w 0, $19A0, -$100, $1000 ; SSZ1 + dc.w 0, $6000, 0, $400 ; SSZ2 + dc.w 0, $6000, 0, $B20 ; DEZ1 + dc.w 0, $6000, 0, $F10 ; DEZ2 + dc.w 0, $6000, 0, $1000 ; DDZ + dc.w 0, $6000, 0, $1000 ; DDZ + dc.w 0, $6000, 0, $1000 ; AIZ Intro (?) + dc.w 0, $6000, 0, $1000 ; Ending scene + dc.w 0, $12C0, $100, $190 ; ALZ + dc.w 0, $12C0, $100, $190 ; ALZ + dc.w 0, $12C0, $200, $390 ; BPZ + dc.w 0, $12C0, $200, $390 ; BPZ + dc.w 0, $12C0, $100, $190 ; DPZ + dc.w 0, $12C0, $100, $190 ; DPZ + dc.w 0, $12C0, -$100, $1000 ; CGZ + dc.w 0, $12C0, 0, $90 ; CGZ + dc.w 0, $12C0, $100, $190 ; EMZ + dc.w 0, $12C0, $100, $190 ; EMZ + dc.w $60, $60, 0, $240 ; Gumball + dc.w $60, $60, 0, $240 ; Gumball + dc.w 0, $140, 0, $F00 ; Pachinko + dc.w 0, $140, 0, $F00 ; Pachinko + dc.w 0, $6000, 0, $1000 ; Slots + dc.w 0, $6000, 0, $1000 ; Slots + dc.w 0, $EC0, 0, $430 ; LRZ Boss + dc.w 0, $1880, 0, $B20 ; HPZ + dc.w 0, $6000, $20, $20 ; DEZ Boss + dc.w $1500, $1640, $320, $320 ; Special Stage Arena (HPZ) ; --------------------------------------------------------------------------- loc_1BE46: @@ -38170,54 +38332,55 @@ loc_1C3EA: move.b #1,(Camera_max_Y_pos_changing).w rts ; --------------------------------------------------------------------------- -LevelResizeArray: dc.w AIZ1_Resize-LevelResizeArray +LevelResizeArray: + dc.w AIZ1_Resize-LevelResizeArray dc.w AIZ2_Resize-LevelResizeArray dc.w HCZ1_Resize-LevelResizeArray dc.w HCZ2_Resize-LevelResizeArray - dc.w MGZ_Resize-LevelResizeArray - dc.w MGZ_Resize-LevelResizeArray - dc.w No_Resize2-LevelResizeArray - dc.w No_Resize2-LevelResizeArray - dc.w No_Resize2-LevelResizeArray - dc.w No_Resize2-LevelResizeArray + dc.w MGZ1_Resize-LevelResizeArray + dc.w MGZ2_Resize-LevelResizeArray + dc.w CNZ1_Resize-LevelResizeArray + dc.w CNZ2_Resize-LevelResizeArray + dc.w FBZ1_Resize-LevelResizeArray + dc.w FBZ2_Resize-LevelResizeArray dc.w ICZ1_Resize-LevelResizeArray dc.w ICZ2_Resize-LevelResizeArray - dc.w No_Resize-LevelResizeArray + dc.w LBZ1_Resize-LevelResizeArray dc.w LBZ2_Resize-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray - dc.w No_Resize3-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray + dc.w No_Resize-LevelResizeArray ; --------------------------------------------------------------------------- AIZ1_Resize: @@ -38377,21 +38540,21 @@ AIZ2_Resize: move.w off_1C630(pc,d0.w),d0 jmp off_1C630(pc,d0.w) ; --------------------------------------------------------------------------- -off_1C630: dc.w loc_1C64E-off_1C630 ;0 - dc.w AIZ2_SonicResize1-off_1C630 ;2 - dc.w AIZ2_SonicResize2-off_1C630 ;4 - dc.w AIZ2_SonicResize3-off_1C630 ;6 - dc.w AIZ2_SonicResize4-off_1C630 ;8 - dc.w AIZ2_SonicResize5-off_1C630 ;A - dc.w AIZ2_SonicResize6-off_1C630 ;C - dc.w AIZ2_SonicResize7-off_1C630 ;E - dc.w AIZ2_SonicResizeEnd-off_1C630 ;10 - dc.w AIZ2_KnuxResize1-off_1C630 ;12 - dc.w AIZ2_KnuxResize2-off_1C630 ;14 - dc.w AIZ2_KnuxResize3-off_1C630 ;16 - dc.w AIZ2_KnuxResize4-off_1C630 ;18 - dc.w AIZ2_KnuxResize5-off_1C630 ;1A - dc.w AIZ2_KnuxResizeEnd-off_1C630 ;1C +off_1C630: dc.w loc_1C64E-off_1C630 ; 0 + dc.w AIZ2_SonicResize1-off_1C630 ; 2 + dc.w AIZ2_SonicResize2-off_1C630 ; 4 + dc.w AIZ2_SonicResize3-off_1C630 ; 6 + dc.w AIZ2_SonicResize4-off_1C630 ; 8 + dc.w AIZ2_SonicResize5-off_1C630 ; A + dc.w AIZ2_SonicResize6-off_1C630 ; C + dc.w AIZ2_SonicResize7-off_1C630 ; E + dc.w AIZ2_SonicResizeEnd-off_1C630 ; 10 + dc.w AIZ2_KnuxResize1-off_1C630 ; 12 + dc.w AIZ2_KnuxResize2-off_1C630 ; 14 + dc.w AIZ2_KnuxResize3-off_1C630 ; 16 + dc.w AIZ2_KnuxResize4-off_1C630 ; 18 + dc.w AIZ2_KnuxResize5-off_1C630 ; 1A + dc.w AIZ2_KnuxResizeEnd-off_1C630 ; 1C ; --------------------------------------------------------------------------- loc_1C64E: @@ -38436,7 +38599,7 @@ loc_1C6A0: bne.s loc_1C6D6 jsr (Create_New_Sprite).l bne.s loc_1C6D6 - move.l #Obj_AIZ_Miniboss,(a1) ; Make the miniboss + move.l #Obj_AIZMiniboss,(a1) ; Make the miniboss move.w #$11F0,$10(a1) move.w #$289,$14(a1) ; Set the position for Sonic's area area @@ -38547,7 +38710,7 @@ loc_1C7C8: bne.s loc_1C7FE jsr (Create_New_Sprite).l bne.s loc_1C7FE - move.l #Obj_AIZ_Miniboss,(a1) + move.l #Obj_AIZMiniboss,(a1) move.w #$11D0,$10(a1) ; Knuckles' version of the boss is further down obviously move.w #$420,$14(a1) @@ -38682,7 +38845,11 @@ locret_1C91A: rts ; --------------------------------------------------------------------------- -MGZ_Resize: +MGZ1_Resize: + ; Bug: MGZ1 uses a dynamic resize routine meant for MGZ2 + ; This causes the act 2 boss to spawn in out-of-bounds act 1 + +MGZ2_Resize: moveq #0,d0 move.b (Dynamic_resize_routine).w,d0 move.w off_1C92A(pc,d0.w),d0 @@ -38725,7 +38892,7 @@ loc_1C96E: move.w d0,(Camera_target_min_X_pos).w jsr (Create_New_Sprite).l bne.s loc_1C9A2 - move.l #Obj_A1_1_MGZ2_Boss,(a1) + move.l #Obj_MGZEndBoss,(a1) move.w #$3D20,$10(a1) move.w #$668,$14(a1) @@ -38751,7 +38918,10 @@ locret_1C9C8: rts ; --------------------------------------------------------------------------- -No_Resize2: +CNZ1_Resize: +CNZ2_Resize: +FBZ1_Resize: +FBZ2_Resize: rts ; --------------------------------------------------------------------------- @@ -38818,7 +38988,7 @@ locret_1CA3C: rts ; --------------------------------------------------------------------------- -No_Resize: +LBZ1_Resize: rts ; --------------------------------------------------------------------------- @@ -38848,7 +39018,7 @@ loc_1CA52: move.w #0,d2 jsr (Queue_Kos_Module).l lea (ArtKosM_LBZ2DeathEgg2_8x8).l,a1 - move.w #$B400,d2 + move.w #tiles_to_bytes(ArtTile_Explosion),d2 jsr (Queue_Kos_Module).l locret_1CAA8: @@ -38859,7 +39029,7 @@ locret_1CAAA: rts ; --------------------------------------------------------------------------- -No_Resize3: +No_Resize: rts ; =============== S U B R O U T I N E ======================================= @@ -38892,8 +39062,6 @@ Draw_LRZ_Special_Rock_Sprites: move.b (LRZ_rocks_routine).w,d0 move.w off_1CADA(pc,d0.w),d0 jmp off_1CADA(pc,d0.w) -; End of function Draw_LRZ_Special_Rock_Sprites - ; --------------------------------------------------------------------------- off_1CADA: dc.w loc_1CADE-off_1CADA dc.w loc_1CB20-off_1CADA @@ -38982,6 +39150,8 @@ loc_1CB5C: bls.s loc_1CB5A move.l a2,(LRZ_rocks_addr_back).w rts +; End of function Draw_LRZ_Special_Rock_Sprites + ; =============== S U B R O U T I N E ======================================= @@ -39029,8 +39199,9 @@ locret_1CBBC: ; End of function sub_1CB68 ; --------------------------------------------------------------------------- -LRZ_Rock_SpriteData: binclude "Levels/LRZ/Misc/Rock Sprite Attribute Data.bin" - even +LRZ_Rock_SpriteData: + binclude "Levels/LRZ/Misc/Rock Sprite Attribute Data.bin" + even ; --------------------------------------------------------------------------- Obj_PathSwap: @@ -39356,10 +39527,9 @@ locret_1D058: ; --------------------------------------------------------------------------- Map_PathSwap: include "General/Sprites/Level Misc/Map - Path Swap.asm" - ; --------------------------------------------------------------------------- -Obj_3A_2: +Obj_SOZPathSwap: move.l #Map_PathSwap,$C(a0) move.w #make_art_tile(ArtTile_Ring,1,0),$A(a0) ori.b #4,4(a0) @@ -39786,8 +39956,7 @@ Obj_Monitor: move.w Monitor_Index(pc,d0.w),d1 jmp Monitor_Index(pc,d1.w) ; --------------------------------------------------------------------------- -Monitor_Index: - dc.w Obj_MonitorInit-Monitor_Index +Monitor_Index: dc.w Obj_MonitorInit-Monitor_Index dc.w Obj_MonitorMain-Monitor_Index dc.w Obj_MonitorBreak-Monitor_Index dc.w Obj_MonitorAnimate-Monitor_Index @@ -39858,7 +40027,7 @@ Obj_MonitorFall: move.b routine_secondary(a0),d0 beq.s locret_1D694 btst #1,render_flags(a0) ; Is monitor upside down? - bne.s Obj_MonitorFallUpsideDown ; If so, branch + bne.s Obj_MonitorFallUpsideDown ; If so, branch bsr.w MoveSprite tst.w y_vel(a0) ; Is monitor moving up? bmi.s locret_1D694 ; If so, return @@ -39929,6 +40098,8 @@ SolidObject_Monitor_Tails: cmpi.b #2,anim(a1) ; Is Tails in his rolling animation? bne.w SolidObject_cont ; If not, branch rts +; End of function SolidObject_Monitor_Tails + ; --------------------------------------------------------------------------- Monitor_ChkOverEdge: @@ -39958,8 +40129,6 @@ Monitor_CharStandOn: bsr.w MvSonicOnPtfm moveq #0,d4 rts -; End of function SolidObject_Monitor_Tails - ; --------------------------------------------------------------------------- Obj_MonitorBreak: @@ -40087,19 +40256,19 @@ loc_1D86C: ; End of function sub_1D820 ; --------------------------------------------------------------------------- -off_1D87C: dc.w loc_1D890-off_1D87C +off_1D87C: dc.w Monitor_Give_Eggman-off_1D87C dc.w Monitor_Give_1up-off_1D87C - dc.w loc_1D890-off_1D87C + dc.w Monitor_Give_Eggman-off_1D87C dc.w Monitor_Give_Rings-off_1D87C - dc.w Monitor_Give_Super_Sneakers-off_1D87C - dc.w Monitor_Give_Fire_Shield-off_1D87C - dc.w Monitor_Give_Lightning_Shield-off_1D87C - dc.w Monitor_Give_Bubble_Shield-off_1D87C + dc.w Monitor_Give_SpeedShoes-off_1D87C + dc.w Monitor_Give_FireShield-off_1D87C + dc.w Monitor_Give_LightningShield-off_1D87C + dc.w Monitor_Give_BubbleShield-off_1D87C dc.w Monitor_Give_Invincibility-off_1D87C dc.w Monitor_Give_SuperSonic-off_1D87C ; --------------------------------------------------------------------------- -loc_1D890: +Monitor_Give_Eggman: addq.w #1,(a2) jmp (sub_24280).l ; --------------------------------------------------------------------------- @@ -40108,8 +40277,8 @@ Monitor_Give_1up: addq.w #1,(Monitors_broken).w addq.b #1,(Life_count).w addq.b #1,(Update_HUD_life_count).w - moveq #mus_ExtraLife,d0 - jmp (Play_Sound).l + moveq #signextendB(mus_ExtraLife),d0 + jmp (Play_Music).l ; --------------------------------------------------------------------------- Monitor_Give_Rings: @@ -40118,40 +40287,40 @@ Monitor_Give_Rings: lea (Update_HUD_ring_count).w,a3 lea (Extra_life_flags).w,a4 lea (Total_ring_count).w,a5 - addi.w #$A,(a5) - cmpi.w #$3E7,(a5) + addi.w #10,(a5) + cmpi.w #999,(a5) blo.s loc_1D8CC - move.w #$3E7,(a5) + move.w #999,(a5) loc_1D8CC: - addi.w #$A,(a2) - cmpi.w #$3E7,(a2) + addi.w #10,(a2) + cmpi.w #999,(a2) blo.s loc_1D8DA - move.w #$3E7,(a2) + move.w #999,(a2) loc_1D8DA: ori.b #1,(a3) - cmpi.w #$64,(a2) + cmpi.w #100,(a2) blo.s loc_1D8F6 bset #1,(a4) beq.s loc_1D8FE - cmpi.w #$C8,(a2) + cmpi.w #200,(a2) blo.s loc_1D8F6 bset #2,(a4) beq.s loc_1D8FE loc_1D8F6: - moveq #sfx_RingRight,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_RingRight),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_1D8FE: cmpa.w #Player_1,a1 beq.w Monitor_Give_1up - bra.w loc_1D890 + bra.w Monitor_Give_Eggman ; --------------------------------------------------------------------------- -Monitor_Give_Super_Sneakers: +Monitor_Give_SpeedShoes: addq.w #1,(a2) bset #2,$2B(a1) move.b #$96,$36(a1) @@ -40175,62 +40344,62 @@ loc_1D94C: jmp (Change_Music_Tempo).l ; --------------------------------------------------------------------------- -Monitor_Give_Fire_Shield: +Monitor_Give_FireShield: addq.w #1,(a2) andi.b #$8E,$2B(a1) bset #0,$2B(a1) bset #4,$2B(a1) - moveq #sfx_FireShield,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FireShield),d0 + jsr (Play_SFX).l tst.b $43(a0) bne.s loc_1D984 - move.l #Obj_Fire_Shield,(Shield).w + move.l #Obj_FireShield,(Shield).w move.w a1,(Shield+parent).w rts ; --------------------------------------------------------------------------- loc_1D984: - move.l #Obj_Fire_Shield,(Shield_P2).w + move.l #Obj_FireShield,(Shield_P2).w move.w a1,(Shield_P2+parent).w rts ; --------------------------------------------------------------------------- -Monitor_Give_Lightning_Shield: +Monitor_Give_LightningShield: addq.w #1,(a2) andi.b #$8E,$2B(a1) bset #0,$2B(a1) bset #5,$2B(a1) - moveq #sfx_ElectricShield,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_LightningShield),d0 + jsr (Play_SFX).l tst.b $43(a0) bne.s loc_1D9C2 - move.l #Obj_Lightning_Shield,(Shield).w + move.l #Obj_LightningShield,(Shield).w move.w a1,(Shield+parent).w rts ; --------------------------------------------------------------------------- loc_1D9C2: - move.l #Obj_Lightning_Shield,(Shield_P2).w + move.l #Obj_LightningShield,(Shield_P2).w move.w a1,(Shield_P2+parent).w rts ; --------------------------------------------------------------------------- -Monitor_Give_Bubble_Shield: +Monitor_Give_BubbleShield: addq.w #1,(a2) andi.b #$8E,$2B(a1) bset #0,$2B(a1) bset #6,$2B(a1) - moveq #sfx_BubbleShield,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BubbleShield),d0 + jsr (Play_SFX).l tst.b $43(a0) bne.s loc_1DA00 - move.l #Obj_Bubble_Shield,(Shield).w + move.l #Obj_BubbleShield,(Shield).w move.w a1,(Shield+parent).w rts ; --------------------------------------------------------------------------- loc_1DA00: - move.l #Obj_Bubble_Shield,(Shield_P2).w + move.l #Obj_BubbleShield,(Shield_P2).w move.w a1,(Shield_P2+parent).w rts ; --------------------------------------------------------------------------- @@ -40247,8 +40416,8 @@ Monitor_Give_Invincibility: bne.s loc_1DA3E cmpi.b #$C,$2C(a1) bls.s loc_1DA3E - moveq #mus_Invincibility,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Invincibility),d0 + jsr (Play_Music).l loc_1DA3E: tst.b $43(a0) @@ -40311,10 +40480,10 @@ Monitor_Give_SuperSonic: move.b #$81,(Player_1+object_control).w move.b #0,(Player_1+invincibility_timer).w bset #Status_Invincible,status_secondary(a1) - moveq #sfx_SuperTransform,d0 - jsr (Play_Sound_2).l - moveq #mus_Invincibility,d0 ; play invincibility theme - jmp (Play_Sound).l + moveq #signextendB(sfx_SuperTransform),d0 + jsr (Play_SFX).l + moveq #signextendB(mus_Invincibility),d0 ; play invincibility theme + jmp (Play_Music).l ; --------------------------------------------------------------------------- rts ; --------------------------------------------------------------------------- @@ -40325,10 +40494,8 @@ loc_1DB2E: bra.w Draw_Sprite ; --------------------------------------------------------------------------- Ani_Monitor: include "General/Sprites/Monitors/Anim - Monitor.asm" - Map_Monitor: include "General/Sprites/Monitors/Map - Monitor.asm" - ; =============== S U B R O U T I N E ======================================= @@ -41509,15 +41676,15 @@ loc_1E5F6: move.w $3E(a0),$3E(a1) loc_1E61A: - moveq #sfx_Break,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Break),d0 + jsr (Play_SFX).l addq.b #2,5(a0) loc_1E626: move.l #Map_Explosion,$C(a0) move.w $A(a0),d0 andi.w #$8000,d0 - ori.w #$5A0,d0 + ori.w #ArtTile_Explosion,d0 move.w d0,$A(a0) move.b #4,4(a0) move.w #$80,8(a0) @@ -41542,7 +41709,7 @@ loc_1E688: Obj_FireShield_Dissipate: move.l #Map_Explosion,$C(a0) - move.w #$5A0,$A(a0) + move.w #ArtTile_Explosion,$A(a0) move.b #4,4(a0) move.w #$280,8(a0) move.b #$C,7(a0) @@ -41566,7 +41733,7 @@ loc_1E6E6: loc_1E6EC: move.l #Map_Explosion,$C(a0) - move.w #$85A0,$A(a0) + move.w #make_art_tile(ArtTile_Explosion,0,1),$A(a0) move.b #4,4(a0) move.w #$100,8(a0) move.b #$C,7(a0) @@ -41597,10 +41764,9 @@ loc_1E752: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- Map_Explosion: include "General/Sprites/Enemy Misc/Map - Explosion.asm" - ; --------------------------------------------------------------------------- -Obj_09_1: +Obj_AIZ1Tree: move.l #Map_AIZ1Tree,$C(a0) move.w #$180,8(a0) move.b #8,7(a0) @@ -41612,7 +41778,7 @@ loc_1E7B0: jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Obj_0A_1: +Obj_AIZ1ZiplinePeg: move.l #Map_AIZ1ZiplinePeg,$C(a0) move.w #$380,8(a0) move.b #$20,7(a0) @@ -41624,7 +41790,7 @@ loc_1E7DC: jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Obj_26: +Obj_AutoSpin: move.l #Map_PathSwap,$C(a0) move.w #ArtTile_Ring,$A(a0) ori.b #4,4(a0) @@ -41801,8 +41967,8 @@ loc_1E9C0: move.b #7,$1F(a1) move.b #2,$20(a1) addq.w #5,$14(a1) - moveq #sfx_Roll,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Roll),d0 + jsr (Play_SFX).l rts ; End of function sub_1E8C6 @@ -41935,14 +42101,14 @@ byte_1EB32: dc.b $96 dc.b 0 ; --------------------------------------------------------------------------- -Obj_27: +Obj_S2LavaMarker: moveq #0,d0 move.b $2C(a0),d0 move.b byte_1EB32(pc,d0.w),$28(a0) - move.l #Map_Obj27,$C(a0) + move.l #Map_S2LavaMarker,$C(a0) tst.w (Debug_placement_mode).w beq.s loc_1EB58 - move.l #Map_Obj27_2,$C(a0) + move.l #Map_S2LavaMarkerDebug,$C(a0) loc_1EB58: move.w #make_art_tile(ArtTile_Ring,0,1),$A(a0) @@ -41980,13 +42146,13 @@ loc_1EBAA: loc_1EBB6: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Map_Obj27: include "General/Sprites/Unused/Map - Obj27 Unused.asm" - -Map_Obj27_2: include "General/Sprites/Unused/Map - Obj27 Unused 2.asm" - +Map_S2LavaMarker: + include "General/Sprites/Level Misc/Map - Lava Marker S2.asm" +Map_S2LavaMarkerDebug: + include "General/Sprites/Level Misc/Map - Lava Marker S2 Debug.asm" ; --------------------------------------------------------------------------- -Obj_28_Invisible_Barrier: +Obj_InvisibleBlock: move.l #Map_InvisibleBlock,$C(a0) move.w #make_art_tile(ArtTile_Ring,0,1),$A(a0) ori.b #4,4(a0) @@ -42046,8 +42212,8 @@ loc_1ECAA: move.w $10(a0),d4 bra.w SolidObjectFull2 ; --------------------------------------------------------------------------- -Map_InvisibleBlock:include "General/Sprites/Level Misc/Map - Invisible Block.asm" - +Map_InvisibleBlock: + include "General/Sprites/Level Misc/Map - Invisible Block.asm" byte_1ED1A: dc.b $14 dc.b $28 dc.b $20 @@ -42062,8 +42228,8 @@ byte_1ED1A: dc.b $14 dc.b 2 ; --------------------------------------------------------------------------- -Obj_BreakableBar: - move.l #Map_BreakableBar,$C(a0) +Obj_HCZBreakableBar: + move.l #Map_HCZBreakableBar,$C(a0) move.w #$43CA,$A(a0) move.b #4,4(a0) move.w #$200,8(a0) @@ -42228,12 +42394,12 @@ locret_1EEEA: loc_1EEEC: tst.b $32(a0) beq.s loc_1EEF8 - andi.b #-2,(Player_1+object_control).w + andi.b #$FE,(Player_1+object_control).w loc_1EEF8: tst.b $33(a0) beq.s loc_1EF04 - andi.b #-2,(Player_2+object_control).w + andi.b #$FE,(Player_2+object_control).w loc_1EF04: clr.b (_unkF7C7).w @@ -42320,7 +42486,7 @@ loc_1EFD8: clr.b (a2) move.b #$3C,2(a2) bclr d2,(_unkF7C7).w - andi.b #-2,$2E(a1) + andi.b #$FE,$2E(a1) btst #6,$2C(a0) bne.s locret_1F000 move.b #1,$3A(a0) @@ -42391,12 +42557,12 @@ locret_1F098: loc_1F09A: tst.b $32(a0) beq.s loc_1F0A6 - andi.b #-2,(Player_1+object_control).w + andi.b #$FE,(Player_1+object_control).w loc_1F0A6: tst.b $33(a0) beq.s loc_1F0B2 - andi.b #-2,(Player_2+object_control).w + andi.b #$FE,(Player_2+object_control).w loc_1F0B2: clr.b (_unkF7C7).w @@ -42416,7 +42582,6 @@ loc_1F0B2: ; --------------------------------------------------------------------------- byte_1F0F0: dc.b 7, 5, 2, 0, 1, 3, 4, 6, 7, 5, 2, 0, 1, 3, 4, 6, 8, 9, $A, $B dc.b $C, $D, $E, $F - word_1F108: dc.w 0, $FFE4 dc.w 0, $FFEC dc.w 0, $FFF4 @@ -42488,8 +42653,8 @@ loc_1F1A0: dbf d1,loc_1F198 loc_1F1FA: - moveq #sfx_Collapse,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jmp (Play_SFX).l ; End of function sub_1F188 ; --------------------------------------------------------------------------- @@ -42556,8 +42721,8 @@ loc_1F2C4: move.b $22(a0),1(a2) bra.w Draw_Sprite ; --------------------------------------------------------------------------- -Map_HCZWaveSplash:include "Levels/HCZ/Misc Object Data/Map - Wave Splash.asm" - +Map_HCZWaveSplash: + include "Levels/HCZ/Misc Object Data/Map - Wave Splash.asm" byte_1F38A: dc.b $10 dc.b $10 dc.b $20 @@ -42595,12 +42760,12 @@ loc_1F3CA: bra.w Sprite_OnScreen_Test ; --------------------------------------------------------------------------- -Obj_6D_2: +Obj_InvisibleShockBlock: bset #5,$2B(a0) bra.s Obj_InvisibleHurtBlockHorizontal ; --------------------------------------------------------------------------- -Obj_6E_2: +Obj_InvisibleLavaBlock: bset #4,$2B(a0) Obj_InvisibleHurtBlockHorizontal: @@ -42662,7 +42827,7 @@ loc_1F494: loc_1F4A2: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_1EBAA @@ -43101,7 +43266,6 @@ loc_1F8FE: ; End of function sub_1F7CE ; --------------------------------------------------------------------------- - ; unused/dead code bra.w loc_1F88C ; =============== S U B R O U T I N E ======================================= @@ -43884,8 +44048,8 @@ loc_201B8: dbf d1,loc_2015C loc_201BC: - moveq #sfx_Collapse,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jmp (Play_SFX).l ; End of function sub_2013A ; --------------------------------------------------------------------------- @@ -43946,8 +44110,8 @@ loc_20206: dbf d1,loc_20200 loc_20266: - moveq #sfx_Collapse,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jmp (Play_SFX).l ; End of function sub_201DE ; --------------------------------------------------------------------------- @@ -44132,10 +44296,10 @@ word_203C0: dc.w $C0 dc.w $FE40 dc.w $100 dc.w $FE20 -Map_LRZBreakableRock:include "Levels/LRZ/Misc Object Data/Map - Breakable Rock.asm" - -Map_LRZBreakableRock2:include "Levels/LRZ/Misc Object Data/Map - Breakable Rock 2.asm" - +Map_LRZBreakableRock: + include "Levels/LRZ/Misc Object Data/Map - Breakable Rock.asm" +Map_LRZBreakableRock2: + include "Levels/LRZ/Misc Object Data/Map - Breakable Rock 2.asm" ; --------------------------------------------------------------------------- Obj_CollapsingPlatform: @@ -44855,16 +45019,19 @@ loc_20C98: clr.w respawn_addr(a0) loc_20CAE: - moveq #sfx_Collapse,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- byte_20CB6: dc.b $30, $2C, $28, $24, $20, $1C, $2E, $2A, $26, $22, $1E, $1A, $2C, $28, $24, $20, $1C, $18, $2A, $26 dc.b $22, $1E, $1A, $16, $28, $24, $20, $1C, $18, $14 byte_20CD4: dc.b $30, $2C, $28, $24, $20, $1C, $2E, $2A, $26, $22, $1E, $1A, $2C, $28, $24, $20, $1C, $18, $2A, $26 dc.b $22, $1E, $1A, $16, $28, $24, $20, $1C, $18, $14, $12, $10 -LBZBridgeCollapse_TimerArray: dc.b $20, $1C, $18, $14, $10, $C, 8, 4, $1E, $1A, $16, $12, $E, $A, 6, 2 -LBZBridgeCollapse_TimerFlipArray: dc.b $20, 4, 8, $C, $10, $14, $18, $1C, 2, 6, $A, $E, $12, $16, $1A, $1E -LBZLedgeCollapse_TimerArray: dc.b $20, $18, $10, 8, $1E, $16, $E, 6, $1C, $14, $C, 4, $1A, $12 +LBZBridgeCollapse_TimerArray: + dc.b $20, $1C, $18, $14, $10, $C, 8, 4, $1E, $1A, $16, $12, $E, $A, 6, 2 +LBZBridgeCollapse_TimerFlipArray: + dc.b $20, 4, 8, $C, $10, $14, $18, $1C, 2, 6, $A, $E, $12, $16, $1A, $1E +LBZLedgeCollapse_TimerArray: + dc.b $20, $18, $10, 8, $1E, $16, $E, 6, $1C, $14, $C, 4, $1A, $12 byte_20D22: dc.b $20, $1C, $18, $14, $10, $C, 8, 4, $1E, $1A, $16, $12, $E, $A, 6, 2 byte_20D32: dc.b $20, 4, 8, $C, $10, $14, $18, $1C, 2, 6, $A, $E, $12, $16, $1A, $1E byte_20D42: dc.b $28, $24, $20, $1C, $18, $14, $10, $C, 8, 4, $26, $22, $1E, $1A, $16, $12, $E, $A, 6, 2 @@ -44899,16 +45066,14 @@ byte_20E9E: dc.b $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1 byte_20EDE: dc.b $30, $30, $30, $30, $30, $30, $30, $30, $30, $30, $30, $30, $2F, $2F, $2F, $2F, $2F, $2F, $2F, $2F dc.b $2F, $2F, $2F, $2F, $2E, $2E, $2E, $2E, $2E, $2E, $2E, $2E, $2D, $2D, $2D, $2D, $2D, $2D, $2D, $2D dc.b $2D, $2D, $2D, $2D, $2D, $2C, $2B, $2A - -Map_LRZCollapsingPlatform:include "Levels/LRZ/Misc Object Data/Map - Collapsing Platform.asm" - - -Map_HPZCollapsingBridge:include "Levels/HPZ/Misc Object Data/Map - Collapsing Bridge.asm" - -Map_FBZCollapsingBridge:include "Levels/FBZ/Misc Object Data/Map - Collapsing Bridge.asm" - -Map_SOZCollapsingBridge:include "Levels/SOZ/Misc Object Data/Map - Collapsing Bridge.asm" - +Map_LRZCollapsingPlatform: + include "Levels/LRZ/Misc Object Data/Map - Collapsing Platform.asm" +Map_HPZCollapsingBridge: + include "Levels/HPZ/Misc Object Data/Map - Collapsing Bridge.asm" +Map_FBZCollapsingBridge: + include "Levels/FBZ/Misc Object Data/Map - Collapsing Bridge.asm" +Map_SOZCollapsingBridge: + include "Levels/SOZ/Misc Object Data/Map - Collapsing Bridge.asm" ; --------------------------------------------------------------------------- Obj_BreakableWall: @@ -45165,8 +45330,8 @@ loc_216AA: sub_216B0: - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l move.w #$80,8(a0) loc_216BE: @@ -45569,12 +45734,12 @@ word_21A9A: dc.w $FA00 dc.w $600 dc.w $FC00 dc.w $500 -Map_CNZSOZBreakableWall:include "Levels/CNZ/Misc Object Data/Map - (&SOZ) Breakable Wall.asm" - -Map_MHZBreakableWall:include "Levels/MHZ/Misc Object Data/Map - Breakable Wall.asm" - -Map_LRZBreakableWall:include "Levels/LRZ/Misc Object Data/Map - Breakable Wall.asm" - +Map_CNZSOZBreakableWall: + include "Levels/CNZ/Misc Object Data/Map - (&SOZ) Breakable Wall.asm" +Map_MHZBreakableWall: + include "Levels/MHZ/Misc Object Data/Map - Breakable Wall.asm" +Map_LRZBreakableWall: + include "Levels/LRZ/Misc Object Data/Map - Breakable Wall.asm" ; --------------------------------------------------------------------------- Obj_AIZRideVine: @@ -46055,8 +46220,8 @@ sub_2219E: move.b d1,(a4) move.b d1,Slow_motion_flag-Level_select_flag(a4) move.w d0,d1 - moveq #sfx_RingRight,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_RingRight),d0 + jsr (Play_SFX).l move.w d1,d0 loc_221DA: @@ -46101,7 +46266,7 @@ loc_2221A: loc_22224: move.b $2A(a1),d1 andi.b #1,d1 - andi.b #-4,4(a1) + andi.b #$FC,4(a1) or.b d1,4(a1) moveq #0,d0 move.b $22(a1),d0 @@ -46142,9 +46307,9 @@ loc_2226C: add.w d0,d0 move.b byte_222D4(pc,d0.w),$22(a1) move.b #0,$20(a1) - andi.w #-2,d0 + andi.w #$FFFE,d0 move.b byte_222E4(pc,d0.w),d2 - move.b byte_222E5(pc,d0.w),d3 + move.b byte_222E4+1(pc,d0.w),d3 ext.w d2 ext.w d3 btst #0,$2A(a1) @@ -46155,7 +46320,7 @@ loc_2229A: movea.w $3C(a0),a3 move.b $26(a3),d0 addq.b #4,d0 - andi.b #-8,d0 + andi.b #$F8,d0 jsr (GetSineCosine).l neg.w d0 addi.w #8,d0 @@ -46187,7 +46352,7 @@ byte_222D4: dc.b $78 dc.b $79 dc.b $79 byte_222E4: dc.b 0 -byte_222E5: dc.b $18 + dc.b $18 dc.b $EE dc.b $13 dc.b $E8 @@ -46235,10 +46400,10 @@ loc_22302: move.b #$14,$20(a1) move.b #0,$3D(a1) move.b #3,$2E(a1) - andi.b #-3,4(a1) + andi.b #$FD,4(a1) move.b #1,(a2) - moveq #sfx_Grab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Grab),d0 + jsr (Play_SFX).l locret_2237C: rts @@ -46550,8 +46715,8 @@ loc_226C2: andi.b #-8,d0 cmpi.b #$40,d0 bne.s loc_226E0 - moveq #sfx_GroundSlide,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GroundSlide),d0 + jsr (Play_SFX).l loc_226E0: move.w #$200,8(a0) @@ -46993,14 +47158,14 @@ loc_22B3C: cmpi.w #$400,d0 blt.s loc_22B3C move.b #-$7F,(a2) - moveq #sfx_Grab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Grab),d0 + jsr (Play_SFX).l locret_22B9C: rts ; --------------------------------------------------------------------------- -Map_AIZMHZRideVine:include "Levels/AIZ/Misc Object Data/Map - (&MHZ) Ride Vine.asm" - +Map_AIZMHZRideVine: + include "Levels/AIZ/Misc Object Data/Map - (&MHZ) Ride Vine.asm" ; =============== S U B R O U T I N E ======================================= @@ -47138,7 +47303,7 @@ loc_22E96: move.w #$391,$A(a0) cmpi.b #$12,(Current_zone).w bne.s Spring_Common - ori.w #-$8000,$A(a0) + ori.w #$8000,$A(a0) Spring_Common: move.b $2C(a0),d0 @@ -47267,8 +47432,8 @@ loc_23036: move.b #$F,$47(a1) loc_23048: - moveq #sfx_Spring,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jmp (Play_SFX).l ; End of function sub_22F98 ; --------------------------------------------------------------------------- @@ -47451,8 +47616,8 @@ loc_2324C: bclr #6,$2A(a0) bclr #5,$2A(a1) move.b #0,double_jump_flag(a1) - moveq #sfx_Spring,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jmp (Play_SFX).l ; End of function sub_23190 @@ -47646,8 +47811,8 @@ loc_2346C: clr.b $40(a1) move.b #2,5(a1) move.b #0,double_jump_flag(a1) - moveq #sfx_Spring,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jmp (Play_SFX).l ; End of function sub_233CA ; --------------------------------------------------------------------------- @@ -47752,8 +47917,8 @@ loc_235B8: move.b #$F,$47(a1) loc_235CA: - moveq #sfx_Spring,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jmp (Play_SFX).l ; End of function sub_234E6 ; --------------------------------------------------------------------------- @@ -47840,8 +48005,8 @@ loc_236D0: move.b #$F,$47(a1) loc_236E2: - moveq #sfx_Spring,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jmp (Play_SFX).l ; End of function sub_23624 ; --------------------------------------------------------------------------- @@ -47902,10 +48067,8 @@ byte_23706: dc.b $F4 dc.b 4 dc.b 4 Ani_Spring: include "General/Sprites/Level Misc/Anim - Spring.asm" - Map_Spring: include "General/Sprites/Level Misc/Map - Spring.asm" - -Map_2PSpring: include "General/Sprites/Level Misc/Map - 2P Spring.asm" +Map_2PSpring: include "General/Sprites/Level Misc/Map - 2P Spring.asm" ; --------------------------------------------------------------------------- Obj_RetractingSpring: @@ -48008,8 +48171,8 @@ sub_23AB8: bne.s locret_23B16 tst.b 4(a0) bpl.s locret_23B16 - moveq #sfx_SpikeMove,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SpikeMove),d0 + jsr (Play_SFX).l bra.s locret_23B16 ; --------------------------------------------------------------------------- @@ -48071,7 +48234,7 @@ loc_23B66: move.l #loc_23F2A,(a1) loc_23B8E: - andi.b #-$10,$2C(a0) + andi.b #$F0,$2C(a0) move.b (a2)+,d1 or.b d1,$2C(a0) move.w $10(a0),$10(a1) @@ -48218,8 +48381,8 @@ sub_23CDC: bne.s locret_23D40 tst.b 4(a0) bpl.s locret_23D40 - moveq #sfx_SpikeMove,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SpikeMove),d0 + jsr (Play_SFX).l bra.s locret_23D40 ; --------------------------------------------------------------------------- @@ -48273,13 +48436,13 @@ loc_23D62: bchg #1,$2A(a0) bchg #1,4(a0) andi.b #$F,$2C(a0) - ori.b #-$10,$2C(a0) + ori.b #$F0,$2C(a0) move.l #loc_23C12,(a0) movea.w $3E(a0),a1 neg.w $32(a1) loc_23DBC: - cmpi.b #-$10,d0 + cmpi.b #$F0,d0 bne.s loc_23DEE subi.w #$16,$14(a0) bchg #1,$2A(a0) @@ -48404,7 +48567,8 @@ loc_23F2A: locret_23F48: rts ; --------------------------------------------------------------------------- -Map_2PRetractingSpring: include "General/Sprites/Level Misc/Map - 2P Retracting Spring.asm" +Map_2PRetractingSpring: + include "General/Sprites/Level Misc/Map - 2P Retracting Spring.asm" byte_23F74: dc.b $10 dc.b $10 dc.b $20 @@ -48761,8 +48925,8 @@ sub_242F6: bne.s locret_24354 tst.b 4(a0) bpl.s locret_24354 - moveq #sfx_SpikeMove,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SpikeMove),d0 + jsr (Play_SFX).l bra.s locret_24354 ; --------------------------------------------------------------------------- @@ -48877,8 +49041,8 @@ sub_243F6: bne.s locret_24454 tst.b 4(a0) bpl.s locret_24454 - moveq #sfx_SpikeMove,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SpikeMove),d0 + jsr (Play_SFX).l bra.s locret_24454 ; --------------------------------------------------------------------------- @@ -48907,10 +49071,8 @@ locret_24454: ; --------------------------------------------------------------------------- Map_Spikes: include "General/Sprites/Level Misc/Map - Spikes.asm" - Map_2PSpikes: include "General/2P Zone/Map - Spikes.asm" - ; =============== S U B R O U T I N E ======================================= @@ -49665,10 +49827,9 @@ loc_24BD6: rts ; --------------------------------------------------------------------------- Map_ScaledArt: include "General/Sprites/Level Misc/Map - Scaled Art.asm" - ; --------------------------------------------------------------------------- -Obj_0E: +Obj_TwistedRamp: lea (Player_1).w,a1 bsr.s sub_24D9A lea (Player_2).w,a1 @@ -50295,17 +50456,17 @@ loc_25322: move.w d1,$10(a0) rts ; --------------------------------------------------------------------------- -Map_LBZMovingPlatform:include "Levels/LBZ/Misc Object Data/Map - Moving Platform.asm" - +Map_LBZMovingPlatform: + include "Levels/LBZ/Misc Object Data/Map - Moving Platform.asm" ; --------------------------------------------------------------------------- -Obj_1D_1: +Obj_LBZUnusedBarPlatform: jsr (Create_New_Sprite3).l bne.w loc_253BE move.w $10(a0),$10(a1) move.w $14(a0),$14(a1) move.b $2A(a0),$2A(a1) - move.l #Map_LBZPlatformUndersideUnused,$C(a1) + move.l #Map_LBZUnusedBarPlatform,$C(a1) move.w #$42EA,$A(a1) move.b #4,4(a1) move.w #$180,8(a1) @@ -50429,8 +50590,8 @@ locret_254E8: ; End of function sub_253FA ; --------------------------------------------------------------------------- -Map_LBZPlatformUndersideUnused: include "Levels/LBZ/Misc Object Data/Map - Floating Platform Underside (Unused).asm" - +Map_LBZUnusedBarPlatform: + include "Levels/LBZ/Misc Object Data/Map - Unused Bar Platform.asm" byte_254FA: dc.b $20 dc.b $20 dc.b 0 @@ -50548,12 +50709,12 @@ loc_25642: loc_2564E: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Map_MGZFloatingPlatform:include "Levels/MGZ/Misc Object Data/Map - Floating Platform.asm" - -Map_HCZFloatingPlatform:include "Levels/HCZ/Misc Object Data/Map - Floating Platform.asm" - -Map_AIZFloatingPlatform:include "Levels/AIZ/Misc Object Data/Map - Floating Platform.asm" - +Map_MGZFloatingPlatform: + include "Levels/MGZ/Misc Object Data/Map - Floating Platform.asm" +Map_HCZFloatingPlatform: + include "Levels/HCZ/Misc Object Data/Map - Floating Platform.asm" +Map_AIZFloatingPlatform: + include "Levels/AIZ/Misc Object Data/Map - Floating Platform.asm" ; --------------------------------------------------------------------------- Obj_HCZSnakeBlocks: @@ -50870,9 +51031,8 @@ locret_259C2: ; End of function sub_25974 ; --------------------------------------------------------------------------- -Map_LRZSolidMovingPlatforms:include "Levels/LRZ/Misc Object Data/Map - Solid Moving Platforms.asm" - - +Map_LRZSolidMovingPlatforms: + include "Levels/LRZ/Misc Object Data/Map - Solid Moving Platforms.asm" ; --------------------------------------------------------------------------- Obj_DEZFloatingPlatform: @@ -50919,8 +51079,8 @@ word_25AB8: dc.w locret_258CE-word_25AB8 dc.w loc_25938-word_25AB8 dc.w loc_2594C-word_25AB8 dc.w loc_25960-word_25AB8 -Map_DEZFloatingPlatform:include "Levels/DEZ/Misc Object Data/Map - Floating Platform.asm" - +Map_DEZFloatingPlatform: + include "Levels/DEZ/Misc Object Data/Map - Floating Platform.asm" byte_25AF0: dc.b $10 dc.b $18 dc.b $20 @@ -50929,7 +51089,7 @@ byte_25AF0: dc.b $10 dc.b $68 ; --------------------------------------------------------------------------- -Obj_12_1: +Obj_LBZUnusedElevator: move.l #Map_LBZUnusedElevator,$C(a0) move.w #$43C3,$A(a0) move.b #4,4(a0) @@ -51113,7 +51273,7 @@ Obj_LBZExplodingTrigger: move.b #$10,7(a0) move.b #$10,6(a0) move.w #$280,8(a0) - move.b #-$3A,$28(a0) + move.b #$C6,$28(a0) move.l #loc_25CF0,(a0) loc_25CF0: @@ -51136,7 +51296,7 @@ loc_25D18: bsr.s sub_25D2C loc_25D26: - jmp (loc_1B662).l + jmp (Sprite_CheckDeleteTouch3).l ; =============== S U B R O U T I N E ======================================= @@ -51290,8 +51450,8 @@ loc_25EBA: bclr #5,$2A(a1) clr.b $40(a1) clr.b $3D(a1) - moveq #sfx_SmallBumpers,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SmallBumpers),d0 + jsr (Play_SFX).l rts ; End of function sub_25EA6 @@ -51559,7 +51719,7 @@ sub_261F2: move.l a1,-(sp) jsr (Create_New_Sprite3).l bne.w loc_2621E - move.l #Obj_2629C,(a1) + move.l #loc_2629C,(a1) move.w $10(a0),$10(a1) move.w $14(a0),$14(a1) move.b 4(a0),4(a1) @@ -51611,13 +51771,13 @@ loc_26276: bclr #5,$2A(a1) loc_26294: - moveq #sfx_Spring,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jmp (Play_SFX).l ; End of function sub_261F2 ; --------------------------------------------------------------------------- -Obj_2629C: +loc_2629C: move.l #Map_LBZPlayerLauncher,$C(a0) move.w #$43C3,$A(a0) ori.b #4,4(a0) @@ -51745,12 +51905,12 @@ loc_263DC: bne.s loc_2643C jsr (Create_New_Sprite3).l bne.w loc_2643C - move.l #Obj_26460,(a1) + move.l #Obj_AutoSpin460,(a1) bsr.s sub_263AA move.w $10(a0),$10(a1) move.w $14(a0),$14(a1) move.b $2A(a0),$2A(a1) - move.b #-$63,$28(a1) + move.b #$9D,$28(a1) bset #4,$2B(a1) addi.w #$40,$10(a1) btst #0,$2A(a0) @@ -51760,8 +51920,8 @@ loc_263DC: loc_2642E: tst.b 4(a0) bpl.s loc_2643C - moveq #sfx_FireAttack,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FireAttack),d0 + jsr (Play_SFX).l loc_2643C: moveq #0,d1 @@ -51776,7 +51936,7 @@ loc_2643C: jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Obj_26460: +Obj_AutoSpin460: lea (Ani_LBZFlameThrower).l,a1 jsr (Animate_Sprite).l tst.b 5(a0) @@ -51784,23 +51944,24 @@ Obj_26460: move.w #$7FFF,$10(a0) loc_26478: - jmp (loc_1B662).l -; --------------------------------------------------------------------------- -Ani_LBZFlameThrower: include "Levels/LBZ/Misc Object Data/Anim - Flame Thrower.asm" - -LBZRideGrapple_Range: dc.w $A08, $C78 ;0 - dc.w $1208, $14F8 ;1 - dc.w $1A08, $1BB8 ;2 - dc.w $1C48, $2078 ;3 - dc.w $2688, $2878 ;4 - dc.w $2988, $2DF8 ;5 - dc.w $2F88, $3178 ;6 - dc.w $E68, $1098 ;7 - dc.w $CE8, $1498 ;8 - dc.w $E68, $1398 ;9 - dc.w $20E8, $2418 ;A - dc.w $2B08, $2E98 ;B - dc.w $39E8, $3C98 ;C + jmp (Sprite_CheckDeleteTouch3).l +; --------------------------------------------------------------------------- +Ani_LBZFlameThrower: + include "Levels/LBZ/Misc Object Data/Anim - Flame Thrower.asm" +LBZRideGrapple_Range: + dc.w $A08, $C78 ; 0 + dc.w $1208, $14F8 ; 1 + dc.w $1A08, $1BB8 ; 2 + dc.w $1C48, $2078 ; 3 + dc.w $2688, $2878 ; 4 + dc.w $2988, $2DF8 ; 5 + dc.w $2F88, $3178 ; 6 + dc.w $E68, $1098 ; 7 + dc.w $CE8, $1498 ; 8 + dc.w $E68, $1398 ; 9 + dc.w $20E8, $2418 ; A + dc.w $2B08, $2E98 ; B + dc.w $39E8, $3C98 ; C ; --------------------------------------------------------------------------- Obj_LBZRideGrapple: @@ -51854,7 +52015,7 @@ loc_2656C: loc_26588: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_265A2 @@ -52032,7 +52193,7 @@ loc_2673E: move.b $2A(a1),$2A(a0) move.b $2A(a1),d0 andi.b #1,d0 - andi.b #-2,4(a1) + andi.b #$FE,4(a1) or.b d0,4(a1) move.w $10(a3),$10(a1) move.w $14(a3),$14(a1) @@ -52225,8 +52386,8 @@ loc_2690C: ; End of function sub_2682E ; --------------------------------------------------------------------------- -Map_LBZRideGrapple:include "Levels/LBZ/Misc Object Data/Map - Ride Grapple.asm" - +Map_LBZRideGrapple: + include "Levels/LBZ/Misc Object Data/Map - Ride Grapple.asm" ; --------------------------------------------------------------------------- Obj_LBZCupElevator: @@ -52350,17 +52511,17 @@ LBZCupElevator_Action: ; End of function LBZCupElevator_Action ; --------------------------------------------------------------------------- -off_26B1E: dc.w LBZCupElev_WaitEnter-off_26B1E ;0 - dc.w LBZCupElev_MoveUp-off_26B1E ;2 - dc.w LBZCupElev_WaitExit1-off_26B1E ;4 - dc.w LBZCupElev_WaitEnter-off_26B1E ;6 - dc.w LBZCupElev_MoveDown-off_26B1E ;8 - dc.w LBZCupElev_WaitExit2-off_26B1E ;A - dc.w LBZCupElev_Spin1-off_26B1E ;C - dc.w LBZCupElev_Fling1-off_26B1E ;E - dc.w LBZCupElev_Fling2-off_26B1E ;10 - dc.w LBZCupElev_Spin2-off_26B1E ;12 - dc.w LBZCupElev_Fling3-off_26B1E ;14 +off_26B1E: dc.w LBZCupElev_WaitEnter-off_26B1E ; 0 + dc.w LBZCupElev_MoveUp-off_26B1E ; 2 + dc.w LBZCupElev_WaitExit1-off_26B1E ; 4 + dc.w LBZCupElev_WaitEnter-off_26B1E ; 6 + dc.w LBZCupElev_MoveDown-off_26B1E ; 8 + dc.w LBZCupElev_WaitExit2-off_26B1E ; A + dc.w LBZCupElev_Spin1-off_26B1E ; C + dc.w LBZCupElev_Fling1-off_26B1E ; E + dc.w LBZCupElev_Fling2-off_26B1E ; 10 + dc.w LBZCupElev_Spin2-off_26B1E ; 12 + dc.w LBZCupElev_Fling3-off_26B1E ; 14 ; --------------------------------------------------------------------------- LBZCupElev_WaitEnter: @@ -52407,8 +52568,8 @@ loc_26B78: tst.b $26(a0) bpl.s locret_26BB6 move.w #$80,8(a0) - moveq #sfx_Hoverpad,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Hoverpad),d0 + jsr (Play_SFX).l locret_26BB6: rts @@ -52418,8 +52579,8 @@ loc_26BB8: tst.b $26(a0) bmi.s locret_26BCC move.w #$200,8(a0) - moveq #sfx_Hoverpad,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Hoverpad),d0 + jsr (Play_SFX).l locret_26BCC: rts @@ -52467,8 +52628,8 @@ loc_26C08: tst.b $26(a0) bpl.s locret_26C46 move.w #$80,8(a0) - moveq #sfx_Hoverpad,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Hoverpad),d0 + jsr (Play_SFX).l locret_26C46: rts @@ -52478,8 +52639,8 @@ loc_26C48: tst.b $26(a0) bmi.s locret_26C5C move.w #$200,8(a0) - moveq #sfx_Hoverpad,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Hoverpad),d0 + jsr (Play_SFX).l locret_26C5C: rts @@ -52533,8 +52694,8 @@ loc_26CCA: tst.b $26(a0) bpl.s locret_26CEE move.w #$80,8(a0) - moveq #sfx_Hoverpad,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Hoverpad),d0 + jsr (Play_SFX).l locret_26CEE: rts @@ -52544,8 +52705,8 @@ loc_26CF0: tst.b $26(a0) bmi.s locret_26D04 move.w #$200,8(a0) - moveq #sfx_Hoverpad,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Hoverpad),d0 + jsr (Play_SFX).l locret_26D04: rts @@ -52576,8 +52737,8 @@ loc_26D38: tst.b $26(a0) bpl.s locret_26D5C move.w #$80,8(a0) - moveq #sfx_Hoverpad,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Hoverpad),d0 + jsr (Play_SFX).l locret_26D5C: rts @@ -52587,8 +52748,8 @@ loc_26D5E: tst.b $26(a0) bmi.s locret_26D72 move.w #$200,8(a0) - moveq #sfx_Hoverpad,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Hoverpad),d0 + jsr (Play_SFX).l locret_26D72: rts @@ -52638,8 +52799,8 @@ loc_26DD8: loc_26DE0: move.l #Obj_LBZElevatorCupFlicker,(a0) - moveq #sfx_Death,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Death),d0 + jsr (Play_SFX).l lea $3C(a0),a2 lea (Player_1).w,a1 move.w #-$300,d0 @@ -52860,7 +53021,7 @@ Obj_LBZCupElevatorAttach: move.w #$100,8(a0) loc_27060: - andi.b #-2,4(a0) + andi.b #$FE,4(a0) subi.b #$40,d0 bpl.s loc_27072 ori.b #1,4(a0) ; Flip object if angle-$40 is negative @@ -52908,8 +53069,8 @@ loc_27100: jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Obj_1A_1: - move.l #Map_LBZUnusedUnknown,$C(a0) +Obj_LBZUnusedTiltingBridge: + move.l #Map_LBZUnusedTiltingBridge,$C(a0) move.w #$43C3,$A(a0) ori.b #4,4(a0) move.b #$40,7(a0) @@ -52920,7 +53081,7 @@ Obj_1A_1: jsr (Create_New_Sprite3).l bne.w loc_27190 move.l #loc_271E0,(a1) - move.l #Map_LBZUnusedUnknown,$C(a1) + move.l #Map_LBZUnusedTiltingBridge,$C(a1) move.w #$43C3,$A(a1) ori.b #4,4(a1) move.b #$40,7(a1) @@ -53433,8 +53594,8 @@ loc_2769C: dbf d1,loc_27692 loc_276D0: - moveq #sfx_Collapse,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jmp (Play_SFX).l ; End of function sub_275F2 ; --------------------------------------------------------------------------- @@ -53490,7 +53651,6 @@ Animate_Tiles: rts ; --------------------------------------------------------------------------- Offs_AniFunc: dc.w AnimateTiles_AIZ1-Offs_AniFunc - Offs_AniPLC: dc.w AniPLC_AIZ1-Offs_AniFunc dc.w AnimateTiles_AIZ2-Offs_AniFunc dc.w AniPLC_AIZ2-Offs_AniFunc @@ -55225,901 +55385,807 @@ AnimateTiles_DoAniPLC_Part2: ; otherwise the subroutine would spend so much time waiting for the art to be ; decompressed that the VBLANK window would close before all the animating was done. -; zoneanimdecl -1, ArtUnc_Flowers1, ArtTile_ArtUnc_Flowers1, 6, 2 +; zoneanimdecl -1, ArtUnc_Flowers1, ArtTile_ArtUnc_Flowers1, 6, 2 ; -1 Global frame duration. If -1, then each frame will use its own duration, instead ; ArtUnc_Flowers1 Source address ; ArtTile_ArtUnc_Flowers1 Destination VRAM address ; 6 Number of frames ; 2 Number of tiles to load into VRAM for each frame -; dc.b 0,$7F ; Start of the script proper +; dc.b 0,$7F ; Start of the script proper ; 0 Tile ID of first tile in ArtUnc_Flowers1 to transfer ; $7F Frame duration. Only here if global duration is -1 -AniPLC_AIZ1: zoneanimstart - +AniPLC_AIZ1: zoneanimstart zoneanimdecl -1, ArtUnc_AniAIZ1_0, $2E6, 9, $C - dc.b $3C,$4F - dc.b $30, 5 - dc.b $18, 5 - dc.b $C, 5 - dc.b 0,$4F - dc.b $C, 3 - dc.b $18, 3 - dc.b $24, 1 - dc.b $30, 1 - even - + dc.b $3C,$4F + dc.b $30, 5 + dc.b $18, 5 + dc.b $C, 5 + dc.b 0,$4F + dc.b $C, 3 + dc.b $18, 3 + dc.b $24, 1 + dc.b $30, 1 + even zoneanimdecl -1, ArtUnc_AniAIZ1_0, $2F2, 8, $C - dc.b $18, 5 - dc.b $24, 5 - dc.b $30, 5 - dc.b $3C,$27 - dc.b 0, 5 - dc.b $C, 5 - dc.b $18, 5 - dc.b $24, 5 - even - + dc.b $18, 5 + dc.b $24, 5 + dc.b $30, 5 + dc.b $3C,$27 + dc.b 0, 5 + dc.b $C, 5 + dc.b $18, 5 + dc.b $24, 5 + even zoneanimdecl -1, ArtUnc_AniAIZ1_1, $2FE, 8, 6 - dc.b 0, 7 - dc.b 6, 3 - dc.b $C, 3 - dc.b $12, 3 - dc.b $18, 7 - dc.b $12, 3 - dc.b $C, 3 - dc.b 6, 3 - even - + dc.b 0, 7 + dc.b 6, 3 + dc.b $C, 3 + dc.b $12, 3 + dc.b $18, 7 + dc.b $12, 3 + dc.b $C, 3 + dc.b 6, 3 + even zoneanimend -AniPLC_AIZ2: zoneanimstart - +AniPLC_AIZ2: zoneanimstart zoneanimdecl 3, ArtUnc_AniAIZ2_0, $B3, 4,$17 - dc.b 0 - dc.b $17 - dc.b $2E - dc.b $45 - even - + dc.b 0 + dc.b $17 + dc.b $2E + dc.b $45 + even zoneanimdecl -1, ArtUnc_AniAIZ2_1, $CA, 9, $C - dc.b $3C,$4F - dc.b $30, 5 - dc.b $18, 5 - dc.b $C, 5 - dc.b 0,$4F - dc.b $C, 3 - dc.b $18, 3 - dc.b $24, 1 - dc.b $30, 1 - even - + dc.b $3C,$4F + dc.b $30, 5 + dc.b $18, 5 + dc.b $C, 5 + dc.b 0,$4F + dc.b $C, 3 + dc.b $18, 3 + dc.b $24, 1 + dc.b $30, 1 + even zoneanimdecl -1, ArtUnc_AniAIZ2_1, $D6, 8, $C - dc.b $18, 5 - dc.b $24, 5 - dc.b $30, 5 - dc.b $3C,$27 - dc.b 0, 5 - dc.b $C, 5 - dc.b $18, 5 - dc.b $24, 5 - even - + dc.b $18, 5 + dc.b $24, 5 + dc.b $30, 5 + dc.b $3C,$27 + dc.b 0, 5 + dc.b $C, 5 + dc.b $18, 5 + dc.b $24, 5 + even zoneanimdecl 3, ArtUnc_AniAIZ2_2, $E2, 4, 4 - dc.b 0 - dc.b 4 - dc.b 8 - dc.b $C - even - + dc.b 0 + dc.b 4 + dc.b 8 + dc.b $C + even zoneanimdecl 3, ArtUnc_AniAIZ2_3, $E6, 4,$18 - dc.b 0 - dc.b $18 - dc.b $30 - dc.b $48 - even - + dc.b 0 + dc.b $18 + dc.b $30 + dc.b $48 + even zoneanimend -AniPLC_HCZ1: zoneanimstart - +AniPLC_HCZ1: zoneanimstart zoneanimdecl -1, ArtUnc_AniHCZ1_0, $30C, 3,$24 - dc.b 0, 2 - dc.b $24, 1 - dc.b $48, 2 - even - + dc.b 0, 2 + dc.b $24, 1 + dc.b $48, 2 + even zoneanimdecl -1, ArtUnc_AniHCZ__1, $115,$10, 6 - dc.b 0, 4 - dc.b 6, 3 - dc.b $C, 2 - dc.b $12, 1 - dc.b $18, 0 - dc.b $1E, 1 - dc.b $24, 2 - dc.b $2A, 3 - dc.b $30, 4 - dc.b $2A, 3 - dc.b $24, 2 - dc.b $1E, 1 - dc.b $18, 0 - dc.b $12, 1 - dc.b $C, 2 - dc.b 6, 3 - even - + dc.b 0, 4 + dc.b 6, 3 + dc.b $C, 2 + dc.b $12, 1 + dc.b $18, 0 + dc.b $1E, 1 + dc.b $24, 2 + dc.b $2A, 3 + dc.b $30, 4 + dc.b $2A, 3 + dc.b $24, 2 + dc.b $1E, 1 + dc.b $18, 0 + dc.b $12, 1 + dc.b $C, 2 + dc.b 6, 3 + even zoneanimend -AniPLC_HCZ2: zoneanimstart - +AniPLC_HCZ2: zoneanimstart zoneanimdecl 3, ArtUnc_AniHCZ2_0, $25E, 4,$15 - dc.b 0 - dc.b $15 - dc.b $2A - dc.b $3F - even - + dc.b 0 + dc.b $15 + dc.b $2A + dc.b $3F + even zoneanimdecl -1, ArtUnc_AniHCZ__1, $115,$10, 6 - dc.b 0, 4 - dc.b 6, 3 - dc.b $C, 2 - dc.b $12, 1 - dc.b $18, 0 - dc.b $1E, 1 - dc.b $24, 2 - dc.b $2A, 3 - dc.b $30, 4 - dc.b $2A, 3 - dc.b $24, 2 - dc.b $1E, 1 - dc.b $18, 0 - dc.b $12, 1 - dc.b $C, 2 - dc.b 6, 3 - even - + dc.b 0, 4 + dc.b 6, 3 + dc.b $C, 2 + dc.b $12, 1 + dc.b $18, 0 + dc.b $1E, 1 + dc.b $24, 2 + dc.b $2A, 3 + dc.b $30, 4 + dc.b $2A, 3 + dc.b $24, 2 + dc.b $1E, 1 + dc.b $18, 0 + dc.b $12, 1 + dc.b $C, 2 + dc.b 6, 3 + even zoneanimend -AniPLC_MGZ: zoneanimstart - +AniPLC_MGZ: zoneanimstart zoneanimdecl 9, ArtUnc_AniMGZ__0, $222, 6,$30 - dc.b 0 - dc.b $30 - dc.b $60 - dc.b $90 - dc.b $C0 - dc.b $F0 - even - + dc.b 0 + dc.b $30 + dc.b $60 + dc.b $90 + dc.b $C0 + dc.b $F0 + even zoneanimdecl -1, ArtUnc_AniMGZ__1, $252, 4, 1 - dc.b 0, 7 - dc.b 1, $E - dc.b 2, 7 - dc.b 1, $E - even - + dc.b 0, 7 + dc.b 1, $E + dc.b 2, 7 + dc.b 1, $E + even zoneanimend -AniPLC_CNZ: zoneanimstart - +AniPLC_CNZ: zoneanimstart zoneanimdecl 3, ArtUnc_AniCNZ__0, $2B2,$10, 9 - dc.b 0 - dc.b $12 - dc.b $24 - dc.b $36 - dc.b $48 - dc.b $5A - dc.b $6C - dc.b $7E - dc.b 9 - dc.b $1B - dc.b $2D - dc.b $3F - dc.b $51 - dc.b $63 - dc.b $75 - dc.b $87 - even - + dc.b 0 + dc.b $12 + dc.b $24 + dc.b $36 + dc.b $48 + dc.b $5A + dc.b $6C + dc.b $7E + dc.b 9 + dc.b $1B + dc.b $2D + dc.b $3F + dc.b $51 + dc.b $63 + dc.b $75 + dc.b $87 + even zoneanimdecl 3, ArtUnc_AniCNZ__0, $2BB,$10, 9 - dc.b 9 - dc.b $1B - dc.b $2D - dc.b $3F - dc.b $51 - dc.b $63 - dc.b $75 - dc.b $87 - dc.b 0 - dc.b $12 - dc.b $24 - dc.b $36 - dc.b $48 - dc.b $5A - dc.b $6C - dc.b $7E - even - + dc.b 9 + dc.b $1B + dc.b $2D + dc.b $3F + dc.b $51 + dc.b $63 + dc.b $75 + dc.b $87 + dc.b 0 + dc.b $12 + dc.b $24 + dc.b $36 + dc.b $48 + dc.b $5A + dc.b $6C + dc.b $7E + even zoneanimdecl 3, ArtUnc_AniCNZ__1, $2C4,$10,$10 - dc.b 0 - dc.b $10 - dc.b $20 - dc.b $30 - dc.b $40 - dc.b $50 - dc.b $60 - dc.b $70 - dc.b $80 - dc.b $90 - dc.b $A0 - dc.b $B0 - dc.b $C0 - dc.b $D0 - dc.b $E0 - dc.b $F0 - even - + dc.b 0 + dc.b $10 + dc.b $20 + dc.b $30 + dc.b $40 + dc.b $50 + dc.b $60 + dc.b $70 + dc.b $80 + dc.b $90 + dc.b $A0 + dc.b $B0 + dc.b $C0 + dc.b $D0 + dc.b $E0 + dc.b $F0 + even zoneanimdecl 3, ArtUnc_AniCNZ__2, $2D4, 8,$20 - dc.b 0 - dc.b $20 - dc.b $40 - dc.b $60 - dc.b $80 - dc.b $A0 - dc.b $C0 - dc.b $E0 - even - + dc.b 0 + dc.b $20 + dc.b $40 + dc.b $60 + dc.b $80 + dc.b $A0 + dc.b $C0 + dc.b $E0 + even zoneanimdecl 3, ArtUnc_AniCNZ__3, $2F4, 8,$10 - dc.b 0 - dc.b $10 - dc.b $20 - dc.b $30 - dc.b $40 - dc.b $50 - dc.b $60 - dc.b $70 - even - + dc.b 0 + dc.b $10 + dc.b $20 + dc.b $30 + dc.b $40 + dc.b $50 + dc.b $60 + dc.b $70 + even zoneanimdecl 3, ArtUnc_AniCNZ__4, $304, 6, 4 - dc.b 0 - dc.b 4 - dc.b 8 - dc.b 0 - dc.b 4 - dc.b 8 - even - + dc.b 0 + dc.b 4 + dc.b 8 + dc.b 0 + dc.b 4 + dc.b 8 + even zoneanimdecl 1, ArtUnc_AniCNZ__5, $328, 4,$14 - dc.b 0 - dc.b $14 - dc.b $28 - dc.b $3C - even - + dc.b 0 + dc.b $14 + dc.b $28 + dc.b $3C + even zoneanimend -AniPLC_FBZ1: zoneanimstart - +AniPLC_FBZ1: zoneanimstart zoneanimdecl $3F, ArtUnc_AniFBZ__0, $210, 2,$20 - dc.b 0 - dc.b 0 - even - + dc.b 0 + dc.b 0 + even zoneanimdecl 7, ArtUnc_AniFBZ__1, $230, 6, 8 - dc.b 0 - dc.b 8 - dc.b $10 - dc.b 0 - dc.b 8 - dc.b $10 - even - + dc.b 0 + dc.b 8 + dc.b $10 + dc.b 0 + dc.b 8 + dc.b $10 + even zoneanimdecl 1, ArtUnc_AniFBZ__2, $238, 8,$10 - dc.b 0 - dc.b $10 - dc.b $20 - dc.b $30 - dc.b $40 - dc.b $50 - dc.b $60 - dc.b $70 - even - + dc.b 0 + dc.b $10 + dc.b $20 + dc.b $30 + dc.b $40 + dc.b $50 + dc.b $60 + dc.b $70 + even zoneanimdecl 7, ArtUnc_AniFBZ__3, $200, 2, 8 - dc.b 0 - dc.b 8 - even - + dc.b 0 + dc.b 8 + even zoneanimdecl 7, ArtUnc_AniFBZ__4, $208, 6, 8 - dc.b 0 - dc.b 8 - dc.b $10 - dc.b 0 - dc.b 8 - dc.b $10 - even - + dc.b 0 + dc.b 8 + dc.b $10 + dc.b 0 + dc.b 8 + dc.b $10 + even zoneanimend -AniPLC_FBZ2: zoneanimstart - +AniPLC_FBZ2: zoneanimstart zoneanimdecl 1, ArtUnc_AniFBZ__0, $210, 8,$20 - dc.b 0 - dc.b $20 - dc.b $40 - dc.b $60 - dc.b $80 - dc.b $A0 - dc.b $C0 - dc.b $E0 - even - + dc.b 0 + dc.b $20 + dc.b $40 + dc.b $60 + dc.b $80 + dc.b $A0 + dc.b $C0 + dc.b $E0 + even zoneanimdecl 7, ArtUnc_AniFBZ__1, $230, 6, 8 - dc.b 0 - dc.b 8 - dc.b $10 - dc.b 0 - dc.b 8 - dc.b $10 - even - + dc.b 0 + dc.b 8 + dc.b $10 + dc.b 0 + dc.b 8 + dc.b $10 + even zoneanimdecl 1, ArtUnc_AniFBZ__2, $238, 8,$10 - dc.b 0 - dc.b $10 - dc.b $20 - dc.b $30 - dc.b $40 - dc.b $50 - dc.b $60 - dc.b $70 - even - + dc.b 0 + dc.b $10 + dc.b $20 + dc.b $30 + dc.b $40 + dc.b $50 + dc.b $60 + dc.b $70 + even zoneanimdecl 7, ArtUnc_AniFBZ__3, $200, 2, 8 - dc.b 0 - dc.b 8 - even - + dc.b 0 + dc.b 8 + even zoneanimdecl 7, ArtUnc_AniFBZ__4, $208, 6, 8 - dc.b 0 - dc.b 8 - dc.b $10 - dc.b 0 - dc.b 8 - dc.b $10 - even - + dc.b 0 + dc.b 8 + dc.b $10 + dc.b 0 + dc.b 8 + dc.b $10 + even zoneanimend -AniPLC_ICZ: zoneanimstart - +AniPLC_ICZ: zoneanimstart zoneanimdecl 3, ArtUnc_AniICZ__0, $11E, 8, 4 - dc.b 0 - dc.b 4 - dc.b 8 - dc.b $C - dc.b $10 - dc.b $14 - dc.b $18 - dc.b $1C - even - + dc.b 0 + dc.b 4 + dc.b 8 + dc.b $C + dc.b $10 + dc.b $14 + dc.b $18 + dc.b $1C + even zoneanimend -AniPLC_LBZ1: zoneanimstart - +AniPLC_LBZ1: zoneanimstart zoneanimdecl 2, ArtUnc_AniLBZ1_0, $365, 4, 8 - dc.b 0 - dc.b 8 - dc.b $10 - dc.b $18 - even - + dc.b 0 + dc.b 8 + dc.b $10 + dc.b $18 + even zoneanimend -AniPLC_LBZSpec: zoneanimstart - +AniPLC_LBZSpec: zoneanimstart zoneanimdecl 7, ArtUnc_AniLBZ2_0, $170, 4, 5 - dc.b 0 - dc.b 5 - dc.b $A - dc.b $F - even - + dc.b 0 + dc.b 5 + dc.b $A + dc.b $F + even zoneanimdecl 7, ArtUnc_AniLBZ2_1, $175, 6, 4 - dc.b 0 - dc.b 4 - dc.b 8 - dc.b $C - dc.b $10 - dc.b $14 - even - + dc.b 0 + dc.b 4 + dc.b 8 + dc.b $C + dc.b $10 + dc.b $14 + even zoneanimend -AniPLC_LBZ2: zoneanimstart - +AniPLC_LBZ2: zoneanimstart zoneanimdecl 7, ArtUnc_AniLBZ2_0, $170, 4, 5 - dc.b 0 - dc.b 5 - dc.b $A - dc.b $F - even - + dc.b 0 + dc.b 5 + dc.b $A + dc.b $F + even zoneanimdecl 7, ArtUnc_AniLBZ2_1, $175, 6, 4 - dc.b 0 - dc.b 4 - dc.b 8 - dc.b $C - dc.b $10 - dc.b $14 - even - + dc.b 0 + dc.b 4 + dc.b 8 + dc.b $C + dc.b $10 + dc.b $14 + even zoneanimend -AniPLC_MHZ: zoneanimstart - +AniPLC_MHZ: zoneanimstart zoneanimdecl -1, ArtUnc_AniMHZ__0, $25,$14, 4 - dc.b 0,$18 - dc.b 4, 0 - dc.b 0, 0 - dc.b 4, 0 - dc.b 8, 0 - dc.b 4, 0 - dc.b 8, 0 - dc.b $C, 0 - dc.b 8, 0 - dc.b $C, 0 - dc.b 8, 0 - dc.b $C, 0 - dc.b $10, 0 - dc.b $C, 0 - dc.b $10, 0 - dc.b $14, 0 - dc.b $10, 0 - dc.b $14,$31 - dc.b 0, 0 - dc.b $14, 0 - even - + dc.b 0,$18 + dc.b 4, 0 + dc.b 0, 0 + dc.b 4, 0 + dc.b 8, 0 + dc.b 4, 0 + dc.b 8, 0 + dc.b $C, 0 + dc.b 8, 0 + dc.b $C, 0 + dc.b 8, 0 + dc.b $C, 0 + dc.b $10, 0 + dc.b $C, 0 + dc.b $10, 0 + dc.b $14, 0 + dc.b $10, 0 + dc.b $14,$31 + dc.b 0, 0 + dc.b $14, 0 + even zoneanimdecl -1, ArtUnc_AniMHZ__1, $19, $C, 4 - dc.b 0,$1D - dc.b 4, 0 - dc.b 0, 0 - dc.b 4, 0 - dc.b 0, 0 - dc.b 4, 0 - dc.b 0, 0 - dc.b 4, 1 - dc.b 8,$1D - dc.b $C, 4 - dc.b $10, 4 - dc.b $14, 4 - even - + dc.b 0,$1D + dc.b 4, 0 + dc.b 0, 0 + dc.b 4, 0 + dc.b 0, 0 + dc.b 4, 0 + dc.b 0, 0 + dc.b 4, 1 + dc.b 8,$1D + dc.b $C, 4 + dc.b $10, 4 + dc.b $14, 4 + even zoneanimdecl -1, ArtUnc_AniMHZ__2, $5D, 8, 8 - dc.b 0, 4 - dc.b 8, 4 - dc.b $10, 6 - dc.b 8, 4 - dc.b 0, 4 - dc.b $18, 4 - dc.b $20, 6 - dc.b $18, 4 - even - + dc.b 0, 4 + dc.b 8, 4 + dc.b $10, 6 + dc.b 8, 4 + dc.b 0, 4 + dc.b $18, 4 + dc.b $20, 6 + dc.b $18, 4 + even zoneanimdecl -1, ArtUnc_AniMHZ__3, $1D, 8, 8 - dc.b $10, 6 - dc.b 8, 4 - dc.b 0, 4 - dc.b $18, 4 - dc.b $20, 6 - dc.b $18, 4 - dc.b 0, 4 - dc.b 8, 4 - even - + dc.b $10, 6 + dc.b 8, 4 + dc.b 0, 4 + dc.b $18, 4 + dc.b $20, 6 + dc.b $18, 4 + dc.b 0, 4 + dc.b 8, 4 + even zoneanimend -AniPLC_LRZ1: zoneanimstart - +AniPLC_LRZ1: zoneanimstart zoneanimdecl 5, ArtUnc_AniLRZ1_0, $354, 4, 4 - dc.b 0 - dc.b 4 - dc.b 8 - dc.b $C - even - + dc.b 0 + dc.b 4 + dc.b 8 + dc.b $C + even zoneanimdecl 5, ArtUnc_AniLRZ1_1, $350, 4, 4 - dc.b 0 - dc.b 4 - dc.b 8 - dc.b $C - even - + dc.b 0 + dc.b 4 + dc.b 8 + dc.b $C + even zoneanimend -AniPLC_LRZ2: zoneanimstart - +AniPLC_LRZ2: zoneanimstart zoneanimdecl -1, ArtUnc_AniLRZ2_0, $358, 3, 6 - dc.b 0, 2 - dc.b 6, 2 - dc.b $C, 1 - even - + dc.b 0, 2 + dc.b 6, 2 + dc.b $C, 1 + even zoneanimdecl 1, ArtUnc_AniLRZ2_1, $350, 8, 8 - dc.b 0 - dc.b $38 - dc.b $30 - dc.b $28 - dc.b $20 - dc.b $18 - dc.b $10 - dc.b 8 - even - + dc.b 0 + dc.b $38 + dc.b $30 + dc.b $28 + dc.b $20 + dc.b $18 + dc.b $10 + dc.b 8 + even zoneanimend -AniPLC_SSZ: zoneanimstart - +AniPLC_SSZ: zoneanimstart zoneanimdecl 7, ArtUnc_AniSSZ__0, $1F3, 4,$24 - dc.b 0 - dc.b $24 - dc.b $48 - dc.b $6C - even - + dc.b 0 + dc.b $24 + dc.b $48 + dc.b $6C + even zoneanimdecl 7, ArtUnc_AniSSZ__1, $217, 4, 8 - dc.b 0 - dc.b 8 - dc.b $10 - dc.b $18 - even - + dc.b 0 + dc.b 8 + dc.b $10 + dc.b $18 + even zoneanimdecl 7, ArtUnc_AniSSZ__2, $21F, 3, 8 - dc.b 0 - dc.b 8 - dc.b $10 - dc.b $18 ; Unused; frame count is 3. There is no frame 4 in ArtUnc_AniSSZ__2, anyway - even - + dc.b 0 + dc.b 8 + dc.b $10 + dc.b $18 ; Unused; frame count is 3. There is no frame 4 in ArtUnc_AniSSZ__2, anyway + even zoneanimdecl 2, ArtUnc_AniSSZ__3, $1D9, 4, 9 - dc.b 0 - dc.b 9 - dc.b $12 - dc.b $1B - even - + dc.b 0 + dc.b 9 + dc.b $12 + dc.b $1B + even zoneanimdecl 2, ArtUnc_AniSSZ__4, $1E2, 4, 4 - dc.b 0 - dc.b 4 - dc.b 8 - dc.b $C - even - + dc.b 0 + dc.b 4 + dc.b 8 + dc.b $C + even zoneanimdecl 2, ArtUnc_AniSSZ__5, $1E6, 4, $D - dc.b 0 - dc.b $D - dc.b $1A - dc.b $27 - even - + dc.b 0 + dc.b $D + dc.b $1A + dc.b $27 + even zoneanimend -AniPLC_DEZ: zoneanimstart - +AniPLC_DEZ: zoneanimstart zoneanimdecl 0, ArtUnc_AniDEZ__0, $E4, 2, 2 - dc.b 0 - dc.b 2 - even - + dc.b 0 + dc.b 2 + even zoneanimdecl 1, ArtUnc_AniDEZ__1, $1F4, 6,$1E - dc.b 0 - dc.b $1E - dc.b $3C - dc.b 0 - dc.b $1E - dc.b $3C - even - + dc.b 0 + dc.b $1E + dc.b $3C + dc.b 0 + dc.b $1E + dc.b $3C + even zoneanimdecl 3, ArtUnc_AniDEZ__2, $EC, 8, 4 - dc.b 0 - dc.b 4 - dc.b 8 - dc.b $C - dc.b $10 - dc.b $14 - dc.b $18 - dc.b $1C - even - + dc.b 0 + dc.b 4 + dc.b 8 + dc.b $C + dc.b $10 + dc.b $14 + dc.b $18 + dc.b $1C + even zoneanimdecl -1, ArtUnc_AniDEZ__3, $5F, 4, 6 - dc.b 0, 9 - dc.b 6, 4 - dc.b $C, 9 - dc.b 6, 4 - even - + dc.b 0, 9 + dc.b 6, 4 + dc.b $C, 9 + dc.b 6, 4 + even zoneanimdecl 4, ArtUnc_AniDEZ__4, $4B, 4, 2 - dc.b 0 - dc.b 2 - dc.b 4 - dc.b 2 - even - + dc.b 0 + dc.b 2 + dc.b 4 + dc.b 2 + even zoneanimdecl 4, ArtUnc_AniDEZ__5, $6B, 6, 3 - dc.b 0 - dc.b 3 - dc.b 6 - dc.b 0 - dc.b 3 - dc.b 6 - even - + dc.b 0 + dc.b 3 + dc.b 6 + dc.b 0 + dc.b 3 + dc.b 6 + even zoneanimdecl 1, ArtUnc_AniDEZ__6, $28, 2, 8 - dc.b 0 - dc.b 8 - even - + dc.b 0 + dc.b 8 + even zoneanimdecl 0, ArtUnc_AniDEZ__7, $26D,$84, 5 - dc.b 0 - dc.b $2D - dc.b 0 - dc.b $2D - dc.b 0 - dc.b $2D - dc.b 0 - dc.b $2D - dc.b 0 - dc.b $2D - dc.b 0 - dc.b $2D - dc.b 5 - dc.b $2D - dc.b 5 - dc.b $2D - dc.b 5 - dc.b $2D - dc.b 5 - dc.b $2D - dc.b 5 - dc.b $2D - dc.b 5 - dc.b $2D - dc.b $A - dc.b $2D - dc.b $A - dc.b $2D - dc.b $A - dc.b $2D - dc.b $A - dc.b $2D - dc.b $A - dc.b $2D - dc.b $A - dc.b $2D - dc.b $F - dc.b $2D - dc.b $F - dc.b $2D - dc.b $F - dc.b $2D - dc.b $F - dc.b $2D - dc.b $F - dc.b $2D - dc.b $F - dc.b $2D - dc.b $14 - dc.b $2D - dc.b $14 - dc.b $2D - dc.b $14 - dc.b $2D - dc.b $14 - dc.b $2D - dc.b $14 - dc.b $2D - dc.b $14 - dc.b $2D - dc.b $19 - dc.b $2D - dc.b $19 - dc.b $2D - dc.b $19 - dc.b $2D - dc.b $19 - dc.b $2D - dc.b $19 - dc.b $2D - dc.b $19 - dc.b $2D - dc.b $1E - dc.b $2D - dc.b $1E - dc.b $2D - dc.b $1E - dc.b $2D - dc.b $1E - dc.b $2D - dc.b $1E - dc.b $2D - dc.b $1E - dc.b $2D - dc.b $23 - dc.b $2D - dc.b $23 - dc.b $2D - dc.b $23 - dc.b $2D - dc.b $23 - dc.b $2D - dc.b $23 - dc.b $2D - dc.b $23 - dc.b $2D - dc.b $28 - dc.b $2D - dc.b $28 - dc.b $2D - dc.b $28 - dc.b $2D - dc.b $28 - dc.b $2D - dc.b $28 - dc.b $2D - dc.b $28 - dc.b $2D - dc.b $28 - dc.b $2D - dc.b $28 - dc.b $2D - dc.b $28 - dc.b $2D - dc.b $28 - dc.b $2D - dc.b $28 - dc.b $2D - dc.b $28 - dc.b $2D - dc.b $28 - dc.b $2D - dc.b $28 - dc.b $2D - dc.b $28 - dc.b $2D - dc.b $28 - dc.b $2D - dc.b $28 - dc.b $2D - dc.b $28 - dc.b $2D - even - + dc.b 0 + dc.b $2D + dc.b 0 + dc.b $2D + dc.b 0 + dc.b $2D + dc.b 0 + dc.b $2D + dc.b 0 + dc.b $2D + dc.b 0 + dc.b $2D + dc.b 5 + dc.b $2D + dc.b 5 + dc.b $2D + dc.b 5 + dc.b $2D + dc.b 5 + dc.b $2D + dc.b 5 + dc.b $2D + dc.b 5 + dc.b $2D + dc.b $A + dc.b $2D + dc.b $A + dc.b $2D + dc.b $A + dc.b $2D + dc.b $A + dc.b $2D + dc.b $A + dc.b $2D + dc.b $A + dc.b $2D + dc.b $F + dc.b $2D + dc.b $F + dc.b $2D + dc.b $F + dc.b $2D + dc.b $F + dc.b $2D + dc.b $F + dc.b $2D + dc.b $F + dc.b $2D + dc.b $14 + dc.b $2D + dc.b $14 + dc.b $2D + dc.b $14 + dc.b $2D + dc.b $14 + dc.b $2D + dc.b $14 + dc.b $2D + dc.b $14 + dc.b $2D + dc.b $19 + dc.b $2D + dc.b $19 + dc.b $2D + dc.b $19 + dc.b $2D + dc.b $19 + dc.b $2D + dc.b $19 + dc.b $2D + dc.b $19 + dc.b $2D + dc.b $1E + dc.b $2D + dc.b $1E + dc.b $2D + dc.b $1E + dc.b $2D + dc.b $1E + dc.b $2D + dc.b $1E + dc.b $2D + dc.b $1E + dc.b $2D + dc.b $23 + dc.b $2D + dc.b $23 + dc.b $2D + dc.b $23 + dc.b $2D + dc.b $23 + dc.b $2D + dc.b $23 + dc.b $2D + dc.b $23 + dc.b $2D + dc.b $28 + dc.b $2D + dc.b $28 + dc.b $2D + dc.b $28 + dc.b $2D + dc.b $28 + dc.b $2D + dc.b $28 + dc.b $2D + dc.b $28 + dc.b $2D + dc.b $28 + dc.b $2D + dc.b $28 + dc.b $2D + dc.b $28 + dc.b $2D + dc.b $28 + dc.b $2D + dc.b $28 + dc.b $2D + dc.b $28 + dc.b $2D + dc.b $28 + dc.b $2D + dc.b $28 + dc.b $2D + dc.b $28 + dc.b $2D + dc.b $28 + dc.b $2D + dc.b $28 + dc.b $2D + dc.b $28 + dc.b $2D + even zoneanimend -AniPLC_ALZ: zoneanimstart - +AniPLC_ALZ: zoneanimstart zoneanimdecl 9, ArtUnc_AniALZ, $238, 3,$10 - dc.b 0 - dc.b $10 - dc.b $20 - even - + dc.b 0 + dc.b $10 + dc.b $20 + even zoneanimend -AniPLC_BPZ: zoneanimstart - +AniPLC_BPZ: zoneanimstart zoneanimdecl 7, ArtUnc_AniBPZ__0, $118, 6, 7 - dc.b 0 - dc.b 7 - dc.b $E - dc.b $15 - dc.b $1C - dc.b $23 - even - + dc.b 0 + dc.b 7 + dc.b $E + dc.b $15 + dc.b $1C + dc.b $23 + even zoneanimdecl 5, ArtUnc_AniBPZ__1, $11F, $A, 8 - dc.b 0 - dc.b 8 - dc.b $10 - dc.b $18 - dc.b $20 - dc.b 0 - dc.b 8 - dc.b $10 - dc.b $18 - dc.b $20 - even - + dc.b 0 + dc.b 8 + dc.b $10 + dc.b $18 + dc.b $20 + dc.b 0 + dc.b 8 + dc.b $10 + dc.b $18 + dc.b $20 + even zoneanimdecl 2, ArtUnc_AniBPZ__2, $127, 2, 3 - dc.b 0 - dc.b 3 - even - + dc.b 0 + dc.b 3 + even zoneanimdecl 4, ArtUnc_AniBPZ__3, $12A, 2, 1 - dc.b 0 - dc.b 1 - even - + dc.b 0 + dc.b 1 + even zoneanimend -AniPLC_DPZ: zoneanimstart - +AniPLC_DPZ: zoneanimstart zoneanimdecl $B, ArtUnc_AniDPZ, $147, 5, $C - dc.b 0 - dc.b $C - dc.b $18 - dc.b $24 - dc.b $30 - even - + dc.b 0 + dc.b $C + dc.b $18 + dc.b $24 + dc.b $30 + even zoneanimend -AniPLC_Pachinko: zoneanimstart - +AniPLC_Pachinko: zoneanimstart zoneanimdecl 0, ArtUnc_AniPachinko, $125, 8,$26 - dc.b $26 - dc.b 0 - dc.b $4C - dc.b 0 - dc.b $72 - dc.b 0 - dc.b $98 - dc.b 0 - even - + dc.b $26 + dc.b 0 + dc.b $4C + dc.b 0 + dc.b $72 + dc.b 0 + dc.b $98 + dc.b 0 + even zoneanimend -AniPLC_NULL: zoneanimstart - +AniPLC_NULL: zoneanimstart zoneanimend -AniPLC_HPZ: zoneanimstart - +AniPLC_HPZ: zoneanimstart zoneanimdecl 2, ArtUnc_AniHPZ__0, $2D0, 8, 3 - dc.b 0 - dc.b 3 - dc.b 6 - dc.b 9 - dc.b $C - dc.b $F - dc.b $12 - dc.b $15 - even - + dc.b 0 + dc.b 3 + dc.b 6 + dc.b 9 + dc.b $C + dc.b $F + dc.b $12 + dc.b $15 + even zoneanimdecl 3, ArtUnc_AniHPZ__1, $2D3, 6, 2 - dc.b 0 - dc.b 2 - dc.b 4 - dc.b 6 - dc.b 8 - dc.b $A - even - + dc.b 0 + dc.b 2 + dc.b 4 + dc.b 6 + dc.b 8 + dc.b $A + even zoneanimdecl 2, ArtUnc_AniHPZ__2, $2D5, 8, 4 - dc.b 0 - dc.b 4 - dc.b 8 - dc.b $C - dc.b $10 - dc.b $14 - dc.b $18 - dc.b $1C - even - + dc.b 0 + dc.b 4 + dc.b 8 + dc.b $C + dc.b $10 + dc.b $14 + dc.b $18 + dc.b $1C + even zoneanimdecl 3, ArtUnc_AniHPZ__3, $2D9, 6, 3 - dc.b 0 - dc.b 3 - dc.b 6 - dc.b 9 - dc.b $C - dc.b $F - even - + dc.b 0 + dc.b 3 + dc.b 6 + dc.b 9 + dc.b $C + dc.b $F + even zoneanimend - ; --------------------------------------------------------------------------- AnimateTiles_NULL3: @@ -56449,7 +56515,7 @@ Obj_LBZLoweringGrapple: move.b #4,4(a0) move.b #$10,7(a0) move.w #$80,8(a0) - move.b #-$80,6(a0) + move.b #$80,6(a0) move.w $14(a0),$3C(a0) move.l #Map_LBZLoweringGrapple,$C(a0) move.w #$42EA,$A(a0) @@ -56607,8 +56673,8 @@ loc_291A2: move.b #$14,$20(a1) move.b #1,$2E(a1) move.b #1,(a2) - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l locret_29214: rts @@ -56655,13 +56721,13 @@ loc_2927C: move.b #1,$32(a0) tst.b 4(a0) bpl.s loc_292DC - moveq #sfx_Crash,d0 + moveq #signextendB(sfx_Crash),d0 cmpi.b #2,(Current_zone).w beq.s loc_292C0 - moveq #sfx_MetalLand,d0 + moveq #signextendB(sfx_MechaLand),d0 loc_292C0: - jsr (Play_Sound_2).l + jsr (Play_SFX).l bra.s loc_292DC ; --------------------------------------------------------------------------- @@ -56744,10 +56810,10 @@ loc_29386: bsr.s sub_293D0 move.w #$80,8(a1) move.b #2,$22(a1) - move.b #-$68,$28(a1) + move.b #$98,$28(a1) move.l #loc_29416,(a1) - moveq #sfx_EnergyZap,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_EnergyZap),d0 + jsr (Play_SFX).l loc_293CA: jmp (Delete_Sprite_If_Not_In_Range).l @@ -56792,12 +56858,12 @@ loc_29440: jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Obj_22_1: +Obj_LBZAlarm: move.b #4,4(a0) move.b #$10,7(a0) move.b #$10,6(a0) move.w #$280,8(a0) - move.b #-$29,$28(a0) + move.b #$D7,$28(a0) move.l #loc_2946A,(a0) loc_2946A: @@ -56854,8 +56920,8 @@ loc_294E8: move.w $30(a0),d0 andi.b #$1F,d0 bne.s locret_294FA - moveq #sfx_Alarm,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Alarm),d0 + jsr (Play_SFX).l locret_294FA: rts @@ -56871,10 +56937,10 @@ word_29508: dc.w $C0, $FFA0 dc.w $FF40, $FFA0 ; --------------------------------------------------------------------------- -Obj_23_1: +Obj_LBZUnusedForceFall: move.b #4,4(a0) move.b #$10,7(a0) - move.b #-$80,6(a0) + move.b #$80,6(a0) move.b #0,8(a0) moveq #0,d0 move.b $2C(a0),d0 @@ -56970,7 +57036,8 @@ sub_2960E: ; End of function sub_2960E ; --------------------------------------------------------------------------- -AutoTunnel_Index: dc.w Obj_AutoTunnelInit-AutoTunnel_Index +AutoTunnel_Index: + dc.w Obj_AutoTunnelInit-AutoTunnel_Index dc.w Obj_AutoTunnelRun-AutoTunnel_Index dc.w Obj_AutoTunnelLastMove-AutoTunnel_Index ; --------------------------------------------------------------------------- @@ -57004,8 +57071,8 @@ Obj_AutoTunnelInit: move.w $14(a0),$14(a1) ;Lock player's position to object's position clr.b 1(a4) bsr.w AutoTunnel_GetPath ; Get the first path of the tunnel - moveq #sfx_Roll,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Roll),d0 + jsr (Play_SFX).l btst #5,$2C(a0) beq.s locret_296D2 tst.b (Current_act).w ; If bit 5 of object subtype is set and we're in an act 2 @@ -57055,8 +57122,8 @@ loc_2970A: move.w #0,$1A(a1) loc_2972C: - moveq #sfx_TubeLauncher,d0 - jsr (Play_Sound_2).l ; Play that nifty little cannon shooting sound + moveq #signextendB(sfx_TubeLauncher),d0 + jsr (Play_SFX).l ; Play that nifty little cannon shooting sound btst #5,$2C(a0) beq.s loc_29768 movea.l a1,a2 ; If bit 5 set (for LBZ2, again), make the waterfall @@ -57483,13 +57550,13 @@ loc_29B6E: add.w d0,d0 move.w d0,$2E(a1) addi.w #$10,$10(a1) - move.b #-$3A,$28(a1) + move.b #$C6,$28(a1) loc_29BE8: subq.w #1,$30(a0) bpl.s loc_29BFA move.w #$78,$30(a0) - eori.b #-1,$32(a0) + eori.b #$FF,$32(a0) loc_29BFA: jmp (Delete_Sprite_If_Not_In_Range).l @@ -57522,7 +57589,7 @@ loc_29C38: bsr.s sub_29C4C loc_29C46: - jmp (loc_1B662).l + jmp (Sprite_CheckDeleteTouch3).l ; =============== S U B R O U T I N E ======================================= @@ -57546,8 +57613,8 @@ locret_29C88: ; End of function sub_29C4C ; --------------------------------------------------------------------------- -Map_TunnelExhaust: include "Levels/LBZ/Misc Object Data/Map - (&LRZ) Tunnel Exhaust.asm" - +Map_TunnelExhaust: + include "Levels/LBZ/Misc Object Data/Map - (&LRZ) Tunnel Exhaust.asm" ; --------------------------------------------------------------------------- Obj_LBZTubeElevator: @@ -57679,7 +57746,8 @@ LBZTubeElevator_Action: ; End of function LBZTubeElevator_Action ; --------------------------------------------------------------------------- -LBZTubeElevator_Index: dc.w LBZTubeElevator_WaitPlayer-LBZTubeElevator_Index +LBZTubeElevator_Index: + dc.w LBZTubeElevator_WaitPlayer-LBZTubeElevator_Index dc.w LBZTubeElevator_StartSpin-LBZTubeElevator_Index dc.w LBZTubeElevator_MovePath-LBZTubeElevator_Index dc.w LBZTubeElevator_SlowSpin-LBZTubeElevator_Index @@ -57696,8 +57764,8 @@ LBZTubeElevator_WaitPlayer: loc_29E52: addq.b #2,(a4) - moveq #sfx_Roll,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Roll),d0 + jsr (Play_SFX).l bra.s LBZTubeElevator_StartSpin ; --------------------------------------------------------------------------- @@ -58035,7 +58103,7 @@ loc_2A1EC: moveq #0,d0 move.b $26(a0),d0 move.b LBZTubeElevator_PlayerFrame(pc,d0.w),$22(a1) - andi.b #-4,4(a1) + andi.b #$FC,4(a1) move.b LBZTubeElevator_PlayerFlip(pc,d0.w),d0 or.b d0,4(a1) moveq #0,d0 @@ -58045,7 +58113,8 @@ loc_2A1EC: movea.l (sp)+,a2 rts ; --------------------------------------------------------------------------- -LBZTubeElevator_PlayerFrame: dc.b $55 +LBZTubeElevator_PlayerFrame: + dc.b $55 dc.b $59 dc.b $5A dc.b $5B @@ -58057,7 +58126,8 @@ LBZTubeElevator_PlayerFrame: dc.b $55 dc.b $58 dc.b $57 dc.b $56 -LBZTubeElevator_PlayerFlip: dc.b 0 +LBZTubeElevator_PlayerFlip: + dc.b 0 dc.b 1 dc.b 1 dc.b 0 @@ -58141,8 +58211,8 @@ loc_2A2D6: move.b #0,$36(a0) tst.b 4(a0) bpl.s loc_2A300 - moveq #sfx_WaterfallSplash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_WaterfallSplash),d0 + jsr (Play_SFX).l loc_2A300: lea (Ani_AIZDisappearingFloor).l,a1 @@ -58190,8 +58260,8 @@ loc_2A394: jsr (SolidObjectFull).l jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Ani_AIZDisappearingFloor: include "Levels/AIZ/Misc Object Data/Anim - Disappearing Floor.asm" - +Ani_AIZDisappearingFloor: + include "Levels/AIZ/Misc Object Data/Anim - Disappearing Floor.asm" ; --------------------------------------------------------------------------- Obj_CorkFloor: @@ -58354,7 +58424,7 @@ loc_2A5C0: loc_2A5D8: move.w $38(a0),(Chain_bonus_counter).w - andi.b #-$19,$2A(a0) + andi.b #$E7,$2A(a0) movea.l $3C(a0),a4 addq.b #1,$22(a0) move.l #loc_2A5F8,(a0) @@ -58564,7 +58634,7 @@ loc_2A810: loc_2A816: move.w $38(a0),(Chain_bonus_counter).w - andi.b #-$19,$2A(a0) + andi.b #$E7,$2A(a0) lea (word_2A84C).l,a4 moveq #0,d0 move.b $22(a0),d0 @@ -58637,14 +58707,14 @@ word_2A8E0: dc.w $FC00,$FC00 dc.w $FEC0,$FCC0 dc.w $140,$FCC0 dc.w $340,$FCC0 -Map_FBZCorkFloor:include "Levels/FBZ/Misc Object Data/Map - Cork Floor.asm" - +Map_FBZCorkFloor: + include "Levels/FBZ/Misc Object Data/Map - Cork Floor.asm" ; --------------------------------------------------------------------------- Obj_AIZFlippingBridge: move.l #Map_AIZFlippingBridge,$C(a0) move.w #$42E9,$A(a0) - move.b #-$80,7(a0) + move.b #$80,7(a0) move.b #4,6(a0) move.b #4,4(a0) move.w #$200,8(a0) @@ -58676,7 +58746,7 @@ loc_2A9B6: move.l #Map_AIZFlippingBridge,$C(a1) move.w #$42E9,$A(a1) move.b #4,4(a1) - move.b #-$80,7(a1) + move.b #$80,7(a1) move.b #$40,6(a1) move.w #$200,8(a1) move.w $10(a0),$10(a1) @@ -58756,8 +58826,8 @@ loc_2AAA8: addq.b #3,d0 andi.b #7,d0 bne.s locret_2AAC8 - moveq #sfx_GlideLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GlideLand),d0 + jsr (Play_SFX).l locret_2AAC8: rts @@ -58777,8 +58847,8 @@ loc_2AAD0: addq.b #3,d0 andi.b #7,d0 bne.s locret_2AAF0 - moveq #sfx_GlideLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GlideLand),d0 + jsr (Play_SFX).l locret_2AAF0: rts @@ -59014,7 +59084,7 @@ loc_2ADA8: move.b d0,$35(a0) move.b #8,$37(a0) move.l #Map_AIZDrawBridgeFire,$C(a0) - move.w #-$3D17,$A(a0) + move.w #$C2E9,$A(a0) move.b #$60,7(a0) move.b #8,6(a0) move.b #4,4(a0) @@ -59023,7 +59093,7 @@ loc_2ADA8: bne.w loc_2AE66 move.l #loc_2AEB4,(a1) move.l #Map_AIZDrawBridgeFire,$C(a1) - move.w #-$3D17,$A(a1) + move.w #$C2E9,$A(a1) ori.b #4,4(a1) move.b #$60,7(a1) move.b #8,6(a1) @@ -59245,26 +59315,25 @@ loc_2B01E: loc_2B05C: move.w #0,$18(a3) move.w #0,$1A(a3) - moveq #sfx_Collapse,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jmp (Play_SFX).l ; End of function sub_2AFFE ; --------------------------------------------------------------------------- -Map_AIZCollapsingLogBridge:include "Levels/AIZ/Misc Object Data/Map - Collapsing Log Bridge.asm" - - -Map_AIZDrawBridgeFire: include "Levels/AIZ/Misc Object Data/Map - Draw Bridge Fire.asm" - +Map_AIZCollapsingLogBridge: + include "Levels/AIZ/Misc Object Data/Map - Collapsing Log Bridge.asm" +Map_AIZDrawBridgeFire: + include "Levels/AIZ/Misc Object Data/Map - Draw Bridge Fire.asm" ; --------------------------------------------------------------------------- Obj_AIZDrawBridge: move.l #Map_AIZDrawBridge,$C(a0) - move.w #-$3D17,$A(a0) + move.w #$C2E9,$A(a0) move.b #4,4(a0) move.w #$280,8(a0) move.b #8,7(a0) move.b #$60,6(a0) - ori.b #-$80,$2A(a0) + ori.b #$80,$2A(a0) move.w $10(a0),$30(a0) move.w $14(a0),$32(a0) subi.w #$68,$14(a0) @@ -59344,8 +59413,8 @@ loc_2B26C: tst.b $36(a0) bne.s loc_2B2B0 move.b #1,$36(a0) - moveq #sfx_FlipBridge,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FlipBridge),d0 + jsr (Play_SFX).l move.w #$68,d1 btst #0,$2A(a0) beq.s loc_2B294 @@ -59368,8 +59437,8 @@ loc_2B2B0: loc_2B2C4: move.b #0,$36(a0) - moveq #sfx_FlipBridge,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FlipBridge),d0 + jsr (Play_SFX).l move.l #loc_2B2E8,(a0) bra.s loc_2B2E2 ; --------------------------------------------------------------------------- @@ -59612,8 +59681,8 @@ loc_2B4D0: loc_2B534: move.w #0,$18(a3) move.w #0,$1A(a3) - moveq #sfx_BridgeCollapse,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_BridgeCollapse),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- byte_2B548: dc.b 8 dc.b $10 @@ -59631,8 +59700,8 @@ byte_2B548: dc.b 8 dc.b $A dc.b 4 dc.b 2 -Map_AIZDrawBridge:include "Levels/AIZ/Misc Object Data/Map - Drawbridge.asm" - +Map_AIZDrawBridge: + include "Levels/AIZ/Misc Object Data/Map - Drawbridge.asm" word_2B566: dc.w 1 dc.w 3 dc.w 7 @@ -59759,7 +59828,7 @@ loc_2B6D8: move.w $10(a0),d4 jsr (SolidObjectTop).l move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_2B70C @@ -59815,7 +59884,7 @@ Obj_AIZSpikedLog: bne.w loc_2B7AE move.l #loc_2B8EE,(a1) move.b #4,4(a1) - move.b #-$64,$28(a1) + move.b #$9C,$28(a1) move.w a0,$3C(a1) move.w a1,$3C(a0) @@ -59890,7 +59959,7 @@ loc_2B864: move.b $23(a0),d0 addq.b #1,$23(a0) move.b byte_2B88E(pc,d0.w),$22(a0) - move.b byte_2B88F(pc,d0.w),d0 + move.b byte_2B88E+1(pc,d0.w),d0 bpl.s loc_2B88C move.b #0,$23(a0) @@ -59898,7 +59967,7 @@ loc_2B88C: bra.s loc_2B896 ; --------------------------------------------------------------------------- byte_2B88E: dc.b 7 -byte_2B88F: dc.b 8 + dc.b 8 dc.b 9 dc.b $A dc.b 9 @@ -59918,7 +59987,7 @@ loc_2B896: move.w $10(a0),d4 jsr (SolidObjectFull).l move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_2B8CE @@ -59995,7 +60064,7 @@ Obj_StillSprite: loc_2B962: jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -word_2B968: dc.w $42E9 ; 0 AIZ2 Bridge Post +word_2B968: dc.w $42E9 ; 0 AIZ2 Bridge Post dc.w $300 dc.b $C dc.b $C @@ -60199,8 +60268,8 @@ word_2B968: dc.w $42E9 ; 0 AIZ2 Bridge Post dc.w $80 dc.b $10 dc.b $24 -Map_StillSprites:include "Levels/Misc/Map - Still Sprites.asm" - +Map_StillSprites: + include "Levels/Misc/Map - Still Sprites.asm" ; --------------------------------------------------------------------------- Obj_AnimatedStillSprite: @@ -60257,10 +60326,10 @@ word_2BF6C: dc.w $62E9 dc.w $300 dc.b $54 dc.b 4 -Ani_AnimatedStillSprites: include "Levels/Misc/Anim - Animated Still Sprites.asm" - -Map_AnimatedStillSprites:include "Levels/Misc/Map - Animated Still Sprites.asm" - +Ani_AnimatedStillSprites: + include "Levels/Misc/Anim - Animated Still Sprites.asm" +Map_AnimatedStillSprites: + include "Levels/Misc/Map - Animated Still Sprites.asm" ; --------------------------------------------------------------------------- Obj_AIZForegroundPlant: @@ -60418,13 +60487,13 @@ loc_2C37A: jmp (Sprite_OnScreen_Test2).l ; --------------------------------------------------------------------------- -Obj_31_1: +Obj_LBZRollingDrum: moveq #0,d0 move.b $2C(a0),d0 move.w d0,$32(a0) neg.w d0 move.w d0,$30(a0) - move.b #-$80,7(a0) + move.b #$80,7(a0) move.l #loc_2C3CA,(a0) loc_2C3CA: @@ -60473,7 +60542,7 @@ loc_2C42C: bne.s locret_2C46C cmpi.w #8,d0 bhs.s loc_2C444 - move.b #-$7F,(a2) + move.b #$81,(a2) loc_2C444: cmpi.w #$9E,d0 @@ -60482,7 +60551,7 @@ loc_2C444: loc_2C44E: jsr (RideObject_SetRide).l - move.b #-$80,$2D(a1) + move.b #$80,$2D(a1) move.w #1,$20(a1) tst.w $1C(a1) bne.s locret_2C46C @@ -60533,14 +60602,14 @@ loc_2C4BA: add.w $14(a0),d1 move.w d1,$14(a1) move.b (a2),d0 - addi.b #-$80,d0 + addi.b #$80,d0 move.b d0,$27(a1) addq.b #2,(a2) - move.b #-$80,$2D(a1) + move.b #$80,$2D(a1) tst.w $1C(a1) bne.s loc_2C506 move.w #1,$1C(a1) - move.b #-$7F,$2D(a1) + move.b #$81,$2D(a1) loc_2C506: bset #7,$A(a1) @@ -60630,8 +60699,8 @@ loc_2C5FC: loc_2C612: tst.b (a3) bne.s loc_2C61E - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l loc_2C61E: bset d3,(a3) @@ -60671,8 +60740,8 @@ loc_2C666: loc_2C67C: tst.b (a3) bne.s loc_2C688 - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l loc_2C688: bset d3,(a3) @@ -60715,8 +60784,8 @@ loc_2C6C0: loc_2C704: tst.b (a3) bne.s loc_2C710 - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l loc_2C710: bset d3,(a3) @@ -60726,9 +60795,7 @@ loc_2C718: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- Map_Button: include "General/Sprites/Buttons/Map - Button.asm" - Map_LRZButton: include "Levels/LRZ/Misc Object Data/Map - Button.asm" - ; --------------------------------------------------------------------------- Obj_Animal: @@ -61216,7 +61283,7 @@ sub_2CCD2: Obj_EnemyScore: move.l #Map_EnemyScore,$C(a0) - move.w #-$7A1C,$A(a0) + move.w #make_art_tile(ArtTile_StarPost,0,1),$A(a0) move.b #4,4(a0) move.w #$80,8(a0) move.b #8,7(a0) @@ -61236,7 +61303,8 @@ Obj_Difficulty_2CD26: jsr (CreateChild6_Simple).l jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -ChildObjDat_2CD36:dc.w 3 +ChildObjDat_2CD36: + dc.w 3 dc.l loc_2CD3C ; --------------------------------------------------------------------------- @@ -61276,7 +61344,8 @@ Obj_Difficulty_2CD9A: jsr (CreateChild6_Simple).l jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -ChildObjDat_2CDAA:dc.w 3 +ChildObjDat_2CDAA: + dc.w 3 dc.l loc_2CDB0 ; --------------------------------------------------------------------------- @@ -61321,7 +61390,8 @@ Obj_Difficulty_2CE2C: jsr (CreateChild6_Simple).l jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -ChildObjDat_2CE3C:dc.w 3 +ChildObjDat_2CE3C: + dc.w 3 dc.l loc_2CE42 ; --------------------------------------------------------------------------- @@ -61374,17 +61444,11 @@ locret_2CEB8: ; --------------------------------------------------------------------------- Map_Animals1: include "General/Sprites/Animals/Map - Animals 1.asm" - Map_Animals2: include "General/Sprites/Animals/Map - Animals 2.asm" - Map_Animals3: include "General/Sprites/Animals/Map - Animals 3.asm" - Map_Animals4: include "General/Sprites/Animals/Map - Animals 4.asm" - Map_Animals5: include "General/Sprites/Animals/Map - Animals 5.asm" - Map_EnemyScore: include "General/Sprites/Enemy Misc/Map - Enemy Points.asm" - ; --------------------------------------------------------------------------- Obj_StarPost: @@ -61403,7 +61467,7 @@ off_2CFB6: dc.w loc_2CFC0-off_2CFB6 loc_2CFC0: addq.b #2,5(a0) move.l #Map_StarPost,$C(a0) - move.w #$5EC,$A(a0) + move.w #ArtTile_StarPost+8,$A(a0) move.b #4,4(a0) move.b #8,7(a0) move.b #$28,6(a0) @@ -61449,8 +61513,8 @@ sub_2D028: addi.w #$40,d0 cmpi.w #$68,d0 bhs.w locret_2D0E8 - moveq #sfx_Starpost,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Starpost),d0 + jsr (Play_SFX).l jsr (Create_New_Sprite).l bne.s loc_2D0D0 move.l #Obj_StarPost,(a1) @@ -61650,11 +61714,12 @@ locret_2D336: ; End of function Load_Starpost_Settings ; --------------------------------------------------------------------------- -Ani_Starpost: include "General/Sprites/Starpost/Anim - Starpost.asm" - -Map_StarPost: include "General/Sprites/Starpost/Map - Starpost.asm" - -Map_StarpostStars: include "General/Sprites/Starpost/Map - Starpost Stars.asm" +Ani_Starpost: + include "General/Sprites/Starpost/Anim - Starpost.asm" +Map_StarPost: + include "General/Sprites/Starpost/Map - Starpost.asm" +Map_StarpostStars: + include "General/Sprites/Starpost/Map - Starpost Stars.asm" ; =============== S U B R O U T I N E ======================================= @@ -61668,7 +61733,7 @@ loc_2D3CC: bne.s loc_2D436 move.l (a0),(a1) move.l #Map_StarpostStars,$C(a1) - move.w #$5EC,$A(a1) + move.w #ArtTile_StarPost+8,$A(a1) move.b #4,4(a1) move.b #8,5(a1) move.w $10(a0),d0 @@ -61811,7 +61876,7 @@ loc_2D56A: ; --------------------------------------------------------------------------- loc_2D574: - move.b #-$28,$28(a0) + move.b #$D8,$28(a0) loc_2D57A: cmpi.w #$180,d1 @@ -61839,14 +61904,14 @@ loc_2D58C: loc_2D5B6: move.b d0,$22(a0) - jmp (loc_1B662).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- loc_2D5C0: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -loc_2D5C6: +Obj_GameOver: tst.l (Nem_decomp_queue).w beq.s loc_2D5CE rts @@ -61895,7 +61960,7 @@ loc_2D638: bne.w loc_2D68A move.b (Ctrl_1_pressed).w,d0 or.b (Ctrl_2_pressed).w,d0 - andi.b #-$10,d0 + andi.b #$F0,d0 bne.s loc_2D666 tst.w $24(a0) beq.s loc_2D666 @@ -61927,7 +61992,7 @@ Obj_TitleCard: move.w TitleCard_Index(pc,d0.w),d1 jmp TitleCard_Index(pc,d1.w) ; --------------------------------------------------------------------------- -TitleCard_Index: dc.w Obj_TitleCardInit-TitleCard_Index +TitleCard_Index:dc.w Obj_TitleCardInit-TitleCard_Index dc.w Obj_TitleCardCreate-TitleCard_Index dc.w Obj_TitleCardWait-TitleCard_Index dc.w Obj_TitleCardWait2-TitleCard_Index @@ -62066,7 +62131,7 @@ loc_2D810: st (Update_HUD_ring_count).w ; Start updating timer and rings again move.b #$1E,(Player_1+air_left).w move.b #$1E,(Player_2+air_left).w ; Reset air - jsr (Obj_PlayLevelMusic).l ; Play music + jsr (Restore_LevelMusic).l ; Play music loc_2D84C: clr.w $48(a0) @@ -62095,7 +62160,7 @@ loc_2D86E: bne.s loc_2D88A jsr (Create_New_Sprite).l bne.s loc_2D88A - move.l #Obj_SOZ_Ghosts,(a1) ; If new level is Sandopolis 2, then load the ghosts + move.l #Obj_SOZGhosts,(a1) ; If new level is Sandopolis 2, then load the ghosts loc_2D88A: cmpi.b #$16,(Current_zone).w @@ -62252,7 +62317,8 @@ loc_2D9FA: loc_2DA10: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -TitleCard_LevelGfx: dc.l ArtKosM_AIZTitleCard +TitleCard_LevelGfx: + dc.l ArtKosM_AIZTitleCard dc.l ArtKosM_HCZTitleCard dc.l ArtKosM_MGZTitleCard dc.l ArtKosM_CNZTitleCard @@ -62274,7 +62340,8 @@ TitleCard_LevelGfx: dc.l ArtKosM_AIZTitleCard dc.l ArtKosM_BonusTitleCard dc.l ArtKosM_BonusTitleCard dc.l ArtKosM_BonusTitleCard -ObjArray_TtlCard: dc.l Obj_TitleCardName +ObjArray_TtlCard: + dc.l Obj_TitleCardName dc.w $120 dc.w $260 dc.w $E0 @@ -62302,14 +62369,16 @@ ObjArray_TtlCard: dc.l Obj_TitleCardName dc.b 1 dc.b 0 dc.w 1 -ObjArray_TtlCard2: dc.l Obj_TitleCardElement2 +ObjArray_TtlCard2: + dc.l Obj_TitleCardElement2 dc.w $15C dc.w $21C dc.w $BC dc.b $12 dc.b $80 dc.w 1 -ObjArray_TtlCardBonus: dc.l Obj_TitleCardElement +ObjArray_TtlCardBonus: + dc.l Obj_TitleCardElement dc.w $C8 dc.w $188 dc.w $E8 @@ -62331,15 +62400,16 @@ Obj_LevelResults: move.w LevelResults_Index(pc,d0.w),d1 jmp LevelResults_Index(pc,d1.w) ; --------------------------------------------------------------------------- -LevelResults_Index: dc.w Obj_LevelResultsInit-LevelResults_Index +LevelResults_Index: + dc.w Obj_LevelResultsInit-LevelResults_Index dc.w Obj_LevelResultsCreate-LevelResults_Index dc.w Obj_LevelResultsWait-LevelResults_Index dc.w Obj_LevelResultsWait2-LevelResults_Index ; --------------------------------------------------------------------------- Obj_LevelResultsInit: - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l ; Fade music + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l ; Fade music lea (ArtKosM_ResultsGeneral).l,a1 move.w #$A400,d2 jsr (Queue_Kos_Module).l ; General art for @@ -62371,7 +62441,7 @@ loc_2DB58: move.w #$AF00,d2 tst.w $2C(a0) beq.s loc_2DB66 - move.w #$B400,d2 + move.w #tiles_to_bytes(ArtTile_Explosion),d2 loc_2DB66: jsr (Queue_Kos_Module).l ; Load character name graphics @@ -62382,7 +62452,7 @@ loc_2DB66: moveq #0,d1 move.b (Timer_second).w,d1 add.w d1,d0 - cmpi.w #$257,d0 + cmpi.w #599,d0 bne.s loc_2DB90 move.w #10000,(Time_bonus_countdown).w ; If clock is at 9:59 give an automatic 100000 point time bonus bra.s loc_2DBA8 @@ -62455,22 +62525,22 @@ Obj_LevelResultsWait: bne.s locret_2DC9E ; Play after eh, a second or so move.b #$1E,(Player_1+air_left).w ; Reset air for Hydrocity move.b #$1E,(Player_2+air_left).w - moveq #mus_GotThroughAct,d0 - jmp (Play_Sound).l ; Play level complete theme + moveq #signextendB(mus_GotThroughAct),d0 + jmp (Play_Music).l ; Play level complete theme ; --------------------------------------------------------------------------- loc_2DC5C: moveq #0,d0 tst.w (Time_bonus_countdown).w beq.s loc_2DC6E - addi.w #$A,d0 - subi.w #$A,(Time_bonus_countdown).w ; Get 100 points from the time bonus + addi.w #10,d0 + subi.w #10,(Time_bonus_countdown).w ; Get 100 points from the time bonus loc_2DC6E: tst.w (Ring_bonus_countdown).w beq.s loc_2DC7E - addi.w #$A,d0 - subi.w #$A,(Ring_bonus_countdown).w ; Get 100 points from the ring bonus + addi.w #10,d0 + subi.w #10,(Ring_bonus_countdown).w ; Get 100 points from the ring bonus loc_2DC7E: add.w d0,(Total_bonus_countup).w ; Add to total score for level @@ -62480,8 +62550,8 @@ loc_2DC7E: move.w (Level_frame_counter).w,d0 andi.w #3,d0 bne.s locret_2DC9E - moveq #sfx_Switch,d0 ; Every four frames play the score countdown sound - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 ; Every four frames play the score countdown sound + jmp (Play_SFX).l ; --------------------------------------------------------------------------- locret_2DC9E: @@ -62489,8 +62559,8 @@ locret_2DC9E: ; --------------------------------------------------------------------------- loc_2DCA0: - moveq #sfx_Register,d0 ; Play the cash register sound - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Register),d0 ; Play the cash register sound + jsr (Play_SFX).l cmpi.w #$A00,(Current_zone_and_act).w beq.s loc_2DCB6 tst.w $2C(a0) @@ -62735,10 +62805,16 @@ loc_2DE70: dc.b 0, 0, 4 dc.b 0, 0, 2 dc.b 0, 0, 1 -TimeBonus: dc.w $1388, $1388, $3E8, $1F4, $190, $12C, $64, $A - - -ObjArray_LevResults: dc.l Obj_LevResultsCharName ; Object address +TimeBonus: dc.w 5000 + dc.w 5000 + dc.w 1000 + dc.w 500 + dc.w 400 + dc.w 300 + dc.w 100 + dc.w 10 +ObjArray_LevResults: + dc.l Obj_LevResultsCharName ; Object address dc.w $E0 ; X destination dc.w $FDE0 ; X position dc.w $B8 ; Y position @@ -62829,8 +62905,8 @@ locret_2DF62: ; --------------------------------------------------------------------------- SpecialStage_Results: - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.b (Current_special_stage).w,d0 move.b d0,(Current_special_stage_2).w move.b (HPZ_current_special_stage).w,d1 @@ -63023,7 +63099,7 @@ loc_2E226: jsr (Init_SpriteTable).l move.w #$98,(_unkEF68).w st (HPZ_special_stage_completed).w - move.l #loc_2E3B8,(Dynamic_object_RAM+(object_size*29)).w + move.l #Obj_SpecialStage_Results,(Dynamic_object_RAM+(object_size*29)).w move.w (VDP_reg_1_command).w,d0 ori.b #$40,d0 move.w d0,(VDP_control_port).l @@ -63104,9 +63180,7 @@ PLC_2E310: dc.w 0 dc.l ArtNem_RingHUDText dc.w tiles_to_bytes(ArtTile_Ring) Pal_Results: binclude "General/Special Stage/Palettes/Results.bin" - even - - + even word_2E398: dc.w $15A0 dc.w $1540 dc.w $1600 @@ -63125,7 +63199,7 @@ word_2E398: dc.w $15A0 dc.w $368 ; --------------------------------------------------------------------------- -loc_2E3B8: +Obj_SpecialStage_Results: moveq #0,d0 move.b 5(a0),d0 move.w off_2E3C6(pc,d0.w),d1 @@ -63154,7 +63228,7 @@ loc_2E3DA: clr.w (Time_bonus_countdown).w tst.w (Special_stage_rings_left).w bne.s loc_2E404 - move.w #$1388,(Time_bonus_countdown).w + move.w #5000,(Time_bonus_countdown).w loc_2E404: move.w #$168,$2E(a0) @@ -63189,8 +63263,8 @@ loc_2E410: loc_2E474: cmpi.w #$121,$2E(a0) bne.s locret_2E4C2 - moveq #mus_GotThroughAct,d0 - jmp (Play_Sound).l + moveq #signextendB(mus_GotThroughAct),d0 + jmp (Play_Music).l ; --------------------------------------------------------------------------- loc_2E484: @@ -63213,8 +63287,8 @@ loc_2E4A6: move.w (Level_frame_counter).w,d0 andi.w #3,d0 bne.s locret_2E4C2 - moveq #sfx_Switch,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- locret_2E4C2: @@ -63222,8 +63296,8 @@ locret_2E4C2: ; --------------------------------------------------------------------------- loc_2E4C4: - moveq #sfx_Register,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Register),d0 + jsr (Play_SFX).l move.w #$78,$2E(a0) addq.b #2,5(a0) @@ -63243,8 +63317,8 @@ loc_2E4EA: move.w a1,(SStage_results_object_addr).w move.l #loc_2EBE8,(a1) move.w #$10E,$2E(a0) - moveq #sfx_Continue,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Continue),d0 + jsr (Play_SFX).l loc_2E50E: addq.b #2,5(a0) @@ -63271,7 +63345,7 @@ loc_2E534: loc_2E540: tst.w (Special_stage_spheres_left).w bne.s loc_2E5B8 - cmpi.b #7,(Emerald_count).w + cmpi.b #7,(Chaos_emerald_count).w blo.s loc_2E5B8 cmpi.w #3,(Player_mode).w beq.s loc_2E570 @@ -63452,8 +63526,8 @@ loc_2E72E: move.w #$1E,$2E(a0) clr.w $30(a0) addq.b #2,5(a0) - moveq #sfx_Signpost,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Signpost),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- locret_2E744: @@ -63465,8 +63539,8 @@ loc_2E746: beq.w locret_2E7D8 bmi.s loc_2E75C st $30(a0) - moveq #sfx_SuperEmerald,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SuperEmerald),d0 + jsr (Play_SFX).l loc_2E75C: cmpi.b #7,(Super_emerald_count).w @@ -63516,8 +63590,8 @@ loc_2E7A0: loc_2E7C6: move.w #$78,$2E(a0) addq.b #2,5(a0) - moveq #sfx_Signpost,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Signpost),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- locret_2E7D8: @@ -63776,8 +63850,8 @@ loc_2E9D8: cmp.w -4(a0),d0 bne.s locret_2E9F4 clr.b (_unkFAC1).w - moveq #sfx_Perfect,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Perfect),d0 + jsr (Play_SFX).l jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- @@ -63928,7 +64002,7 @@ loc_2EB64: bne.s loc_2EB88 loc_2EB7C: - cmpi.b #7,(Emerald_count).w + cmpi.b #7,(Chaos_emerald_count).w blo.w loc_2EA4A bra.s loc_2EB98 ; --------------------------------------------------------------------------- @@ -64067,7 +64141,7 @@ locret_2ECA6: sub_2ECA8: - lea (Emerald_count).w,a1 + lea (Chaos_emerald_count).w,a1 tst.w (SK_alone_flag).w bne.s locret_2ECBA tst.b (SK_special_stage_flag).w @@ -64196,12 +64270,9 @@ loc_2EDCA: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- Map_GameOver: include "General/Sprites/Game Over/Map - Game Over.asm" - Map_TitleCard: include "General/Sprites/Title Card/Map - Title Card.asm" - Map_Results: include "General/Sprites/Results/Map - Results.asm" - ; =============== S U B R O U T I N E ======================================= @@ -64273,7 +64344,7 @@ off_2F7BE: dc.w PLCKosM_AIZ-off_2F7BE PLCKosM_AIZ: dc.w 2 dc.l ArtKosM_AIZ_MonkeyDude dc.w $A900 - dc.l ArtKosM_AIZ_Tulipon + dc.l ArtKosM_AIZ_Bloominator dc.w $A540 dc.l ArtKosM_AIZ_CaterkillerJr dc.w $ABE0 @@ -64329,7 +64400,7 @@ PLCKosM_ICZ: dc.w 1 dc.l ArtKosM_StarPointer dc.w $A900 PLCKosM_LBZ: dc.w 3 - dc.l ArtKosM_SnailBlaster + dc.l ArtKosM_SnaleBlaster dc.w $A480 dc.l ArtKosM_Orbinaut dc.w $ADC0 @@ -64378,7 +64449,8 @@ PLCKosM_DEZ: dc.w 1 PLCKosM_DDZ: dc.w 0 dc.l ArtKosM_EggRoboBadnik dc.w $A000 -PLCKosM_Pachinko:dc.w 0 +PLCKosM_Pachinko: + dc.w 0 dc.l ArtKosM_Teleporter dc.w $A5C0 PLCKosM_Slots: dc.w $FFFF @@ -64402,7 +64474,7 @@ loc_2F952: addq.b #2,5(a0) move.l #Map_Bubbler,$C(a0) move.w #$45C,$A(a0) - move.b #-$7C,4(a0) + move.b #$84,4(a0) move.b #$10,7(a0) move.w #$80,8(a0) move.b $2C(a0),d0 @@ -64564,7 +64636,7 @@ loc_2FB50: loc_2FB5C: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_2FB7E @@ -64637,8 +64709,8 @@ loc_2FBB2: btst #6,$2B(a1) bne.w locret_2FC7C jsr (Player_ResetAirTimer).l - moveq #sfx_Bubble,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Bubble),d0 + jsr (Play_SFX).l clr.w $18(a1) clr.w $1A(a1) clr.w $1C(a1) @@ -64673,12 +64745,10 @@ locret_2FC7C: rts ; --------------------------------------------------------------------------- Ani_Bubbler: include "General/Sprites/Bubbles/Anim - Bubbler.asm" - Map_Bubbler: include "General/Sprites/Bubbles/Map - Bubbler.asm" - ; --------------------------------------------------------------------------- -Obj_37_1: +Obj_HCZWaterRush: move.l #Map_HCZWaterRush,$C(a0) ori.b #4,4(a0) move.w #$437A,$A(a0) @@ -64786,7 +64856,7 @@ loc_2FF04: loc_2FF14: lea (ArtKosM_HCZGeyserHorz).l,a1 - move.w #-$6000,d2 + move.w #$A000,d2 jsr (Queue_Kos_Module).l move.l #loc_2FF2A,(a0) @@ -64801,7 +64871,7 @@ loc_2FF32: move.w #$300,8(a0) move.l #Map_HCZWaterWall,$C(a0) move.w #$4500,$A(a0) - move.b #-$80,7(a0) + move.b #$80,7(a0) move.b #$20,6(a0) bset #6,4(a0) move.w #1,$16(a0) @@ -64817,8 +64887,8 @@ loc_2FF7C: cmp.w $10(a0),d0 blo.w loc_30006 move.l #loc_3003C,(a0) - moveq #sfx_Geyser,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Geyser),d0 + jsr (Play_SFX).l lea (byte_3000C).l,a3 move.w $10(a0),d2 addi.w #$60,d2 @@ -64831,7 +64901,7 @@ loc_2FFAE: move.l #loc_3011A,(a1) move.l #Map_HCZWaterWallDebris,$C(a1) move.w #$4558,$A(a1) - move.b #-$7C,4(a1) + move.b #$84,4(a1) move.b (a3)+,d0 ext.w d0 add.w d2,d0 @@ -64929,9 +64999,9 @@ loc_300C8: bmi.s loc_30100 clr.b (Palette_cycle_counters+$00).w move.w #$FF00|mus_MutePSG,d0 - jsr (Play_Sound).l + jsr (Play_Music).l move.w #$FF00|mus_StopSFX,d0 - jsr (Play_Sound).l + jsr (Play_Music).l move.w #$96,$30(a0) move.l #loc_30106,(a0) rts @@ -64974,7 +65044,7 @@ loc_30130: move.l #loc_3023E,(a1) move.l #Map_HCZWaterWall,$C(a1) move.w #$2530,$A(a1) - move.b #-$7C,4(a1) + move.b #$84,4(a1) move.w $10(a0),$10(a1) move.w (Water_level).w,$14(a1) move.w #$200,8(a1) @@ -65042,8 +65112,8 @@ loc_3023E: bne.w loc_301D8 jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Ani_HCZWaterWall: include "Levels/HCZ/Misc Object Data/Anim - Water Wall.asm" - +Ani_HCZWaterWall: + include "Levels/HCZ/Misc Object Data/Anim - Water Wall.asm" ; --------------------------------------------------------------------------- loc_30294: @@ -65064,11 +65134,11 @@ loc_302B8: loc_302BE: lea (ArtKosM_HCZGeyserVert).l,a1 - move.w #-$6000,d2 + move.w #$A000,d2 jsr (Queue_Kos_Module).l move.b #1,$22(a0) - move.b #-$7F,(Player_1+object_control).w - move.b #-$7F,(Player_2+object_control).w + move.b #$81,(Player_1+object_control).w + move.b #$81,(Player_2+object_control).w move.l #loc_302E6,(a0) loc_302E6: @@ -65105,8 +65175,8 @@ loc_30346: move.b #$1A,(Player_1+anim).w move.b #$1A,(Player_2+anim).w move.l #loc_3041A,(a0) - moveq #sfx_Geyser,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Geyser),d0 + jsr (Play_SFX).l move.b #1,(Palette_cycle_counters+$00).w lea (byte_303EA).l,a3 move.w $10(a0),d2 @@ -65227,7 +65297,7 @@ loc_304D4: sub_304DA: move.l #loc_301DE,(a1) move.l $C(a0),$C(a1) - move.b #-$7C,4(a1) + move.b #$84,4(a1) move.w $10(a0),$10(a1) move.w $14(a0),$14(a1) subi.w #$50,$14(a1) @@ -65251,11 +65321,11 @@ loc_3052A: tst.b 4(a0) bmi.s loc_3056E move.w #$FF00|mus_StopSFX,d0 - jsr (Play_Sound).l + jsr (Play_Music).l move.w #$FF00|mus_MutePSG,d0 - jsr (Play_Sound).l ; this will actually never play... Why is any of this here? + jsr (Play_Music).l ; this will actually never play... Why is any of this here? move.w #$FF00|mus_StopSFX,d0 - jsr (Play_Sound).l + jsr (Play_Music).l move.b #0,(Palette_cycle_counters+$00).w move.w respawn_addr(a0),d0 beq.s loc_30560 @@ -65381,8 +65451,8 @@ loc_306F2: addq.b #1,d0 andi.b #$F,d0 bne.s loc_3070C - moveq #sfx_FanSmall,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FanSmall),d0 + jsr (Play_SFX).l loc_3070C: btst #6,$2C(a0) @@ -65493,8 +65563,8 @@ loc_30850: bne.s loc_3087E move.b #1,$42(a1) move.w #0,$34(a1) - moveq #sfx_FanLatch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FanLatch),d0 + jsr (Play_SFX).l loc_3087E: move.w $3A(a0),d1 @@ -65511,8 +65581,8 @@ loc_3088E: beq.s loc_308AE move.b #0,$42(a1) move.b #0,$24(a1) - moveq #sfx_FanLatch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FanLatch),d0 + jsr (Play_SFX).l loc_308AE: tst.w $30(a0) @@ -65560,7 +65630,7 @@ loc_3091A: loc_30926: lea (ArtKosM_HCZLargeFan).l,a1 - move.w #-$6000,d2 + move.w #$A000,d2 jsr (Queue_Kos_Module).l move.l #loc_3093C,(a0) @@ -65578,8 +65648,8 @@ loc_30944: move.b #$18,7(a0) move.b #$20,6(a0) move.w #8,$30(a0) - moveq #sfx_FanLatch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FanLatch),d0 + jsr (Play_SFX).l move.l #loc_3097E,(a0) loc_3097E: @@ -65594,8 +65664,8 @@ loc_30994: move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 bne.s loc_309A6 - moveq #sfx_FanBig,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FanBig),d0 + jsr (Play_SFX).l loc_309A6: subq.b #1,$24(a0) @@ -65796,8 +65866,8 @@ loc_30C16: bne.s loc_30C34 move.b #0,$34(a0) move.l #loc_30B58,(a0) - moveq #sfx_Dash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Dash),d0 + jsr (Play_SFX).l bra.s loc_30C50 ; --------------------------------------------------------------------------- @@ -65931,8 +66001,8 @@ loc_30D6E: tst.w (Debug_placement_mode).w bne.s locret_30DEA bset d6,$35(a0) - moveq #sfx_Roll,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Roll),d0 + jsr (Play_SFX).l move.b #0,$20(a1) move.b #$13,$1E(a1) move.b #9,$1F(a1) @@ -66055,13 +66125,13 @@ loc_30EBA: addq.w #8,$30(a0) cmpi.w #$40,$30(a0) bne.s loc_30F28 - moveq #sfx_FanLatch,d0 + moveq #signextendB(sfx_FanLatch),d0 cmpi.b #$B,(Current_zone).w bne.s loc_30F02 - moveq #sfx_FanLatch,d0 ; this check and sfx selection is not really necessary? + moveq #signextendB(sfx_FanLatch),d0 ; this check and sfx selection is not really necessary? loc_30F02: - jsr (Play_Sound_2).l + jsr (Play_SFX).l bra.s loc_30F28 ; --------------------------------------------------------------------------- @@ -66070,13 +66140,13 @@ loc_30F0A: beq.s loc_30F34 subq.w #8,$30(a0) bne.s loc_30F28 - moveq #sfx_FanLatch,d0 + moveq #signextendB(sfx_FanLatch),d0 cmpi.b #$B,(Current_zone).w bne.s loc_30F22 - moveq #sfx_FanLatch,d0 ; this check and sfx selection is not really necessary? + moveq #signextendB(sfx_FanLatch),d0 ; this check and sfx selection is not really necessary? loc_30F22: - jsr (Play_Sound_2).l + jsr (Play_SFX).l loc_30F28: move.w $32(a0),d0 @@ -66118,8 +66188,8 @@ locret_30F84: ; End of function sub_30F58 ; --------------------------------------------------------------------------- -Map_HCZCNZDEZDoor:include "Levels/HCZ/Misc Object Data/Map - (&CNZ &DEZ) Door.asm" - +Map_HCZCNZDEZDoor: + include "Levels/HCZ/Misc Object Data/Map - (&CNZ &DEZ) Door.asm" byte_30FCE: dc.b $20 dc.b 8 dc.w $4416 @@ -66238,8 +66308,8 @@ locret_31106: ; End of function sub_310DA ; --------------------------------------------------------------------------- -Map_CNZDoorHorizontal:include "Levels/CNZ/Misc Object Data/Map - Door Horizontal.asm" - +Map_CNZDoorHorizontal: + include "Levels/CNZ/Misc Object Data/Map - Door Horizontal.asm" word_31124: dc.w $B28, $CD8 dc.w $BA8, $CD8 dc.w $BA8, $CD8 @@ -66309,12 +66379,12 @@ loc_311C4: bsr.s sub_31226 move.w (Camera_X_pos_coarse_back).w,d1 move.w $3C(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 subi.w #$280,d0 cmp.w d0,d1 blo.s loc_31204 move.w $3E(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 cmp.w d0,d1 bhi.s loc_31204 rts @@ -66400,7 +66470,7 @@ loc_312D4: move.b #$5A,2(a2) loc_312EA: - andi.b #-4,$2E(a1) + andi.b #$FC,$2E(a1) bset #1,$2A(a1) move.b #1,$40(a1) move.b #$E,$1E(a1) @@ -66445,7 +66515,7 @@ loc_3132E: clr.w $18(a1) clr.w $1A(a1) clr.w $1C(a1) - andi.b #-4,4(a1) + andi.b #$FC,4(a1) move.w $14(a0),d0 addi.w #$14,d0 move.w d0,$14(a1) @@ -66483,14 +66553,14 @@ loc_313D6: clr.w $18(a1) clr.w $1A(a1) clr.w $1C(a1) - andi.b #-4,4(a1) + andi.b #$FC,4(a1) move.w $14(a0),d0 subi.w #$14,d0 move.w d0,$14(a1) move.b #0,$20(a1) move.b #3,$2E(a1) move.b #$65,$22(a1) - move.b #-$80,4(a2) + move.b #$80,4(a2) move.b #0,6(a2) move.b #0,8(a2) move.b #1,(a2) @@ -66535,7 +66605,7 @@ loc_3147E: loc_31480: clr.w $1C(a1) move.b 4(a2),d0 - subi.b #-$80,d0 + subi.b #$80,d0 beq.s loc_314AA bpl.s loc_3149A addi.b #6,d0 @@ -66552,7 +66622,7 @@ loc_3149A: moveq #0,d0 loc_314A2: - addi.b #-$80,d0 + addi.b #$80,d0 move.b d0,4(a2) loc_314AA: @@ -66591,7 +66661,7 @@ Obj_HCZConveryorSpike: move.w #$280,8(a0) move.b #$C,7(a0) move.b #$C,6(a0) - move.b #-$75,$28(a0) + move.b #$8B,$28(a0) move.w $10(a0),$30(a0) move.w $14(a0),$32(a0) btst #0,$2A(a0) @@ -66668,7 +66738,7 @@ loc_3160A: loc_31626: move.w (Camera_X_pos_coarse_back).w,d1 move.w $3C(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 subi.w #$280,d0 cmp.w d0,d1 blo.s loc_31652 @@ -66778,7 +66848,7 @@ Obj_CNZBalloon: move.w #$280,8(a0) move.b #$10,7(a0) move.b #$20,6(a0) - move.b #-$29,$28(a0) + move.b #$D7,$28(a0) move.w $14(a0),$32(a0) move.b $2C(a0),d0 add.b d0,d0 @@ -66819,7 +66889,7 @@ loc_3178E: asr.w #5,d0 add.w $32(a0),d0 move.w d0,$14(a0) - jmp (loc_1B662).l + jmp (Sprite_CheckDeleteTouch3).l ; =============== S U B R O U T I N E ======================================= @@ -66850,8 +66920,8 @@ sub_317AE: loc_31808: tst.b $34(a0) bne.s locret_3181C - moveq #sfx_Balloon,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Balloon),d0 + jsr (Play_SFX).l move.b #1,$34(a0) locret_3181C: @@ -66885,7 +66955,6 @@ locret_31858: ; --------------------------------------------------------------------------- word_3185A: dc.w 0, $103 Ani_CNZBalloon: include "Levels/CNZ/Misc Object Data/Anim - Balloon.asm" - ; --------------------------------------------------------------------------- Obj_CNZCannon: @@ -66948,8 +67017,8 @@ loc_31944: move.b (Level_frame_counter+1).w,d0 andi.b #$1F,d0 bne.s locret_31972 - moveq #sfx_CannonTurn,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_CannonTurn),d0 + jsr (Play_SFX).l locret_31972: rts @@ -66974,7 +67043,7 @@ loc_31984: subi.w #$18,$14(a1) move.b $1D(a0),d0 lsl.b #4,d0 - addi.b #-$80,d0 + addi.b #$80,d0 jsr (GetSineCosine).l asl.w #3,d1 asl.w #3,d0 @@ -67015,7 +67084,7 @@ sub_319F4: move.w #0,$18(a1) move.w #0,$1A(a1) move.w #0,$1C(a1) - move.b #-$7F,$2E(a1) + move.b #$81,$2E(a1) bset #2,$2A(a1) bset #1,$2A(a1) move.b #$E,$1E(a1) @@ -67066,7 +67135,7 @@ loc_31AA0: loc_31AA6: move.b $1D(a0),d0 lsl.b #4,d0 - addi.b #-$80,d0 + addi.b #$80,d0 jsr (GetSineCosine).l asl.w #4,d1 asl.w #4,d0 @@ -67117,7 +67186,7 @@ sub_31B18: move.w (a2)+,d5 subq.w #1,d5 bmi.s locret_31B70 - move.w #-$7700,d4 + move.w #$8900,d4 loc_31B44: moveq #0,d1 @@ -67141,7 +67210,6 @@ locret_31B70: ; --------------------------------------------------------------------------- DPLC_CNZCannon: include "General/Sprites/CNZ Cannon/DPLC - CNZ Cannon.asm" - ; --------------------------------------------------------------------------- Obj_CNZRisingPlatform: @@ -67166,8 +67234,8 @@ loc_31BD2: jsr (Animate_Sprite).l jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Ani_CNZRisingPlatform: include "Levels/CNZ/Misc Object Data/Anim - Rising Platform.asm" - +Ani_CNZRisingPlatform: + include "Levels/CNZ/Misc Object Data/Anim - Rising Platform.asm" ; =============== S U B R O U T I N E ======================================= @@ -67220,8 +67288,8 @@ loc_31C86: neg.w $1A(a0) subi.w #$80,$1A(a0) move.b #0,$30(a0) - moveq #sfx_BalloonPlatform,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_BalloonPlatform),d0 + jmp (Play_SFX).l ; End of function sub_31C0A ; --------------------------------------------------------------------------- @@ -67263,16 +67331,15 @@ sub_31CFA: cmpi.w #$20,d0 bhs.s locret_31D2C move.b #1,$20(a0) - moveq #sfx_TrapDoor,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_TrapDoor),d0 + jsr (Play_SFX).l locret_31D2C: rts ; End of function sub_31CFA ; --------------------------------------------------------------------------- -Ani_CNZTrapDoor: include "Levels/CNZ/Misc Object Data/Anim - Trap Door.asm" - +Ani_CNZTrapDoor:include "Levels/CNZ/Misc Object Data/Anim - Trap Door.asm" ; --------------------------------------------------------------------------- Obj_CNZLightBulb: @@ -67363,8 +67430,8 @@ loc_31E36: move.b (Level_frame_counter+1).w,d0 andi.b #$1F,d0 bne.s loc_31E5E - moveq #sfx_Hoverpad,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Hoverpad),d0 + jsr (Play_SFX).l loc_31E5E: move.w $30(a0),d0 @@ -67382,8 +67449,8 @@ loc_31E68: move.b (Level_frame_counter+1).w,d0 andi.b #$1F,d0 bne.s loc_31E90 - moveq #sfx_Hoverpad,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Hoverpad),d0 + jsr (Play_SFX).l loc_31E90: jmp (Delete_Sprite_If_Not_In_Range).l @@ -67439,7 +67506,7 @@ locret_31F2E: ; --------------------------------------------------------------------------- -Obj_48_1: +Obj_CNZVacuumTube: move.b $2C(a0),d0 beq.s loc_31F46 add.b d0,d0 @@ -67508,8 +67575,8 @@ loc_31FD2: add.w d0,$10(a1) move.w $36(a0),d0 bne.s loc_31FE8 - moveq #sfx_TunnelBooster,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_TunnelBooster),d0 + jsr (Play_SFX).l loc_31FE8: addq.w #1,$36(a0) @@ -67557,8 +67624,8 @@ sub_32010: move.b #1,(a2) move.b $34(a0),2(a2) move.w d0,-(sp) - moveq #sfx_Transporter,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Transporter),d0 + jsr (Play_SFX).l move.w (sp)+,d0 loc_3206A: @@ -67922,10 +67989,10 @@ loc_323EC: bpl.s loc_3242E add.w d0,$26(a0) move.b $26(a0),d0 - cmpi.b #-$80,d0 + cmpi.b #$80,d0 bhs.s loc_32416 andi.b #$7F,d0 - addi.b #-$80,d0 + addi.b #$80,d0 move.b d0,$26(a0) subq.b #1,$44(a0) andi.b #3,$44(a0) @@ -67933,9 +68000,9 @@ loc_323EC: loc_32416: move.w #$20,d2 move.b $26(a0),d0 - cmpi.b #-$80,d0 + cmpi.b #$80,d0 bhs.s loc_32456 - move.b #-$80,d0 + move.b #$80,d0 move.b d0,$26(a0) bra.s loc_32456 ; --------------------------------------------------------------------------- @@ -67943,10 +68010,10 @@ loc_32416: loc_3242E: add.w d0,$26(a0) move.b $26(a0),d0 - cmpi.b #-$80,d0 + cmpi.b #$80,d0 bhs.s loc_32452 andi.b #$7F,d0 - addi.b #-$80,d0 + addi.b #$80,d0 move.b d0,$26(a0) addq.b #1,$44(a0) andi.b #3,$44(a0) @@ -68011,7 +68078,7 @@ sub_324C0: sub.w $10(a0),d0 bpl.s loc_324E2 neg.w d0 - move.b #-$80,1(a2) + move.b #$80,1(a2) loc_324E2: move.b d0,2(a2) @@ -68117,7 +68184,8 @@ loc_32610: ; Used by LBZ cup elevator ; End of function sub_324C0 ; --------------------------------------------------------------------------- -PlayerTwistFrames: dc.b $55 +PlayerTwistFrames: + dc.b $55 dc.b $59 dc.b $5A dc.b $5B @@ -68129,7 +68197,7 @@ PlayerTwistFrames: dc.b $55 dc.b $58 dc.b $57 dc.b $56 -PlayerTwistFlip: dc.b 0 +PlayerTwistFlip:dc.b 0 dc.b 1 dc.b 1 dc.b 0 @@ -68272,7 +68340,7 @@ sub_32784: sub.w $10(a0),d0 bpl.s loc_327A6 neg.w d0 - move.b #-$80,1(a2) + move.b #$80,1(a2) loc_327A6: move.b d0,2(a2) @@ -68358,7 +68426,7 @@ loc_328BE: ; --------------------------------------------------------------------------- -Obj_49_1: +Obj_CNZGiantWheel: move.b #$60,$32(a0) move.l #loc_328D0,(a0) @@ -68455,7 +68523,7 @@ locret_3298E: ; --------------------------------------------------------------------------- -Obj_4B_1: +Obj_CNZTriangleBumpers: moveq #0,d0 move.b $2C(a0),d0 move.w d0,$34(a0) @@ -68528,13 +68596,13 @@ loc_32A5A: bset #1,$2A(a1) bclr #4,$2A(a1) bclr #5,$2A(a1) - moveq #sfx_SmallBumpers,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_SmallBumpers),d0 + jmp (Play_SFX).l ; End of function sub_329B8 ; --------------------------------------------------------------------------- -Obj_4F_1: +Obj_SinkingMud: move.b $2C(a0),d0 lsl.w #3,d0 move.b d0,7(a0) @@ -68723,7 +68791,7 @@ loc_32C54: rts ; --------------------------------------------------------------------------- -Obj_5D_1: +Obj_CGZTriangleBumpers: move.b #8,7(a0) move.b #$40,6(a0) move.b $2C(a0),d0 @@ -68731,7 +68799,7 @@ Obj_5D_1: andi.b #7,d0 move.b d0,$22(a0) beq.s loc_32C8C - move.b #-$80,6(a0) + move.b #$80,6(a0) loc_32C8C: move.l #loc_32C92,(a0) @@ -68851,8 +68919,8 @@ loc_32DD2: bclr #6,$2A(a0) bclr #5,$2A(a1) bclr #4,$2A(a1) - moveq #sfx_SmallBumpers,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_SmallBumpers),d0 + jmp (Play_SFX).l ; End of function sub_32D16 ; --------------------------------------------------------------------------- @@ -68862,7 +68930,7 @@ Obj_Bumper: move.b #$10,7(a0) move.b #$10,6(a0) move.w #$80,8(a0) - move.b #-$29,$28(a0) + move.b #$D7,$28(a0) move.w $10(a0),$30(a0) move.w $14(a0),$32(a0) cmpi.b #$14,(Current_zone).w @@ -68916,7 +68984,7 @@ loc_32EB4: lea (Ani_Bumper).l,a1 jsr (Animate_Sprite).l move.w $30(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.s loc_32EDE @@ -68943,7 +69011,7 @@ loc_32EF8: lea (Ani_Bumper).l,a1 jsr (Animate_Sprite).l move.w $14(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_Y_pos_coarse_back).w,d0 cmpi.w #$200,d0 bhi.s loc_32F22 @@ -69005,12 +69073,12 @@ sub_32F56: bclr #5,$2A(a1) clr.b $40(a1) move.b #1,$20(a0) - moveq #sfx_Bumper,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Bumper),d0 + jsr (Play_SFX).l move.w respawn_addr(a0),d0 beq.s loc_32FC4 movea.w d0,a2 - cmpi.b #-$76,(a2) + cmpi.b #$8A,(a2) bhs.s locret_32FEE addq.b #1,(a2) @@ -69073,8 +69141,8 @@ sub_3301C: bclr #5,$2A(a1) clr.b $40(a1) move.b #1,$20(a0) - moveq #sfx_SmallBumpers,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SmallBumpers),d0 + jsr (Play_SFX).l rts ; End of function sub_3301C @@ -69086,13 +69154,13 @@ loc_3307C: jsr (Add_SpriteToCollisionResponseList).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Ani_Bumper: include "General/Sprites/Level Misc/Anim - Bumper.asm" - -Map_PachinkoBumper: include "Levels/Pachinko/Misc Object Data/Map - Bumper.asm" - +Ani_Bumper: + include "General/Sprites/Level Misc/Anim - Bumper.asm" +Map_PachinkoBumper: + include "Levels/Pachinko/Misc Object Data/Map - Bumper.asm" ; --------------------------------------------------------------------------- -Obj_4C_1: +Obj_CNZSpiralTube: lea (Player_1).w,a1 lea $30(a0),a4 bsr.s sub_330EE @@ -69153,14 +69221,14 @@ loc_33102: cmpi.w #$40,d0 bhs.s loc_33174 neg.w d1 - move.b #-$80,1(a4) + move.b #$80,1(a4) loc_33174: add.w $10(a0),d1 move.w d1,$10(a1) move.w $14(a0),$14(a1) move.w #sfx_Roll,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l locret_3318C: rts @@ -69564,7 +69632,7 @@ loc_33542: andi.w #$7FFF,$A(a1) cmpi.b #$34,d0 bhs.s loc_33554 - ori.w #-$8000,$A(a1) + ori.w #$8000,$A(a1) loc_33554: tst.w 4(a2) @@ -69662,7 +69730,7 @@ loc_33622: loc_33648: bsr.w sub_337D8 - move.b #-$20,$26(a1) + move.b #$E0,$26(a1) move.b #3,$2D(a1) locret_33658: @@ -69709,7 +69777,7 @@ loc_336A0: loc_336D2: bsr.w sub_337D8 - move.b #-$20,$26(a1) + move.b #$E0,$26(a1) move.b #3,$2D(a1) locret_336E2: @@ -69774,7 +69842,7 @@ loc_3376E: andi.w #$7FFF,$A(a1) cmpi.b #$4C,d0 blo.s loc_33780 - ori.w #-$8000,$A(a1) + ori.w #$8000,$A(a1) loc_33780: tst.w 4(a2) @@ -69834,7 +69902,7 @@ loc_337E8: move.l a0,-(sp) movea.l a1,a0 move.w a0,d1 - subi.w #-$5000,d1 + subi.w #Player_1,d1 bne.s loc_3381C cmpi.w #2,(Player_mode).w beq.s loc_3381C @@ -69857,7 +69925,7 @@ loc_33824: ; --------------------------------------------------------------------------- -Obj_4E_1: +Obj_CNZWireCage: moveq #0,d0 move.b $2C(a0),d0 lsl.w #3,d0 @@ -69902,8 +69970,8 @@ loc_3385E: addi.w #$80,d1 cmp.w d1,d0 bhs.s loc_338BE - moveq #sfx_WaveHover,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_WaveHover),d0 + jsr (Play_SFX).l loc_338BE: jmp (Delete_Sprite_If_Not_In_Range).l @@ -69964,7 +70032,7 @@ loc_3394C: loc_33958: bsr.w sub_33C34 - move.b #-$80,(a2) + move.b #$80,(a2) move.b #-$40,$26(a1) move.w $10(a1),d0 sub.w $10(a0),d0 @@ -70068,9 +70136,9 @@ loc_33A6A: moveq #0,d0 move.b (a2),d0 andi.w #$7FFF,$A(a1) - cmpi.b #-$80,d0 + cmpi.b #$80,d0 blo.s loc_33AA4 - ori.w #-$8000,$A(a1) + ori.w #$8000,$A(a1) loc_33AA4: addi.b #$40,d0 @@ -70170,9 +70238,9 @@ loc_33BBA: moveq #0,d0 move.b (a2),d0 andi.w #$7FFF,$A(a1) - cmpi.b #-$80,d0 + cmpi.b #$80,d0 blo.s loc_33BF4 - ori.w #-$8000,$A(a1) + ori.w #$8000,$A(a1) loc_33BF4: addi.b #$40,d0 @@ -70220,7 +70288,7 @@ loc_33C62: ; --------------------------------------------------------------------------- -Obj_50_1: +Obj_MGZTwistingLoop: moveq #0,d0 move.b $2C(a0),d0 lsl.w #4,d0 @@ -70296,9 +70364,9 @@ loc_33CE6: sub.w $14(a0),d0 move.w d0,(a2) bsr.w sub_33C34 - move.b #-$40,$26(a1) + move.b #$C0,$26(a1) bclr #0,4(a1) - move.b #-$80,5(a2) + move.b #$80,5(a2) move.w $10(a1),d0 sub.w $10(a0),d0 bcs.s loc_33D70 @@ -70400,7 +70468,7 @@ loc_33E3C: loc_33E7A: btst #0,$2A(a0) beq.s loc_33E88 - addi.b #-$80,$26(a1) + addi.b #$80,$26(a1) loc_33E88: bclr #2,$2A(a1) @@ -70462,9 +70530,9 @@ loc_33EEC: move.w d0,$14(a1) moveq #0,d0 andi.w #$7FFF,$A(a1) - cmpi.b #-$80,d2 + cmpi.b #$80,d2 bhs.s loc_33F4A - ori.w #-$8000,$A(a1) + ori.w #$8000,$A(a1) loc_33F4A: subi.b #$40,d2 @@ -70598,7 +70666,7 @@ Obj_MGZSwingingSpikeBall: move.w $10(a0),$30(a0) move.w $14(a0),$32(a0) move.b #3,$22(a0) - move.b #-$71,$28(a0) + move.b #$8F,$28(a0) jsr (Create_New_Sprite3).l bne.w loc_34180 move.l #loc_34244,(a1) @@ -70629,7 +70697,7 @@ loc_34180: beq.s loc_341A6 move.w #2,-2(a2) move.b #2,$22(a1) - move.w #-$8000,$34(a0) + move.w #$8000,$34(a0) move.w #$100,$36(a0) move.l #loc_341FA,(a0) bra.s loc_341FA @@ -70659,8 +70727,8 @@ loc_341BC: beq.s loc_341F0 andi.b #$40,d0 beq.s loc_341F0 - moveq #sfx_SpikeBalls,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SpikeBalls),d0 + jsr (Play_SFX).l loc_341F0: move.w $30(a0),d0 @@ -70690,11 +70758,11 @@ loc_34216: beq.s loc_3423E andi.b #$40,d0 beq.s loc_3423E - moveq #sfx_SpikeBalls,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SpikeBalls),d0 + jsr (Play_SFX).l loc_3423E: - jmp (loc_1B662).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- loc_34244: @@ -70779,7 +70847,7 @@ loc_342E6: Obj_MGZHeadTrigger: move.l #Map_MGZHeadTrigger,$C(a0) - move.w #-$5C01,$A(a0) + move.w #$A3FF,$A(a0) ori.b #4,4(a0) move.w #$280,8(a0) move.b #$10,7(a0) @@ -70846,7 +70914,7 @@ loc_343E6: tst.b $29(a0) bne.s loc_34432 move.l #Obj_Explosion,(a1) - move.w #-$8000,$A(a1) + move.w #$8000,$A(a1) move.b #2,5(a1) move.b #1,$34(a0) move.b #0,$22(a0) @@ -70859,7 +70927,7 @@ loc_34432: move.w $10(a0),$10(a1) move.w $14(a0),$14(a1) move.b 4(a0),4(a1) - andi.b #-$41,4(a1) + andi.b #$BF,4(a1) move.b $2A(a0),$2A(a1) move.l $C(a0),$C(a1) move.w $A(a0),$A(a1) @@ -70869,8 +70937,8 @@ loc_34432: move.b #2,$20(a1) loc_34474: - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_3447C: lea (Ani_MGZHeadTrigger).l,a1 @@ -70886,14 +70954,14 @@ loc_3447C: addi.w #$10,$10(a1) addi.w #$20,$14(a1) move.b 4(a0),4(a1) - andi.b #-$41,4(a1) + andi.b #$BF,4(a1) move.l $C(a0),$C(a1) move.w $A(a0),$A(a1) andi.w #$7FFF,$A(a1) move.w #$300,8(a1) move.b #$10,7(a1) move.b #4,6(a1) - move.b #-$65,$28(a1) + move.b #$9B,$28(a1) move.w #-$400,$18(a1) btst #0,$2A(a0) beq.s loc_3450A @@ -70901,11 +70969,11 @@ loc_3447C: subi.w #$20,$10(a1) loc_3450A: - moveq #sfx_LevelProjectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_LevelProjectile),d0 + jsr (Play_SFX).l loc_34512: - jmp (loc_1B662).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- loc_34518: @@ -70925,9 +70993,20 @@ loc_34536: jsr (Animate_Sprite).l jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Ani_MGZHeadTrigger: include "Levels/MGZ/Misc Object Data/Anim - Head Trigger.asm" - -byte_34568: dc.b $40, $1E, 0, $40, $20, $40, 1, $40, $20, $40, 1, $40 +Ani_MGZHeadTrigger: + include "Levels/MGZ/Misc Object Data/Anim - Head Trigger.asm" +byte_34568: dc.b $40 + dc.b $1E + dc.b 0 + dc.b $40 + dc.b $20 + dc.b $40 + dc.b 1 + dc.b $40 + dc.b $20 + dc.b $40 + dc.b 1 + dc.b $40 ; --------------------------------------------------------------------------- Obj_MGZTriggerPlatform: @@ -71162,7 +71241,7 @@ Obj_MGZPulley: move.w $A(a0),$A(a1) move.b 4(a0),4(a1) move.b #$60,7(a1) - move.b #-$40,6(a1) + move.b #$C0,6(a1) move.w #$300,8(a1) move.w $10(a0),$12(a1) move.w $10(a0),$10(a1) @@ -71395,8 +71474,8 @@ loc_34AD6: loc_34B0E: move.w #$10,$34(a0) move.b #1,(a2) - moveq #sfx_PulleyGrab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_PulleyGrab),d0 + jsr (Play_SFX).l locret_34B20: rts @@ -71851,7 +71930,7 @@ loc_34F84: addi.b #$18,d0 move.b d0,$1E(a1) bset #0,$2E(a1) - move.b #-$80,$37(a1) + move.b #$80,$37(a1) bclr d6,$2A(a0) bclr #3,$2A(a1) bset #1,$2A(a1) @@ -71878,7 +71957,7 @@ loc_34FBC: move.b #2,$20(a1) bset #2,$2A(a1) move.w #sfx_Jump,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l loc_3500A: bclr #0,$2E(a1) @@ -72417,17 +72496,17 @@ loc_3559E: move.w d0,$1C(a0) move.b $26(a0),d0 addi.b #$20,d0 - andi.b #-$40,d0 + andi.b #$C0,d0 bne.s locret_355E2 cmpi.w #$400,d0 blt.s locret_355E2 move.b #$D,$20(a0) bclr #0,$2A(a0) move.w #sfx_Skid,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l movea.l a0,a2 - suba.w #-$5000,a2 - adda.w #-$33AC,a2 + suba.w #Player_1,a2 + adda.w #Dust,a2 move.b #6,5(a2) move.b #$15,$22(a2) @@ -72471,17 +72550,17 @@ loc_35620: move.w d0,$1C(a0) move.b $26(a0),d0 addi.b #$20,d0 - andi.b #-$40,d0 + andi.b #$C0,d0 bne.s locret_35664 cmpi.w #-$400,d0 bgt.s locret_35664 move.b #$D,$20(a0) bset #0,$2A(a0) move.w #sfx_Skid,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l movea.l a0,a2 - suba.w #-$5000,a2 - adda.w #-$33AC,a2 + suba.w #Player_1,a2 + adda.w #Dust,a2 move.b #6,5(a2) move.b #$15,$22(a2) @@ -72778,8 +72857,8 @@ locret_35962: ; End of function sub_35868 ; --------------------------------------------------------------------------- -Map_MGZTopPlatform:include "Levels/MGZ/Misc Object Data/Map - Top Platform.asm" - +Map_MGZTopPlatform: + include "Levels/MGZ/Misc Object Data/Map - Top Platform.asm" ; --------------------------------------------------------------------------- Obj_MGZTopLauncher: @@ -72870,7 +72949,7 @@ Obj_CGZBladePlatform: move.w $14(a0),$14(a1) subi.w #$10,$10(a1) addi.w #$C,$14(a1) - move.b #-$5A,$28(a1) + move.b #$A6,$28(a1) move.w a0,$3E(a1) jsr (Create_New_Sprite3).l bne.w loc_35B10 @@ -72879,7 +72958,7 @@ Obj_CGZBladePlatform: move.w $14(a0),$14(a1) addi.w #$10,$10(a1) addi.w #$14,$14(a1) - move.b #-$5A,$28(a1) + move.b #$A6,$28(a1) move.w a0,$3E(a1) loc_35B10: @@ -72896,9 +72975,9 @@ loc_35B16: loc_35B2E: add.w d1,$36(a0) - cmpi.w #-$8000,$36(a0) + cmpi.w #$8000,$36(a0) blo.s loc_35B40 - move.w #-$8000,$36(a0) + move.w #$8000,$36(a0) loc_35B40: bra.s loc_35B56 @@ -72942,8 +73021,8 @@ loc_35BA6: addi.w #$10,$14(a0) jmp (Add_SpriteToCollisionResponseList).l ; --------------------------------------------------------------------------- -Map_CGZBladePlatform:include "Levels/CGZ/Misc Object Data/Map - Blade Platform.asm" - +Map_CGZBladePlatform: + include "Levels/CGZ/Misc Object Data/Map - Blade Platform.asm" ; --------------------------------------------------------------------------- Obj_BPZElephantBlock: @@ -73063,8 +73142,8 @@ locret_35D58: ; End of function sub_35D22 ; --------------------------------------------------------------------------- -Map_BPZElephantBlock:include "Levels/BPZ/Misc Object Data/Map - Elephant Block.asm" - +Map_BPZElephantBlock: + include "Levels/BPZ/Misc Object Data/Map - Elephant Block.asm" ; --------------------------------------------------------------------------- Obj_BPZBalloon: @@ -73074,7 +73153,7 @@ Obj_BPZBalloon: move.w #$200,8(a0) move.b #$10,7(a0) move.b #$10,6(a0) - move.b #-$29,$28(a0) + move.b #$D7,$28(a0) move.l #loc_35DB2,(a0) loc_35DB2: @@ -73128,8 +73207,8 @@ loc_35E2E: bclr #4,$2A(a1) bclr #5,$2A(a1) clr.b $40(a1) - moveq #sfx_SmallBumpers,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_SmallBumpers),d0 + jmp (Play_SFX).l ; End of function sub_35DDE ; --------------------------------------------------------------------------- @@ -73147,9 +73226,7 @@ loc_35E6E: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- Ani_BPZBalloon: include "Levels/BPZ/Misc Object Data/Anim - Balloon.asm" - Map_BPZBalloon: include "Levels/BPZ/Misc Object Data/Map - Balloon.asm" - ; --------------------------------------------------------------------------- Obj_DPZDisolvingSandBar: @@ -73224,9 +73301,10 @@ loc_36020: ; --------------------------------------------------------------------------- byte_36026: dc.b $11, $11, $11, $11, $10, $F, $E, $D, $C, $B, $A, 9, 8, 7, 6, 5, 4, 3, 2, 1 dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -Ani_DPZDissolvingSandBar: include "Levels/DPZ/Misc Object Data/Anim - Dissolving Sand Bar.asm" -Map_DPZDissolvingSandBar: include "Levels/DPZ/Misc Object Data/Map - Dissolving Sand Bar.asm" - +Ani_DPZDissolvingSandBar: + include "Levels/DPZ/Misc Object Data/Anim - Dissolving Sand Bar.asm" +Map_DPZDissolvingSandBar: + include "Levels/DPZ/Misc Object Data/Map - Dissolving Sand Bar.asm" ; --------------------------------------------------------------------------- Obj_DPZButton: @@ -73261,8 +73339,8 @@ loc_362CE: loc_36310: tst.b (a3) bne.s loc_36322 - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l move.b #0,$24(a0) loc_36322: @@ -73281,7 +73359,6 @@ loc_3634A: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- Map_DPZButton: include "Levels/DPZ/Misc Object Data/Map - Button.asm" - ; --------------------------------------------------------------------------- Obj_2PItem: @@ -73305,7 +73382,7 @@ loc_363B4: move.b d0,$27(a0) move.b #3,$20(a0) move.b #7,$20(a0) - move.b #-$39,$28(a0) + move.b #$C7,$28(a0) move.l #loc_363D0,(a0) loc_363D0: @@ -73509,7 +73586,7 @@ loc_365E8: ; --------------------------------------------------------------------------- loc_3660C: - jmp (loc_1A5F0).l + jmp (GiveRing_Tails).l ; --------------------------------------------------------------------------- loc_36612: @@ -73529,7 +73606,7 @@ loc_36628: move.w $46(a2),$46(a1) tst.w $A(a2) bpl.s locret_36650 - ori.w #-$8000,$A(a1) + ori.w #$8000,$A(a1) locret_36650: rts @@ -73592,7 +73669,7 @@ loc_366C4: bpl.s loc_366E4 add.w d1,$14(a0) move.l d2,(a0) - move.b #-$39,$28(a0) + move.b #$C7,$28(a0) loc_366E4: cmpi.w #-$100,(Camera_min_Y_pos).w @@ -73673,8 +73750,8 @@ loc_3676A: neg.w $1C(a2) loc_367BA: - moveq #sfx_SmallBumpers,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_SmallBumpers),d0 + jmp (Play_SFX).l ; End of function sub_3675E ; --------------------------------------------------------------------------- @@ -73761,7 +73838,7 @@ loc_36884: loc_3688E: asl $1C(a2) move.b #$1B,$20(a2) - ori.b #-$80,$2B(a2) + ori.b #$80,$2B(a2) move.w a2,$3E(a0) move.b #$3C,$3C(a0) @@ -73949,9 +74026,7 @@ locret_36A56: ; --------------------------------------------------------------------------- Ani_2PItem: include "General/2P Zone/Anim - Item.asm" - Map_2PItem: include "General/2P Zone/Map - Item.asm" - ; --------------------------------------------------------------------------- Obj_2PGoalMarker: @@ -73968,12 +74043,12 @@ Obj_2PGoalMarker: lsl.w #3,d0 subi.w #$14,d0 move.w d0,$38(a0) - move.b #5,(_unkFEDA).w - clr.w (_unkFEDC).w + move.b #5,(Competition_total_laps).w + clr.w (Competition_current_lap).w clr.w (Events_bg+$14).w clr.b (Update_HUD_timer).w clr.l (Timer).w - clr.b (_unkFEC7).w + clr.b (Update_HUD_timer_P2).w clr.l (Timer_P2).w clr.w (Ring_count).w clr.w (Ring_count_P2).w @@ -74014,20 +74089,20 @@ loc_36CEA: move.w $10(a0),d1 lea $34(a0),a2 lea (Player_1).w,a1 - lea (_unkFEDC).w,a3 + lea (Competition_current_lap).w,a3 lea (_unkF74A).w,a4 lea (Timer).w,a5 lea ($FF7828).l,a6 bsr.w sub_36DFC lea (Player_2).w,a1 - lea (_unkFEDD).w,a3 + lea (Competition_current_lap_2P).w,a3 lea (_unkF74B).w,a4 lea (Timer_P2).w,a5 lea ($FF7840).l,a6 bsr.w sub_36DFC lea (Ani_2PGoalMarker).l,a1 jsr (Animate_Sprite).l - move.w $36(a0),(_unkEE5C).w + move.w $36(a0),(Competition_lap_count).w jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -74058,10 +74133,10 @@ loc_36D3E: move.w #0,$32(a1) loc_36DC0: - clr.w (_unkFEDC).w + clr.w (Competition_current_lap).w clr.b (Update_HUD_timer).w clr.l (Timer).w - clr.b (_unkFEC7).w + clr.b (Update_HUD_timer_P2).w clr.l (Timer_P2).w clr.b (Ctrl_1_locked).w clr.b (Ctrl_2_locked).w @@ -74160,8 +74235,8 @@ loc_36E9C: eori.b #$18,4(a1) loc_36EF2: - moveq #sfx_Error,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Error),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- locret_36EFA: @@ -74221,9 +74296,9 @@ sub_36F5A: loc_36F62: clr.l (a1)+ dbf d0,loc_36F62 - clr.l (_unkEE52).w - clr.l (_unkEE56).w - st (_unkEE5A).w + clr.l (Competition_time_record).w + clr.l (Competition_time_record_P2).w + st (Competition_time_attack_new_top_record).w rts ; End of function sub_36F5A @@ -74265,7 +74340,7 @@ loc_36F9C: sub_36FAA: - tst.b (Competition_mode_monitors).w + tst.b (Competition_items).w bne.s locret_36FD8 lea (byte_36FDA).l,a4 adda.w d0,a4 @@ -74277,7 +74352,7 @@ loc_36FBE: cmpi.l #loc_363D0,(a1) bne.s loc_36FD4 move.b (a4)+,$20(a1) - move.b #-$39,$28(a1) + move.b #$C7,$28(a1) loc_36FD4: dbf d0,loc_36FBE @@ -74289,16 +74364,15 @@ locret_36FD8: ; --------------------------------------------------------------------------- byte_36FDA: dc.b 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, 4, 5, 6, 2, 3, 0, 1, 2, 3 dc.b 4, 5, 6, 0 - -Ani_2PGoalMarker: include "General/2P Zone/Anim - Goal Marker.asm" - -Map_2PGoalMarker:include "General/2P Zone/Map - Goal Marker.asm" - +Ani_2PGoalMarker: + include "General/2P Zone/Anim - Goal Marker.asm" +Map_2PGoalMarker: + include "General/2P Zone/Map - Goal Marker.asm" ; --------------------------------------------------------------------------- loc_3703A: move.l #Map_2PLapNumbers,$C(a0) - move.w #-$7900,$A(a0) + move.w #$8700,$A(a0) move.w #0,8(a0) move.b #8,7(a0) move.b #$C,6(a0) @@ -74322,10 +74396,10 @@ loc_37086: move.l #loc_37092,(a0) loc_37092: - move.b (_unkFEDC).w,d0 - cmp.b (_unkFEDA).w,d0 + move.b (Competition_current_lap).w,d0 + cmp.b (Competition_total_laps).w,d0 ble.s loc_370A0 - move.b (_unkFEDA).w,d0 + move.b (Competition_total_laps).w,d0 loc_370A0: subi.b #$A,d0 @@ -74336,10 +74410,10 @@ loc_370A0: ; --------------------------------------------------------------------------- loc_370B4: - move.b (_unkFEDD).w,d0 - cmp.b (_unkFEDA).w,d0 + move.b (Competition_current_lap_2P).w,d0 + cmp.b (Competition_total_laps).w,d0 ble.s loc_370C2 - move.b (_unkFEDA).w,d0 + move.b (Competition_total_laps).w,d0 loc_370C2: subi.b #$A,d0 @@ -74348,15 +74422,15 @@ loc_370C2: move.b d0,$22(a0) jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Map_2PLapNumbers: include "General/2P Zone/Map - Lap Numbers.asm" - +Map_2PLapNumbers: + include "General/2P Zone/Map - Lap Numbers.asm" ; --------------------------------------------------------------------------- loc_3713A: move.l #Map_2PNeonDisplay,$C(a0) - move.w #-$78AA,$A(a0) + move.w #$8756,$A(a0) move.w #0,8(a0) - move.b #-$80,7(a0) + move.b #$80,7(a0) move.b #$28,6(a0) move.l #loc_3716C,(a0) tst.b (Not_ghost_flag).w @@ -74370,7 +74444,7 @@ loc_3716C: bne.s loc_371AE cmpi.b #5,$24(a0) bne.s loc_371AE - moveq #sfx_LaunchReady,d0 + moveq #signextendB(sfx_LaunchReady),d0 move.b $23(a0),d1 cmpi.b #1,d1 beq.s loc_371A8 @@ -74378,12 +74452,12 @@ loc_3716C: beq.s loc_371A8 cmpi.b #$15,d1 beq.s loc_371A8 - moveq #sfx_LaunchGo,d0 + moveq #signextendB(sfx_LaunchGo),d0 cmpi.b #$1F,d1 bne.s loc_371AE loc_371A8: - jsr (Play_Sound_2).l + jsr (Play_SFX).l loc_371AE: bsr.s sub_371BE @@ -74412,7 +74486,7 @@ loc_371D8: cmpi.b #3,$22(a0) bne.s locret_371F2 move.b #1,(Update_HUD_timer).w - move.b #1,(_unkFEC7).w + move.b #1,(Update_HUD_timer_P2).w move.b #1,$3A(a0) locret_371F2: @@ -74423,9 +74497,9 @@ loc_371F4: subq.b #1,d0 bne.w loc_372D0 move.l #$93B63,d0 - cmp.l (_unkEE52).w,d0 + cmp.l (Competition_time_record).w,d0 bls.s loc_3720C - cmp.l (_unkEE56).w,d0 + cmp.l (Competition_time_record_P2).w,d0 bhi.s loc_37218 loc_3720C: @@ -74433,8 +74507,8 @@ loc_3720C: move.w #$78,(Events_bg+$16).w loc_37218: - move.b (_unkFEDA).w,d0 - cmp.b (_unkFEDC).w,d0 + move.b (Competition_total_laps).w,d0 + cmp.b (Competition_current_lap).w,d0 bhs.s loc_37292 move.b #3,$20(a0) tst.b (Not_ghost_flag).w @@ -74447,22 +74521,22 @@ loc_37232: move.w #$78,(Events_bg+$16).w tst.b (Not_ghost_flag).w beq.s loc_37256 - tst.b (Competition_mode_type).w + tst.b (Competition_type).w bne.s loc_37256 move.w #$168,(Events_bg+$16).w loc_37256: - move.b #-$80,(Update_HUD_timer).w + move.b #$80,(Update_HUD_timer).w jsr sub_37430(pc) - moveq #sfx_Goal,d0 - jsr (Play_Sound_2).l - move.b (_unkFEDA).w,d0 - cmp.b (_unkFEDD).w,d0 + moveq #signextendB(sfx_Goal),d0 + jsr (Play_SFX).l + move.b (Competition_total_laps).w,d0 + cmp.b (Competition_current_lap_2P).w,d0 bhs.s loc_3728C move.b #6,$20(a0) bclr #3,4(a0) move.w #$78,(Events_bg+$16).w - move.b #-$80,(_unkFEC7).w + move.b #$80,(Update_HUD_timer_P2).w rts ; --------------------------------------------------------------------------- @@ -74472,21 +74546,21 @@ loc_3728C: ; --------------------------------------------------------------------------- loc_37292: - cmp.b (_unkFEDD).w,d0 + cmp.b (Competition_current_lap_2P).w,d0 bhs.s locret_372CE move.b #4,$20(a0) bset #4,4(a0) move.b #2,$3A(a0) move.w #$78,(Events_bg+$16).w - tst.b (Competition_mode_type).w + tst.b (Competition_type).w bne.s loc_372BC move.w #$168,(Events_bg+$16).w loc_372BC: - move.b #-$80,(_unkFEC7).w + move.b #$80,(Update_HUD_timer_P2).w bsr.w sub_37406 - moveq #sfx_Goal,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Goal),d0 + jsr (Play_SFX).l locret_372CE: rts @@ -74495,20 +74569,20 @@ locret_372CE: loc_372D0: subq.b #1,d0 bne.w loc_373A4 - tst.b (Competition_mode_type).w + tst.b (Competition_type).w beq.s loc_37308 tst.b (Update_HUD_timer).w bpl.s locret_37306 tst.b (Not_ghost_flag).w beq.s loc_372EE - tst.b (_unkFEC7).w + tst.b (Update_HUD_timer_P2).w bpl.s locret_37306 loc_372EE: subq.w #1,(Events_bg+$16).w bpl.s locret_37306 move.b #$40,(Game_mode).w - tst.b (Competition_mode_type).w + tst.b (Competition_type).w bpl.s locret_37306 move.b #$50,(Game_mode).w @@ -74517,15 +74591,15 @@ locret_37306: ; --------------------------------------------------------------------------- loc_37308: - move.b (_unkFEDC).w,d0 + move.b (Competition_current_lap).w,d0 tst.b (Update_HUD_timer).w bpl.s loc_3731C - move.b (_unkFEDD).w,d0 + move.b (Competition_current_lap_2P).w,d0 tst.b (Update_HUD_timer).w bmi.s loc_37322 loc_3731C: - cmp.b (_unkFEDA).w,d0 + cmp.b (Competition_total_laps).w,d0 beq.s loc_37328 loc_37322: @@ -74533,9 +74607,9 @@ loc_37322: bmi.s loc_3733C loc_37328: - cmpi.l #$93B63,(_unkEE52).w + cmpi.l #$93B63,(Competition_time_record).w bhs.s loc_3733C - cmpi.l #$93B63,(_unkEE56).w + cmpi.l #$93B63,(Competition_time_record_P2).w blo.s locret_37398 loc_3733C: @@ -74544,14 +74618,14 @@ loc_3733C: subi.b #$E,d0 move.b byte_3739F(pc,d0.w),d0 lea ($FF7800).l,a1 - move.l (_unkEE52).w,(a1,d0.w) - move.l (_unkEE56).w,$14(a1,d0.w) + move.l (Competition_time_record).w,(a1,d0.w) + move.l (Competition_time_record_P2).w,$14(a1,d0.w) tst.b (Update_HUD_timer).w bmi.s loc_3736A move.l #$93B63,(a1,d0.w) loc_3736A: - tst.b (_unkFEC7).w + tst.b (Update_HUD_timer_P2).w bmi.s loc_37378 move.l #$93B63,$14(a1,d0.w) @@ -74584,8 +74658,8 @@ byte_3739F: dc.b 0 ; --------------------------------------------------------------------------- loc_373A4: - move.b (_unkFEDA).w,d0 - cmp.b (_unkFEDC).w,d0 + move.b (Competition_total_laps).w,d0 + cmp.b (Competition_current_lap).w,d0 bhs.s loc_373D4 tst.b (Update_HUD_timer).w bmi.s loc_373D4 @@ -74593,21 +74667,21 @@ loc_373A4: bset #3,4(a0) move.b #-$80,(Update_HUD_timer).w move.w #$78,(Events_bg+$16).w - moveq #sfx_Goal,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Goal),d0 + jsr (Play_SFX).l loc_373D4: - move.b (_unkFEDA).w,d0 - cmp.b (_unkFEDD).w,d0 + move.b (Competition_total_laps).w,d0 + cmp.b (Competition_current_lap_2P).w,d0 bhs.s locret_37404 - tst.b (_unkFEC7).w + tst.b (Update_HUD_timer_P2).w bmi.s locret_37404 move.b #5,$20(a0) bset #4,4(a0) - move.b #-$80,(_unkFEC7).w + move.b #-$80,(Update_HUD_timer_P2).w move.w #$78,(Events_bg+$16).w - moveq #sfx_Goal,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Goal),d0 + jsr (Play_SFX).l locret_37404: rts @@ -74635,7 +74709,7 @@ locret_3742E: sub_37430: - tst.b (Competition_mode_type).w + tst.b (Competition_type).w bpl.w locret_374B6 moveq #0,d0 move.b (Current_zone).w,d0 @@ -74643,7 +74717,7 @@ sub_37430: lsl.w #4,d0 lea (Competition_saved_data).w,a1 adda.w d0,a1 - move.l (_unkEE52).w,d0 + move.l (Competition_time_record).w,d0 cmp.l (a1),d0 bhs.s loc_37476 move.b $D(a1),$E(a1) @@ -74652,7 +74726,7 @@ sub_37430: move.l 4(a1),8(a1) move.l (a1),4(a1) move.l d0,(a1) - clr.b (_unkEE5A).w + clr.b (Competition_time_attack_new_top_record).w bra.s loc_374B0 ; --------------------------------------------------------------------------- @@ -74663,7 +74737,7 @@ loc_37476: move.b (P1_character).w,$D(a1) move.l 4(a1),8(a1) move.l d0,4(a1) - move.b #1,(_unkEE5A).w + move.b #1,(Competition_time_attack_new_top_record).w bra.s loc_374B0 ; --------------------------------------------------------------------------- @@ -74672,7 +74746,7 @@ loc_3749A: bhs.s locret_374B6 move.b (P1_character).w,$E(a1) move.l d0,8(a1) - move.b #2,(_unkEE5A).w + move.b #2,(Competition_time_attack_new_top_record).w loc_374B0: jsr (Write_SaveGeneral).l @@ -74685,7 +74759,7 @@ locret_374B6: loc_374B8: move.l #Map_2PNeonDisplay,$C(a0) - move.w #-$78AA,$A(a0) + move.w #$8756,$A(a0) move.w #0,8(a0) move.b #-$80,7(a0) move.b #$28,6(a0) @@ -74705,15 +74779,15 @@ loc_374FC: jsr (Animate_Sprite).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Ani_2PNeonDisplay: include "General/2P Zone/Anim - Neon Display.asm" - -Map_2PNeonDisplay: include "General/2P Zone/Map - Neon Display.asm" - +Ani_2PNeonDisplay: + include "General/2P Zone/Anim - Neon Display.asm" +Map_2PNeonDisplay: + include "General/2P Zone/Map - Neon Display.asm" ; --------------------------------------------------------------------------- loc_37C8E: move.l #$FF7000,$C(a0) - move.w #-$7A00,$A(a0) + move.w #$8600,$A(a0) move.w #0,8(a0) move.b #$40,7(a0) move.b #$10,6(a0) @@ -74734,9 +74808,9 @@ loc_37CDC: lea ($FF700A).l,a2 lea (Timer_minute).w,a3 moveq #0,d1 - move.b (_unkEE5C).w,d1 + move.b (Competition_lap_count).w,d1 lea (Update_HUD_timer).w,a4 - lea (_unkEE52).w,a5 + lea (Competition_time_record).w,a5 lea ($FF7828).l,a6 bra.s loc_37D7C ; --------------------------------------------------------------------------- @@ -74749,7 +74823,7 @@ loc_37D00: loc_37D0C: move.l #$FF7080,$C(a0) - move.w #-$7A00,$A(a0) + move.w #$8600,$A(a0) move.w #0,8(a0) move.b #$40,7(a0) move.b #$10,6(a0) @@ -74770,9 +74844,9 @@ loc_37D5A: lea ($FF708A).l,a2 lea (Timer_minute_P2).w,a3 moveq #0,d1 - move.b (_unkEE5C+1).w,d1 - lea (_unkFEC7).w,a4 - lea (_unkEE56).w,a5 + move.b (Competition_lap_count_2P).w,d1 + lea (Update_HUD_timer_P2).w,a4 + lea (Competition_time_record_P2).w,a5 lea ($FF7840).l,a6 loc_37D7C: @@ -74896,7 +74970,7 @@ word_37E8E: dc.w 2 loc_37EC2: move.l #Map_2PItemIcon,$C(a0) - move.w #-$78B0,$A(a0) + move.w #$8750,$A(a0) move.w #0,8(a0) move.b #$10,7(a0) move.b #$10,6(a0) @@ -74957,10 +75031,9 @@ loc_37F60: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- Map_2PItemIcon: include "General/2P Zone/Map - Item Icon.asm" - ; --------------------------------------------------------------------------- move.l #Map_2PPosition,$C(a0) - move.w #-$78A2,$A(a0) + move.w #$875E,$A(a0) move.w #0,8(a0) move.b #4,7(a0) move.b #4,6(a0) @@ -75033,7 +75106,6 @@ loc_380BC: bra.s loc_38070 ; --------------------------------------------------------------------------- Map_2PPosition: include "General/2P Zone/Map - Position Icons (Unused).asm" - ; --------------------------------------------------------------------------- Obj_EMZDripper: @@ -75047,7 +75119,7 @@ Obj_EMZDripper: move.b #4,$1E(a0) btst #0,$2A(a0) beq.s loc_3814A - move.w #-$3D00,$A(a0) + move.w #$C300,$A(a0) move.b #3,$22(a0) move.l #Draw_Sprite,(a0) jmp (Draw_Sprite).l @@ -75153,7 +75225,6 @@ loc_3824C: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- Map_EMZDripper: include "Levels/EMZ/Misc Object Data/Map - Dripper.asm" - ; --------------------------------------------------------------------------- locret_3827A: @@ -75190,7 +75261,7 @@ loc_382DE: subq.w #2,d0 bcc.s loc_382DE move.l #loc_382FC,(a1) - move.b #-$39,$28(a1) + move.b #$C7,$28(a1) moveq #0,d0 loc_382F6: @@ -75258,8 +75329,8 @@ loc_38390: ; End of function sub_38382 ; --------------------------------------------------------------------------- -Ani_HCZWaterDrop: include "Levels/HCZ/Misc Object Data/Anim - Water Drop.asm" - +Ani_HCZWaterDrop: + include "Levels/HCZ/Misc Object Data/Anim - Water Drop.asm" ; --------------------------------------------------------------------------- Obj_HCZWaterSplash: @@ -75274,8 +75345,8 @@ Obj_HCZWaterSplash: loc_383DC: ori.b #4,4(a0) move.w #$300,8(a0) - move.b #-$60,7(a0) - move.b #-$80,6(a0) + move.b #$A0,7(a0) + move.b #$80,6(a0) move.b #-1,$31(a0) move.b #0,$2A(a0) bset #6,4(a0) @@ -75339,8 +75410,8 @@ loc_384B2: addq.b #2,d0 andi.b #$F,d0 bne.s loc_384DA - moveq #sfx_WaterSkid,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_WaterSkid),d0 + jsr (Play_SFX).l loc_384DA: subq.b #1,$24(a0) @@ -75529,7 +75600,7 @@ Obj_TensionBridge: loc_386D0: cmpi.b #9,(Current_zone).w bne.s loc_386DE - move.w #-$1EED,$A(a0) + move.w #$E113,$A(a0) loc_386DE: tst.b $2C(a0) @@ -75539,7 +75610,7 @@ loc_386DE: loc_386F0: move.b #4,4(a0) - move.b #-$80,7(a0) + move.b #$80,7(a0) move.b #8,6(a0) move.w $14(a0),d2 move.w d2,$3C(a0) @@ -75665,7 +75736,7 @@ loc_38822: loc_3883A: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.s loc_3884E @@ -75893,8 +75964,8 @@ loc_38A00: loc_38A64: move.w #0,$18(a3) move.w #0,$1A(a3) - moveq #sfx_BridgeCollapse,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_BridgeCollapse),d0 + jmp (Play_SFX).l ; End of function sub_389DE ; --------------------------------------------------------------------------- @@ -76394,18 +76465,14 @@ BridgeBendData: dc.b $FF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 dc.b $19, $38, $50, $6D, $83, $9D, $B0, $C5, $D8, $E4, $F1, $F8, $FE, $FF, 0, 0 dc.b $19, $31, $4A, $67, $7E, $93, $A7, $BD, $CD, $DB, $E7, $F3, $F9, $FE, $FF, 0 dc.b $19, $31, $4A, $61, $78, $8E, $A2, $B5, $C5, $D4, $E1, $EC, $F4, $FB, $FE, $FF -Map_ICZTensionBridge:include "Levels/ICZ/Misc Object Data/Map - ICZ Tension Bridge.asm" - -Map_TensionBridge:include "Levels/Misc/Map - Tension Bridge.asm" - +Map_ICZTensionBridge: + include "Levels/ICZ/Misc Object Data/Map - ICZ Tension Bridge.asm" +Map_TensionBridge: + include "Levels/Misc/Map - Tension Bridge.asm" byte_39006: dc.b 2, 4, 4, 4, 4, 4, $C, 0 - byte_3900E: dc.b 2, 4, 6, 6, 6, 6, 8, 8, 8, 8, $A, $A, 0, 0 - byte_3901C: dc.b 2, 4, 6, 6, 6, 6, 8, 8, 8, 8, $A, 0 - byte_39028: dc.b 2, 4, 6, 6, 6, 6, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, $E, 0 - word_3903C: dc.w $840 dc.w $120 dc.l byte_39006 @@ -76432,7 +76499,7 @@ word_3903C: dc.w $840 dc.l byte_3900E ; --------------------------------------------------------------------------- -Obj_69_1: +Obj_HCZTwistingLoop: move.b $2C(a0),d0 andi.w #$7F,d0 lsl.w #3,d0 @@ -76785,8 +76852,8 @@ loc_3945E: jsr (sub_3968E).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Ani_SonicSnowboard: include "General/Sprites/Sonic/Anim - Sonic Snowboard.asm" - +Ani_SonicSnowboard: + include "General/Sprites/Sonic/Anim - Sonic Snowboard.asm" ; --------------------------------------------------------------------------- loc_394A0: @@ -76820,8 +76887,8 @@ loc_39502: move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 bne.s loc_39514 - moveq #sfx_SlideSkidQuiet,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SlideSkidQuiet),d0 + jsr (Play_SFX).l loc_39514: cmpi.w #$1310,$10(a2) @@ -76871,8 +76938,8 @@ loc_39586: move.b #$19,$20(a2) move.b #0,$2E(a2) move.w #$14,(Screen_shake_flag).w - moveq #sfx_Crash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Crash),d0 + jsr (Play_SFX).l move.w #2,(Tails_CPU_routine).w loc_395CC: @@ -76887,8 +76954,8 @@ loc_395CC: bne.s loc_395F2 loc_395EA: - moveq #sfx_GroundSlide,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GroundSlide),d0 + jsr (Play_SFX).l loc_395F2: jsr (sub_3968E).l @@ -76925,8 +76992,8 @@ loc_39658: move.b $22(a0),d0 cmp.b $32(a0),d0 beq.s loc_3966A - moveq #sfx_GroundSlide,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GroundSlide),d0 + jsr (Play_SFX).l loc_3966A: jsr (sub_3968E).l @@ -77203,14 +77270,13 @@ loc_399A6: loc_399CA: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Ani_SnowboardDust: include "General/Sprites/Snowboard/Anim - Snowboard Dust.asm" - -Map_SnowboardDust: include "General/Sprites/Snowboard/Map - Snowboard Dust.asm" - -ArtNem_SnowboardDust: binclude "General/Sprites/Snowboard/Snowboard Dust.bin" - even - - +Ani_SnowboardDust: + include "General/Sprites/Snowboard/Anim - Snowboard Dust.asm" +Map_SnowboardDust: + include "General/Sprites/Snowboard/Map - Snowboard Dust.asm" +ArtNem_SnowboardDust: + binclude "General/Sprites/Snowboard/Snowboard Dust.bin" + even ; --------------------------------------------------------------------------- Obj_LevelIntro_PlayerLaunchFromGround: @@ -77294,8 +77360,8 @@ loc_39AD2: move.w #$5C0,(Dust_P2+y_pos).w loc_39B22: - moveq #sfx_SandSplash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SandSplash),d0 + jsr (Play_SFX).l move.b #0,(Ctrl_1_locked).w move.b #0,(Ctrl_2_locked).w jmp (Delete_Current_Sprite).l @@ -77376,8 +77442,8 @@ loc_39BEE: move.w d0,(Camera_min_Y_pos).w move.w d0,(Camera_target_min_Y_pos).w move.w d0,(Camera_min_Y_pos_P2).w - moveq #sfx_Crash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Crash),d0 + jsr (Play_SFX).l jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- @@ -77390,7 +77456,7 @@ Obj_LRZCollapsingBridge: move.b #4,4(a0) move.w #$80,8(a0) move.l #Map_LRZCollapsingBridge,$C(a0) - move.w #-$3F2D,$A(a0) + move.w #$C0D3,$A(a0) move.b $2C(a0),d0 move.b d0,d1 andi.w #$F,d0 @@ -77547,8 +77613,8 @@ loc_39E08: clr.w respawn_addr(a0) loc_39E18: - moveq #sfx_Collapse,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- word_39E20: dc.w $15 dc.b $E0, 4, 7, $24 @@ -77573,11 +77639,11 @@ word_39E20: dc.w $15 dc.b $20, $18, 1, 4 dc.b $D4, $C, 4, $16 dc.b $2C, $C, 5, $14 -Map_LRZCollapsingBridge:include "Levels/LRZ/Misc Object Data/Map - Collapsing Bridge.asm" - +Map_LRZCollapsingBridge: + include "Levels/LRZ/Misc Object Data/Map - Collapsing Bridge.asm" ; --------------------------------------------------------------------------- -Obj_6F_1: +Obj_FBZWireCage: move.b $2C(a0),d0 bpl.s loc_39F48 andi.w #$7F,d0 @@ -77851,7 +77917,7 @@ RawAni_3A220: dc.b $6D, $6D, $6E, $6E, $6F, $6F, $70, $70, $71, $71, $72, $72, dc.b $77, $77, $6C, $6C, $6D, $6D ; --------------------------------------------------------------------------- -Obj_70_1_FBZ_Twisting_Cylinders: +Obj_FBZWireCageStationary: moveq #0,d0 move.b $2C(a0),d0 lsl.w #8,d0 @@ -78048,8 +78114,7 @@ loc_3A426: rts ; --------------------------------------------------------------------------- byte_3A468: dc.b 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4 -RawAni_3A474: - dc.b $49, $54, $53, $52, $53, $52, $53, $52, $53, $52, $54, $49 +RawAni_3A474: dc.b $49, $54, $53, $52, $53, $52, $53, $52, $53, $52, $54, $49 ; --------------------------------------------------------------------------- loc_3A480: @@ -78282,11 +78347,11 @@ loc_3A724: locret_3A740: rts ; --------------------------------------------------------------------------- -Map_FBZFloatingPlatform:include "Levels/FBZ/Misc Object Data/Map - Floating Platform.asm" - +Map_FBZFloatingPlatform: + include "Levels/FBZ/Misc Object Data/Map - Floating Platform.asm" ; --------------------------------------------------------------------------- -Obj_FBZ_ChainLink: +Obj_FBZChainLink: move.b $2C(a0),d0 bpl.s loc_3A7E6 andi.w #$3F,d0 @@ -78494,8 +78559,8 @@ loc_3AA18: move.b #$14,$20(a1) move.b #1,$2E(a1) move.b #1,(a2) - moveq #sfx_Grab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Grab),d0 + jsr (Play_SFX).l locret_3AA58: rts @@ -78619,8 +78684,8 @@ loc_3ABBE: move.b 4(a2),d1 cmpi.b #2,d1 bne.s loc_3ABE4 - moveq #sfx_Grab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Grab),d0 + jsr (Play_SFX).l loc_3ABE4: subq.w #1,d1 @@ -78763,14 +78828,14 @@ loc_3AD10: move.l a2,-(sp) jsr (Perform_Player_DPLC).l movea.l (sp)+,a2 - moveq #sfx_Grab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Grab),d0 + jsr (Play_SFX).l locret_3AD88: rts ; --------------------------------------------------------------------------- -Map_FBZChainLink:include "Levels/FBZ/Misc Object Data/Map - Chain Link.asm" - +Map_FBZChainLink: + include "Levels/FBZ/Misc Object Data/Map - Chain Link.asm" ; --------------------------------------------------------------------------- Obj_FBZMagneticSpikeBall: @@ -78784,8 +78849,8 @@ Obj_FBZMagneticSpikeBall: move.b #$10,7(a0) move.b #$10,6(a0) move.b #-$66,$28(a0) - move.l #loc_1B662,(a0) - jmp (loc_1B662).l + move.l #Sprite_CheckDeleteTouch3,(a0) + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- loc_3B122: @@ -78799,7 +78864,7 @@ loc_3B122: ; --------------------------------------------------------------------------- loc_3B146: - move.w #-$5BBE,$A(a0) + move.w #$A442,$A(a0) move.b #$24,7(a0) move.b #4,6(a0) move.b #4,$22(a0) @@ -78831,7 +78896,7 @@ loc_3B1B2: move.l #loc_3B1C4,(a0) loc_3B1BE: - jmp (loc_1B662).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- loc_3B1C4: @@ -78850,7 +78915,7 @@ loc_3B1EA: move.l #loc_3B18C,(a0) loc_3B1F6: - jmp (loc_1B662).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- loc_3B1FC: @@ -78867,8 +78932,8 @@ loc_3B214: bne.s loc_3B22C tst.b 4(a0) bpl.s loc_3B22C - moveq #sfx_MagneticSpike,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MagneticSpike),d0 + jsr (Play_SFX).l loc_3B22C: jmp (Sprite_OnScreen_Test).l @@ -78893,8 +78958,8 @@ loc_3B250: loc_3B256: jmp (Delete_Sprite_If_Not_In_Range).l ; --------------------------------------------------------------------------- -Map_FBZMagneticSpikeBall:include "Levels/FBZ/Misc Object Data/Map - Magnetic Spike Ball.asm" - +Map_FBZMagneticSpikeBall: + include "Levels/FBZ/Misc Object Data/Map - Magnetic Spike Ball.asm" ; --------------------------------------------------------------------------- Obj_FBZMagneticPlatform: @@ -78976,8 +79041,8 @@ loc_3B3FA: move.w d0,$14(a0) move.w #0,$1A(a0) move.l #loc_3B450,(a0) - moveq #sfx_ChainTension,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_ChainTension),d0 + jsr (Play_SFX).l bra.s loc_3B450 ; --------------------------------------------------------------------------- @@ -79002,7 +79067,7 @@ loc_3B462: move.w #-9,d3 move.w $10(a0),d4 jsr SolidObjectFull_Offset - jmp loc_1B662 + jmp Sprite_CheckDeleteTouch3 ; --------------------------------------------------------------------------- loc_3B482: @@ -79048,8 +79113,8 @@ locret_3B4DC: ; End of function sub_3B488 ; --------------------------------------------------------------------------- -Map_FBZMagneticPlatform:include "Levels/FBZ/Misc Object Data/Map - Magnetic Platform.asm" - +Map_FBZMagneticPlatform: + include "Levels/FBZ/Misc Object Data/Map - Magnetic Platform.asm" ; --------------------------------------------------------------------------- Obj_FBZSnakePlatform: @@ -79208,8 +79273,8 @@ loc_3B6AE: ; End of function FBZSnake_ChangeDir ; --------------------------------------------------------------------------- -Map_FBZSnakePlatform: include "Levels/FBZ/Misc Object Data/Map - Snake Platform.asm" - +Map_FBZSnakePlatform: + include "Levels/FBZ/Misc Object Data/Map - Snake Platform.asm" byte_3B6D8: dc.b $18 byte_3B6D9: dc.b $10 dc.b $10 @@ -79244,7 +79309,6 @@ loc_3B718: jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- Map_FBZBentPipe:include "Levels/FBZ/Misc Object Data/Map - Bent Pipe.asm" - ; --------------------------------------------------------------------------- Obj_FBZRotatingPlatform: @@ -79359,8 +79423,8 @@ loc_3B90C: move.w $44(a0),d0 jmp (loc_1B666).l ; --------------------------------------------------------------------------- -Map_FBZRotatingPlatform:include "Levels/FBZ/Misc Object Data/Map - Rotating Platform.asm" - +Map_FBZRotatingPlatform: + include "Levels/FBZ/Misc Object Data/Map - Rotating Platform.asm" ; --------------------------------------------------------------------------- Obj_FBZDEZPlayerLauncher: @@ -79444,8 +79508,8 @@ loc_3BA1E: move.w d1,$18(a0) move.b #$C,$30(a0) move.b #4,$31(a0) - moveq #sfx_FloorLauncher,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FloorLauncher),d0 + jsr (Play_SFX).l locret_3BA48: rts @@ -79479,8 +79543,8 @@ loc_3BA70: move.w $44(a0),d0 jmp (Sprite_OnScreen_Test2).l ; --------------------------------------------------------------------------- -Map_FBZDEZPlayerLauncher:include "Levels/FBZ/Misc Object Data/Map - DEZ Player Launcher.asm" - +Map_FBZDEZPlayerLauncher: + include "Levels/FBZ/Misc Object Data/Map - DEZ Player Launcher.asm" word_3BAAA: dc.w $7F dc.w $FF dc.w $1FF @@ -79566,11 +79630,10 @@ locret_3BB98: ; End of function sub_3BB86 ; --------------------------------------------------------------------------- -Ani_FBZDisappearingPlatform: include "Levels/FBZ/Misc Object Data/Anim - Disappearing Platform.asm" - -Map_FBZDisappearingPlatform:include "Levels/FBZ/Misc Object Data/Map - Disappearing Platform.asm" - - +Ani_FBZDisappearingPlatform: + include "Levels/FBZ/Misc Object Data/Anim - Disappearing Platform.asm" +Map_FBZDisappearingPlatform: + include "Levels/FBZ/Misc Object Data/Map - Disappearing Platform.asm" byte_3BBE8: dc.b 8 byte_3BBE9: dc.b $20 dc.b $20 @@ -79622,8 +79685,8 @@ loc_3BC72: tst.b (a3,d0.w) beq.s loc_3BCF2 move.l #loc_3BC92,(a0) - moveq #sfx_DoorOpen,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_DoorOpen),d0 + jsr (Play_SFX).l loc_3BC92: addq.b #1,$2E(a0) @@ -79699,13 +79762,13 @@ loc_3BD54: move.l #loc_3BC92,(a0) bra.w loc_3BC92 ; --------------------------------------------------------------------------- -Ani_FBZScrewDoor: include "Levels/FBZ/Misc Object Data/Anim - Screw Door.asm" - -Map_FBZScrewDoor:include "Levels/FBZ/Misc Object Data/Map - Screw Door.asm" - +Ani_FBZScrewDoor: + include "Levels/FBZ/Misc Object Data/Anim - Screw Door.asm" +Map_FBZScrewDoor: + include "Levels/FBZ/Misc Object Data/Map - Screw Door.asm" ; --------------------------------------------------------------------------- -Obj_7B_1: +Obj_FBZSpinningPole: moveq #0,d0 move.b $2C(a0),d0 lsl.w #3,d0 @@ -79922,14 +79985,15 @@ loc_3C1EE: moveq #0,d0 move.b (a2),d0 move.b CollisionEffects_3C208(pc,d0.w),$28(a0) - jmp (loc_1B662).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- -CollisionEffects_3C208:dc.b $B6 +CollisionEffects_3C208: + dc.b $B6 dc.b 0 dc.b $B6 dc.b $B7 -Map_FBZPropeller:include "Levels/FBZ/Misc Object Data/Map - Propeller.asm" - +Map_FBZPropeller: + include "Levels/FBZ/Misc Object Data/Map - Propeller.asm" ; --------------------------------------------------------------------------- Obj_FBZPiston: @@ -79998,7 +80062,6 @@ loc_3C322: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- Map_FBZPiston: include "Levels/FBZ/Misc Object Data/Map - Piston.asm" - byte_3C344: dc.b $10 byte_3C345: dc.b $10 dc.b $20 @@ -80077,13 +80140,13 @@ loc_3C3EE: move.w $44(a0),d0 jmp (Sprite_OnScreen_Test2).l ; --------------------------------------------------------------------------- -Map_FBZPlatformBlocks:include "Levels/FBZ/Misc Object Data/Map - Platform Blocks.asm" - +Map_FBZPlatformBlocks: + include "Levels/FBZ/Misc Object Data/Map - Platform Blocks.asm" ; --------------------------------------------------------------------------- Obj_FBZMissileLauncher: move.l #Map_FBZMissileLauncher,$C(a0) - move.w #-$5CD5,$A(a0) + move.w #$A32B,$A(a0) ori.b #4,4(a0) move.b #$10,7(a0) move.b #$10,6(a0) @@ -80112,7 +80175,7 @@ Obj_FBZMissileLauncher: move.w $10(a0),$44(a1) move.b 4(a0),4(a1) move.l $C(a0),$C(a1) - move.w #-$3CD5,$A(a1) + move.w #$C32B,$A(a1) move.w #$100,8(a1) move.b #$20,7(a1) move.b #8,6(a1) @@ -80153,7 +80216,7 @@ loc_3C552: subi.w #$44,$46(a1) move.b 4(a0),4(a1) move.l $C(a0),$C(a1) - move.w #-$5CD5,$A(a1) + move.w #$A32B,$A(a1) move.w #$80,8(a1) move.b #8,7(a1) move.b #$24,6(a1) @@ -80170,8 +80233,8 @@ loc_3C552: lsl.l #8,d0 move.l d0,$36(a1) addq.b #2,$23(a0) - moveq #sfx_LevelProjectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_LevelProjectile),d0 + jsr (Play_SFX).l loc_3C5F4: subq.b #1,$34(a0) @@ -80213,7 +80276,7 @@ loc_3C648: bne.w loc_3C67C move.l #Obj_Explosion,(a1) move.b #6,5(a1) - move.w #-$8000,$A(a1) + move.w #$8000,$A(a1) move.w $10(a0),$10(a1) move.w $14(a0),$14(a1) move.w (a2)+,d0 @@ -80225,8 +80288,8 @@ loc_3C67C: dbf d1,loc_3C648 move.w #$7F00,$10(a0) move.w $10(a0),$44(a0) - moveq #sfx_TubeLauncher,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_TubeLauncher),d0 + jsr (Play_SFX).l loc_3C694: moveq #0,d1 @@ -80314,12 +80377,12 @@ loc_3C768: move.b #6,5(a0) clr.b $28(a0) clr.b $29(a0) - moveq #sfx_Explode,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Explode),d0 + jsr (Play_SFX).l jmp (Obj_Explosion).l ; --------------------------------------------------------------------------- -Map_FBZMissileLauncher:include "Levels/FBZ/Misc Object Data/Map - Missile Launcher.asm" - +Map_FBZMissileLauncher: + include "Levels/FBZ/Misc Object Data/Map - Missile Launcher.asm" ; --------------------------------------------------------------------------- Obj_FBZWallMissile: @@ -80360,8 +80423,8 @@ loc_3C828: neg.w $18(a1) loc_3C894: - moveq #sfx_LevelProjectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_LevelProjectile),d0 + jsr (Play_SFX).l loc_3C89C: move.l #loc_3C8B6,(a0) @@ -80404,8 +80467,8 @@ loc_3C8E8: loc_3C900: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Map_FBZWallMissile: include "Levels/FBZ/Misc Object Data/Map - Wall Missile.asm" - +Map_FBZWallMissile: + include "Levels/FBZ/Misc Object Data/Map - Wall Missile.asm" ; --------------------------------------------------------------------------- Obj_FBZMine: @@ -80467,12 +80530,11 @@ loc_3C9E4: move.b #6,5(a0) clr.b $28(a0) clr.b $29(a0) - moveq #sfx_Explode,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Explode),d0 + jsr (Play_SFX).l jmp (Obj_Explosion).l ; --------------------------------------------------------------------------- Map_FBZMine: include "Levels/FBZ/Misc Object Data/Map - Mine.asm" - ; --------------------------------------------------------------------------- Obj_FBZElevator: @@ -80530,7 +80592,6 @@ byte_3CAD0: dc.b $10, $10, $10, $10, $10, $10, $10, $11, $12, $12, $13, $13, $1 dc.b $16, $16, $17, $17, $17, $18, $18, $18, $19, $19, $19, $1A, $1A, $1A, $1B, $1B, $1B, $1C, $1C, $1C dc.b $1D, $1D, $1D, $1E, $1E, $1E, $1F, $1F, $1F, $20, $20, $20, $21, $21, $21, $21, $21, $21, $21, $21 Map_FBZElevator:include "Levels/FBZ/Misc Object Data/Map - Elevator.asm" - ; --------------------------------------------------------------------------- Obj_FBZTrapSpring: @@ -80614,15 +80675,15 @@ loc_3CC34: neg.w $1C(a1) loc_3CC44: - moveq #sfx_Spring,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jmp (Play_SFX).l ; End of function sub_3CBCE ; --------------------------------------------------------------------------- -Ani_FBZTrapSpring: include "Levels/FBZ/Misc Object Data/Anim - Trap Spring.asm" - -Map_FBZTrapSpring:include "Levels/FBZ/Misc Object Data/Map - Trap Spring.asm" - +Ani_FBZTrapSpring: + include "Levels/FBZ/Misc Object Data/Anim - Trap Spring.asm" +Map_FBZTrapSpring: + include "Levels/FBZ/Misc Object Data/Map - Trap Spring.asm" ; --------------------------------------------------------------------------- Obj_FBZFlamethrower: @@ -80689,8 +80750,8 @@ loc_3CD4C: bne.s loc_3CD6E tst.b 4(a0) bpl.s loc_3CD6E - moveq #sfx_FlamethrowerLoud,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FlamethrowerLoud),d0 + jsr (Play_SFX).l loc_3CD6E: tst.b 4(a0) @@ -80728,8 +80789,8 @@ loc_3CDD0: bne.w loc_3CDFC andi.b #$F,d1 bne.s loc_3CDEC - moveq #sfx_FlamethrowerLoud,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FlamethrowerLoud),d0 + jsr (Play_SFX).l loc_3CDEC: tst.b 4(a0) @@ -80902,8 +80963,8 @@ loc_3CFA2: loc_3CFCA: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Map_FBZFlameThrower:include "Levels/FBZ/Misc Object Data/Map - Flamethrower.asm" - +Map_FBZFlameThrower: + include "Levels/FBZ/Misc Object Data/Map - Flamethrower.asm" ; --------------------------------------------------------------------------- Obj_FBZSpiderCrane: @@ -81073,8 +81134,8 @@ loc_3D2D2: loc_3D2F6: jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Map_FBZSpiderCrane:include "Levels/FBZ/Misc Object Data/Map - Spider Crane.asm" - +Map_FBZSpiderCrane: + include "Levels/FBZ/Misc Object Data/Map - Spider Crane.asm" ; --------------------------------------------------------------------------- Obj_FBZMagneticPendulum: @@ -81226,8 +81287,8 @@ loc_3D5C4: clr.b $27(a0) move.b d1,$2E(a0) clr.b $2F(a0) - moveq #sfx_Clank,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Clank),d0 + jsr (Play_SFX).l tst.b $32(a0) beq.w loc_3D730 clr.b $32(a0) @@ -81347,8 +81408,8 @@ loc_3D6C4: lsl.w #3,d0 sub.w d2,d0 move.w d0,$1A(a2) - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l loc_3D730: jmp (Draw_Sprite).l @@ -81578,8 +81639,8 @@ loc_3D98E: dbf d4,loc_3D98E jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Map_FBZMagneticPendulum:include "Levels/FBZ/Misc Object Data/Map - Magnetic Pendulum.asm" - +Map_FBZMagneticPendulum: + include "Levels/FBZ/Misc Object Data/Map - Magnetic Pendulum.asm" ; --------------------------------------------------------------------------- Obj_MHZ_Pollen_Spawner: @@ -81710,7 +81771,7 @@ sub_3DB68: tst.b (_unkF7C1).w bne.s loc_3DB7E move.l #Map_MHZPollen,$C(a1) - move.w #-$1C98,$A(a1) + move.w #$E368,$A(a1) rts ; --------------------------------------------------------------------------- @@ -81721,13 +81782,13 @@ loc_3DB7E: move.b byte_3DBB0(pc,d0.w),d0 bne.s loc_3DBA0 move.l #Map_MHZBigLeaves,$C(a1) - move.w #-$1C9D,$A(a1) + move.w #$E363,$A(a1) rts ; --------------------------------------------------------------------------- loc_3DBA0: move.l #Map_MHZPollen,$C(a1) - move.w #-$1C9D,$A(a1) + move.w #$E363,$A(a1) rts ; End of function sub_3DB68 @@ -81806,13 +81867,13 @@ locret_3DC5A: ; End of function sub_3DC3A ; --------------------------------------------------------------------------- -Map_MHZPollen: include "Levels/MHZ/Misc Object Data/Map - Pollen Leaves.asm" - -Map_MHZBigLeaves: include "Levels/MHZ/Misc Object Data/Map - Big Leaves.asm" - +Map_MHZPollen: + include "Levels/MHZ/Misc Object Data/Map - Pollen Leaves.asm" +Map_MHZBigLeaves: + include "Levels/MHZ/Misc Object Data/Map - Big Leaves.asm" ; --------------------------------------------------------------------------- -Obj_03_2: +Obj_MHZTwistedVine: move.b #-$30,7(a0) btst #0,$2A(a0) beq.s loc_3DCB4 @@ -82282,18 +82343,18 @@ MHZMushroomCap_BounceCharacter: clr.b spin_dash_flag(a1) move.b #$10,anim(a1) ; Set character to 'spring-jumping' animation move.b #2,routine(a1) - moveq #sfx_MushroomBounce,d0 - jmp (Play_Sound_2).l ; Play bounce sound + moveq #signextendB(sfx_MushroomBounce),d0 + jmp (Play_SFX).l ; Play bounce sound .return: rts ; End of function MHZMushroomCap_BounceCharacter ; --------------------------------------------------------------------------- -Ani_MHZMushroomCap: include "Levels/MHZ/Misc Object Data/Anim - Mushroom Cap.asm" - -Map_MHZMushroomCap:include "Levels/MHZ/Misc Object Data/Map - Mushroom Cap.asm" - +Ani_MHZMushroomCap: + include "Levels/MHZ/Misc Object Data/Anim - Mushroom Cap.asm" +Map_MHZMushroomCap: + include "Levels/MHZ/Misc Object Data/Map - Mushroom Cap.asm" ; --------------------------------------------------------------------------- Obj_MHZPulleyLift: @@ -82617,8 +82678,8 @@ loc_3E5CC: move.b d1,(a4) move.b d1,1(a4) move.w d0,d1 - moveq #sfx_RingRight,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_RingRight),d0 + jsr (Play_SFX).l move.w d1,d0 loc_3E5E0: @@ -82668,8 +82729,8 @@ loc_3E632: beq.s loc_3E646 tst.b $2C(a3) beq.s loc_3E646 - moveq #sfx_PulleyMove,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_PulleyMove),d0 + jsr (Play_SFX).l loc_3E646: move.w $10(a0),$10(a1) @@ -82732,16 +82793,16 @@ loc_3E690: andi.b #-3,4(a1) move.b #1,(a2) move.b #-$70,d1 - moveq #sfx_Grab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Grab),d0 + jsr (Play_SFX).l bra.w loc_3E658 ; --------------------------------------------------------------------------- locret_3E71E: rts ; --------------------------------------------------------------------------- -Map_MHZPulleyLift:include "Levels/MHZ/Misc Object Data/Map - Pulley Lift.asm" - +Map_MHZPulleyLift: + include "Levels/MHZ/Misc Object Data/Map - Pulley Lift.asm" ; --------------------------------------------------------------------------- Obj_MHZCurledVine: @@ -82968,8 +83029,8 @@ locret_3EA4A: ; End of function sub_3E9C6 ; --------------------------------------------------------------------------- -Map_MHZCurledVine:include "Levels/MHZ/Misc Object Data/Map - Curled Vine.asm" - +Map_MHZCurledVine: + include "Levels/MHZ/Misc Object Data/Map - Curled Vine.asm" ; --------------------------------------------------------------------------- Obj_MHZStickyVine: @@ -83248,8 +83309,8 @@ loc_3ED02: loc_3ED0A: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Map_MHZStickyVine:include "Levels/MHZ/Misc Object Data/Map - Sticky Vine.asm" - +Map_MHZStickyVine: + include "Levels/MHZ/Misc Object Data/Map - Sticky Vine.asm" ; --------------------------------------------------------------------------- Obj_MHZSwingBarHorizontal: @@ -83443,8 +83504,8 @@ loc_3EF9C: move.l a2,-(sp) jsr (Perform_Player_DPLC).l movea.l (sp)+,a2 - moveq #sfx_Grab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Grab),d0 + jsr (Play_SFX).l locret_3EFB8: rts @@ -83506,9 +83567,8 @@ loc_3EFF2: RawAni_3F01A: dc.b $94, $63, $64, $64, $65, $65, $65, $66, $66, $66, $66, $67, $67, $67, $68, $68, $95, $63, $64, $64 dc.b $65, $65, $65, $66, $66, $66, $66, $67, $67, $67, $68, $68 byte_3F03A: dc.b $14, $14, $B, $B, $F1, $F1, $F1, $EC, $EC, $EC, $EC, $F4, $F4, $F4, $FE, $FE -Map_MHZSwingBarHorizontal:include "Levels/MHZ/Misc Object Data/Map - Swing Bar Horizontal.asm" - - +Map_MHZSwingBarHorizontal: + include "Levels/MHZ/Misc Object Data/Map - Swing Bar Horizontal.asm" ; --------------------------------------------------------------------------- Obj_MHZSwingBarVertical: @@ -83734,14 +83794,14 @@ loc_3F346: move.l a2,-(sp) jsr (Perform_Player_DPLC).l movea.l (sp)+,a2 - moveq #sfx_Grab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Grab),d0 + jsr (Play_SFX).l locret_3F35E: rts ; --------------------------------------------------------------------------- -Map_MHZSwingBarVertical:include "Levels/MHZ/Misc Object Data/Map - Swing Bar Vertical.asm" - +Map_MHZSwingBarVertical: + include "Levels/MHZ/Misc Object Data/Map - Swing Bar Vertical.asm" ; --------------------------------------------------------------------------- Obj_MHZMushroomPlatform: @@ -83792,18 +83852,17 @@ loc_3F40A: jsr (Animate_Sprite).l jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Ani_MHZMushroomPlatform: include "Levels/MHZ/Misc Object Data/Anim - Mushroom Platform.asm" - +Ani_MHZMushroomPlatform: + include "Levels/MHZ/Misc Object Data/Anim - Mushroom Platform.asm" byte_3F42A: dc.b $C, $D, $E, $F, $10, $11, $12, $13, $13, $14, $14, $14, $14, $14, $14, $14, $14, $14, $14, $14 dc.b $14, $14, $14, $13, $13, $12, $11, $10, $F, $E, $D, $C - -Map_MHZMushroomPlatform:include "Levels/MHZ/Misc Object Data/Map - Mushroom Platform.asm" - +Map_MHZMushroomPlatform: + include "Levels/MHZ/Misc Object Data/Map - Mushroom Platform.asm" ; --------------------------------------------------------------------------- Obj_MHZMushroomParachute: move.l #Map_MHZMushroomParachute,$C(a0) - move.w #-$3C33,$A(a0) + move.w #$C3CD,$A(a0) ori.b #4,4(a0) move.w #$280,8(a0) move.b #$20,7(a0) @@ -83988,8 +84047,7 @@ loc_3F6BC: movea.l (sp)+,a2 rts ; --------------------------------------------------------------------------- -RawAni_3F6EE: - dc.b $E4, $E5, $E6, $E6, $E7, $E6, $E6, $E5, $E4, $E5, $E6, $E6, $E7, $E6, $E6, $E5 +RawAni_3F6EE: dc.b $E4, $E5, $E6, $E6, $E7, $E6, $E6, $E5, $E4, $E5, $E6, $E6, $E7, $E6, $E6, $E5 ; --------------------------------------------------------------------------- loc_3F6FE: @@ -84033,8 +84091,8 @@ loc_3F70C: move.w #$80,8(a0) move.w $18(a0),$18(a1) move.w $1A(a0),$1A(a1) - moveq #sfx_Grab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Grab),d0 + jsr (Play_SFX).l bra.w loc_3F6A6 ; --------------------------------------------------------------------------- @@ -84130,8 +84188,8 @@ locret_3F850: ; End of function sub_3F7E2 ; --------------------------------------------------------------------------- -Map_MHZMushroomParachute:include "Levels/MHZ/Misc Object Data/Map - Mushroom Parachute.asm" - +Map_MHZMushroomParachute: + include "Levels/MHZ/Misc Object Data/Map - Mushroom Parachute.asm" ; --------------------------------------------------------------------------- Obj_MHZMushroomCatapult: @@ -84308,8 +84366,8 @@ loc_3FA66: clr.b $3D(a2) move.b #$10,$20(a2) move.b #2,5(a2) - moveq #sfx_MushroomBounce,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_MushroomBounce),d0 + jmp (Play_SFX).l ; End of function sub_3FA5A ; --------------------------------------------------------------------------- @@ -84339,8 +84397,8 @@ loc_3FAC2: cmpi.w #$18,$34(a1) bne.s loc_3FB06 move.l #loc_3FB0C,(a0) - moveq #sfx_Flipper,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Flipper),d0 + jsr (Play_SFX).l move.w #$18,$36(a1) move.w #-$800,$1A(a0) tst.w $3A(a1) @@ -84372,12 +84430,11 @@ loc_3FB4A: ; --------------------------------------------------------------------------- byte_3FB50: dc.b 4, 5, 6, 7, 8, 9, $A, $B, $B, $C, $C, $C, $C, $C, $C, $C, $C, $C, $C, $C dc.b $C, $C, $C, $B, $B, $A, 9, 8, 7, 6, 5, 4 - -Map_MHZMushroomCatapult:include "Levels/MHZ/Misc Object Data/Map - Mushroom Catapult.asm" - +Map_MHZMushroomCatapult: + include "Levels/MHZ/Misc Object Data/Map - Mushroom Catapult.asm" ; --------------------------------------------------------------------------- -Obj_14_2: +Obj_Updraft: move.b $2C(a0),d0 andi.w #$7F,d0 lsl.w #3,d0 @@ -84433,8 +84490,8 @@ loc_3FC0E: move.b (V_int_run_count+3).w,d0 andi.b #$F,d0 bne.s loc_3FC4A - moveq #sfx_WindQuiet,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_WindQuiet),d0 + jsr (Play_SFX).l loc_3FC4A: tst.b $2C(a0) @@ -84492,7 +84549,7 @@ loc_3FCC6: ; --------------------------------------------------------------------------- -Obj_38_2: +Obj_SOZQuicksand: moveq #0,d0 move.b $2C(a0),d0 andi.w #$3F,d0 @@ -84602,8 +84659,8 @@ loc_3FE04: andi.w #$70,d5 beq.s loc_3FE18 move.w #-$800,$1A(a1) - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l loc_3FE18: tst.w $1A(a1) @@ -84718,8 +84775,8 @@ loc_3FF3C: move.b #$1E,(a2) bclr #3,$2A(a1) bclr d6,$2A(a0) - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -84956,8 +85013,8 @@ loc_4020A: bclr #4,$2A(a1) move.b #0,double_jump_flag(a1) move.b #1,$40(a1) - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -85127,12 +85184,11 @@ loc_40432: move.w $10(a0),d4 bra.w loc_403A2 ; --------------------------------------------------------------------------- -Map_SOZSpawningSandBlocks:include "Levels/SOZ/Misc Object Data/Map - Spawning Sand Blocks.asm" - - +Map_SOZSpawningSandBlocks: + include "Levels/SOZ/Misc Object Data/Map - Spawning Sand Blocks.asm" ; --------------------------------------------------------------------------- -Obj_3B_2: +Obj_SOZLoopFallthrough: move.b $2C(a0),d0 andi.w #$7F,d0 lsl.w #4,d0 @@ -85304,8 +85360,8 @@ loc_40654: move.b (Level_frame_counter+1).w,d0 andi.b #$1F,d0 bne.s loc_40672 - moveq #sfx_BlockConveyor,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BlockConveyor),d0 + jsr (Play_SFX).l loc_40672: tst.w $18(a0) @@ -85428,13 +85484,13 @@ loc_4075E: sub_4076E: - moveq #sfx_PushBlock,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_PushBlock),d0 + jmp (Play_SFX).l ; End of function sub_4076E ; --------------------------------------------------------------------------- -Map_SOZPushableRock:include "Levels/SOZ/Misc Object Data/Map - Pushable Rock.asm" - +Map_SOZPushableRock: + include "Levels/SOZ/Misc Object Data/Map - Pushable Rock.asm" ; --------------------------------------------------------------------------- Obj_SOZSpringVine: @@ -85675,8 +85731,8 @@ loc_409DE: move.b #$10,$20(a1) move.b #2,5(a1) move.b #0,double_jump_flag(a1) - moveq #sfx_Spring,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jmp (Play_SFX).l ; End of function sub_4093E @@ -85762,8 +85818,8 @@ byte_40AAA: dc.b 0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 7, dc.b $1A, $1B, $1B, $1C, $1D, $1D, $1E, $1F, $1F, $20, $21, $21, $22, $23, $23, $24, $25, $25, $26, $27 dc.b $27, $28, $27, $27, $26, $25, $24, $23, $22, $21, $20, $1F, $1E, $1D, $1C, $1B, $1A, $19, $18, $17 dc.b $16, $15, $14, $13, $12, $11, $10, $F, $E, $D, $C, $B, $A, 9, 8, 7, 0, 0 -Map_SOZSpringVine:include "Levels/SOZ/Misc Object Data/Map - Spring Vine.asm" - +Map_SOZSpringVine: + include "Levels/SOZ/Misc Object Data/Map - Spring Vine.asm" ; --------------------------------------------------------------------------- Obj_SOZRisingSandWall: @@ -85814,8 +85870,8 @@ sub_40B62: move.w $14(a0),(a2)+ move.w #0,(a2)+ move.b #3,$24(a0) - moveq #sfx_SandwallRise,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SandwallRise),d0 + jsr (Play_SFX).l move.l #loc_40BCA,(a0) locret_40BC8: @@ -85881,8 +85937,8 @@ loc_40C66: asr $1C(a1) loc_40C80: - moveq #sfx_SandSplash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SandSplash),d0 + jsr (Play_SFX).l move.l #loc_40CEC,(a0) move.b #5,$24(a0) move.b #1,$22(a0) @@ -85925,8 +85981,8 @@ loc_40CEC: loc_40D0A: jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Map_SOZRisingSandWall:include "Levels/SOZ/Misc Object Data/Map - Rising Sand Wall.asm" - +Map_SOZRisingSandWall: + include "Levels/SOZ/Misc Object Data/Map - Rising Sand Wall.asm" ; --------------------------------------------------------------------------- Obj_SOZLightSwitch: @@ -86105,16 +86161,16 @@ loc_4101C: move.b #$14,$20(a1) move.b #1,$2E(a1) move.b #1,(a2) - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l locret_4108E: rts ; End of function sub_40F52 ; --------------------------------------------------------------------------- -Map_SOZLightSwitch:include "Levels/SOZ/Misc Object Data/Map - Light Switch.asm" - +Map_SOZLightSwitch: + include "Levels/SOZ/Misc Object Data/Map - Light Switch.asm" byte_4116A: dc.b $20, $40, 0, 0 dc.b $20, $50, 1, $30 dc.b $20, $50, 2, $C @@ -86275,8 +86331,8 @@ loc_412D6: move.w d0,$14(a0) rts ; --------------------------------------------------------------------------- -Map_SOZFloatingPillar:include "Levels/SOZ/Misc Object Data/Map - Floating Pillar.asm" - +Map_SOZFloatingPillar: + include "Levels/SOZ/Misc Object Data/Map - Floating Pillar.asm" ; --------------------------------------------------------------------------- Obj_SOZSwingingPlatform: @@ -86504,8 +86560,8 @@ loc_416C0: ; End of function sub_41636 ; --------------------------------------------------------------------------- -Map_SOZSwingingPlatform:include "Levels/SOZ/Misc Object Data/Map - Swinging Platform.asm" - +Map_SOZSwingingPlatform: + include "Levels/SOZ/Misc Object Data/Map - Swinging Platform.asm" ; --------------------------------------------------------------------------- Obj_SOZBreakableSandRock: @@ -86599,8 +86655,8 @@ loc_417DE: loc_417F6: andi.b #-$19,$2A(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l move.l #loc_4180A,(a0) loc_4180A: @@ -86615,8 +86671,8 @@ loc_4180A: loc_41828: jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Map_SOZBreakableSandRock:include "Levels/SOZ/Misc Object Data/Map - Breakable Sand Rock.asm" - +Map_SOZBreakableSandRock: + include "Levels/SOZ/Misc Object Data/Map - Breakable Sand Rock.asm" ; --------------------------------------------------------------------------- Obj_SOZPushSwitch: @@ -86773,8 +86829,8 @@ sub_419FA: andi.w #3,d0 bne.s loc_41A34 subq.w #1,$10(a1) - moveq #sfx_PushBlock,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_PushBlock),d0 + jsr (Play_SFX).l loc_41A34: moveq #1,d5 @@ -86793,8 +86849,8 @@ loc_41A38: andi.w #3,d0 bne.s loc_41A34 addq.w #1,$10(a1) - moveq #sfx_PushBlock,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_PushBlock),d0 + jsr (Play_SFX).l moveq #1,d5 locret_41A6A: @@ -86816,16 +86872,16 @@ sub_41A6C: loc_41A82: tst.w $36(a0) beq.s locret_41AA6 - moveq #sfx_DoorClose,d0 + moveq #signextendB(sfx_DoorClose),d0 subq.w #1,$36(a0) beq.s loc_41A9E subq.b #1,$3A(a0) bpl.s loc_41AA4 move.b #3,$3A(a0) - moveq #sfx_DoorMove,d0 + moveq #signextendB(sfx_DoorMove),d0 loc_41A9E: - jsr (Play_Sound_2).l + jsr (Play_SFX).l loc_41AA4: moveq #1,d4 @@ -86908,8 +86964,8 @@ locret_41B54: ; End of function sub_41AA8 ; --------------------------------------------------------------------------- -Map_SOZPushSwitch:include "Levels/SOZ/Misc Object Data/Map - Push Switch.asm" - +Map_SOZPushSwitch: + include "Levels/SOZ/Misc Object Data/Map - Push Switch.asm" ; --------------------------------------------------------------------------- Obj_SOZDoor: @@ -87002,7 +87058,6 @@ loc_41C68: bra.s loc_41C16 ; --------------------------------------------------------------------------- Map_SOZDoor: include "Levels/SOZ/Misc Object Data/Map - Door.asm" - ; --------------------------------------------------------------------------- Obj_SOZSandCork: @@ -87053,7 +87108,7 @@ loc_41D48: bsr.s sub_41D5C loc_41D56: - jmp (loc_1B662).l + jmp (Sprite_CheckDeleteTouch3).l ; =============== S U B R O U T I N E ======================================= @@ -87080,8 +87135,8 @@ loc_41D82: move.l #loc_41DF4,(a0) addq.b #1,$22(a0) move.w #0,8(a0) - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l jsr (loc_216BE).l jsr (MoveSprite2).l addi.w #$18,$1A(a0) @@ -87162,8 +87217,8 @@ loc_41E78: bne.s loc_41E90 tst.b 4(a0) bpl.s loc_41E90 - moveq #sfx_SlideSkidQuiet,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SlideSkidQuiet),d0 + jsr (Play_SFX).l loc_41E90: jmp (Sprite_OnScreen_Test).l @@ -87175,7 +87230,6 @@ word_41E96: dc.w $FE00, $FE00 dc.w $60, $FE20 dc.w $1E0, $FE20 Map_SOZSandCork:include "Levels/SOZ/Misc Object Data/Map - Sand Cork.asm" - ; --------------------------------------------------------------------------- Obj_SOZSolidSprites: @@ -87214,8 +87268,8 @@ loc_41FAC: jsr (SolidObjectFull).l jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Map_SOZSolidSprites:include "Levels/SOZ/Misc Object Data/Map - Solid Sprites.asm" - +Map_SOZSolidSprites: + include "Levels/SOZ/Misc Object Data/Map - Solid Sprites.asm" ; --------------------------------------------------------------------------- Obj_LevelIntro_PlayerFallIntoGround: @@ -87268,8 +87322,8 @@ loc_42062: cmp.w $14(a2),d0 bne.s loc_42080 bsr.w loc_42180 - moveq #sfx_SandSplash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SandSplash),d0 + jsr (Play_SFX).l lea (Player_2).w,a2 tst.l (a2) beq.s loc_42080 @@ -87351,8 +87405,8 @@ loc_420FC: bsr.w loc_42180 loc_4213C: - moveq #sfx_SandSplash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SandSplash),d0 + jsr (Play_SFX).l move.b #0,(Ctrl_1_locked).w move.b #0,(Ctrl_2_locked).w jmp (Delete_Current_Sprite).l @@ -87443,7 +87497,7 @@ loc_42248: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Obj_15_2: +Obj_LRZCorkscrew: move.b #-$30,7(a0) move.l #loc_4225A,(a0) @@ -87633,7 +87687,7 @@ byte_4250A: dc.b 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, $A, $C, $ dc.b $20, $21, $21, $21 ; --------------------------------------------------------------------------- -Obj_16_2: +Obj_LRZWallRide: move.b #-$30,7(a0) move.l #loc_42556,(a0) @@ -87875,8 +87929,8 @@ loc_42804: jsr (SolidObjectFull).l jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Map_LRZSinkingRock:include "Levels/LRZ/Misc Object Data/Map - Sinking Rock.asm" - +Map_LRZSinkingRock: + include "Levels/LRZ/Misc Object Data/Map - Sinking Rock.asm" ; --------------------------------------------------------------------------- Obj_LRZFallingSpike: @@ -87918,7 +87972,7 @@ loc_428BE: move.l #loc_428D6,(a0) loc_428D0: - jmp (loc_1B662).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- loc_428D6: @@ -87929,11 +87983,11 @@ loc_428D6: add.w d1,$14(a0) move.b #0,$28(a0) move.l #loc_42904,(a0) - moveq #sfx_BossProjectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossProjectile),d0 + jsr (Play_SFX).l loc_428FE: - jmp (loc_1B662).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- loc_42904: @@ -87944,8 +87998,8 @@ loc_42904: jsr (SolidObjectFull).l jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Map_LRZFallingSpike:include "Levels/LRZ/Misc Object Data/Map - Falling Spike.asm" - +Map_LRZFallingSpike: + include "Levels/LRZ/Misc Object Data/Map - Falling Spike.asm" ; --------------------------------------------------------------------------- Obj_LRZDoor: @@ -87972,8 +88026,8 @@ loc_42974: tst.b (a3,d0.w) beq.s loc_429BC move.l #loc_42994,(a0) - moveq #sfx_DoorOpen,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_DoorOpen),d0 + jsr (Play_SFX).l loc_42994: addq.b #1,$2E(a0) @@ -88000,7 +88054,6 @@ loc_429BC: jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- Map_LRZDoor: include "Levels/LRZ/Misc Object Data/Map - Door.asm" - ; --------------------------------------------------------------------------- Obj_LRZBigDoor: @@ -88037,8 +88090,8 @@ loc_42A68: blt.s loc_42B08 move.l #loc_42AAE,(a0) move.w #-1,(Screen_shake_flag).w - moveq #sfx_BigRumble,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BigRumble),d0 + jsr (Play_SFX).l move.w respawn_addr(a0),d0 beq.s loc_42AAE movea.w d0,a2 @@ -88060,8 +88113,8 @@ loc_42AC6: move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 bne.s loc_42AEC - moveq #sfx_BigRumble,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BigRumble),d0 + jsr (Play_SFX).l loc_42AEC: move.w #$3B,d1 @@ -88081,7 +88134,6 @@ loc_42B08: jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- Map_LRZBigDoor: include "Levels/LRZ/Misc Object Data/Map - Big Door.asm" - ; --------------------------------------------------------------------------- Obj_LRZFireballLauncher: @@ -88125,8 +88177,8 @@ loc_42BF6: subi.w #$10,$10(a1) loc_42C72: - moveq #sfx_LevelProjectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_LevelProjectile),d0 + jsr (Play_SFX).l loc_42C7A: jmp (Sprite_OnScreen_Test).l @@ -88150,8 +88202,8 @@ loc_42C94: loc_42CAC: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Map_LRZFireballLauncher:include "Levels/LRZ/Misc Object Data/Map - Fireball Launcher.asm" - +Map_LRZFireballLauncher: + include "Levels/LRZ/Misc Object Data/Map - Fireball Launcher.asm" ; --------------------------------------------------------------------------- Obj_LRZButtonHorizontal: @@ -88198,8 +88250,8 @@ loc_42D4E: loc_42D62: tst.b (a3) bne.s loc_42D6E - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l loc_42D6E: bset d3,(a3) @@ -88208,7 +88260,8 @@ loc_42D6E: loc_42D76: jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Map_LRZButtonHorizontal: include "Levels/LRZ/Misc Object Data/Map - Button Horizontal.asm" +Map_LRZButtonHorizontal: + include "Levels/LRZ/Misc Object Data/Map - Button Horizontal.asm" ; --------------------------------------------------------------------------- Obj_LRZShootingTrigger: @@ -88253,8 +88306,8 @@ loc_42E00: neg.w $18(a1) loc_42E7C: - moveq #sfx_Projectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Projectile),d0 + jsr (Play_SFX).l loc_42E84: move.b $29(a0),d0 @@ -88276,7 +88329,7 @@ loc_42EAC: bsr.s sub_42EC0 loc_42EBA: - jmp (loc_1B662).l + jmp (Sprite_CheckDeleteTouch3).l ; =============== S U B R O U T I N E ======================================= @@ -88309,8 +88362,8 @@ loc_42EE8: loc_42F00: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Map_LRZShootingTrigger:include "Levels/LRZ/Misc Object Data/Map - Shooting Trigger.asm" - +Map_LRZShootingTrigger: + include "Levels/LRZ/Misc Object Data/Map - Shooting Trigger.asm" ; --------------------------------------------------------------------------- Obj_LRZDashElevator: @@ -88392,8 +88445,8 @@ loc_42FEE: move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 bne.s loc_43000 - moveq #sfx_ConveyorPlatform,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_ConveyorPlatform),d0 + jsr (Play_SFX).l loc_43000: move.w #$2B,d1 @@ -88466,8 +88519,8 @@ loc_43092: ; End of function sub_4301C ; --------------------------------------------------------------------------- -Map_LRZDashElevator:include "Levels/LRZ/Misc Object Data/Map - Dash Elevator.asm" - +Map_LRZDashElevator: + include "Levels/LRZ/Misc Object Data/Map - Dash Elevator.asm" ; --------------------------------------------------------------------------- Obj_LRZSmashingSpikePlatform: @@ -88502,8 +88555,8 @@ loc_43128: move.b #0,$23(a0) tst.b 4(a0) bpl.s loc_431E0 - moveq #sfx_Crash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Crash),d0 + jsr (Play_SFX).l bra.s loc_431E0 ; --------------------------------------------------------------------------- @@ -88531,8 +88584,8 @@ loc_431AA: move.b (Level_frame_counter+1).w,d0 andi.b #$1F,d0 bne.s loc_431E0 - moveq #sfx_Blast,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Blast),d0 + jsr (Play_SFX).l bra.s loc_431E0 ; --------------------------------------------------------------------------- @@ -88578,14 +88631,13 @@ loc_43234: loc_43244: jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Map_LRZSmashingSpikePlatform:include "Levels/LRZ/Misc Object Data/Map - Smashing Spike Platform.asm" - - +Map_LRZSmashingSpikePlatform: + include "Levels/LRZ/Misc Object Data/Map - Smashing Spike Platform.asm" ; --------------------------------------------------------------------------- Obj_LRZSwingingSpikeBall: move.l #Map_LRZSwingingSpikeBall,$C(a0) - move.w #-$5C5F,$A(a0) + move.w #$A3A1,$A(a0) move.b #4,4(a0) move.b #$10,7(a0) move.b #$10,6(a0) @@ -88596,7 +88648,7 @@ Obj_LRZSwingingSpikeBall: tst.b (Current_act).w beq.s loc_4354E move.l #Map_LRZSwingingSpikeBall2,$C(a0) - move.w #-$5BF3,$A(a0) + move.w #$A40D,$A(a0) loc_4354E: jsr (Create_New_Sprite3).l @@ -88697,7 +88749,8 @@ loc_43636: ; End of function sub_43604 ; --------------------------------------------------------------------------- -Map_LRZSwingingSpikeBall: include "Levels/LRZ/Misc Object Data/Map - Swinging Spike Ball.asm" +Map_LRZSwingingSpikeBall: + include "Levels/LRZ/Misc Object Data/Map - Swinging Spike Ball.asm" ; --------------------------------------------------------------------------- Obj_LRZLavaFall: @@ -88750,8 +88803,8 @@ loc_4374C: move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 bne.s loc_43764 - moveq #sfx_LavaFall,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_LavaFall),d0 + jsr (Play_SFX).l loc_43764: subq.w #1,$2E(a0) @@ -88765,7 +88818,6 @@ loc_4377C: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- Map_LRZLavaFall:include "Levels/LRZ/Misc Object Data/Map - Lava Fall.asm" - ; --------------------------------------------------------------------------- Obj_LRZSpikeBall: @@ -88864,8 +88916,8 @@ loc_438CC: move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 bne.s loc_438FA - moveq #sfx_MetalLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MechaLand),d0 + jsr (Play_SFX).l loc_438FA: subi.w #4,$18(a0) @@ -88913,7 +88965,7 @@ loc_43966: ; --------------------------------------------------------------------------- loc_43978: - jmp (loc_1B662).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- loc_4397E: @@ -88933,8 +88985,8 @@ loc_439A4: move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 bne.s loc_439BC - moveq #sfx_MetalLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MechaLand),d0 + jsr (Play_SFX).l loc_439BC: bsr.w sub_439EC @@ -88967,8 +89019,8 @@ sub_439EC: move.w $14(a0),$14(a1) addi.w #$20,$14(a1) move.l #Map_LRZRockDebris,$C(a1) - move.w #-$3F2D,$A(a1) - ori.b #-$7C,4(a1) + move.w #$C0D3,$A(a1) + ori.b #$84,4(a1) move.w #0,8(a1) move.b #4,7(a1) move.b #4,6(a1) @@ -89001,10 +89053,10 @@ loc_43A6C: loc_43A88: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Map_LRZSpikeBall:include "Levels/LRZ/Misc Object Data/Map - Spike Ball.asm" - -Map_LRZRockDebris: include "Levels/LRZ/Misc Object Data/Map - Rock Debris.asm" - +Map_LRZSpikeBall: + include "Levels/LRZ/Misc Object Data/Map - Spike Ball.asm" +Map_LRZRockDebris: + include "Levels/LRZ/Misc Object Data/Map - Rock Debris.asm" ; --------------------------------------------------------------------------- Obj_LRZOrbitingSpikeBallHorizontal: @@ -89153,8 +89205,8 @@ loc_43D04: move.w $44(a0),d0 jmp (loc_1B666).l ; --------------------------------------------------------------------------- -Map_LRZOrbitingSpikeBall:include "Levels/LRZ/Misc Object Data/Map - Orbiting Spike Ball.asm" - +Map_LRZOrbitingSpikeBall: + include "Levels/LRZ/Misc Object Data/Map - Orbiting Spike Ball.asm" ; --------------------------------------------------------------------------- Obj_LRZFlameThrower: @@ -89203,8 +89255,8 @@ loc_43DF8: bpl.w loc_43EF6 move.w #$78,$30(a0) move.b #0,$2F(a0) - moveq #sfx_FlamethrowerLoud,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FlamethrowerLoud),d0 + jsr (Play_SFX).l loc_43E14: subq.b #1,$24(a0) @@ -89222,8 +89274,8 @@ loc_43E2A: bne.s loc_43E4E cmpi.w #$1E,$30(a0) blo.s loc_43E4E - moveq #sfx_FlamethrowerLoud,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FlamethrowerLoud),d0 + jsr (Play_SFX).l loc_43E4E: move.b $26(a0),d0 @@ -89287,8 +89339,8 @@ loc_43F2E: bpl.w loc_4402C move.w #$78,$30(a0) move.b #0,$2F(a0) - moveq #sfx_FlamethrowerLoud,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FlamethrowerLoud),d0 + jsr (Play_SFX).l loc_43F4A: subq.b #1,$24(a0) @@ -89306,8 +89358,8 @@ loc_43F60: bne.s loc_43F84 cmpi.w #$1E,$30(a0) blo.s loc_43F84 - moveq #sfx_FlamethrowerLoud,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FlamethrowerLoud),d0 + jsr (Play_SFX).l loc_43F84: move.b $26(a0),d0 @@ -89379,8 +89431,8 @@ loc_44072: loc_44084: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Map_LRZFlameThrower:include "Levels/LRZ/Misc Object Data/Map - Flamethrower.asm" - +Map_LRZFlameThrower: + include "Levels/LRZ/Misc Object Data/Map - Flamethrower.asm" ; --------------------------------------------------------------------------- Obj_LRZSolidRock: @@ -89435,8 +89487,8 @@ loc_44176: btst #0,(a3,d0.w) beq.s loc_441D6 move.l #loc_441D2,(a0) - moveq #sfx_DoorOpen,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_DoorOpen),d0 + jsr (Play_SFX).l move.w respawn_addr(a0),d0 beq.s loc_441A4 movea.w d0,a2 @@ -89453,8 +89505,8 @@ loc_441A6: tst.b (a3,d0.w) bpl.s loc_441D6 move.l #loc_441D2,(a0) - moveq #sfx_DoorOpen,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_DoorOpen),d0 + jsr (Play_SFX).l move.w respawn_addr(a0),d0 beq.s loc_441D2 movea.w d0,a2 @@ -89537,12 +89589,12 @@ loc_4427C: ; End of function sub_441F2 ; --------------------------------------------------------------------------- -Map_LRZSolidRock:include "Levels/LRZ/Misc Object Data/Map - Solid Rock.asm" - +Map_LRZSolidRock: + include "Levels/LRZ/Misc Object Data/Map - Solid Rock.asm" ; --------------------------------------------------------------------------- Obj_LRZTurbineSprites: - move.w #-$5C53,$A(a0) + move.w #$A3AD,$A(a0) ori.b #4,4(a0) move.w #$200,8(a0) tst.b $2C(a0) @@ -89579,8 +89631,8 @@ loc_442F2: move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 bne.s loc_44332 - moveq #sfx_FanBig,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FanBig),d0 + jsr (Play_SFX).l loc_44332: jmp (Sprite_OnScreen_Test).l @@ -89767,9 +89819,10 @@ loc_44592: lsr.b #1,d0 andi.b #3,d0 move.b d0,$22(a0) - jmp (loc_1B662).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- -Map_LRZTurbineSprites: include "Levels/LRZ/Misc Object Data/Map - Turbine.asm" +Map_LRZTurbineSprites: + include "Levels/LRZ/Misc Object Data/Map - Turbine.asm" ; --------------------------------------------------------------------------- Obj_LRZSpikeBallLauncher: @@ -89808,16 +89861,16 @@ loc_448A8: bne.s loc_448D4 tst.b 4(a0) bpl.s loc_448FA - moveq #sfx_Charging,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Charging),d0 + jsr (Play_SFX).l bra.s loc_448FA ; --------------------------------------------------------------------------- loc_448D4: tst.b 4(a0) bpl.s loc_448E2 - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_448E2: movea.w $3C(a0),a1 @@ -89856,12 +89909,12 @@ loc_44934: move.l #loc_44954,(a0) loc_44954: - jmp (loc_1B662).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- -Ani_LRZSpikeBallLauncher: include "Levels/LRZ/Misc Object Data/Anim - Spike Ball Launcher.asm" - -Map_LRZSpikeBallLauncher:include "Levels/LRZ/Misc Object Data/Map - Spike Ball Launcher.asm" - +Ani_LRZSpikeBallLauncher: + include "Levels/LRZ/Misc Object Data/Anim - Spike Ball Launcher.asm" +Map_LRZSpikeBallLauncher: + include "Levels/LRZ/Misc Object Data/Map - Spike Ball Launcher.asm" ; --------------------------------------------------------------------------- Obj_LevelIntro_PlayerRun: @@ -89938,7 +89991,7 @@ Obj_SSZCollapsingColumn: move.b #$21,6(a0) move.b #$10,7(a0) move.w #$180,8(a0) - move.w #-$1D1C,$A(a0) + move.w #$E2E4,$A(a0) move.l #Map_SSZFloatingPlatform,$C(a0) move.b #2,$22(a0) move.w $14(a0),$1A(a0) @@ -89973,8 +90026,8 @@ loc_44B50: dbne d2,loc_44B50 loc_44B7E: - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l clr.b $22(a0) move.l #loc_44B90,(a0) @@ -90006,7 +90059,7 @@ loc_44BCC: move.b #8,6(a0) move.b #8,7(a0) move.w #$200,8(a0) - move.w #-$1D1C,$A(a0) + move.w #$E2E4,$A(a0) move.l #Map_SSZFloatingPlatform,$C(a0) loc_44BF8: @@ -90050,7 +90103,7 @@ Obj_SSZCollapsingBridge: move.b #$10,6(a0) move.b #$20,7(a0) move.w #$180,8(a0) - move.w #-$3D0C,$A(a0) + move.w #$C2F4,$A(a0) move.l #Map_SSZCollapsingBridge,$C(a0) bset #7,$2A(a0) @@ -90152,7 +90205,7 @@ Obj_SSZCollapsingBridgeDiagonal: move.b #$20,6(a0) move.b #$40,7(a0) move.w #$180,8(a0) - move.w #-$3D0C,$A(a0) + move.w #$C2F4,$A(a0) move.l #Map_SSZCollapsingBridge,$C(a0) move.b #3,$22(a0) bset #7,$2A(a0) @@ -90329,12 +90382,12 @@ loc_44F4C: jmp (Delete_Sprite_If_Not_In_Range).l ; --------------------------------------------------------------------------- -Obj_77_2: +Obj_SSZCutsceneBridge: move.b #$44,4(a0) move.b #$10,6(a0) move.b #$60,7(a0) move.w #$180,8(a0) - move.w #-$3D0C,$A(a0) + move.w #$C2F4,$A(a0) move.l #Map_SSZCollapsingBridge,$C(a0) move.w $10(a0),$12(a0) move.w #3,$16(a0) @@ -90356,8 +90409,8 @@ loc_44FA2: beq.s loc_45006 cmpi.w #$68,d1 bne.s loc_44FBA - moveq #sfx_DoorOpen,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_DoorOpen),d0 + jsr (Play_SFX).l loc_44FBA: subq.w #2,d1 @@ -90421,7 +90474,7 @@ loc_45052: move.b #$10,6(a0) move.b #8,7(a0) move.w #$200,8(a0) - move.w #-$3D0C,$A(a0) + move.w #$C2F4,$A(a0) move.l #Map_SSZCollapsingBridge,$C(a0) loc_4507E: @@ -90451,7 +90504,7 @@ Obj_SSZBouncyCloud: move.b #$10,6(a0) move.b #$20,7(a0) move.w #$80,8(a0) - move.w #-$1C2A,$A(a0) + move.w #$E3D6,$A(a0) move.l #Map_SSZBouncyCloud,$C(a0) clr.b $2D(a0) move.w $14(a0),$1A(a0) @@ -90557,8 +90610,8 @@ loc_451C2: ; --------------------------------------------------------------------------- loc_451DC: - moveq #sfx_Bouncy,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Bouncy),d0 + jsr (Play_SFX).l move.w 2(a2),$18(a1) move.w 4(a2),$1C(a1) move.w #-$700,$1A(a1) @@ -90686,7 +90739,7 @@ loc_45304: move.b #4,6(a0) move.b #4,7(a0) move.w #$80,8(a0) - move.w #-$1C2A,$A(a0) + move.w #$E3D6,$A(a0) move.l #Map_SSZBouncyCloud,$C(a0) move.b #2,$20(a0) @@ -90778,8 +90831,8 @@ loc_45400: bhs.w locret_45526 tst.w (Debug_placement_mode).w bne.w locret_45526 - moveq #sfx_Grab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Grab),d0 + jsr (Play_SFX).l st (a2) move.w $14(a0),$14(a1) add.w d1,$14(a1) @@ -90844,8 +90897,8 @@ loc_454EA: move.b #7,$1F(a1) move.b #2,$20(a1) bset #2,$2A(a1) - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l locret_45526: rts @@ -90992,8 +91045,8 @@ loc_45660: move.b #5,$20(a2) move.l #loc_456F4,(a0) move.w #-$100,$38(a0) - moveq #sfx_Charging,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Charging),d0 + jsr (Play_SFX).l loc_456EE: jmp (Sprite_OnScreen_Test).l @@ -91052,8 +91105,8 @@ loc_4577E: loc_45790: clr.b (Events_bg+$05).w - moveq #sfx_Transporter,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Transporter),d0 + jsr (Play_SFX).l st (Scroll_lock).w bra.s loc_457B8 ; --------------------------------------------------------------------------- @@ -91171,10 +91224,10 @@ locret_458B2: Obj_TeleporterBeam: move.l #Obj_TeleporterBeamSpawn,(a0) move.b #$44,4(a0) ; Multisprite mode - move.b #-$80,6(a0) + move.b #$80,6(a0) move.b #$18,7(a0) move.w #$80,8(a0) - move.w #-$1CA4,$A(a0) + move.w #$E35C,$A(a0) move.l #Map_SSZHPZTeleporter,$C(a0) move.w #1,$16(a0) move.w $14(a0),$44(a0) @@ -91350,7 +91403,7 @@ loc_45A84: bne.s loc_45AD0 jsr (Create_New_Sprite).l bne.s loc_45AAE - move.l #Obj_A3_2,(a1) + move.l #Obj_SSZEndBoss,(a1) move.w a1,(_unkFAA4).w move.w a1,$30(a0) st $2E(a0) @@ -91385,8 +91438,8 @@ loc_45AD6: move.w $14(a0),$14(a1) move.l #loc_45B1C,(a0) move.w #-$100,$38(a0) - moveq #sfx_Charging,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Charging),d0 + jsr (Play_SFX).l loc_45B16: jmp (Draw_Sprite).l @@ -91420,8 +91473,8 @@ loc_45B66: loc_45B6C: clr.l (a1) - moveq #sfx_Transporter,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Transporter),d0 + jsr (Play_SFX).l move.l #loc_45B8A,(a0) bra.s loc_45B84 ; --------------------------------------------------------------------------- @@ -91445,8 +91498,8 @@ loc_45B94: bhs.s locret_45BF2 cmpi.w #$B00,(Player_1+x_pos).w blo.s locret_45BF2 - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l st (SRAM_mask_interrupts_flag).w jsr (SaveGame).l move.w #$A01,d0 @@ -91612,8 +91665,8 @@ loc_45D2E: clr.b $20(a1) clr.b $22(a1) clr.w (a2) - moveq #sfx_Transporter,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Transporter),d0 + jsr (Play_SFX).l tst.w d6 beq.s loc_45D6E st (a4) @@ -91639,8 +91692,8 @@ loc_45D84: loc_45D8A: subq.b #1,2(a4) bne.s locret_45DAC - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l st (SRAM_mask_interrupts_flag).w jsr (SaveGame).l move.w #$A00,d0 @@ -91751,8 +91804,8 @@ loc_45E90: move.b #2,$20(a1) move.b #$E,$1E(a1) move.b #7,$1F(a1) - moveq #sfx_Jump,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_45EEE: @@ -91885,8 +91938,8 @@ loc_45FE4: move.b #2,$20(a1) move.b #$E,$1E(a1) move.b #7,$1F(a1) - moveq #sfx_Jump,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_46042: @@ -92162,8 +92215,8 @@ locret_46348: ; --------------------------------------------------------------------------- loc_4634A: - moveq #sfx_Roll,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Roll),d0 + jsr (Play_SFX).l st (a3) move.b #1,$2E(a1) clr.w $1A(a1) @@ -92208,8 +92261,8 @@ loc_4639A: loc_463EC: move.w d0,$18(a1) move.w d0,$1C(a1) - moveq #sfx_Dash,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Dash),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_463FC: @@ -92221,8 +92274,8 @@ loc_463FC: clr.b $2E(a1) bset #1,$2A(a1) move.b #1,$40(a1) - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l locret_46424: rts @@ -92278,8 +92331,8 @@ loc_464AE: bhs.s loc_464C2 tst.b d1 bne.s loc_464C0 - moveq #sfx_SpringLatch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SpringLatch),d0 + jsr (Play_SFX).l loc_464C0: addq.b #1,d1 @@ -92381,8 +92434,8 @@ loc_46586: or.b d2,4(a1) move.b #3,$22(a0) addq.b #1,(a2) - moveq #sfx_Spring,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_465B2: @@ -92484,12 +92537,12 @@ word_46658: dc.w $FAFA dc.w $1818 dc.w $1919 byte_46698: dc.b 0 - dc.b $A ; - dc.b $12 ; - dc.b $16 ; - dc.b $17 ; - dc.b $16 ; - dc.b $12 ; + dc.b $A + dc.b $12 + dc.b $16 + dc.b $17 + dc.b $16 + dc.b $12 byte_4669F: dc.b $A byte_466A0: dc.b 0, $FF, $FF, 0, 1, 2, 2, 1 dc.b 0, $FD, $FC, $FC, $FD, 0, 4, 6 @@ -92588,27 +92641,27 @@ byte_468C4: dc.b 1, $55 dc.b 1, $56 byte_468DC: dc.b $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $10, $10, $F dc.b $E, $D, $C, $B, 9, 7, 5, 2, $FF, $FB, $F4, $F4, $F4, $F4, $F4, $F4 -Map_SSZFloatingPlatform:include "Levels/SSZ/Misc Object Data/Map - Floating Platform.asm" - -Map_SSZCollapsingBridge:include "Levels/SSZ/Misc Object Data/Map - Collapsing Bridge.asm" - -Map_SSZBouncyCloud:include "Levels/SSZ/Misc Object Data/Map - Bouncy Cloud.asm" - -Ani_SSZBouncyCloud: include "Levels/SSZ/Misc Object Data/Anim - Bouncy Cloud.asm" - -Map_SSZElevatorBar:include "Levels/SSZ/Misc Object Data/Map - Elevator Bar.asm" - -Map_SSZHPZTeleporter:include "Levels/SSZ/Misc Object Data/Map - (&HPZ) Teleporter.asm" - -Map_SSZRotatingPlatform:include "Levels/SSZ/Misc Object Data/Map - Rotating Platform.asm" - -Ani_SSZRotatingPlatform: include "Levels/SSZ/Misc Object Data/Anim - Rotating Platform.asm" - -Map_SSZRetractingSpring:include "Levels/SSZ/Misc Object Data/Map - Retracting Spring.asm" - -; --------------------------------------------------------------------------- - -Obj_TiltingBridge: +Map_SSZFloatingPlatform: + include "Levels/SSZ/Misc Object Data/Map - Floating Platform.asm" +Map_SSZCollapsingBridge: + include "Levels/SSZ/Misc Object Data/Map - Collapsing Bridge.asm" +Map_SSZBouncyCloud: + include "Levels/SSZ/Misc Object Data/Map - Bouncy Cloud.asm" +Ani_SSZBouncyCloud: + include "Levels/SSZ/Misc Object Data/Anim - Bouncy Cloud.asm" +Map_SSZElevatorBar: + include "Levels/SSZ/Misc Object Data/Map - Elevator Bar.asm" +Map_SSZHPZTeleporter: + include "Levels/SSZ/Misc Object Data/Map - (&HPZ) Teleporter.asm" +Map_SSZRotatingPlatform: + include "Levels/SSZ/Misc Object Data/Map - Rotating Platform.asm" +Ani_SSZRotatingPlatform: + include "Levels/SSZ/Misc Object Data/Anim - Rotating Platform.asm" +Map_SSZRetractingSpring: + include "Levels/SSZ/Misc Object Data/Map - Retracting Spring.asm" +; --------------------------------------------------------------------------- + +Obj_DEZTiltingBridge: move.w $10(a0),d2 move.w d2,$44(a0) subi.w #$70,d2 @@ -92628,7 +92681,7 @@ loc_46DBC: move.w $14(a0),$14(a1) move.w $44(a0),$44(a1) move.w $14(a0),$46(a1) - move.l #Map_TiltingBridge,$C(a1) + move.l #Map_DEZTiltingBridge,$C(a1) move.w #$234D,$A(a1) ori.b #4,4(a1) move.b #$10,7(a1) @@ -92743,8 +92796,8 @@ loc_46F54: move.w $44(a0),d0 jmp (Sprite_OnScreen_Test2).l ; --------------------------------------------------------------------------- -Map_TiltingBridge:include "Levels/DEZ/Misc Object Data/Map - Tilting Bridge.asm" - +Map_DEZTiltingBridge: + include "Levels/DEZ/Misc Object Data/Map - Tilting Bridge.asm" ; --------------------------------------------------------------------------- Obj_DEZHangCarrier: @@ -92861,8 +92914,8 @@ loc_470D2: move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 bne.s locret_470F6 - moveq #sfx_Rising,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Rising),d0 + jsr (Play_SFX).l locret_470F6: rts @@ -92902,16 +92955,16 @@ loc_47104: bclr #1,$2A(a1) move.b #1,$2E(a1) move.b #1,(a2) - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l locret_4717C: rts ; End of function sub_4703E ; --------------------------------------------------------------------------- -Map_DEZHangCarrier:include "Levels/DEZ/Misc Object Data/Map - Hang Carrier.asm" - +Map_DEZHangCarrier: + include "Levels/DEZ/Misc Object Data/Map - Hang Carrier.asm" ; --------------------------------------------------------------------------- Obj_DEZTorpedoLauncher: @@ -92953,8 +93006,8 @@ loc_471D6: neg.w $18(a1) loc_4724A: - moveq #sfx_ChainTension,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_ChainTension),d0 + jsr (Play_SFX).l loc_47252: move.l #loc_4726C,(a0) @@ -92990,8 +93043,8 @@ loc_4728A: loc_472A2: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Map_TorpedoLauncher:include "Levels/DEZ/Misc Object Data/Map - Torpedo Launcher.asm" - +Map_TorpedoLauncher: + include "Levels/DEZ/Misc Object Data/Map - Torpedo Launcher.asm" ; --------------------------------------------------------------------------- Obj_DEZLiftPad: @@ -93180,8 +93233,8 @@ loc_47592: tst.w (Debug_placement_mode).w bne.w loc_4760E move.b #1,$31(a0) - moveq #sfx_GravityLift,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GravityLift),d0 + jsr (Play_SFX).l loc_475B6: tst.b $30(a0) @@ -93222,7 +93275,6 @@ loc_4760E: ; --------------------------------------------------------------------------- Map_DEZLiftPad: include "Levels/DEZ/Misc Object Data/Map - Lift Pad.asm" - ; --------------------------------------------------------------------------- Obj_DEZStaircase: @@ -93259,7 +93311,7 @@ loc_47680: move.l #loc_476FE,(a1) loc_47690: - move.l #Map_TiltingBridge,$C(a1) + move.l #Map_DEZTiltingBridge,$C(a1) move.w #$2480,$A(a1) move.b 4(a0),4(a1) move.w #$180,8(a1) @@ -93330,8 +93382,8 @@ loc_47762: subq.w #1,$30(a0) bne.s locret_47760 addq.b #1,$2C(a0) - moveq #sfx_FanBig,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_FanBig),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_47774: @@ -93350,8 +93402,8 @@ loc_4778C: subq.w #1,$30(a0) bne.s loc_4779E addq.b #1,$2C(a0) - moveq #sfx_FanBig,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_FanBig),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_4779E: @@ -93417,7 +93469,7 @@ locret_47814: rts ; --------------------------------------------------------------------------- -Obj_50_2: +Obj_DEZConveyorBelt: move.b $2C(a0),d0 andi.w #$7F,d0 lsl.w #3,d0 @@ -93481,8 +93533,8 @@ Obj_DEZLightning: loc_478BE: tst.b 4(a0) bpl.s loc_478CC - moveq #sfx_Lightning,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Lightning),d0 + jsr (Play_SFX).l loc_478CC: moveq #0,d0 @@ -93503,7 +93555,7 @@ loc_478E2: loc_47906: cmpi.b #3,$22(a0) bne.s loc_47914 - jmp (loc_1B662).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- loc_47914: @@ -93515,10 +93567,10 @@ loc_4791A: bmi.s loc_478BE jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Ani_DEZLightning: include "Levels/DEZ/Misc Object Data/Anim - Lightning.asm" - -Map_DEZLightning:include "Levels/DEZ/Misc Object Data/Map - Lightning.asm" - +Ani_DEZLightning: + include "Levels/DEZ/Misc Object Data/Anim - Lightning.asm" +Map_DEZLightning: + include "Levels/DEZ/Misc Object Data/Map - Lightning.asm" ; --------------------------------------------------------------------------- Obj_DEZConveyorPad: @@ -93577,8 +93629,8 @@ loc_47A14: move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 bne.s loc_47A38 - moveq #sfx_ConveyorPlatform,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_ConveyorPlatform),d0 + jsr (Play_SFX).l loc_47A38: bsr.w sub_47A88 @@ -93694,8 +93746,8 @@ loc_47B12: move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 bne.s loc_47B52 - moveq #sfx_ConveyorPlatform,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_ConveyorPlatform),d0 + jsr (Play_SFX).l loc_47B52: jmp (Sprite_OnScreen_Test).l @@ -93769,9 +93821,10 @@ locret_47BF2: ; End of function sub_47B58 ; --------------------------------------------------------------------------- -Ani_DEZConveyorPad: include "Levels/DEZ/Misc Object Data/Anim - Conveyor Pad.asm" - -Map_DEZConveyorPad: include "Levels/DEZ/Misc Object Data/Map - Conveyor Pad.asm" +Ani_DEZConveyorPad: + include "Levels/DEZ/Misc Object Data/Anim - Conveyor Pad.asm" +Map_DEZConveyorPad: + include "Levels/DEZ/Misc Object Data/Map - Conveyor Pad.asm" word_47DD6: dc.w $7F dc.w $FF dc.w $1FF @@ -93870,8 +93923,8 @@ loc_47EBE: move.b (Level_frame_counter+1).w,d0 andi.b #7,d0 bne.s loc_47EE2 - moveq #sfx_EnergyZap,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_EnergyZap),d0 + jsr (Play_SFX).l loc_47EE2: jmp (Sprite_OnScreen_Test).l @@ -93891,7 +93944,7 @@ locret_47EFA: ; --------------------------------------------------------------------------- -Obj_56_2: +Obj_DEZEnergyBridgeCurved: move.l #Map_DEZEnergyBridgeCurved,$C(a0) move.b #$50,7(a0) move.b #$30,6(a0) @@ -93943,8 +93996,8 @@ loc_47F62: move.b (Level_frame_counter+1).w,d0 andi.b #7,d0 bne.s loc_47F96 - moveq #sfx_EnergyZap,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_EnergyZap),d0 + jsr (Play_SFX).l loc_47F96: jmp (Sprite_OnScreen_Test).l @@ -93987,9 +94040,10 @@ locret_47FF6: ; End of function sub_47F9C ; --------------------------------------------------------------------------- -Map_DEZEnergyBridge:include "Levels/DEZ/Misc Object Data/Map - Energy Bridge.asm" - -Map_DEZEnergyBridgeCurved: include "Levels/DEZ/Misc Object Data/Map - Energy Bridge Curved.asm" +Map_DEZEnergyBridge: + include "Levels/DEZ/Misc Object Data/Map - Energy Bridge.asm" +Map_DEZEnergyBridgeCurved: + include "Levels/DEZ/Misc Object Data/Map - Energy Bridge Curved.asm" word_4808A: dc.w $F000 dc.w $F600 ; --------------------------------------------------------------------------- @@ -94019,8 +94073,8 @@ loc_480D4: beq.s loc_48124 tst.w $34(a0) bne.s loc_480FC - moveq #sfx_SpringLatch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SpringLatch),d0 + jsr (Play_SFX).l loc_480FC: addq.w #8,$34(a0) @@ -94035,8 +94089,8 @@ loc_48102: move.w $32(a0),d1 cmp.w $34(a0),d1 bne.s loc_48120 - moveq #sfx_SpringLatch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SpringLatch),d0 + jsr (Play_SFX).l loc_48120: subq.w #8,$34(a0) @@ -94082,10 +94136,10 @@ loc_4818C: move.w $44(a0),d0 jmp (Sprite_OnScreen_Test2).l ; --------------------------------------------------------------------------- -Ani_DEZRetractingSpring: include "Levels/DEZ/Misc Object Data/Anim - Retracting Spring.asm" - -Map_DEZRetractingSpring:include "Levels/DEZ/Misc Object Data/Map - Retracting Spring.asm" - +Ani_DEZRetractingSpring: + include "Levels/DEZ/Misc Object Data/Anim - Retracting Spring.asm" +Map_DEZRetractingSpring: + include "Levels/DEZ/Misc Object Data/Map - Retracting Spring.asm" ; --------------------------------------------------------------------------- Obj_DEZTunnelLauncher: @@ -94135,13 +94189,13 @@ Obj_DEZTunnelLauncher_Main: tst.b $2F(a0) beq.s loc_482F4 subq.b #1,$2F(a0) - moveq #sfx_LaunchGo,d0 + moveq #signextendB(sfx_LaunchGo),d0 cmpi.b #7,$2F(a0) beq.s loc_482B2 - moveq #sfx_LaunchReady,d0 + moveq #signextendB(sfx_LaunchReady),d0 loc_482B2: - jsr (Play_Sound_2).l + jsr (Play_SFX).l cmpi.b #7,$2F(a0) bne.s loc_482F4 jsr (Create_New_Sprite3).l @@ -94236,14 +94290,14 @@ sub_48370: move.b #2,dezTunnel_routine(a4) tst.b $2F(a0) bne.s locret_48422 - moveq #sfx_LaunchGrab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_LaunchGrab),d0 + jsr (Play_SFX).l cmpa.w #Player_1,a1 bne.s loc_48410 move.w #$3C0A,$2E(a0) move.b #$A,sub2_mapframe(a0) - moveq #sfx_LaunchReady,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_LaunchReady),d0 + jsr (Play_SFX).l tst.b mapping_frame(a0) bne.s locret_4840E move.b #7,mapping_frame(a0) @@ -94263,8 +94317,8 @@ locret_48422: ; End of function sub_48370 ; --------------------------------------------------------------------------- -Map_DEZTunnelLauncher:include "Levels/DEZ/Misc Object Data/Map - Tunnel Launcher.asm" - +Map_DEZTunnelLauncher: + include "Levels/DEZ/Misc Object Data/Map - Tunnel Launcher.asm" ; --------------------------------------------------------------------------- Obj_DEZTunnelControl: @@ -94664,8 +94718,8 @@ DEZTransRing_NormalAnim: move.b d0,anim(a1) loc_4888E: - moveq #sfx_LightTunnel,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_LightTunnel),d0 + jsr (Play_SFX).l loc_48896: tst.b object_control(a0) @@ -94688,10 +94742,10 @@ Obj_DEZTransRing: loc_488BC: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Ani_DEZTransRings: include "Levels/DEZ/Misc Object Data/Anim - Transporter Rings.asm" - -Map_DEZTransRings: include "Levels/DEZ/Misc Object Data/Map - Transporter Rings.asm" - +Ani_DEZTransRings: + include "Levels/DEZ/Misc Object Data/Anim - Transporter Rings.asm" +Map_DEZTransRings: + include "Levels/DEZ/Misc Object Data/Map - Transporter Rings.asm" ; --------------------------------------------------------------------------- Obj_DEZGravitySwitch: @@ -94731,8 +94785,8 @@ loc_48B16: move.w d6,d2 move.w #$28,d3 bsr.s sub_48B40 - moveq #sfx_Transporter,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Transporter),d0 + jsr (Play_SFX).l loc_48B3A: jmp (Sprite_OnScreen_Test).l @@ -94803,11 +94857,11 @@ loc_48BDA: loc_48BE4: jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Map_DEZGravitySwitch:include "Levels/DEZ/Misc Object Data/Map - Gravity Switch.asm" - +Map_DEZGravitySwitch: + include "Levels/DEZ/Misc Object Data/Map - Gravity Switch.asm" ; --------------------------------------------------------------------------- -Obj_59_2: +Obj_DEZTeleporter: lea (Player_1).w,a1 lea $30(a0),a4 bsr.s sub_48C30 @@ -94858,7 +94912,7 @@ loc_48C62: btst #0,(_unkFAB8).w bne.w locret_48D2A movea.w $42(a1),a3 - cmpi.l #Obj_59_2,(a3) + cmpi.l #Obj_DEZTeleporter,(a3) bne.s loc_48CB0 move.w a4,d0 sub.w a0,d0 @@ -94921,8 +94975,8 @@ loc_48D2C: loc_48D58: move.w d0,$1A(a1) addq.b #2,(a4) - moveq #sfx_SuperTransform,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SuperTransform),d0 + jsr (Play_SFX).l loc_48D66: move.w 2(a4),d0 @@ -95060,7 +95114,7 @@ locret_48EAC: rts ; --------------------------------------------------------------------------- -Obj_5A_2: +Obj_DEZGravityTube: move.b $2C(a0),d0 bpl.s loc_48EC8 andi.w #$3F,d0 @@ -95217,8 +95271,8 @@ loc_49056: move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 bne.s locret_49068 - moveq #sfx_GravityTunnel,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GravityTunnel),d0 + jsr (Play_SFX).l locret_49068: rts @@ -95338,8 +95392,8 @@ loc_49194: move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 bne.s loc_491CE - moveq #sfx_GravityTunnel,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GravityTunnel),d0 + jsr (Play_SFX).l loc_491CE: moveq #0,d0 @@ -95352,7 +95406,7 @@ RawAni_491DA: dc.b $6D, $6D, $6E, $6E, $6F, $6F, $70, $70, $71, $71, $72, $72, dc.b $77, $77, $6C, $6C, $6D, $6D ; --------------------------------------------------------------------------- -Obj_5B_2: +Obj_DEZGravitySwap: move.w #$20,$30(a0) move.w $10(a0),d1 lea (Player_1).w,a1 @@ -95425,7 +95479,7 @@ loc_49270: ; --------------------------------------------------------------------------- -Obj_5C_2: +Obj_DEZGravityHub: lea $30(a0),a2 lea (Player_1).w,a1 move.w (Ctrl_1_logical).w,d1 @@ -95512,8 +95566,8 @@ loc_4939C: move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 bne.s loc_493AE - moveq #sfx_GravityTunnel,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GravityTunnel),d0 + jsr (Play_SFX).l loc_493AE: moveq #0,d2 @@ -95675,8 +95729,8 @@ loc_49578: move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 bne.s loc_495B8 - moveq #sfx_MagneticSpike,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MagneticSpike),d0 + jsr (Play_SFX).l loc_495B8: tst.b $27(a1) @@ -95691,11 +95745,11 @@ locret_495D6: ; End of function sub_4952A ; --------------------------------------------------------------------------- -Map_DEZHoverMachine:include "Levels/DEZ/Misc Object Data/Map - Hover Machine.asm" - +Map_DEZHoverMachine: + include "Levels/DEZ/Misc Object Data/Map - Hover Machine.asm" ; --------------------------------------------------------------------------- -Obj_5F_2: +Obj_DEZGravityRoom: lea $30(a0),a2 lea (Player_1).w,a1 move.w (Ctrl_1_logical).w,d4 @@ -95830,8 +95884,8 @@ loc_49730: move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 bne.s locret_49764 - moveq #sfx_TurbineHum,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_TurbineHum),d0 + jsr (Play_SFX).l locret_49764: rts @@ -95927,8 +95981,8 @@ loc_49842: sub_49848: - moveq #sfx_Bumper,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Bumper),d0 + jsr (Play_SFX).l loc_49850: bclr #0,$2A(a1) @@ -95964,8 +96018,8 @@ locret_498C0: ; End of function sub_49848 ; --------------------------------------------------------------------------- -Map_DEZBumperWall:include "Levels/DEZ/Misc Object Data/Map - Bumper Wall.asm" - +Map_DEZBumperWall: + include "Levels/DEZ/Misc Object Data/Map - Bumper Wall.asm" ; --------------------------------------------------------------------------- Obj_DEZGravityPuzzle: @@ -96070,8 +96124,8 @@ loc_499FC: sub_49A02: - moveq #sfx_TunnelBooster,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_TunnelBooster),d0 + jsr (Play_SFX).l bra.w loc_49850 ; End of function sub_49A02 @@ -96135,13 +96189,13 @@ byte_49A5B: dc.b $E0 dc.b $1C dc.b $20 dc.b 4 -Map_DEZGravityPuzzle:include "Levels/DEZ/Misc Object Data/Map - Gravity Puzzle.asm" - +Map_DEZGravityPuzzle: + include "Levels/DEZ/Misc Object Data/Map - Gravity Puzzle.asm" ; --------------------------------------------------------------------------- Obj_PachinkoTriangleBumper: move.l #Map_PachinkoTriangleBumper,$C(a0) - move.w #-$1D15,$A(a0) + move.w #$E2EB,$A(a0) ori.b #4,4(a0) move.b #$14,7(a0) move.b #$3C,6(a0) @@ -96216,8 +96270,8 @@ loc_49B70: sub_49B76: - moveq #sfx_Bumper,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Bumper),d0 + jsr (Play_SFX).l bclr #0,$2A(a1) move.w #$800,$18(a1) move.w $10(a1),d0 @@ -96252,16 +96306,15 @@ loc_49BEE: ; End of function sub_49B76 ; --------------------------------------------------------------------------- -Ani_PachinkoTriangleBumper: include "Levels/Pachinko/Misc Object Data/Anim - Triangle Bumper.asm" - -Map_PachinkoTriangleBumper:include "Levels/Pachinko/Misc Object Data/Map - Triangle Bumper.asm" - - +Ani_PachinkoTriangleBumper: + include "Levels/Pachinko/Misc Object Data/Anim - Triangle Bumper.asm" +Map_PachinkoTriangleBumper: + include "Levels/Pachinko/Misc Object Data/Map - Triangle Bumper.asm" ; --------------------------------------------------------------------------- Obj_PachinkoFlipper: move.l #Map_PachinkoFlipper,$C(a0) - move.w #-$7CD1,$A(a0) + move.w #$832F,$A(a0) ori.b #4,4(a0) move.b #$20,7(a0) move.b #$1C,6(a0) @@ -96392,8 +96445,8 @@ loc_49DBC: move.b #2,5(a1) move.b #0,$2E(a1) move.b #0,(a3) - moveq #sfx_Flipper,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Flipper),d0 + jmp (Play_SFX).l ; End of function sub_49D72 ; --------------------------------------------------------------------------- @@ -96450,11 +96503,10 @@ loc_49E56: ; --------------------------------------------------------------------------- byte_49E5A: dc.b $FC, $FC, $FC, $FC, $FC, $FC, $FC, $FC, $FC, $FB, $FA, $F9, $F8, $F7, $F6, $F5, $F4, $F3, $F2, $F1 dc.b $F0, $EF, $EE, $ED, $EC, $EB, $EA, $E9, $E8, $E7, $E6, $E5 - -Ani_PachinkoFlipper: include "Levels/Pachinko/Misc Object Data/Anim - Flipper.asm" - -Map_PachinkoFlipper:include "Levels/Pachinko/Misc Object Data/Map - Flipper.asm" - +Ani_PachinkoFlipper: + include "Levels/Pachinko/Misc Object Data/Anim - Flipper.asm" +Map_PachinkoFlipper: + include "Levels/Pachinko/Misc Object Data/Map - Flipper.asm" ; --------------------------------------------------------------------------- Obj_PachinkoEnergyTrap: @@ -96475,7 +96527,7 @@ loc_49EF4: loc_49F20: move.l #Map_PachinkoEnergyTrap,$C(a1) - move.w #-$5CAE,$A(a1) + move.w #$A352,$A(a1) ori.b #4,4(a1) move.b #8,7(a1) move.b #$18,6(a1) @@ -96523,8 +96575,8 @@ loc_49FAE: move.b (Level_frame_counter+1).w,d0 andi.b #$3F,d0 bne.s loc_49FD6 - moveq #sfx_Transporter,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Transporter),d0 + jsr (Play_SFX).l loc_49FD6: bsr.s sub_49FE4 @@ -96555,8 +96607,8 @@ loc_49FFC: move.w $14(a0),$14(a1) tst.b $2E(a1) bne.s loc_4A024 - moveq #sfx_Bouncy,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Bouncy),d0 + jsr (Play_SFX).l loc_4A024: move.b #-$7F,$2E(a1) @@ -96588,15 +96640,15 @@ loc_4A07A: move.w $14(a1),$14(a0) jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Map_PachinkoEnergyTrap:include "Levels/Pachinko/Misc Object Data/Map - Energy Trap.asm" - +Map_PachinkoEnergyTrap: + include "Levels/Pachinko/Misc Object Data/Map - Energy Trap.asm" ; --------------------------------------------------------------------------- Obj_PachinkoInvisibleUnknown: move.l #Map_PachinkoInvisibleUnknown,$C(a0) - move.w #-$1C9C,$A(a0) + move.w #$E364,$A(a0) ori.b #4,4(a0) - move.b #-$78,7(a0) + move.b #$88,7(a0) move.b #8,6(a0) move.w #$80,8(a0) move.l #loc_4A0C6,(a0) @@ -96624,9 +96676,8 @@ loc_4A10A: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- RawAni_4A110: dc.b 0, 1, 2, 3, 4, 3, 2, 1 -Map_PachinkoInvisibleUnknown:include "Levels/Pachinko/Misc Object Data/Map - Invisible Unknown.asm" - - +Map_PachinkoInvisibleUnknown: + include "Levels/Pachinko/Misc Object Data/Map - Invisible Unknown.asm" ; --------------------------------------------------------------------------- Obj_Pachinko_Platform: @@ -96650,13 +96701,13 @@ loc_4A1B2: jsr (SolidObjectTop).l jmp (loc_49B22).l ; --------------------------------------------------------------------------- -Map_PachinkoPlatform:include "Levels/Pachinko/Misc Object Data/Map - Platform.asm" - +Map_PachinkoPlatform: + include "Levels/Pachinko/Misc Object Data/Map - Platform.asm" ; --------------------------------------------------------------------------- Obj_PachinkoItemOrb: move.l #Map_PachinkoItemOrb,$C(a0) - move.w #-$1C9C,$A(a0) + move.w #$E364,$A(a0) ori.b #4,4(a0) move.b #$10,7(a0) move.b #$10,6(a0) @@ -96680,8 +96731,8 @@ loc_4A238: tst.b $29(a0) bne.s loc_4A274 clr.b $22(a0) - moveq #sfx_BlueSphere,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BlueSphere),d0 + jsr (Play_SFX).l move.b $14(a0),d1 andi.w #$F,d1 lsl.w #2,d1 @@ -96700,10 +96751,10 @@ loc_4A274: jsr (Animate_Sprite).l bra.w loc_4A31A ; --------------------------------------------------------------------------- -Ani_PachinkoItemOrb: include "Levels/Pachinko/Misc Object Data/Anim - Item Orb.asm" - -Map_PachinkoItemOrb: include "Levels/Pachinko/Misc Object Data/Map - Item Orb.asm" - +Ani_PachinkoItemOrb: + include "Levels/Pachinko/Misc Object Data/Anim - Item Orb.asm" +Map_PachinkoItemOrb: + include "Levels/Pachinko/Misc Object Data/Map - Item Orb.asm" ; --------------------------------------------------------------------------- Obj_GumballItem: @@ -96802,8 +96853,8 @@ sub_4A384: ; --------------------------------------------------------------------------- loc_4A3AC: - moveq #sfx_SmallBumpers,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SmallBumpers),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -96817,11 +96868,11 @@ loc_4A3B6: ; End of function sub_4A384 ; --------------------------------------------------------------------------- -Map_PachinkoFItem:include "Levels/Pachinko/Misc Object Data/Map - F Item.asm" - +Map_PachinkoFItem: + include "Levels/Pachinko/Misc Object Data/Map - F Item.asm" ; --------------------------------------------------------------------------- -Obj_EC_1: +Obj_PachinkoMagnetOrb: move.l #Map_PachinkoFItem,$C(a0) move.w #$6378,$A(a0) ori.b #4,4(a0) @@ -96881,8 +96932,8 @@ loc_4A464: move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 bne.s locret_4A4A2 - moveq #sfx_WaveHover,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_WaveHover),d0 + jsr (Play_SFX).l locret_4A4A2: rts @@ -97144,8 +97195,8 @@ loc_4A798: move.b (Level_frame_counter+1).w,d0 andi.b #$F,d0 bne.s loc_4A7B0 - moveq #sfx_ChainTick,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_ChainTick),d0 + jsr (Play_SFX).l loc_4A7B0: move.w $34(a0),d0 @@ -97263,13 +97314,11 @@ off_4A914: dc.w word_4A91A-off_4A914 dc.w word_4A934-off_4A914 dc.w word_4A94E-off_4A914 word_4A91A: dc.w 3, 0, 0, 1, $FFE0, $70, 3, 0, $E0, 6, $20, $70, 8 - word_4A934: dc.w 3, 0, 0, $11, $FFE0, $B0, $13, 0, $160, $16, $20, $B0, $18 - word_4A94E: dc.w 7, 0, 0, $21, $FFE0, $72, $23, $FFE0, $F0, $23, $FFE0, $16E, $23, 0, $1E0, $26 dc.w $20, $16E, $28, $20, $F0, $28, $20, $72, $28 -Map_LRZChainedPlatforms:include "Levels/LRZ/Misc Object Data/Map - Chained Platforms.asm" - +Map_LRZChainedPlatforms: + include "Levels/LRZ/Misc Object Data/Map - Chained Platforms.asm" ; --------------------------------------------------------------------------- Obj_SOZRapelWire: @@ -97357,8 +97406,8 @@ loc_4AAA4: addq.w #2,$32(a0) cmpi.w #$C0,$32(a0) bne.s loc_4AAC4 - moveq #sfx_GlideLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GlideLand),d0 + jsr (Play_SFX).l move.l #loc_4AAC8,(a0) move.w #1,$2E(a0) @@ -97376,8 +97425,8 @@ loc_4AAD8: move.b (Ctrl_1_pressed_logical).w,d0 andi.w #$70,d0 beq.w loc_4AB6A - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l move.b $2C(a0),d1 andi.w #$F0,d1 bne.s loc_4AB16 @@ -97427,8 +97476,8 @@ loc_4AB7E: addq.w #2,$32(a0) subq.w #1,$30(a0) bpl.s loc_4AB9A - moveq #sfx_GlideLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GlideLand),d0 + jsr (Play_SFX).l move.l #loc_4AAC8,(a0) loc_4AB9A: @@ -97479,8 +97528,8 @@ loc_4AC02: subq.w #1,$30(a0) bpl.s loc_4AC24 move.w #0,$18(a0) - moveq #sfx_GlideLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GlideLand),d0 + jsr (Play_SFX).l move.l #loc_4AAC8,(a0) loc_4AC24: @@ -97858,8 +97907,8 @@ loc_4AFF6: move.b #7,$1F(a1) move.b #2,$20(a1) bset #2,$2A(a1) - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -97919,8 +97968,7 @@ loc_4B0B0: move.b RawAni_4B0CE(pc,d0.w),$22(a1) bra.s loc_4B08E ; --------------------------------------------------------------------------- -RawAni_4B0CE: - dc.b $90, $90, $90, $90, $90, $90, $90, $90, $91, $92, $92, $92, $92, $92, $92, $91 +RawAni_4B0CE: dc.b $90, $90, $90, $90, $90, $90, $90, $90, $91, $92, $92, $92, $92, $92, $92, $91 ; --------------------------------------------------------------------------- loc_4B0DE: @@ -97937,8 +97985,7 @@ loc_4B0DE: or.b d0,$2A(a1) bra.w loc_4B08E ; --------------------------------------------------------------------------- -RawAni_4B110: - dc.b $E4, $E5, $E6, $E6, $E7, $E6, $E6, $E5, $E4, $E8, $E9, $E9, $EA, $E9, $E9, $E8 +RawAni_4B110: dc.b $E4, $E5, $E6, $E6, $E7, $E6, $E6, $E5, $E4, $E8, $E9, $E9, $EA, $E9, $E9, $E8 byte_4B120: dc.b 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1 ; --------------------------------------------------------------------------- @@ -97980,21 +98027,21 @@ loc_4B13E: andi.b #-4,$2A(a1) or.b d0,$2A(a1) move.b #1,(a2) - moveq #sfx_Grab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Grab),d0 + jsr (Play_SFX).l locret_4B1CE: rts ; End of function sub_4AF80 ; --------------------------------------------------------------------------- -Map_SOZRapelWire:include "Levels/SOZ/Misc Object Data/Map - Rapel Wire.asm" - +Map_SOZRapelWire: + include "Levels/SOZ/Misc Object Data/Map - Rapel Wire.asm" ; =============== S U B R O U T I N E ======================================= -Ending_4B356: +Slots_RenderLayout: bsr.w sub_4B4C4 bsr.w sub_4B592 lea (Chunk_table+$7800).l,a1 @@ -98108,7 +98155,7 @@ loc_4B47C: dbf d7,loc_4B424 move.b d5,(Sprites_drawn).w rts -; End of function Ending_4B356 +; End of function Slots_RenderLayout ; =============== S U B R O U T I N E ======================================= @@ -98168,31 +98215,31 @@ loc_4B4E8: addq.w #8,a1 dbf d1,loc_4B4E8 lea (Chunk_table+$7005).l,a1 - subq.b #1,(_unkFEB0).w + subq.b #1,(Slot_machine_goal_frame_timer).w bpl.s loc_4B526 - move.b #1,(_unkFEB0).w + move.b #1,(Slot_machine_goal_frame_timer).w addq.b #1,$20(a1) cmpi.b #3,$20(a1) blo.s loc_4B514 move.b #0,$20(a1) loc_4B514: - addq.b #1,(_unkFEB1).w - cmpi.b #6,(_unkFEB1).w + addq.b #1,(Slot_machine_goal_frame).w + cmpi.b #6,(Slot_machine_goal_frame).w blo.s loc_4B526 - move.b #0,(_unkFEB1).w + move.b #0,(Slot_machine_goal_frame).w loc_4B526: - move.b (_unkFEB1).w,$48(a1) + move.b (Slot_machine_goal_frame).w,$48(a1) move.b (Rings_frame).w,$40(a1) - subq.b #1,(_unkFEB4).w + subq.b #1,(Slot_machine_peppermint_frame_timer).w bpl.s loc_4B548 - move.b #3,(_unkFEB4).w - addq.b #1,(_unkFEB5).w - andi.b #3,(_unkFEB5).w + move.b #3,(Slot_machine_peppermint_frame_timer).w + addq.b #1,(Slot_machine_peppermint_frame).w + andi.b #3,(Slot_machine_peppermint_frame).w loc_4B548: - move.b (_unkFEB5).w,$38(a1) + move.b (Slot_machine_peppermint_frame).w,$38(a1) rts ; End of function sub_4B4C4 @@ -98478,18 +98525,18 @@ SlotBonusMaps: dc.l Map_SB_ColoredWall dc.w make_art_tile(ArtTile_Ring,1,0) dc.l Map_SB_Ring+$7000000 dc.w make_art_tile(ArtTile_Ring,1,0) -Map_SB_Slot: include "Levels/Slots/Misc Object Data/Map - Slot.asm" - -Map_SB_R_and_Peppermint: include "Levels/Slots/Misc Object Data/Map - R and Peppermint.asm" - -Map_SB_Goal: include "Levels/Slots/Misc Object Data/Map - Goal.asm" - -Map_SB_Bumper: include "Levels/Slots/Misc Object Data/Map - Bumper.asm" - -Map_SB_Ring: include "Levels/Slots/Misc Object Data/Map - Ring.asm" - -Map_SB_ColoredWall: include "Levels/Slots/Misc Object Data/Map - Colored Wall.asm" - +Map_SB_Slot: + include "Levels/Slots/Misc Object Data/Map - Slot.asm" +Map_SB_R_and_Peppermint: + include "Levels/Slots/Misc Object Data/Map - R and Peppermint.asm" +Map_SB_Goal: + include "Levels/Slots/Misc Object Data/Map - Goal.asm" +Map_SB_Bumper: + include "Levels/Slots/Misc Object Data/Map - Bumper.asm" +Map_SB_Ring: + include "Levels/Slots/Misc Object Data/Map - Ring.asm" +Map_SB_ColoredWall: + include "Levels/Slots/Misc Object Data/Map - Colored Wall.asm" ; --------------------------------------------------------------------------- Obj_Sonic_RotatingSlotBonus: @@ -98537,8 +98584,8 @@ loc_4B9B6: ; --------------------------------------------------------------------------- off_4B9BC: dc.w loc_4B9CE-off_4B9BC - dc.w loc_4BA4E-off_4B9BC; 1 - dc.w loc_4BC1E-off_4B9BC; 2 + dc.w loc_4BA4E-off_4B9BC + dc.w loc_4BC1E-off_4B9BC off_4B9C2: dc.l Map_Sonic dc.l Map_Tails dc.l Map_Knuckles @@ -98764,8 +98811,8 @@ sub_4BBB2: asr.l #8,d0 move.w d0,$1A(a0) bset #1,$2A(a0) - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l locret_4BBF2: rts @@ -99006,13 +99053,13 @@ loc_4BDFC: loc_4BE10: jsr (GiveRing).l - cmpi.w #$32,(Ring_count).w + cmpi.w #50,(Ring_count).w blo.s loc_4BE32 bset #0,(Extra_life_flags).w bne.s loc_4BE32 addq.b #1,(Continue_count).w - moveq #sfx_Continue,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Continue),d0 + jsr (Play_SFX).l loc_4BE32: moveq #0,d4 @@ -99076,16 +99123,16 @@ loc_4BE5A: move.l d0,4(a2) loc_4BEC8: - moveq #sfx_Bumper,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Bumper),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_4BED0: cmpi.b #4,d0 bne.s loc_4BEE4 addq.b #2,5(a0) - moveq #sfx_Goal,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Goal),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -99104,8 +99151,8 @@ loc_4BEE4: loc_4BF0C: neg.w (SStage_scalar_index_1).w - moveq #sfx_LaunchGo,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_LaunchGo),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_4BF18: @@ -99136,8 +99183,8 @@ loc_4BF54: move.b d0,4(a2) loc_4BF58: - moveq #sfx_Flipper,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Flipper),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- locret_4BF60: @@ -99264,7 +99311,7 @@ loc_4C0BE: bhs.w loc_4C16C jsr (Create_New_Sprite).l bne.w loc_4C16C - move.l #loc_4C374,(a1) + move.l #Obj_SlotSpike,(a1) move.l #Map_SlotSpike,$C(a1) move.w #$2490,$A(a1) move.b #4,4(a1) @@ -99308,7 +99355,7 @@ loc_4C172: bhs.w locret_4C21A jsr (Create_New_Sprite).l bne.w locret_4C21A - move.l #loc_1A9EE,(a1) + move.l #Obj_SlotRing,(a1) move.l #Map_Ring,$C(a1) move.w #make_art_tile(ArtTile_Ring,1,0),$A(a1) move.b #4,4(a1) @@ -99350,8 +99397,8 @@ loc_4C21C: move.b (V_int_run_count+3).w,d0 andi.w #$F,d0 bne.s locret_4C23C - moveq #sfx_SlotMachine,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SlotMachine),d0 + jsr (Play_SFX).l locret_4C23C: rts @@ -99396,11 +99443,11 @@ loc_4C292: locret_4C29E: rts ; --------------------------------------------------------------------------- -Map_SlotBonusCage: include "Levels/Slots/Misc Object Data/Map - Bonus Cage (Unused).asm" - +Map_SlotBonusCage: + include "Levels/Slots/Misc Object Data/Map - Bonus Cage (Unused).asm" ; --------------------------------------------------------------------------- -loc_4C374: +Obj_SlotSpike: moveq #0,d1 move.w $3C(a0),d1 swap d1 @@ -99424,8 +99471,8 @@ loc_4C374: cmpi.w #5,(SStage_scalar_index_2).w blo.s loc_4C3CA clr.w (SStage_scalar_index_2).w - moveq #sfx_SpikeHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SpikeHit),d0 + jsr (Play_SFX).l loc_4C3CA: tst.w (Ring_count).w @@ -99442,7 +99489,6 @@ loc_4C3E0: ; --------------------------------------------------------------------------- Map_SlotSpike: include "Levels/Slots/Misc Object Data/Map - Spike.asm" - ; =============== S U B R O U T I N E ======================================= @@ -100090,8 +100136,8 @@ loc_4C966: ; --------------------------------------------------------------------------- BlueSpheresTitle: - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l jsr (Pal_FadeToBlack).l bsr.w sub_4C8E4 bsr.w sub_4CCA6 @@ -100159,8 +100205,8 @@ loc_4CAA8: move.l #Obj_SpheresTitle_4D986,(Reserved_object_3).w jsr (Process_Sprites).l jsr (Render_Sprites).l - moveq #mus_Continue,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Continue),d0 + jsr (Play_Music).l move.w (VDP_reg_1_command).w,d0 ori.b #$40,d0 move.w d0,(VDP_control_port).l @@ -100197,16 +100243,16 @@ loc_4CB2E: ; End of function sub_4CB1A ; --------------------------------------------------------------------------- -Pal_SpheresTitle_1: binclude "General/Blue Sphere/Palettes/Title 1.bin" - even - -Pal_SpheresTitle_2: binclude "General/Blue Sphere/Palettes/Title 2.bin" - even - +Pal_SpheresTitle_1: + binclude "General/Blue Sphere/Palettes/Title 1.bin" + even +Pal_SpheresTitle_2: + binclude "General/Blue Sphere/Palettes/Title 2.bin" + even aNoWayNoWayNoWa:dc.b "NO WAY! NO WAY! NO WAY! NO WAY? ",0 - + even aGetBlueSpheres:dc.b "GET BLUE SPHERES ! ",0 - dc.b 0 ; + even ; =============== S U B R O U T I N E ======================================= @@ -100451,8 +100497,8 @@ loc_4CEC8: moveq #-1,d0 move.w d0,(Special_stage_spheres_left).w move.w d0,(Special_stage_rings_left).w - moveq #sfx_Starpost,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Starpost),d0 + jsr (Play_SFX).l move #$2700,sr lea aGetBlueSpheres(pc),a1 move.w #$100,d2 @@ -100521,8 +100567,8 @@ loc_4CFB2: tst.b (Blue_spheres_option).w beq.s loc_4CFD4 subq.b #1,(Blue_spheres_option).w - moveq #sfx_WeatherMachine,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_WeatherMachine),d0 + jsr (Play_SFX).l loc_4CFD4: btst #1,d1 @@ -100530,8 +100576,8 @@ loc_4CFD4: cmpi.b #2,(Blue_spheres_option).w bhs.s loc_4D000 addq.b #1,(Blue_spheres_option).w - moveq #sfx_WeatherMachine,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_WeatherMachine),d0 + jsr (Play_SFX).l cmpi.b #2,(Blue_spheres_option).w bne.s loc_4D000 ori.b #$80,(Blue_spheres_menu_flag).w @@ -100559,7 +100605,7 @@ locret_4D03C: Obj_SpheresTitle_4D03E: move.l #Map_BlueSpheresText,$C(a0) - move.w #-$7AB2,$A(a0) + move.w #$854E,$A(a0) move.w #$120,$10(a0) move.w #$80,8(a0) move.b #$14,7(a0) @@ -100896,7 +100942,7 @@ Obj_SpheresTitle_4D302: loc_4D30E: move.l #Map_BlueSpheresText,$C(a0) - move.w #-$7AB2,$A(a0) + move.w #$854E,$A(a0) move.w #$D4,$10(a0) move.w #$80,8(a0) move.b #$14,7(a0) @@ -100975,7 +101021,7 @@ loc_4D3EA: addq.w #1,d0 mulu.w #object_size,d0 adda.w d0,a1 - move.w #-$7AB2,$A(a1) + move.w #$854E,$A(a1) move.b (Ctrl_1_pressed).w,d1 btst #0,d1 beq.s loc_4D414 @@ -101014,14 +101060,14 @@ loc_4D456: addq.w #1,d0 mulu.w #object_size,d0 adda.w d0,a1 - move.w #-$7A9E,$A(a1) + move.w #$8562,$A(a1) loc_4D470: move.b (Ctrl_1_pressed).w,d1 andi.b #$F,d1 beq.s loc_4D482 - moveq #sfx_WeatherMachine,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_WeatherMachine),d0 + jsr (Play_SFX).l loc_4D482: jmp (Draw_Sprite).l @@ -101114,16 +101160,16 @@ loc_4D4FC: move.b d2,(a2)+ lea (Normal_palette).w,a2 bsr.w sub_4CB1A - moveq #sfx_Starpost,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Starpost),d0 + jsr (Play_SFX).l andi.b #$7F,(Blue_spheres_menu_flag).w move.b #1,(Blue_spheres_option).w rts ; --------------------------------------------------------------------------- loc_4D58A: - moveq #sfx_Error,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Error),d0 + jsr (Play_SFX).l andi.b #$7F,(Blue_spheres_menu_flag).w move.b #1,(Blue_spheres_option).w rts @@ -101162,7 +101208,7 @@ loc_4D5BC: sub_4D5C2: move.l #Map_BlueSpheresNum,$C(a0) - move.w #-$7AB2,$A(a0) + move.w #$854E,$A(a0) move.w #$80,8(a0) move.b #8,7(a0) move.b #8,6(a0) @@ -101201,7 +101247,7 @@ loc_4D60A: Obj_SpheresTitle_4D610: move.l #Map_BlueSpheresText,$C(a0) - move.w #-$7AB2,$A(a0) + move.w #$854E,$A(a0) move.w #$120,$10(a0) move.w #$128,$14(a0) move.w #$80,8(a0) @@ -101216,10 +101262,10 @@ loc_4D648: Obj_SpheresTitle_4D64E: move.l #Map_BlueSpheresIcon,$C(a0) - move.w #-$1A68,$A(a0) + move.w #$E598,$A(a0) cmpi.w #3,(Player_option).w bne.s loc_4D66A - move.w #-$7A68,$A(a0) + move.w #$8598,$A(a0) loc_4D66A: move.w #$100,$10(a0) @@ -101327,11 +101373,11 @@ loc_4D774: beq.s loc_4D7A0 move.w $A(a0),d0 move.w #3,(Player_option).w - move.w #-$7A68,$A(a0) - cmpi.w #-$7A68,d0 + move.w #$8598,$A(a0) + cmpi.w #$8598,d0 bne.s loc_4D7A0 move.w #1,(Player_option).w - move.w #-$1A68,$A(a0) + move.w #$E598,$A(a0) loc_4D7A0: jmp (Draw_Sprite).l @@ -101342,12 +101388,12 @@ word_4D7A6: dc.w $100, $AE word_4D7B2: dc.w $140, $AE dc.w $140, $126 dc.w $178, $142 -Map_BlueSpheresText: include "General/Blue Sphere/Map - Text.asm" - -Map_BlueSpheresNum: include "General/Blue Sphere/Map - Numbers.asm" - -Map_BlueSpheresIcon: include "General/Blue Sphere/Map - Rotating Icon.asm" - +Map_BlueSpheresText: + include "General/Blue Sphere/Map - Text.asm" +Map_BlueSpheresNum: + include "General/Blue Sphere/Map - Numbers.asm" +Map_BlueSpheresIcon: + include "General/Blue Sphere/Map - Rotating Icon.asm" word_4D976: dc.w $B8, $100 dc.w $10C, $F8 dc.w $130, $F4 @@ -101393,13 +101439,13 @@ loc_4D9EC: loc_4D9FE: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Ani_BlueSphereCharSprite: include "General/Blue Sphere/Anim - Character Sprites.asm" - +Ani_BlueSphereCharSprite: + include "General/Blue Sphere/Anim - Character Sprites.asm" ; --------------------------------------------------------------------------- Obj_SpheresTitle_4DA30: move.l #Map_BlueSpheresCopyright,$C(a0) - move.w #-$7A4E,$A(a0) + move.w #$85B2,$A(a0) move.w #$180,$10(a0) move.w #$152,$14(a0) move.w #$80,8(a0) @@ -101410,13 +101456,13 @@ Obj_SpheresTitle_4DA30: loc_4DA62: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Map_BlueSpheresCopyright: include "General/Blue Sphere/Map - Copyright.asm" - +Map_BlueSpheresCopyright: + include "General/Blue Sphere/Map - Copyright.asm" ; --------------------------------------------------------------------------- BlueSpheresResults: - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l bsr.w sub_4C8E4 lea (Pal_SphereResults_012).l,a1 lea (Target_palette).w,a2 @@ -101465,12 +101511,12 @@ loc_4DA96: move.l #Obj_Sphere_Results_4E012,(Dynamic_object_RAM+(object_size*26)).w jsr (Process_Sprites).l jsr (Render_Sprites).l - moveq #mus_GotThroughAct,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_GotThroughAct),d0 + jsr (Play_Music).l move.w (VDP_reg_1_command).w,d0 ori.b #$40,d0 move.w d0,(VDP_control_port).l - jsr (Pal_FromBlackWhite).l + jsr (Pal_FadeFromWhite).l loc_4DB9E: move.b #$1A,(V_int_routine).w @@ -101510,8 +101556,8 @@ locret_4DC18: ; --------------------------------------------------------------------------- loc_4DC1A: - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l jsr (Pal_FadeToBlack).l bsr.w sub_4C8E4 lea (_unkFA80).w,a1 @@ -101555,15 +101601,15 @@ loc_4DC7E: lea PLC_SphereResults_4DDE8(pc),a1 jsr (Load_PLC_Immediate).l lea (RAM_start).l,a1 - lea (ArtKos_SKPoseBanner).l,a0 + lea (ArtKosM_SKPoseBanner+2).l,a0 jsr (Kos_Decomp).l - lea (ArtKos_ANDKnuckles).l,a0 + lea (ArtKosM_ANDKnuckles+2).l,a0 jsr (Kos_Decomp).l - lea (ArtKos_HPZMasterEmerald).l,a0 + lea (ArtKosM_EndingMasterEmerald+2).l,a0 jsr (Kos_Decomp).l - lea (ArtKos_RobotnikSmug).l,a0 + lea (ArtKosM_RobotnikSmug+2).l,a0 jsr (Kos_Decomp).l - lea (ArtKos_EggRoboHead).l,a0 + lea (ArtKosM_EggRoboHead+2).l,a0 jsr (Kos_Decomp).l move.w a1,d3 lsr.w #1,d3 @@ -101583,8 +101629,8 @@ loc_4DC7E: clr.b (Super_Sonic_Knux_flag).w clr.b (Super_palette_status).w move.w #1,(Player_mode).w - moveq #mus_Invincibility,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Invincibility),d0 + jsr (Play_Music).l move.w (VDP_reg_1_command).w,d0 ori.b #$40,d0 move.w d0,(VDP_control_port).l @@ -101634,7 +101680,8 @@ loc_4DDE2: locret_4DDE6: rts ; --------------------------------------------------------------------------- -PLC_SphereResults_4DDE8:dc.w 4 +PLC_SphereResults_4DDE8: + dc.w 4 dc.l ArtNem_RobotnikShip dc.w $4DE0 dc.l ArtNem_Chicken @@ -101645,14 +101692,16 @@ PLC_SphereResults_4DDE8:dc.w 4 dc.w $5C20 dc.l ArtNem_BlueSphereTails dc.w $F400 -Pal_SphereResults_012: binclude "General/Blue Sphere/Palettes/Results Line 0-2.bin" - even - -Pal_SphereResults_3: binclude "General/Blue Sphere/Palettes/Results Line 3.bin" - even - -aCongratulation:dc.b "CONGRATULATIONS!",0,0 +Pal_SphereResults_012: + binclude "General/Blue Sphere/Palettes/Results Line 0-2.bin" + even +Pal_SphereResults_3: + binclude "General/Blue Sphere/Palettes/Results Line 3.bin" + even +aCongratulation:dc.b "CONGRATULATIONS!",0 + even aPerfect: dc.b "PERFECT",0 + even ; =============== S U B R O U T I N E ======================================= @@ -101713,8 +101762,8 @@ loc_4DF04: move.w #-$7A41,d6 jsr (sub_5B318).l move #$2300,sr - moveq #sfx_Continue,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Continue),d0 + jsr (Play_SFX).l move.w #$12C,$30(a0) loc_4DF38: @@ -101762,7 +101811,7 @@ locret_4DF84: Obj_SphereResults_4DF86: move.l #Map_Sonic,$C(a0) - move.w #-$7980,$A(a0) + move.w #$8680,$A(a0) move.w #$120,$10(a0) move.w #$100,$14(a0) move.w #$80,8(a0) @@ -101846,7 +101895,7 @@ loc_4E074: Obj_SphereResults_4E0A4: move.l #Map_BlueSpheresText,$C(a0) - move.w #-$7AB2,$A(a0) + move.w #$854E,$A(a0) move.w #$120,$10(a0) move.w #$140,$14(a0) move.w #$80,8(a0) @@ -101884,8 +101933,8 @@ loc_4E116: beq.s loc_4E146 addq.b #1,(Blue_spheres_difficulty).w bsr.s Difficulty_Level_Sprites_Display - moveq #sfx_LaunchReady,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_LaunchReady),d0 + jsr (Play_SFX).l loc_4E146: move.b #4,$22(a0) @@ -101913,7 +101962,8 @@ locret_4E178: ; End of function Difficulty_Level_Sprites_Display ; --------------------------------------------------------------------------- -Difficulty_Sprites:dc.l Obj_DifficultySonic +Difficulty_Sprites: + dc.l Obj_DifficultySonic dc.l Obj_Difficulty_Tails dc.l Obj_Difficulty_Knuckles dc.l Obj_Difficulty_Eggman @@ -101943,7 +101993,7 @@ loc_4E1BE: Obj_DifficultySonic: move.l #Map_Sonic,$C(a0) - move.w #-$7980,$A(a0) + move.w #$8680,$A(a0) move.w #$120,$10(a0) move.w #$120,$14(a0) bset #0,4(a0) @@ -101984,7 +102034,7 @@ Obj_Difficulty_4E24C: Obj_Difficulty_Tails: move.l #Map_BSTailsPose,$C(a0) - move.w #-$5860,$A(a0) + move.w #$A7A0,$A(a0) move.w #$FC,$10(a0) move.w #$11B,$14(a0) bset #0,4(a0) @@ -101996,13 +102046,12 @@ Obj_Difficulty_Tails: loc_4E29C: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Map_BSTailsPose: include "General/Blue Sphere/Map - Tails Pose.asm" - +Map_BSTailsPose:include "General/Blue Sphere/Map - Tails Pose.asm" ; --------------------------------------------------------------------------- Obj_Difficulty_Knuckles: move.l #Map_Knuckles,$C(a0) - move.w #-$5960,$A(a0) + move.w #$A6A0,$A(a0) move.w #$138,$10(a0) move.w #$118,$14(a0) move.w #$80,8(a0) @@ -102018,14 +102067,14 @@ loc_4E2F0: cmp.b $30(a0),d0 beq.s loc_4E310 move.b d0,$30(a0) - move.w #-$2C00,d4 + move.w #$D400,d4 jsr (loc_18122).l loc_4E310: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Map_BSResultsEmerald: include "General/Blue Sphere/Map - Results Emerald.asm" - +Map_BSResultsEmerald: + include "General/Blue Sphere/Map - Results Emerald.asm" ; --------------------------------------------------------------------------- LevelSetup: @@ -102060,19 +102109,21 @@ LevelSetup: move.w (Current_zone_and_act).w,d0 ror.b #2,d0 lsr.w #3,d0 - movea.l Offs_ScreenInit(pc,d0.w),a1 + movea.l LevelSetupArray(pc,d0.w),a1 jsr (a1) addq.w #2,a3 move.w #$E000,d7 move.w (Current_zone_and_act).w,d0 ror.b #2,d0 lsr.w #3,d0 - movea.l Offs_BackgroundInit(pc,d0.w),a1 + movea.l LevelSetupArray+4(pc,d0.w),a1 jsr (a1) move.w (Camera_Y_pos_copy).w,(V_scroll_value).w move.w (Camera_Y_pos_BG_copy).w,(V_scroll_value_BG).w rts -; --------------------------------------------------------------------------- + +; =============== S U B R O U T I N E ======================================= + ScreenEvents: move.w (Camera_X_pos).w,(Camera_X_pos_copy).w @@ -102085,211 +102136,117 @@ ScreenEvents: move.w (Current_zone_and_act).w,d0 ror.b #2,d0 lsr.w #3,d0 - movea.l Offs_ScreenEvent(pc,d0.w),a1 + movea.l LevelEventArray(pc,d0.w),a1 jsr (a1) addq.w #2,a3 move.w #$E000,d7 move.w (Current_zone_and_act).w,d0 ror.b #2,d0 lsr.w #3,d0 - movea.l Offs_BackgroundEvent(pc,d0.w),a1 + movea.l LevelEventArray+4(pc,d0.w),a1 jsr (a1) move.w (Camera_Y_pos_copy).w,(V_scroll_value).w move.w (Camera_Y_pos_BG_copy).w,(V_scroll_value_BG).w rts -; --------------------------------------------------------------------------- -Offs_ScreenInit:dc.l AIZ1_ScreenInit -Offs_BackgroundInit:dc.l AIZ1_BackgroundInit ; 0 - dc.l AIZ2_ScreenInit ; 1 - dc.l AIZ2_BackgroundInit ; 2 -Offs_ScreenEvent:dc.l AIZ1_ScreenEvent -Offs_BackgroundEvent:dc.l AIZ1_BackgroundEvent ; 0 - dc.l AIZ2_ScreenEvent ; 1 - dc.l AIZ2_BackgroundEvent ; 2 - dc.l HCZ1_ScreenInit ; 3 - dc.l HCZ1_BackgroundInit ; 4 - dc.l HCZ2_ScreenInit ; 5 - dc.l HCZ2_BackgroundInit ; 6 - dc.l HCZ1_ScreenEvent ; 7 - dc.l HCZ1_BackgroundEvent ; 8 - dc.l HCZ2_ScreenEvent ; 9 - dc.l HCZ2_BackgroundEvent ; 10 - dc.l MGZ1_ScreenInit ; 11 - dc.l MGZ1_BackgroundInit ; 12 - dc.l MGZ2_ScreenInit ; 13 - dc.l MGZ2_BackgroundInit ; 14 - dc.l MGZ1_ScreenEvent ; 15 - dc.l MGZ1_BackgroundEvent ; 16 - dc.l MGZ2_ScreenEvent ; 17 - dc.l MGZ2_BackgroundEvent ; 18 - dc.l CNZ1_ScreenInit ; 19 - dc.l CNZ1_BackgroundInit ; 20 - dc.l CNZ2_ScreenInit ; 21 - dc.l CNZ2_BackgroundInit ; 22 - dc.l CNZ1_ScreenEvent ; 23 - dc.l CNZ1_BackgroundEvent ; 24 - dc.l CNZ2_ScreenEvent ; 25 - dc.l CNZ2_BackgroundEvent ; 26 - dc.l FBZ1_ScreenInit ; 27 - dc.l FBZ1_BackgroundInit ; 28 - dc.l FBZ2_ScreenInit ; 29 - dc.l FBZ2_BackgroundInit ; 30 - dc.l FBZ1_ScreenEvent ; 31 - dc.l FBZ1_BackgroundEvent ; 32 - dc.l FBZ2_ScreenEvent ; 33 - dc.l FBZ2_BackgroundEvent ; 34 - dc.l ICZ1_ScreenInit ; 35 - dc.l ICZ1_BackgroundInit ; 36 - dc.l ICZ2_ScreenInit ; 37 - dc.l ICZ2_BackgroundInit ; 38 - dc.l ICZ1_ScreenEvent ; 39 - dc.l ICZ1_BackgroundEvent ; 40 - dc.l ICZ2_ScreenEvent ; 41 - dc.l ICZ2_BackgroundEvent ; 42 - dc.l LBZ1_ScreenInit ; 43 - dc.l LBZ1_BackgroundInit ; 44 - dc.l LBZ2_ScreenInit ; 45 - dc.l LBZ2_BackgroundInit ; 46 - dc.l LBZ1_ScreenEvent ; 47 - dc.l LBZ1_BackgroundEvent ; 48 - dc.l LBZ2_ScreenEvent ; 49 - dc.l LBZ2_BackgroundEvent ; 50 - dc.l MHZ1_ScreenInit ; 51 - dc.l MHZ1_BackgroundInit ; 52 - dc.l MHZ2_ScreenInit ; 53 - dc.l MHZ2_BackgroundInit ; 54 - dc.l MHZ1_ScreenEvent ; 55 - dc.l MHZ1_BackgroundEvent ; 56 - dc.l MHZ2_ScreenEvent ; 57 - dc.l MHZ2_BackgroundEvent ; 58 - dc.l SOZ1_ScreenInit ; 59 - dc.l SOZ1_BackgroundInit ; 60 - dc.l SOZ2_ScreenInit ; 61 - dc.l SOZ2_BackgroundInit ; 62 - dc.l SOZ1_ScreenEvent ; 63 - dc.l SOZ1_BackgroundEvent ; 64 - dc.l SOZ2_ScreenEvent ; 65 - dc.l SOZ2_BackgroundEvent ; 66 - dc.l LRZ1_ScreenInit ; 67 - dc.l LRZ1_BackgroundInit ; 68 - dc.l LRZ2_ScreenInit ; 69 - dc.l LRZ2_BackgroundInit ; 70 - dc.l LRZ1_ScreenEvent ; 71 - dc.l LRZ1_BackgroundEvent ; 72 - dc.l LRZ2_ScreenEvent ; 73 - dc.l LRZ2_BackgroundEvent ; 74 - dc.l SSZ1_ScreenInit ; 75 - dc.l SSZ1_BackgroundInit ; 76 - dc.l SSZ2_ScreenInit ; 77 - dc.l SSZ2_BackgroundInit ; 78 - dc.l SSZ1_ScreenEvent ; 79 - dc.l SSZ1_BackgroundEvent ; 80 - dc.l SSZ2_ScreenEvent ; 81 - dc.l SSZ2_BackgroundEvent ; 82 - dc.l DEZ1_ScreenInit ; 83 - dc.l DEZ1_BackgroundInit ; 84 - dc.l DEZ2_ScreenInit ; 85 - dc.l DEZ2_BackgroundInit ; 86 - dc.l DEZ1_ScreenEvent ; 87 - dc.l DEZ1_BackgroundEvent ; 88 - dc.l DEZ2_ScreenEvent ; 89 - dc.l DEZ2_BackgroundEvent ; 90 - dc.l DDZ_ScreenInit ; 91 - dc.l DDZ_BackgroundInit ; 92 - dc.l DDZ_ScreenInit ; 93 - dc.l DDZ_BackgroundInit ; 94 - dc.l DDZ_ScreenEvent ; 95 - dc.l DDZ_BackgroundEvent ; 96 - dc.l DDZ_ScreenEvent ; 97 - dc.l DDZ_BackgroundEvent ; 98 - dc.l Ending_ScreenInit ; 99 - dc.l Ending_BackgroundInit ; 100 - dc.l Ending_ScreenInit ; 101 - dc.l Ending_BackgroundInit ; 102 - dc.l Ending_ScreenEvent ; 103 - dc.l Ending_BackgroundEvent; 104 - dc.l Ending_ScreenEvent ; 105 - dc.l Ending_BackgroundEvent; 106 - dc.l Comp_ScreenInit ; 107 - dc.l ALZ_BackgroundInit ; 108 - dc.l Comp_ScreenInit ; 109 - dc.l ALZ_BackgroundInit ; 110 - dc.l Comp_ScreenEvent ; 111 - dc.l ALZ_BackgroundEvent ; 112 - dc.l Comp_ScreenEvent ; 113 - dc.l ALZ_BackgroundEvent ; 114 - dc.l Comp_ScreenInit ; 115 - dc.l BPZ_BackgroundInit ; 116 - dc.l Comp_ScreenInit ; 117 - dc.l BPZ_BackgroundInit ; 118 - dc.l Comp_ScreenEvent ; 119 - dc.l BPZ_BackgroundEvent ; 120 - dc.l Comp_ScreenEvent ; 121 - dc.l BPZ_BackgroundEvent ; 122 - dc.l Comp_ScreenInit ; 123 - dc.l DPZ_BackgroundInit ; 124 - dc.l Comp_ScreenInit ; 125 - dc.l DPZ_BackgroundInit ; 126 - dc.l Comp_ScreenEvent ; 127 - dc.l DPZ_BackgroundEvent ; 128 - dc.l Comp_ScreenEvent ; 129 - dc.l DPZ_BackgroundEvent ; 130 - dc.l Comp_ScreenInit ; 131 - dc.l CGZ_BackgroundInit ; 132 - dc.l Comp_ScreenInit ; 133 - dc.l CGZ_BackgroundInit ; 134 - dc.l CGZ_ScreenEvent ; 135 - dc.l CGZ_BackgroundEvent ; 136 - dc.l CGZ_ScreenEvent ; 137 - dc.l CGZ_BackgroundEvent ; 138 - dc.l Comp_ScreenInit ; 139 - dc.l EMZ_BackgroundInit ; 140 - dc.l Comp_ScreenInit ; 141 - dc.l EMZ_BackgroundInit ; 142 - dc.l Comp_ScreenEvent ; 143 - dc.l EMZ_BackgroundEvent ; 144 - dc.l Comp_ScreenEvent ; 145 - dc.l EMZ_BackgroundEvent ; 146 - dc.l Gumball_ScreenInit ; 147 - dc.l Gumball_BackgroundInit; 148 - dc.l Gumball_ScreenInit ; 149 - dc.l Gumball_BackgroundInit; 150 - dc.l Gumball_ScreenEvent; 151 - dc.l Gumball_BackgroundEvent; 152 - dc.l Gumball_ScreenEvent; 153 - dc.l Gumball_BackgroundEvent; 154 - dc.l Pachinko_ScreenInit; 155 - dc.l Pachinko_BackgroundInit; 156 - dc.l Pachinko_ScreenInit; 157 - dc.l Pachinko_BackgroundInit; 158 - dc.l Pachinko_ScreenEvent; 159 - dc.l Pachinko_BackgroundEvent; 160 - dc.l Pachinko_ScreenEvent; 161 - dc.l Pachinko_BackgroundEvent; 162 - dc.l Slots_ScreenInit ; 163 - dc.l Slots_BackgroundInit ; 164 - dc.l Slots_ScreenInit ; 165 - dc.l Slots_BackgroundInit ; 166 - dc.l Slots_ScreenEvent ; 167 - dc.l Slots_BackgroundEvent ; 168 - dc.l Slots_ScreenEvent ; 169 - dc.l Slots_BackgroundEvent ; 170 - dc.l LRZ3_ScreenInit ; 171 - dc.l LRZ3_BackgroundInit ; 172 - dc.l HPZ_ScreenInit ; 173 - dc.l HPZ_BackgroundInit ; 174 - dc.l LRZ3_ScreenEvent ; 175 - dc.l LRZ3_BackgroundEvent ; 176 - dc.l HPZ_ScreenEvent ; 177 - dc.l HPZ_BackgroundEvent ; 178 - dc.l DEZ3_ScreenInit ; 179 - dc.l DEZ3_BackgroundInit ; 180 - dc.l HPZS_ScreenInit ; 181 - dc.l HPZS_BackgroundInit ; 182 - dc.l DEZ3_ScreenEvent ; 183 - dc.l DEZ3_BackgroundEvent ; 184 - dc.l HPZS_ScreenEvent ; 185 - dc.l HPZS_BackgroundEvent ; 186 +; End of function ScreenEvents + +; --------------------------------------------------------------------------- +LevelSetupArray:dc.l AIZ1_ScreenInit, AIZ1_BackgroundInit + dc.l AIZ2_ScreenInit, AIZ2_BackgroundInit +LevelEventArray:dc.l AIZ1_ScreenEvent, AIZ1_BackgroundEvent + dc.l AIZ2_ScreenEvent, AIZ2_BackgroundEvent + dc.l HCZ1_ScreenInit, HCZ1_BackgroundInit + dc.l HCZ2_ScreenInit, HCZ2_BackgroundInit + dc.l HCZ1_ScreenEvent, HCZ1_BackgroundEvent + dc.l HCZ2_ScreenEvent, HCZ2_BackgroundEvent + dc.l MGZ1_ScreenInit, MGZ1_BackgroundInit + dc.l MGZ2_ScreenInit, MGZ2_BackgroundInit + dc.l MGZ1_ScreenEvent, MGZ1_BackgroundEvent + dc.l MGZ2_ScreenEvent, MGZ2_BackgroundEvent + dc.l CNZ1_ScreenInit, CNZ1_BackgroundInit + dc.l CNZ2_ScreenInit, CNZ2_BackgroundInit + dc.l CNZ1_ScreenEvent, CNZ1_BackgroundEvent + dc.l CNZ2_ScreenEvent, CNZ2_BackgroundEvent + dc.l FBZ1_ScreenInit, FBZ1_BackgroundInit + dc.l FBZ2_ScreenInit, FBZ2_BackgroundInit + dc.l FBZ1_ScreenEvent, FBZ1_BackgroundEvent + dc.l FBZ2_ScreenEvent, FBZ2_BackgroundEvent + dc.l ICZ1_ScreenInit, ICZ1_BackgroundInit + dc.l ICZ2_ScreenInit, ICZ2_BackgroundInit + dc.l ICZ1_ScreenEvent, ICZ1_BackgroundEvent + dc.l ICZ2_ScreenEvent, ICZ2_BackgroundEvent + dc.l LBZ1_ScreenInit, LBZ1_BackgroundInit + dc.l LBZ2_ScreenInit, LBZ2_BackgroundInit + dc.l LBZ1_ScreenEvent, LBZ1_BackgroundEvent + dc.l LBZ2_ScreenEvent, LBZ2_BackgroundEvent + dc.l MHZ1_ScreenInit, MHZ1_BackgroundInit + dc.l MHZ2_ScreenInit, MHZ2_BackgroundInit + dc.l MHZ1_ScreenEvent, MHZ1_BackgroundEvent + dc.l MHZ2_ScreenEvent, MHZ2_BackgroundEvent + dc.l SOZ1_ScreenInit, SOZ1_BackgroundInit + dc.l SOZ2_ScreenInit, SOZ2_BackgroundInit + dc.l SOZ1_ScreenEvent, SOZ1_BackgroundEvent + dc.l SOZ2_ScreenEvent, SOZ2_BackgroundEvent + dc.l LRZ1_ScreenInit, LRZ1_BackgroundInit + dc.l LRZ2_ScreenInit, LRZ2_BackgroundInit + dc.l LRZ1_ScreenEvent, LRZ1_BackgroundEvent + dc.l LRZ2_ScreenEvent, LRZ2_BackgroundEvent + dc.l SSZ1_ScreenInit, SSZ1_BackgroundInit + dc.l SSZ2_ScreenInit, SSZ2_BackgroundInit + dc.l SSZ1_ScreenEvent, SSZ1_BackgroundEvent + dc.l SSZ2_ScreenEvent, SSZ2_BackgroundEvent + dc.l DEZ1_ScreenInit, DEZ1_BackgroundInit + dc.l DEZ2_ScreenInit, DEZ2_BackgroundInit + dc.l DEZ1_ScreenEvent, DEZ1_BackgroundEvent + dc.l DEZ2_ScreenEvent, DEZ2_BackgroundEvent + dc.l DDZ_ScreenInit, DDZ_BackgroundInit + dc.l DDZ_ScreenInit, DDZ_BackgroundInit + dc.l DDZ_ScreenEvent, DDZ_BackgroundEvent + dc.l DDZ_ScreenEvent, DDZ_BackgroundEvent + dc.l Ending_ScreenInit, Ending_BackgroundInit + dc.l Ending_ScreenInit, Ending_BackgroundInit + dc.l Ending_ScreenEvent, Ending_BackgroundEvent + dc.l Ending_ScreenEvent, Ending_BackgroundEvent + dc.l Comp_ScreenInit, ALZ_BackgroundInit + dc.l Comp_ScreenInit, ALZ_BackgroundInit + dc.l Comp_ScreenEvent, ALZ_BackgroundEvent + dc.l Comp_ScreenEvent, ALZ_BackgroundEvent + dc.l Comp_ScreenInit, BPZ_BackgroundInit + dc.l Comp_ScreenInit, BPZ_BackgroundInit + dc.l Comp_ScreenEvent, BPZ_BackgroundEvent + dc.l Comp_ScreenEvent, BPZ_BackgroundEvent + dc.l Comp_ScreenInit, DPZ_BackgroundInit + dc.l Comp_ScreenInit, DPZ_BackgroundInit + dc.l Comp_ScreenEvent, DPZ_BackgroundEvent + dc.l Comp_ScreenEvent, DPZ_BackgroundEvent + dc.l Comp_ScreenInit, CGZ_BackgroundInit + dc.l Comp_ScreenInit, CGZ_BackgroundInit + dc.l CGZ_ScreenEvent, CGZ_BackgroundEvent + dc.l CGZ_ScreenEvent, CGZ_BackgroundEvent + dc.l Comp_ScreenInit, EMZ_BackgroundInit + dc.l Comp_ScreenInit, EMZ_BackgroundInit + dc.l Comp_ScreenEvent, EMZ_BackgroundEvent + dc.l Comp_ScreenEvent, EMZ_BackgroundEvent + dc.l Gumball_ScreenInit, Gumball_BackgroundInit + dc.l Gumball_ScreenInit, Gumball_BackgroundInit + dc.l Gumball_ScreenEvent, Gumball_BackgroundEvent + dc.l Gumball_ScreenEvent, Gumball_BackgroundEvent + dc.l Pachinko_ScreenInit, Pachinko_BackgroundInit + dc.l Pachinko_ScreenInit, Pachinko_BackgroundInit + dc.l Pachinko_ScreenEvent, Pachinko_BackgroundEvent + dc.l Pachinko_ScreenEvent, Pachinko_BackgroundEvent + dc.l Slots_ScreenInit, Slots_BackgroundInit + dc.l Slots_ScreenInit, Slots_BackgroundInit + dc.l Slots_ScreenEvent, Slots_BackgroundEvent + dc.l Slots_ScreenEvent, Slots_BackgroundEvent + dc.l LRZ3_ScreenInit, LRZ3_BackgroundInit + dc.l HPZ_ScreenInit, HPZ_BackgroundInit + dc.l LRZ3_ScreenEvent, LRZ3_BackgroundEvent + dc.l HPZ_ScreenEvent, HPZ_BackgroundEvent + dc.l DEZ3_ScreenInit, DEZ3_BackgroundInit + dc.l HPZS_ScreenInit, HPZS_BackgroundInit + dc.l DEZ3_ScreenEvent, DEZ3_BackgroundEvent + dc.l HPZS_ScreenEvent, HPZS_BackgroundEvent ; =============== S U B R O U T I N E ======================================= @@ -103042,12 +102999,11 @@ loc_4ECFA: ; End of function Refresh_PlaneTileDeform ; --------------------------------------------------------------------------- -; Dead code -RefreshPlaneDirectVScroll: + +Refresh_PlaneDirectVScroll: move.w (a4)+,d2 moveq #$1F,d3 -; Dead code loc_4ED1C: cmp.w d2,d0 bmi.s loc_4ED26 @@ -103055,7 +103011,7 @@ loc_4ED1C: addq.w #4,a5 bra.s loc_4ED1C ; --------------------------------------------------------------------------- -; Dead code + loc_4ED26: move.w (a5),d1 moveq #$10,d6 @@ -103067,7 +103023,7 @@ loc_4ED26: dbf d3,loc_4ED1C rts ; --------------------------------------------------------------------------- -; Dead code + Refresh_PlaneFull_Competition: movem.l d0-d2/d6/a0,-(sp) jsr Setup_TileRowDraw_Competition(pc) @@ -103177,7 +103133,7 @@ loc_4EE22: sub.w (a4)+,d6 bmi.s loc_4EE32 move.w (a6)+,d0 - andi.w #-$10,d0 + andi.w #$FFF0,d0 move.w d0,(a6)+ subq.w #1,d5 bra.s loc_4EE22 @@ -103219,7 +103175,7 @@ loc_4EE74: subq.w #1,d5 beq.s locret_4EE82 move.w (a6)+,d0 - andi.w #-$10,d0 + andi.w #$FFF0,d0 move.w d0,(a6)+ bra.s loc_4EE74 ; --------------------------------------------------------------------------- @@ -103997,7 +103953,7 @@ Reset_TileOffsetPositionActual: Reset_TileOffsetPositionEff: move.w (Camera_X_pos_BG_copy).w,d0 move.w d0,d1 - andi.w #-$10,d0 + andi.w #$FFF0,d0 move.w d0,d2 move.w d0,(Camera_X_pos_BG_rounded).w move.w (Camera_Y_pos_BG_copy).w,d0 @@ -104006,12 +103962,16 @@ Reset_TileOffsetPositionEff: rts ; End of function Reset_TileOffsetPositionEff -; --------------------------------------------------------------------------- + +; =============== S U B R O U T I N E ======================================= + Update_CameraPositionP2: move.w (Camera_X_pos_P2).w,(Camera_X_pos_P2_copy).w move.w (Camera_Y_pos_P2).w,(Camera_Y_pos_P2_copy).w rts +; End of function Update_CameraPositionP2 + ; --------------------------------------------------------------------------- Update_VScrollValueP2: @@ -104177,7 +104137,7 @@ ScreenShakeArray2: dc.b 2, 0, 3, 2, 2, 3, 2, 2, 1, 3, 0, 0, 1, 0, 1, 3 dc.b 1, 2, 1, 3, 1, 2, 2, 1, 2, 3, 1, 2, 1, 2, 0, 0 dc.b 2, 0, 3, 2, 2, 3, 2, 2, 1, 3, 0, 0, 1, 0, 1, 3 - +AIZ1_WaterFGDeformDelta: dc.w 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 dc.w -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0 @@ -104196,7 +104156,7 @@ ScreenShakeArray2: dc.w 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 dc.w 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 dc.w 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 - +AIZ1_WaterBGDeformDelta: dc.w 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1 dc.w 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1 dc.w 1, 1, 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1 @@ -104218,7 +104178,6 @@ LBZ_WaterWaveArray: dc.w 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1 dc.w 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1 - ; =============== S U B R O U T I N E ======================================= @@ -104460,7 +104419,6 @@ loc_4FADC: ; --------------------------------------------------------------------------- word_4FAE4: dc.w $EE4, $EA6, $E62 - word_4FAEA: dc.w $E40 ; --------------------------------------------------------------------------- @@ -104841,7 +104799,7 @@ AIZ2SE_Normal: move.w #5,(Draw_delayed_rowcount).w clr.l (HScroll_table+$1F8).w move.w (Camera_X_pos_copy).w,d0 - andi.w #-$10,d0 + andi.w #$FFF0,d0 subi.w #$10,d0 move.w d0,(HScroll_table+$1FE).w st (Scroll_lock).w ; Camera doesn't follow Sonic @@ -104906,7 +104864,7 @@ AIZ2SE_EndRefresh: jsr Draw_PlaneVertBottomUp(pc) bpl.s loc_4FFF0 move.w (Camera_X_pos_copy).w,d0 - andi.w #-$10,d0 + andi.w #$FFF0,d0 subi.w #$10,d0 move.w d0,(Camera_X_pos_rounded).w move.w #$46C0,(Events_bg+$02).w ; Set level X start to 46C0 @@ -104987,7 +104945,7 @@ AIZ2BGE_FireRedraw: loc_50110: addq.w #2,a3 - move.w #-$2000,d7 + move.w #$E000,d7 clr.w (Events_bg+$00).w addq.w #4,(Events_routine_bg).w @@ -105154,7 +105112,7 @@ AIZ2_DoShipLoop: sub.w d1,(Player_2+x_pos).w ; Subtract $200 from X position of Sonic and Tails sub.w d1,d0 move.w d0,d1 - andi.w #-$10,d1 + andi.w #$FFF0,d1 subi.w #$10,d1 move.w d1,(Camera_X_pos_rounded).w move.w d1,(HScroll_table+$1FE).w @@ -105262,8 +105220,8 @@ loc_503EA: subq.w #1,d0 andi.w #$F,d0 bne.s loc_503FE - moveq #sfx_LargeShip,d0 ; Replay the battleship flying sound every 16th frame - jsr (Play_Sound_2).l + moveq #signextendB(sfx_LargeShip),d0 ; Replay the battleship flying sound every 16th frame + jsr (Play_SFX).l loc_503FE: subq.w #1,$32(a0) ; Wait for delay to finish @@ -105341,8 +105299,8 @@ AIZShipBomb_Delay: subq.w #1,$32(a0) bne.s loc_504EE addq.b #4,5(a0) - moveq #sfx_MissileThrow,d0 - jsr (Play_Sound_2).l ; Play the drop sound after the delay + moveq #signextendB(sfx_MissileThrow),d0 + jsr (Play_SFX).l ; Play the drop sound after the delay loc_504EE: jsr Translate_Camera2ObjPosition(pc) @@ -105361,8 +105319,8 @@ AIZShipBomb_Drop: cmpi.w #-8,d1 bgt.s locret_50578 move.w #$10,(Screen_shake_flag).w ; If touching the floor, set up a timed screen shake - moveq #sfx_MissileExplode,d0 - jsr (Play_Sound_2).l ; Play the bomb explosion sound + moveq #signextendB(sfx_MissileExplode),d0 + jsr (Play_SFX).l ; Play the bomb explosion sound jsr (Create_New_Sprite3).l bne.s loc_50572 lea (AIZBombExplodeDat).l,a2 @@ -105422,7 +105380,7 @@ loc_505B4: move.b #$20,7(a0) move.w #$500,$A(a0) move.l #Map_AIZ2BombExplode,$C(a0) - move.b #-$75,$28(a0) + move.b #$8B,$28(a0) bra.s loc_505E4 ; --------------------------------------------------------------------------- @@ -105571,524 +105529,46 @@ loc_5075E: subq.w #1,d0 andi.w #$F,d0 bne.s locret_5077C - moveq #sfx_EggmanSiren,d0 ; Every sixteenth frame, play alarm sound - jsr (Play_Sound_2).l + moveq #signextendB(sfx_RobotnikSiren),d0 ; Every sixteenth frame, play alarm sound + jsr (Play_SFX).l locret_5077C: rts ; --------------------------------------------------------------------------- -word_5077E: dc.w 0 - dc.w 0 - dc.w 1 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w 1 - dc.w 1 - dc.w 0 - dc.w 0 - dc.w $FFFE - dc.w 1 - dc.w 2 - dc.w 2 - dc.w $FFFF - dc.w 2 - dc.w 2 - dc.w 1 - dc.w 2 - dc.w $FFFF - dc.w $FFFE - dc.w $FFFE - dc.w $FFFE - dc.w 1 - dc.w $FFFF - dc.w $FFFF - dc.w $FFFF - dc.w 0 - dc.w $FFFE - dc.w 0 - dc.w 0 - dc.w 0 - dc.w $FFFE - dc.w 0 - dc.w $FFFE - dc.w 2 - dc.w 0 - dc.w $FFFE - dc.w 2 - dc.w 2 - dc.w $FFFF - dc.w $FFFE - dc.w $FFFE - dc.w 1 - dc.w 2 - dc.w 2 - dc.w $FFFF - dc.w 2 - dc.w 2 - dc.w 1 - dc.w 2 - dc.w $FFFF - dc.w $FFFE - dc.w $FFFE - dc.w $FFFE - dc.w 1 - dc.w $FFFF - dc.w $FFFF - dc.w $FFFF - dc.w 0 - dc.w $FFFE - dc.w 0 - dc.w 0 - dc.w 0 - dc.w $FFFE - dc.w 0 - dc.w $FFFE - dc.w 2 - dc.w 0 - dc.w $FFFE - dc.w 2 - dc.w 2 - dc.w $FFFF - dc.w $FFFE - dc.w $FFFE - dc.w 1 - dc.w 2 - dc.w 2 - dc.w $FFFF - dc.w 2 - dc.w 2 - dc.w 1 - dc.w 2 - dc.w $FFFF - dc.w $FFFE - dc.w $FFFE - dc.w $FFFE - dc.w 1 - dc.w $FFFF - dc.w $FFFF - dc.w $FFFF - dc.w 0 - dc.w $FFFE - dc.w 0 - dc.w 0 - dc.w 0 - dc.w $FFFE - dc.w 0 - dc.w $FFFE - dc.w 2 - dc.w 0 - dc.w $FFFE - dc.w 2 - dc.w 2 - dc.w $FFFF - dc.w $FFFE - dc.w $FFFE - dc.w 1 - dc.w 2 - dc.w 2 - dc.w $FFFF - dc.w 2 - dc.w 2 - dc.w 1 - dc.w 2 - dc.w $FFFF - dc.w $FFFE - dc.w $FFFE - dc.w $FFFE - dc.w 1 - dc.w $FFFF - dc.w $FFFF - dc.w $FFFF - dc.w 0 - dc.w $FFFE - dc.w 0 - dc.w 0 - dc.w 0 - dc.w $FFFE - dc.w 0 - dc.w $FFFE - dc.w 2 - dc.w 0 - dc.w $FFFE - dc.w 2 - dc.w 2 - dc.w $FFFF - dc.w $FFFE - dc.w $FFFE - dc.w 1 - dc.w 2 - dc.w 2 - dc.w $FFFF - dc.w 2 - dc.w 2 - dc.w 1 - dc.w 2 - dc.w $FFFF - dc.w $FFFE - dc.w $FFFE - dc.w $FFFE - dc.w 1 - dc.w $FFFF - dc.w $FFFF - dc.w $FFFF - dc.w 0 - dc.w $FFFE - dc.w 0 - dc.w 0 - dc.w 0 - dc.w $FFFE - dc.w 0 - dc.w $FFFE - dc.w 2 - dc.w 0 - dc.w $FFFE - dc.w 2 - dc.w 2 - dc.w $FFFF - dc.w $FFFE - dc.w $FFFE - dc.w 1 - dc.w 2 - dc.w 2 - dc.w $FFFF - dc.w 2 - dc.w 2 - dc.w 1 - dc.w 2 - dc.w $FFFF - dc.w $FFFE - dc.w $FFFE - dc.w $FFFE - dc.w 1 - dc.w $FFFF - dc.w $FFFF - dc.w $FFFF - dc.w 0 - dc.w $FFFE - dc.w 0 - dc.w 0 - dc.w 0 - dc.w $FFFE - dc.w 0 - dc.w $FFFE - dc.w 2 - dc.w 0 - dc.w $FFFE - dc.w 2 - dc.w 2 - dc.w $FFFF - dc.w $FFFE - dc.w $FFFE - dc.w 1 - dc.w 2 - dc.w 2 - dc.w $FFFF - dc.w 2 - dc.w 2 - dc.w 1 - dc.w 2 - dc.w $FFFF - dc.w $FFFE - dc.w $FFFE - dc.w $FFFE - dc.w 1 - dc.w $FFFF - dc.w $FFFF - dc.w $FFFF - dc.w 0 - dc.w $FFFE - dc.w 0 - dc.w 0 - dc.w 0 - dc.w $FFFE - dc.w 0 - dc.w $FFFE - dc.w 2 - dc.w 0 - dc.w $FFFE - dc.w 2 - dc.w 2 - dc.w $FFFF - dc.w $FFFE - dc.w $FFFE - dc.w 1 - dc.w 2 - dc.w 2 - dc.w $FFFF - dc.w 2 - dc.w 2 - dc.w 1 - dc.w 2 - dc.w $FFFF - dc.w $FFFE - dc.w $FFFE - dc.w $FFFE - dc.w 1 - dc.w $FFFF - dc.w $FFFF - dc.w $FFFF - dc.w 0 - dc.w $FFFE - dc.w 0 - dc.w 0 - dc.w 0 - dc.w $FFFE - dc.w 0 - dc.w $FFFE - dc.w 2 - dc.w 0 - dc.w $FFFE - dc.w 2 - dc.w 2 - dc.w $FFFF - dc.w $FFFE +AIZ2_SOZ1_LRZ3_FGDeformDelta: + dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 + dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 + dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 + dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 + dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 + dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 + dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 + dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 + dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 + dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 + dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 + dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 + dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 + dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 + dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 + dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 +AIZ2_ALZ_BGDeformDelta: + dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1 + dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2 + dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1 + dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2 + dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1 + dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2 + dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1 + dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2 + dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1 + dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2 + dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1 + dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2 + dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1 + dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2 + dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1 + dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2 ; --------------------------------------------------------------------------- HCZ1_ScreenInit: @@ -106565,8 +106045,8 @@ loc_5100C: tst.w (Screen_shake_flag).w ; When wall has travelled $600 pixels bpl.s loc_51052 move.w #$E,(Screen_shake_flag).w ; Set screen shake to timed - moveq #sfx_Crash,d0 - jsr (Play_Sound_2).l ; Play final crashing sound + moveq #signextendB(sfx_Crash),d0 + jsr (Play_SFX).l ; Play final crashing sound bra.s loc_51052 ; --------------------------------------------------------------------------- @@ -106581,8 +106061,8 @@ loc_5103A: subq.w #1,d0 andi.w #$F,d0 bne.s loc_51052 - moveq #sfx_Rumble2,d0 - jsr (Play_Sound_2).l ; Play the screen shake sound every 16th frame + moveq #signextendB(sfx_Rumble2),d0 + jsr (Play_SFX).l ; Play the screen shake sound every 16th frame loc_51052: move.w (Camera_Y_pos_copy).w,d0 ; Get BG camera Y @@ -106787,8 +106267,8 @@ Do_ShakeSound: subq.w #1,d0 andi.w #$F,d0 bne.s locret_512A4 - moveq #sfx_Rumble2,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Rumble2),d0 + jsr (Play_SFX).l locret_512A4: rts @@ -106967,8 +106447,8 @@ loc_5144C: subq.w #1,d0 andi.w #$F,d0 bne.s loc_51470 - moveq #sfx_BigRumble,d0 ; Play collapsing sound every 16 frames - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BigRumble),d0 ; Play collapsing sound every 16 frames + jsr (Play_SFX).l loc_51470: tst.w d1 @@ -107097,7 +106577,7 @@ MGZ2_QuakeEvent1: addi.w #$C,(Events_bg+$10).w ; Set next quake event routine jsr (Create_New_Sprite).l bne.s locret_515A2 - move.l #Obj_MGZ2DrillingEggman,(a1) + move.l #Obj_MGZ2DrillingRobotnik,(a1) move.w #$8E0,$10(a1) move.w #$690,$14(a1) ; Create drilling eggman boss sprite st (Screen_shake_flag).w @@ -107132,7 +106612,7 @@ loc_515CC: addi.w #$C,(Events_bg+$10).w ; Set next quake event routine jsr (Create_New_Sprite).l bne.s locret_5160C - move.l #Obj_MGZ2DrillingEggman,(a1) + move.l #Obj_MGZ2DrillingRobotnik,(a1) bset #0,4(a1) move.w #$2FA0,$10(a1) move.w #$2D0,$14(a1) ; Set Robotnik drilling object @@ -107154,7 +106634,7 @@ MGZ2_QuakeEvent3: addi.w #$C,(Events_bg+$10).w jsr (Create_New_Sprite).l bne.s locret_51654 - move.l #Obj_MGZ2DrillingEggman,(a1) + move.l #Obj_MGZ2DrillingRobotnik,(a1) bset #0,4(a1) move.w #$3300,$10(a1) move.w #$790,$14(a1) @@ -107697,8 +107177,8 @@ loc_51B1C: move.w (Events_bg+$02).w,d0 cmp.w $2E(a0),d0 ; Wait for BG offset to match given value blo.s loc_51B44 - moveq #sfx_Crash,d0 ; Play final crashing sound - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Crash),d0 ; Play final crashing sound + jsr (Play_SFX).l move.w #$E,(Screen_shake_flag).w ; Do final screen shake clr.w (Events_fg_0).w ; Disable constant screen shaking bclr #7,(Disable_wall_grab).w ; Reenable Knuckles wall grab @@ -108292,7 +107772,8 @@ locret_520FC: ; End of function CNZ1_ScrollToYStart ; --------------------------------------------------------------------------- -CNZ1_BGDeformArray: dc.w $80 +CNZ1_BGDeformArray: + dc.w $80 dc.w $30 dc.w $60 dc.w $C0 @@ -108357,7 +107838,7 @@ loc_5216C: move.l #Obj_CNZTeleporter,(a1) jsr (CreateNewSprite4).l bne.s loc_521BE - move.l #Obj_81,(a1) + move.l #Obj_EggCapsule,(a1) move.w #$4980,$10(a1) move.w #$A20,$14(a1) movem.l d7-a0/a2-a3,-(sp) @@ -108377,9 +107858,9 @@ loc_521D2: jsr (Create_New_Sprite).l bne.s CNZ2SE_Normal move.l #Obj_IncLevEndXGradual,(a1) - move.w #$49A0,(Target_camera_max_X_pos).w + move.w #$49A0,(Camera_stored_max_X_pos).w lea (a2),a6 - jsr (Obj_PlayLevelMusic).l + jsr (Restore_LevelMusic).l lea (a6),a2 jsr (Restore_PlayerControl).l addq.w #4,(Events_routine_fg).w @@ -108498,8 +107979,8 @@ Obj_CNZTeleporterMain: move.w d0,$10(a0) move.w d0,$10(a1) move.w #$A38,$14(a1) ; Set teleporter position/attributes - moveq #sfx_Charging,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Charging),d0 + jsr (Play_SFX).l move.l #loc_5234A,(a0) locret_52348: @@ -108538,8 +108019,8 @@ loc_5238E: move.w d0,$14(a1) ; Make player disappear! move.b d0,$20(a1) move.b d0,$22(a1) - moveq #sfx_Transporter,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Transporter),d0 + jsr (Play_SFX).l st (Scroll_lock).w bra.s locret_523C8 ; --------------------------------------------------------------------------- @@ -108557,8 +108038,8 @@ loc_523CA: subi.w #$10,(Camera_Y_pos).w cmpi.w #$780,(Camera_Y_pos).w bhs.s locret_523EA - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.w #$500,d0 ; Start Ice Cap jmp (StartNewLevel).l ; --------------------------------------------------------------------------- @@ -109079,7 +108560,8 @@ loc_52828: ; End of function FBZ1Screen_CheckInRange ; --------------------------------------------------------------------------- -FBZ1_LayoutModRange: dc.w $400, $F00, $880, $A80 +FBZ1_LayoutModRange: + dc.w $400, $F00, $880, $A80 dc.w $880, $1100, $180, $300 dc.w $1400, $1B80, $900, $B00 dc.w $1A80, $2100, $80, $200 @@ -109646,7 +109128,8 @@ Obj_FBZOutdoorBGMotion: move.w d0,(Events_bg+$08).w rts ; --------------------------------------------------------------------------- -FBZ_InBGDeformArray: dc.w $80 +FBZ_InBGDeformArray: + dc.w $80 dc.w $40 dc.w $20 dc.w 8 @@ -109681,7 +109164,8 @@ FBZ_InBGDeformArray: dc.w $80 dc.w $18 dc.w $30 dc.w $7FFF -FBZ_OutBGDeformArray: dc.w $30 +FBZ_OutBGDeformArray: + dc.w $30 dc.w $20 dc.w $30 dc.w $10 @@ -109690,10 +109174,12 @@ FBZ_OutBGDeformArray: dc.w $30 dc.w $10 dc.w $10 dc.w $7FFF -FBZ_InBGDeformIndex: dc.b 0, $C, 1, $A, $16, $A, 8, $14, $18, $1C, $20, $24, $28, $2C, $30, $34, $38, 2, 6, $12 +FBZ_InBGDeformIndex: + dc.b 0, $C, 1, $A, $16, $A, 8, $14, $18, $1C, $20, $24, $28, $2C, $30, $34, $38, 2, 6, $12 dc.b $3E, 0, $46, 7, 4, $10, $1E, $26, $2E, $36, $3A, $40, 3, $E, $22, $32, $3C, 1, 0, $44 dc.b 3, 2, $1A, $2A, $42, $FF -FBZ_OutBGDeformIndex: dc.w $E +FBZ_OutBGDeformIndex: + dc.w $E dc.w 2 dc.w $A dc.w 6 @@ -109702,11 +109188,12 @@ FBZ_OutBGDeformIndex: dc.w $E dc.w 8 dc.w 0 dc.w $10 - -Pal_FBZBGIndoors: binclude "Levels/FBZ/Palettes/FBZ BG Indoors.bin" - even -Pal_FBZBGOutdoors: binclude "Levels/FBZ/Palettes/FBZ BG Outdoors.bin" - even +Pal_FBZBGIndoors: + binclude "Levels/FBZ/Palettes/FBZ BG Indoors.bin" + even +Pal_FBZBGOutdoors: + binclude "Levels/FBZ/Palettes/FBZ BG Outdoors.bin" + even ; --------------------------------------------------------------------------- FBZ2_ScreenInit: @@ -109907,7 +109394,8 @@ loc_52F7A: ; End of function SetUp_FBZ2BossEvent ; --------------------------------------------------------------------------- -FBZ2_LayoutModRange: dc.w $D80, $1300, $A00, $B80 +FBZ2_LayoutModRange: + dc.w $D80, $1300, $A00, $B80 ; --------------------------------------------------------------------------- FBZ2_BackgroundInit: @@ -110318,10 +109806,10 @@ loc_533B8: Obj_FBZBossPillar: move.l #Obj_FBZBossPillarMain,(a0) move.b #$44,4(a0) ; Set up boss pillar object - move.b #-1,6(a0) + move.b #$FF,6(a0) move.b #$20,7(a0) move.w #$300,8(a0) - move.w #-$3C2B,$A(a0) + move.w #$C3D5,$A(a0) move.l #Map_FBZ2Preboss,$C(a0) move.w #2,$16(a0) ; 2 sprites @@ -110361,8 +109849,8 @@ loc_53456: beq.s loc_5346A subq.w #8,$2E(a0) ; If player is not in range, decrease pillar offset bne.s loc_5346A - moveq #sfx_SpikeBalls,d0 ; Play sound only when pillar hits ground - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SpikeBalls),d0 ; Play sound only when pillar hits ground + jsr (Play_SFX).l loc_5346A: sub.w $2E(a0),d5 @@ -110428,9 +109916,9 @@ Obj_FBZCloud: move.b d0,$22(a0) jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Map_FBZ2Preboss: include "Levels/FBZ/Misc Object Data/Map - Act 2 Preboss.asm" - -FBZ2_CloudDeformIndex: dc.w 4 +Map_FBZ2Preboss:include "Levels/FBZ/Misc Object Data/Map - Act 2 Preboss.asm" +FBZ2_CloudDeformIndex: + dc.w 4 dc.w $E dc.w 8 dc.w $10 @@ -110797,8 +110285,8 @@ ICZ1_BigSnowFall: subq.w #1,d0 andi.w #$F,d0 bne.s loc_539F0 - moveq #sfx_Rumble2,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Rumble2),d0 + jsr (Play_SFX).l bra.s loc_539F0 ; --------------------------------------------------------------------------- @@ -110878,8 +110366,8 @@ loc_53A5A: move.b #7,$1F(a1) move.b #2,$20(a1) bset #2,$2A(a1) - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l ; Perform jumping on player object manually + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l ; Perform jumping on player object manually locret_53AD2: rts @@ -110970,7 +110458,8 @@ loc_53BFE: dc.b $5A, $59 dc.b $59, $58 dc.b $57, $57 -ICZ1_SnowpileSlopeDef: dc.b $56, $56 +ICZ1_SnowpileSlopeDef: + dc.b $56, $56 dc.b $55, $55 dc.b $54, $54 dc.b $53, $53 @@ -111431,8 +110920,8 @@ loc_54062: bne.s loc_54082 tst.w d2 beq.s loc_54082 - moveq #sfx_BigRumble,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BigRumble),d0 + jsr (Play_SFX).l loc_54082: tst.w d2 @@ -111447,8 +110936,8 @@ loc_54082: loc_5409E: clr.l (a1)+ dbf d0,loc_5409E - moveq #sfx_Crash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Crash),d0 + jsr (Play_SFX).l loc_540AC: lea (HScroll_table+$100).w,a1 @@ -111691,9 +111180,11 @@ loc_5432E: lea (HScroll_table+$008).w,a5 jmp ApplyDeformation(pc) ; --------------------------------------------------------------------------- -LBZ1_BGDrawArray: dc.w $D0 +LBZ1_BGDrawArray: + dc.w $D0 dc.w $7FFF -LBZ1_BGDeformArray: dc.w $D0 +LBZ1_BGDeformArray: + dc.w $D0 dc.w $18 dc.w 8 dc.w 8 @@ -111904,8 +111395,8 @@ loc_5451A: subq.w #1,d0 andi.w #$F,d0 bne.s loc_5452E - moveq #sfx_DeathEggRiseLoud,d0 ; Play death egg rumbling sound - jsr (Play_Sound_2).l + moveq #signextendB(sfx_DeathEggRiseLoud),d0 ; Play death egg rumbling sound + jsr (Play_SFX).l loc_5452E: tst.w (Events_fg_5).w @@ -112641,7 +112132,7 @@ loc_54B4E: st (Events_bg+$00).w jsr (Create_New_Sprite).l bne.s loc_54B7C - move.l #Obj_MHZ_Miniboss,(a1) + move.l #Obj_MHZMiniboss,(a1) loc_54B7C: jmp DrawTilesAsYouMove(pc) @@ -112672,7 +112163,7 @@ locret_54BA2: MHZ1_BackgroundInit: move.w (Camera_X_pos_copy).w,(Events_fg_0).w move.w (Camera_X_pos_copy).w,(Events_fg_1).w - jsr sub_54C68(pc) + jsr MHZ_Deform(pc) jsr Reset_TileOffsetPositionEff(pc) moveq #0,d1 jsr Refresh_PlaneFull(pc) @@ -112716,7 +112207,7 @@ loc_54C3C: move.w #$100,d2 move.w #$200,d3 jsr Adjust_BGDuringLoop(pc) - jsr sub_54C68(pc) + jsr MHZ_Deform(pc) lea (Camera_Y_pos_BG_copy).w,a6 lea (Camera_Y_pos_BG_rounded).w,a5 moveq #0,d1 @@ -112727,7 +112218,7 @@ loc_54C3C: ; =============== S U B R O U T I N E ======================================= -sub_54C68: +MHZ_Deform: move.w (Camera_Y_pos_copy).w,d0 swap d0 clr.w d0 @@ -112757,7 +112248,7 @@ sub_54C68: swap d0 move.w d0,(Events_bg+$12).w rts -; End of function sub_54C68 +; End of function MHZ_Deform ; --------------------------------------------------------------------------- @@ -113222,12 +112713,9 @@ MHZ2_BGDrawArray3: dc.w $100 dc.w $7FFF Pal_MHZ2Ship: binclude "Levels/MHZ/Palettes/Act 2 Ship.bin" - even - + even Pal_MHZ2Gold: binclude "Levels/MHZ/Palettes/Act 2 Gold.bin" - even - - + even word_5513E: dc.w $420, $4A0, $640, $6C0 dc.w $680, $980, $A00, $7C0 dc.w $800, $9C0, $2900, $2980 @@ -113250,7 +112738,7 @@ MHZ2_BackgroundInit: ; --------------------------------------------------------------------------- loc_55198: - jsr sub_54C68(pc) + jsr MHZ_Deform(pc) loc_5519C: jsr Reset_TileOffsetPositionEff(pc) @@ -113307,7 +112795,7 @@ loc_551EE: ; --------------------------------------------------------------------------- loc_5521E: - jsr sub_54C68(pc) + jsr MHZ_Deform(pc) loc_55222: lea (Camera_Y_pos_BG_copy).w,a6 @@ -113333,7 +112821,7 @@ loc_5523A: loc_55250: cmpi.w #$500,(Player_1+y_pos).w blo.s loc_5527A - jsr sub_54C68(pc) + jsr MHZ_Deform(pc) jsr Reset_TileOffsetPositionEff(pc) addi.w #$E0,d0 and.w (Camera_Y_pos_mask).w,d0 @@ -113386,7 +112874,7 @@ loc_552E4: ; --------------------------------------------------------------------------- loc_552F8: - jsr sub_54C68(pc) + jsr MHZ_Deform(pc) loc_552FC: moveq #0,d1 @@ -113422,7 +112910,7 @@ loc_5535A: move.w #$C,(Special_events_routine).w movem.l d7-a0/a2-a3,-(sp) lea (ArtKosM_MHZEndBossPillar).l,a1 - move.w #-$5000,d2 + move.w #$B000,d2 jsr (Queue_Kos_Module).l movem.l (sp)+,d7-a0/a2-a3 @@ -113788,7 +113276,7 @@ loc_556F8: move.b #$18,6(a0) move.b #$18,7(a0) move.w #$80,8(a0) - move.w #-$1A80,$A(a0) + move.w #$E580,$A(a0) move.l #Map_MHZEndBossMisc,$C(a0) move.w #$4238,$10(a0) move.w #$2F0,$14(a0) @@ -113876,7 +113364,7 @@ locret_55812: loc_55814: move.l #loc_5582E,(a0) move.w #$380,8(a0) - move.w #-$5B00,$A(a0) + move.w #$A500,$A(a0) move.l #Map_MHZEndBossMisc,$C(a0) loc_5582E: @@ -113924,8 +113412,8 @@ loc_558AC: subq.w #1,d0 andi.w #$F,d0 bne.s locret_558C0 - moveq #sfx_LargeShip,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_LargeShip),d0 + jsr (Play_SFX).l locret_558C0: rts @@ -113965,10 +113453,10 @@ word_558E8: dc.w $102 dc.w $304 dc.w $200 dc.w $402 -Map_MHZEndBossMisc: include "Levels/MHZ/Misc Object Data/Map - End Boss Misc.asm" - -Ani_MHZEndPropellers: include "Levels/MHZ/Misc Object Data/Anim - End Propellers.asm" - +Map_MHZEndBossMisc: + include "Levels/MHZ/Misc Object Data/Map - End Boss Misc.asm" +Ani_MHZEndPropellers: + include "Levels/MHZ/Misc Object Data/Anim - End Propellers.asm" ; --------------------------------------------------------------------------- SOZ1_ScreenInit: @@ -114300,8 +113788,8 @@ sub_55DB6: subq.w #1,d0 andi.w #$F,d0 bne.s loc_55DD0 - moveq #sfx_Rumble2,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Rumble2),d0 + jsr (Play_SFX).l loc_55DD0: move.w (Camera_Y_pos_copy).w,d0 @@ -114319,7 +113807,7 @@ loc_55DD0: loc_55DF2: lea (HScroll_table+$010).w,a1 - lea word_5077E(pc),a6 + lea AIZ2_SOZ1_LRZ3_FGDeformDelta(pc),a6 move.w (Camera_Y_pos_copy).w,d0 move.w #$DF,d1 move.w (Level_frame_counter).w,d2 @@ -114335,7 +113823,7 @@ loc_55DF2: lea (HScroll_table+$010).w,a2 lea word_560DC(pc),a4 lea (HScroll_table).w,a5 - lea word_5077E(pc),a6 + lea AIZ2_SOZ1_LRZ3_FGDeformDelta(pc),a6 move.w (Camera_Y_pos_BG_copy).w,d0 move.w #$DF,d1 move.w (Level_frame_counter).w,d2 @@ -114351,7 +113839,7 @@ loc_55DF2: sub_55E4C: lea (H_scroll_buffer).w,a1 - lea word_5077E(pc),a6 + lea AIZ2_SOZ1_LRZ3_FGDeformDelta(pc),a6 move.w (Camera_Y_pos_copy).w,d0 move.w (Level_frame_counter).w,d1 asr.w #1,d1 @@ -114494,7 +113982,7 @@ loc_55F7C: bne.s locret_55F96 jsr (Create_New_Sprite).l bne.s loc_55F90 - move.l #Obj_SOZ_Miniboss,(a1) + move.l #Obj_SOZMiniboss,(a1) loc_55F90: jmp (Delete_Current_Sprite).l @@ -114529,7 +114017,7 @@ loc_55FDA: move.b #4,4(a0) move.b #$24,7(a0) move.w #$380,8(a0) - move.w #-$3FD7,$A(a0) + move.w #$C029,$A(a0) move.l #Map_SOZ1EndDoor,$C(a0) move.w #$439C,$18(a0) move.w #$9D4,$1A(a0) @@ -114543,8 +114031,8 @@ loc_56012: ; --------------------------------------------------------------------------- loc_56020: - moveq #sfx_DoorOpen,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_DoorOpen),d0 + jsr (Play_SFX).l move.w #$F6,(Events_bg+$00).w move.l #loc_56034,(a0) @@ -114575,8 +114063,8 @@ loc_56062: ; --------------------------------------------------------------------------- loc_56070: - moveq #sfx_DoorOpen,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_DoorOpen),d0 + jsr (Play_SFX).l move.l #loc_5607E,(a0) loc_5607E: @@ -114625,11 +114113,8 @@ word_560DC: dc.w $110 dc.w 8 dc.w $7FFF word_560EA: dc.w $C46, $824, $804, $402, $202, $200, 0, $422, $402, $200, $40 - word_56100: dc.w $6AE, $664, $422, $402, $200, 0, 0, $EEE, $466, $224, 0, $46, $6EE, $48C, $26A - -Map_SOZ1EndDoor: include "Levels/SOZ/Misc Object Data/Map - Act 1 End Door.asm" - +Map_SOZ1EndDoor:include "Levels/SOZ/Misc Object Data/Map - Act 1 End Door.asm" ; --------------------------------------------------------------------------- SOZ2_ScreenInit: @@ -115195,8 +114680,8 @@ loc_56770: move.w d0,-(a1) subq.w #1,d0 dbf d1,loc_56770 - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l move.w #3,(Events_bg+$06).w addq.w #4,(Events_bg+$08).w @@ -115245,8 +114730,8 @@ loc_567EE: move.w (a6)+,(a5)+ dbf d1,loc_567EE clr.w (Events_bg+$00).w - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l addq.w #4,(Events_bg+$08).w loc_5680A: @@ -115288,8 +114773,8 @@ loc_5683A: beq.w loc_56936 tst.w (Events_bg+$00).w bne.w loc_56936 - moveq #sfx_BossRecovery,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossRecovery),d0 + jsr (Play_SFX).l st (Events_bg+$00).w bra.w loc_56936 ; --------------------------------------------------------------------------- @@ -115627,7 +115112,7 @@ LRZ1_ScreenEvent: beq.s loc_56B5E bmi.s loc_56B2C movea.w $40(a3),a1 - move.b #-$64,$A(a1) + move.b #$9C,$A(a1) bra.s loc_56B54 ; --------------------------------------------------------------------------- @@ -115667,7 +115152,7 @@ loc_56B6C: move.b #-$A,4(a1) loc_56B88: - jsr sub_56D40(pc) + jsr LRZ1_Deform(pc) jsr (Reset_TileOffsetPositionEff).l clr.l (HScroll_table).w move.w d2,(HScroll_table+$006).w @@ -115718,7 +115203,7 @@ loc_56BD2: loc_56C28: jsr sub_56DCA(pc) - jsr sub_56D40(pc) + jsr LRZ1_Deform(pc) loc_56C30: lea LRZ1_BGDrawArray(pc),a4 @@ -115755,7 +115240,7 @@ loc_56C76: ; --------------------------------------------------------------------------- loc_56C88: - jsr sub_56D40(pc) + jsr LRZ1_Deform(pc) loc_56C8C: lea LRZ1_BGDrawArray(pc),a4 @@ -115796,7 +115281,7 @@ loc_56CAA: clr.w (Events_routine_bg).w loc_56D16: - jsr sub_56D40(pc) + jsr LRZ1_Deform(pc) lea LRZ1_BGDrawArray(pc),a4 lea (HScroll_table).w,a5 moveq #$20,d6 @@ -115810,7 +115295,7 @@ loc_56D16: ; =============== S U B R O U T I N E ======================================= -sub_56D40: +LRZ1_Deform: move.w (Camera_Y_pos_copy).w,d0 move.w (Screen_shake_offset).w,d1 sub.w d1,d0 @@ -115857,7 +115342,7 @@ loc_56D9E: add.l d0,d2 dbf d3,loc_56D9E rts -; End of function sub_56D40 +; End of function LRZ1_Deform ; =============== S U B R O U T I N E ======================================= @@ -115977,7 +115462,7 @@ loc_56E66: clr.w (Events_bg+$00).w move.w (Camera_X_pos_BG_copy).w,(Events_bg+$02).w move.w (Camera_Y_pos_BG_copy).w,(Events_bg+$04).w - jsr sub_56D40(pc) + jsr LRZ1_Deform(pc) jsr (Reset_TileOffsetPositionEff).l move.w d2,(HScroll_table+$006).w addi.w #$E0,d0 @@ -116293,8 +115778,8 @@ LRZ2_BGDeformArray: dc.w $10 dc.w $20 dc.w $7FFF -Map_LRZ2DeathEggBG: include "Levels/LRZ/Misc Object Data/Map - Act 2 BG Death Egg.asm" - +Map_LRZ2DeathEggBG: + include "Levels/LRZ/Misc Object Data/Map - Act 2 BG Death Egg.asm" ; --------------------------------------------------------------------------- SSZ1_ScreenInit: @@ -116797,26 +116282,16 @@ locret_57788: ; End of function sub_575EA ; --------------------------------------------------------------------------- -word_5778A: dc.w $EE0 - dc.w $D00 - dc.w $11E0 - dc.w $CC0 - dc.w $1340 - dc.w $B20 - dc.w $7FFF - dc.w 0 -word_5779A: dc.w $640 - dc.w $C60 - dc.w $880 - dc.w $CA0 - dc.w $1200 - dc.w $C60 - dc.w $1380 - dc.w $A80 - dc.w $13C0 - dc.w $660 - dc.w $7FFF - dc.w $3E0 +word_5778A: dc.w $EE0, $D00 + dc.w $11E0, $CC0 + dc.w $1340, $B20 + dc.w $7FFF, 0 +word_5779A: dc.w $640, $C60 + dc.w $880, $CA0 + dc.w $1200, $C60 + dc.w $1380, $A80 + dc.w $13C0, $660 + dc.w $7FFF, $3E0 word_577B2: dc.w $19C0 dc.w $20 dc.w $20 @@ -116832,9 +116307,8 @@ dword_577C6: dc.l 9 dc.l $3000C dc.l 9 dc.l $C0003 -Pal_SSZDeathEgg: binclude "Levels/SSZ/Palettes/Death Egg.bin" - even - +Pal_SSZDeathEgg:binclude "Levels/SSZ/Palettes/Death Egg.bin" + even ; --------------------------------------------------------------------------- SSZ1_BackgroundInit: @@ -117193,7 +116667,7 @@ loc_57BB2: move.b #$10,6(a0) move.b #$30,7(a0) move.w #0,8(a0) - move.w #-$1CF0,$A(a0) + move.w #$E310,$A(a0) move.l #Map_SSZRoamingClouds,$C(a0) move.w $38(a0),$1A(a0) jsr (Random_Number).l @@ -117225,10 +116699,10 @@ loc_57C28: move.w a1,$3C(a0) move.l #Obj_TeleporterBeamExpand,(a1) move.b #$44,4(a1) - move.b #-$80,6(a1) + move.b #$80,6(a1) move.b #$18,7(a1) move.w #$80,8(a1) - move.w #-$1CA4,$A(a1) + move.w #$E35C,$A(a1) move.l #Map_SSZHPZTeleporter,$C(a1) move.w $10(a0),$10(a1) move.w $14(a0),$14(a1) @@ -117409,8 +116883,8 @@ Obj_57E96: move.w (Level_frame_counter).w,d0 andi.w #$F,d0 bne.s loc_57EB0 - moveq #sfx_BigRumble,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BigRumble),d0 + jsr (Play_SFX).l loc_57EB0: moveq #0,d0 @@ -117448,8 +116922,8 @@ loc_57EDC: loc_57F02: move.l (a5)+,(a1)+ dbf d0,loc_57F02 - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l addq.b #4,5(a0) bra.w locret_57FBE ; --------------------------------------------------------------------------- @@ -117483,8 +116957,8 @@ loc_57F5E: addq.w #8,d0 andi.w #$F,d0 bne.s loc_57F7E - moveq #sfx_DeathEggRiseLoud,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_DeathEggRiseLoud),d0 + jsr (Play_SFX).l loc_57F7E: move.w #$500,d0 @@ -117637,8 +117111,8 @@ sub_5806E: move.w #-$680,$1A(a1) clr.w $12(a1) clr.w $16(a1) - moveq #sfx_Jump,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_580CC: @@ -117739,8 +117213,8 @@ loc_581D2: bne.s locret_581F0 subq.w #1,4(a2) bne.s locret_581F0 - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.w #$B00,d0 jmp (StartNewLevel).l ; --------------------------------------------------------------------------- @@ -117756,7 +117230,7 @@ loc_581F2: move.b #4,4(a0) move.b #$1C,6(a0) move.w #$80,8(a0) - move.w #-$3CB8,$A(a0) + move.w #$C348,$A(a0) move.l #Map_SSZCollapsingBridge,$C(a0) move.b #9,$22(a0) @@ -117773,7 +117247,7 @@ loc_58234: move.b #4,4(a0) move.b #$18,6(a0) move.w #$80,8(a0) - move.w #-$3D0C,$A(a0) + move.w #$C2F4,$A(a0) move.l #Map_SSZCollapsingBridge,$C(a0) move.b #6,$22(a0) @@ -117880,7 +117354,7 @@ loc_58360: move.b #4,4(a0) move.b #$1C,6(a0) move.w #$100,8(a0) - move.w #-$3CB8,$A(a0) + move.w #$C348,$A(a0) move.l #Map_SSZCollapsingBridge,$C(a0) move.b #$A,$22(a0) @@ -117920,8 +117394,8 @@ loc_583D2: move.w (Level_frame_counter).w,d0 andi.w #$F,d0 bne.s loc_583E4 - moveq #sfx_BigRumble,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BigRumble),d0 + jsr (Play_SFX).l loc_583E4: tst.w $30(a0) @@ -118141,10 +117615,9 @@ word_58758: dc.w $10, $30, $FE00, 1 dc.w $78, $B0, $E600, 1 dc.w $AC, $1C0, $B600, 2 dc.w $D8, $140, $CE00, 1 -Map_SSZRoamingClouds: include "Levels/SSZ/Misc Object Data/Map - Roaming Clouds.asm" - +Map_SSZRoamingClouds: + include "Levels/SSZ/Misc Object Data/Map - Roaming Clouds.asm" byte_587A8: dc.b $EF, $FA, $F9, $F8, $F7, $F6, $F5, $F4, $F3, $F2, $F1, $F0 - byte_587B4: dc.b 0, 2, 5, 7, 9, $B, $E, $10, $12, $15, $17, $19, $1B, $1E, $20, $22, $25, $27, $29, $2B dc.b $2E, $30, $32, $35, $37, $39, $3B, $3E, $40, $42, $45, $47, $49, $4B, $4E, $50, $52, $55, $57, $59 dc.b $5B, $5E, $60, $62, $65, $67, $69, $6B, $6E, $70, $72, $75, $77, $79, $7B, $7E, $80, $82, $85, $87 @@ -118349,8 +117822,8 @@ word_58894: dc.w $4000 dc.w $FFFD dc.w $FFFF dc.w $FFFF -Map_SSZSpiralRampPieces: include "Levels/SSZ/Misc Object Data/Map - Spiral Ramp Pieces.asm" - +Map_SSZSpiralRampPieces: + include "Levels/SSZ/Misc Object Data/Map - Spiral Ramp Pieces.asm" byte_58A3E: dc.b $1C dc.b 8 dc.b $10 @@ -118480,7 +117953,7 @@ loc_58B9E: movem.l (sp)+,d7-a0/a2-a3 cmpi.b #7,(Super_emerald_count).w bhs.s loc_58BBC - cmpi.b #7,(Emerald_count).w + cmpi.b #7,(Chaos_emerald_count).w blo.s loc_58C1A loc_58BBC: @@ -119044,7 +118517,7 @@ loc_590D6: loc_590E4: cmpi.b #7,(Super_emerald_count).w bhs.s loc_590F4 - cmpi.b #7,(Emerald_count).w + cmpi.b #7,(Chaos_emerald_count).w blo.s loc_59146 loc_590F4: @@ -119186,8 +118659,8 @@ loc_59246: loc_5926A: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Map_KnuxEndingIslandMask: include "General/Ending/Map - Knuckles Ending Island Mask.asm" - +Map_KnuxEndingIslandMask: + include "General/Ending/Map - Knuckles Ending Island Mask.asm" ; =============== S U B R O U T I N E ======================================= @@ -119214,8 +118687,8 @@ locret_592BC: ; End of function sub_5928C ; --------------------------------------------------------------------------- -Pal_EndingWater: binclude "General/Ending/Palettes/Water Cycle.bin" - even +Pal_EndingWater:binclude "General/Ending/Palettes/Water Cycle.bin" + even ; =============== S U B R O U T I N E ======================================= @@ -120384,7 +119857,7 @@ loc_59DF2: loc_59DF8: lea (H_scroll_buffer).w,a1 - lea (word_5077E).l,a5 + lea (AIZ2_SOZ1_LRZ3_FGDeformDelta).l,a5 lea (a5),a6 move.w (Camera_Y_pos_copy).w,d0 move.w (Level_frame_counter).w,d1 @@ -120747,7 +120220,7 @@ HPZ_ScreenEvent: bne.s loc_5A176 jsr (Create_New_Sprite).l bne.s loc_5A172 - move.l #Obj_B1_2,(a1) + move.l #Obj_HPZPaletteControl,(a1) loc_5A172: st (Events_bg+$00).w @@ -120969,8 +120442,7 @@ loc_5A388: ; End of function sub_5A334 ; --------------------------------------------------------------------------- -HPZ_BGDrawArray: - dc.w $200 +HPZ_BGDrawArray:dc.w $200 dc.w $7FFF HPZ_BGDeformArray: dc.w $198 @@ -121446,7 +120918,7 @@ Obj_5A872: move.b #$10,6(a0) move.b #$C,7(a0) move.w #$80,8(a0) - move.w #-$3FFF,$A(a0) + move.w #$C001,$A(a0) move.l #Map_DEZ3Blocks,$C(a0) move.w #$F0,$14(a0) move.w $10(a0),d0 @@ -121544,11 +121016,10 @@ locret_5A9AA: rts ; --------------------------------------------------------------------------- Map_DEZ3Blocks: include "Levels/DEZ/Misc Object Data/Map - Act 3 Blocks.asm" - ; --------------------------------------------------------------------------- HPZS_ScreenInit: - tst.b (Emerald_count).w + tst.b (Chaos_emerald_count).w beq.s loc_5AA14 move.b (Current_special_stage).w,d0 ori.b #$80,d0 @@ -121684,7 +121155,7 @@ loc_5AB66: loc_5AB6E: jsr sub_5AEEA(pc) - cmpi.b #7,(Emerald_count).w + cmpi.b #7,(Chaos_emerald_count).w blo.s loc_5AB96 moveq #0,d0 move.w (Events_bg+$06).w,d0 @@ -122232,8 +121703,7 @@ Ending_BGDeformArray2: dc.w $8080 dc.w $7FFF Pal_5B16E: binclude "General/Ending/Palettes/Sky.bin" - even - + even ; =============== S U B R O U T I N E ======================================= @@ -122651,7 +122121,7 @@ PLC_5B504: dc.w 0 dc.l ArtNem_S3EndingGraphics dc.w $8BA0 PLC_5B50C: dc.w 0 - dc.l ArtNem_Knux_Ending_Pose + dc.l ArtNem_KnuxEndPose dc.w $5820 ; =============== S U B R O U T I N E ======================================= @@ -122869,109 +122339,144 @@ off_5B6E6: dc.w byte_5B72E-off_5B6E6 dc.w byte_5B9A2-off_5B6E6 byte_5B72E: dc.b $F dc.b 7 - dc.b "EXECUTIVE PRODUCER",0,0 + dc.b "EXECUTIVE PRODUCER",0 + even byte_5B744: dc.b $11 dc.b $E - dc.b "HAYAO NAKAYAMA",0,0 + dc.b "HAYAO NAKAYAMA",0 + even byte_5B756: dc.b $21 dc.b $B - dc.b "PROJECT MANAGERS",0,0 + dc.b "PROJECT MANAGERS",0 + even byte_5B76A: dc.b $23 dc.b $10 - dc.b "HISASHI SUZUKI",0,0 + dc.b "HISASHI SUZUKI",0 + even byte_5B77C: dc.b $24 dc.b $E - dc.b "SHINOBU TOYODA",0,0 + dc.b "SHINOBU TOYODA",0 + even byte_5B78E: dc.b $25 dc.b $E dc.b "MASAHARU YOSHII",0 + even byte_5B7A0: dc.b $35 dc.b $19 - dc.b "PRODUCER",0,0 + dc.b "PRODUCER",0 + even byte_5B7AC: dc.b $37 dc.b $18 dc.b "YUJI NAKA",0 + even byte_5B7B8: dc.b $47 dc.b $1B - dc.b "DIRECTOR",0,0 + dc.b "DIRECTOR",0 + even byte_5B7C4: dc.b $49 dc.b 8 dc.b "HIROKAZU YASUHARA",0 + even byte_5B7D8: dc.b $59 dc.b 9 - dc.b "LEAD GAME DESIGNER",0,0 + dc.b "LEAD GAME DESIGNER",0 + even byte_5B7EE: dc.b $5B dc.b 8 dc.b "HIROKAZU YASUHARA",0 + even byte_5B802: dc.b $6B dc.b 3 dc.b "SENIOR GAME DESIGNERS",0 + even byte_5B81A: dc.b $6D dc.b $A dc.b "HISAYOSHI YOSHIDA",0 + even byte_5B82E: dc.b $6E dc.b $10 - dc.b "TAKASHI IIZUKA",0,0 + dc.b "TAKASHI IIZUKA",0 + even byte_5B840: dc.b $7E dc.b $B dc.b "LEAD PROGRAMMER",0 + even byte_5B852: dc.b $80 dc.b $18 dc.b "YUJI NAKA",0 + even byte_5B85E: dc.b $90 dc.b 7 - dc.b "SENIOR PROGRAMMERS",0,0 + dc.b "SENIOR PROGRAMMERS",0 + even byte_5B874: dc.b $92 dc.b $C dc.b "TAKAHIRO HAMANO",0 + even byte_5B886: dc.b $93 dc.b 8 dc.b "MASANOBU YAMAMOTO",0 + even byte_5B89A: dc.b $A3 dc.b 7 - dc.b "CHARACTER DESIGNER",0,0 + dc.b "CHARACTER DESIGNER",0 + even byte_5B8B0: dc.b $A5 dc.b 6 dc.b "TAKASHI THOMAS YUDA",0 + even byte_5B8C6: dc.b $B5 dc.b $17 dc.b "C.G. ARTIST",0 + even byte_5B8D4: dc.b $B7 dc.b $12 dc.b "KUNITAKE AOKI",0 + even byte_5B8E4: dc.b $C7 dc.b $13 - dc.b "ENEMY ARTIST",0,0 + dc.b "ENEMY ARTIST",0 + even byte_5B8F4: dc.b $C9 dc.b $A - dc.b "SATOSHI YOKOKAWA",0,0 + dc.b "SATOSHI YOKOKAWA",0 + even byte_5B908: dc.b $D9 dc.b $11 dc.b "SCENE ARTISTS",0 + even byte_5B918: dc.b $DB dc.b $12 dc.b "KUNITAKE AOKI",0 + even byte_5B928: dc.b $DC dc.b $14 - dc.b "CHIE YOSHIDA",0,0 + dc.b "CHIE YOSHIDA",0 + even byte_5B938: dc.b $DD dc.b $12 - dc.b "TSUNEKO AOKI",0,0 + dc.b "TSUNEKO AOKI",0 + even byte_5B948: dc.b $DE dc.b $10 dc.b "SHIGERU OKADA",0 + even byte_5B958: dc.b $DF dc.b 6 dc.b "TAKASHI THOMAS YUDA",0 + even byte_5B96E: dc.b $E0 dc.b $A - dc.b "SATOSHI YOKOKAWA",0,0 + dc.b "SATOSHI YOKOKAWA",0 + even byte_5B982: dc.b $F0 dc.b $11 dc.b "ART ASSISTANT",0 + even byte_5B992: dc.b $F2 dc.b $12 - dc.b "OSAMU OHASHI",0,0 + dc.b "OSAMU OHASHI",0 + even byte_5B9A2: dc.b $FF dc.b $F8 off_5B9A4: dc.w byte_5B9F6-off_5B9A4 @@ -123018,124 +122523,164 @@ off_5B9A4: dc.w byte_5B9F6-off_5B9A4 byte_5B9F6: dc.b 2 dc.b $D dc.b "MUSIC COMPOSERS",0 + even byte_5BA08: dc.b 4 dc.b $E - dc.b "HOWARD DROSSIN",0,0 + dc.b "HOWARD DROSSIN",0 + even byte_5BA1A: dc.b $14 dc.b $D dc.b "SEGA SOUND TEAM",0 + even byte_5BA2C: dc.b $16 dc.b $24 - dc.b "BO",0,0 + dc.b "BO",0 + even byte_5BA32: dc.b $17 dc.b $12 - dc.b "SACHIO OGAWA",0,0 + dc.b "SACHIO OGAWA",0 + even byte_5BA42: dc.b $18 dc.b $20 dc.b "MILPO",0 + even byte_5BA4A: dc.b $19 dc.b $A - dc.b "MASARU SETSUMARU",0,0 + dc.b "MASARU SETSUMARU",0 + even byte_5BA5E: dc.b $1A dc.b $C dc.b "TATSUYUKI MAEDA",0 + even byte_5BA70: dc.b $1B dc.b $C dc.b "TOMONORI SAWADA",0 + even byte_5BA82: dc.b $1C dc.b $E - dc.b "MASAYUKI NAGAO",0,0 + dc.b "MASAYUKI NAGAO",0 + even byte_5BA94: dc.b $1D dc.b $16 - dc.b "JUN SENOUE",0,0 + dc.b "JUN SENOUE",0 + even byte_5BAA2: dc.b $2D dc.b 3 - dc.b "EXECUTIVE MANAGEMENT",0,0 + dc.b "EXECUTIVE MANAGEMENT",0 + even byte_5BABA: dc.b $2F dc.b 6 dc.b $53 dc.b "HOUICHIROU IRIMAJIRI",0 + even byte_5BAD2: dc.b $30 dc.b $12 - dc.b "TOM KALINSKE",0,0 + dc.b "TOM KALINSKE",0 + even byte_5BAE2: dc.b $31 dc.b $16 - dc.b "PAUL RIOUX",0,0 + dc.b "PAUL RIOUX",0 + even byte_5BAF0: dc.b $41 dc.b $D dc.b "PRODUCT MANAGER",0 + even byte_5BB02: dc.b $43 dc.b $12 - dc.b "PAMELA KELLY",0,0 + dc.b "PAMELA KELLY",0 + even byte_5BB12: dc.b $53 dc.b 3 dc.b "EXECUTIVE COORDINATOR",0 + even byte_5BB2A: dc.b $55 dc.b $E - dc.b "MAMORU SHIGETA",0,0 + dc.b "MAMORU SHIGETA",0 + even byte_5BB3C: dc.b $56 dc.b $14 - dc.b "TOMIO TAKAMI",0,0 + dc.b "TOMIO TAKAMI",0 + even byte_5BB4C: dc.b $57 dc.b $A dc.b "DIANE A. FORNASIER ",0 + even byte_5BB62: dc.b $58 dc.b $12 - dc.b "ROGER HECTOR",0,0 + dc.b "ROGER HECTOR",0 + even byte_5BB72: dc.b $59 dc.b 4 dc.b "TAKAHARU UTSUNOMIYA",0 + even byte_5BB88: dc.b $69 dc.b $1B dc.b "TESTERS",0 + even byte_5BB92: dc.b $6B dc.b $16 dc.b "JASON KUO",0 + even byte_5BB9E: dc.b $6C dc.b $16 - dc.b "RICK GREER",0,0 + dc.b "RICK GREER",0 + even byte_5BBAC: dc.b $6D dc.b $12 dc.b "MIKE WILLIAMS",0 + even byte_5BBBC: dc.b $7D dc.b 5 - dc.b "SOUND SPECIAL THANKS",0,0 + dc.b "SOUND SPECIAL THANKS",0 + even byte_5BBD4: dc.b $7F dc.b $16 - dc.b "CUBE CORP.",0,0 + dc.b "CUBE CORP.",0 + even byte_5BBE2: dc.b $80 dc.b $16 - dc.b "OPUS CORP.",0,0 + dc.b "OPUS CORP.",0 + even byte_5BBF0: dc.b $81 dc.b 8 dc.b "MASANORI NAKAYAMA",0 + even byte_5BC04: dc.b $82 dc.b $14 - dc.b "(STUDIO WHO)",0,0 + dc.b "(STUDIO WHO)",0 + even byte_5BC14: dc.b $92 dc.b $F - dc.b "SPECIAL THANKS",0,0 + dc.b "SPECIAL THANKS",0 + even byte_5BC26: dc.b $94 dc.b $10 dc.b "JINA ISHIWATARI",0 + even byte_5BC38: dc.b $95 dc.b $12 - dc.b "EMI KAWAMURA",0,0 + dc.b "EMI KAWAMURA",0 + even byte_5BC48: dc.b $96 dc.b 8 dc.b "DEBORAH MCCRACKEN",0 + even byte_5BC5C: dc.b $97 dc.b $14 dc.b "TAKU MAKINO",0 + even byte_5BC6A: dc.b $AB dc.b $13 - dc.b "PRESENTED BY",0,0 + dc.b "PRESENTED BY",0 + even byte_5BC7A: dc.b $AD dc.b $20 - dc.b "SEGA",0,0 + dc.b "SEGA",0 + even byte_5BC82: dc.b $BD dc.b $20 - dc.b " ",0,0 + dc.b " ",0 + even byte_5BC88: dc.b $FF dc.b $F4 off_5BC8A: dc.w byte_5BCD2-off_5BC8A @@ -123176,109 +122721,144 @@ off_5BC8A: dc.w byte_5BCD2-off_5BC8A dc.w byte_5BF46-off_5BC8A byte_5BCD2: dc.b $F dc.b 7 - dc.b "EXECUTIVE PRODUCER",0,0 + dc.b "EXECUTIVE PRODUCER",0 + even byte_5BCE8: dc.b $11 dc.b $E - dc.b "HAYAO NAKAYAMA",0,0 + dc.b "HAYAO NAKAYAMA",0 + even byte_5BCFA: dc.b $21 dc.b $B - dc.b "PROJECT MANAGERS",0,0 + dc.b "PROJECT MANAGERS",0 + even byte_5BD0E: dc.b $23 dc.b $10 - dc.b "HISASHI SUZUKI",0,0 + dc.b "HISASHI SUZUKI",0 + even byte_5BD20: dc.b $24 dc.b $E - dc.b "SHINOBU TOYODA",0,0 + dc.b "SHINOBU TOYODA",0 + even byte_5BD32: dc.b $25 dc.b $E dc.b "MASAHARU YOSHII",0 + even byte_5BD44: dc.b $35 dc.b $19 - dc.b "PRODUCER",0,0 + dc.b "PRODUCER",0 + even byte_5BD50: dc.b $37 dc.b $18 dc.b "YUJI NAKA",0 + even byte_5BD5C: dc.b $47 dc.b $1B - dc.b "DIRECTOR",0,0 + dc.b "DIRECTOR",0 + even byte_5BD68: dc.b $49 dc.b 8 dc.b "HIROKAZU YASUHARA",0 + even byte_5BD7C: dc.b $59 dc.b 9 - dc.b "LEAD GAME DESIGNER",0,0 + dc.b "LEAD GAME DESIGNER",0 + even byte_5BD92: dc.b $5B dc.b 8 dc.b "HIROKAZU YASUHARA",0 + even byte_5BDA6: dc.b $6B dc.b 3 dc.b "SENIOR GAME DESIGNERS",0 + even byte_5BDBE: dc.b $6D dc.b $A dc.b "HISAYOSHI YOSHIDA",0 + even byte_5BDD2: dc.b $6E dc.b $10 - dc.b "TAKASHI IIZUKA",0,0 + dc.b "TAKASHI IIZUKA",0 + even byte_5BDE4: dc.b $7E dc.b $B dc.b "LEAD PROGRAMMER",0 + even byte_5BDF6: dc.b $80 dc.b $18 dc.b "YUJI NAKA",0 + even byte_5BE02: dc.b $90 dc.b 7 - dc.b "SENIOR PROGRAMMERS",0,0 + dc.b "SENIOR PROGRAMMERS",0 + even byte_5BE18: dc.b $92 dc.b $C dc.b "TAKAHIRO HAMANO",0 + even byte_5BE2A: dc.b $93 dc.b 8 dc.b "MASANOBU YAMAMOTO",0 + even byte_5BE3E: dc.b $A3 dc.b 7 - dc.b "CHARACTER DESIGNER",0,0 + dc.b "CHARACTER DESIGNER",0 + even byte_5BE54: dc.b $A5 dc.b 6 dc.b "TAKASHI THOMAS YUDA",0 + even byte_5BE6A: dc.b $B5 dc.b $17 dc.b "C.G. ARTIST",0 + even byte_5BE78: dc.b $B7 dc.b $12 dc.b "KUNITAKE AOKI",0 + even byte_5BE88: dc.b $C7 dc.b $13 - dc.b "ENEMY ARTIST",0,0 + dc.b "ENEMY ARTIST",0 + even byte_5BE98: dc.b $C9 dc.b $A - dc.b "SATOSHI YOKOKAWA",0,0 + dc.b "SATOSHI YOKOKAWA",0 + even byte_5BEAC: dc.b $D9 dc.b $11 dc.b "SCENE ARTISTS",0 + even byte_5BEBC: dc.b $DB dc.b $12 dc.b "KUNITAKE AOKI",0 + even byte_5BECC: dc.b $DC dc.b $14 - dc.b "CHIE YOSHIDA",0,0 + dc.b "CHIE YOSHIDA",0 + even byte_5BEDC: dc.b $DD dc.b $12 - dc.b "TSUNEKO AOKI",0,0 + dc.b "TSUNEKO AOKI",0 + even byte_5BEEC: dc.b $DE dc.b $10 dc.b "SHIGERU OKADA",0 + even byte_5BEFC: dc.b $DF dc.b 6 dc.b "TAKASHI THOMAS YUDA",0 + even byte_5BF12: dc.b $E0 dc.b $A - dc.b "SATOSHI YOKOKAWA",0,0 + dc.b "SATOSHI YOKOKAWA",0 + even byte_5BF26: dc.b $F0 dc.b $11 dc.b "ART ASSISTANT",0 + even byte_5BF36: dc.b $F2 dc.b $12 - dc.b "OSAMU OHASHI",0,0 + dc.b "OSAMU OHASHI",0 + even byte_5BF46: dc.b $FF dc.b $F8 off_5BF48: dc.w byte_5BFAE-off_5BF48 @@ -123335,153 +122915,203 @@ off_5BF48: dc.w byte_5BFAE-off_5BF48 byte_5BFAE: dc.b 2 dc.b $D dc.b "MUSIC COMPOSERS",0 + even byte_5BFC0: dc.b 4 dc.b $16 - dc.b "BRAD BUXER",0,0 + dc.b "BRAD BUXER",0 + even byte_5BFCE: dc.b 5 dc.b $12 - dc.b "BOBBY BROOKS",0,0 + dc.b "BOBBY BROOKS",0 + even byte_5BFDE: dc.b 6 dc.b $14 dc.b "DARRYL ROSS",0 + even byte_5BFEC: dc.b 7 dc.b $14 dc.b "GEOFF GRACE",0 + even byte_5BFFA: dc.b 8 dc.b $E - dc.b "DOUG GRIGSBY III",0,0 + dc.b "DOUG GRIGSBY III",0 + even byte_5C00E: dc.b 9 dc.b $1A - dc.b "SCIROCCO",0,0 + dc.b "SCIROCCO",0 + even byte_5C01A: dc.b $A dc.b $E - dc.b "HOWARD DROSSIN",0,0 + dc.b "HOWARD DROSSIN",0 + even byte_5C02C: dc.b $1A dc.b $D dc.b "SEGA SOUND TEAM",0 + even byte_5C03E: dc.b $1C dc.b $24 - dc.b "BO",0,0 + dc.b "BO",0 + even byte_5C044: dc.b $1D dc.b $12 - dc.b "SACHIO OGAWA",0,0 + dc.b "SACHIO OGAWA",0 + even byte_5C054: dc.b $1E dc.b $20 dc.b "MILPO",0 + even byte_5C05C: dc.b $1F dc.b $A - dc.b "MASARU SETSUMARU",0,0 + dc.b "MASARU SETSUMARU",0 + even byte_5C070: dc.b $20 dc.b $C dc.b "TATSUYUKI MAEDA",0 + even byte_5C082: dc.b $21 dc.b $C dc.b "TOMONORI SAWADA",0 + even byte_5C094: dc.b $22 dc.b $E - dc.b "MASAYUKI NAGAO",0,0 + dc.b "MASAYUKI NAGAO",0 + even byte_5C0A6: dc.b $23 dc.b $16 - dc.b "JUN SENOUE",0,0 + dc.b "JUN SENOUE",0 + even byte_5C0B4: dc.b $33 dc.b 9 dc.b "SOUND COORDINATOR",0 + even byte_5C0C8: dc.b $35 dc.b $14 dc.b "HISAKI NIMIYA",0 + even byte_5C0D8: dc.b $45 dc.b 3 - dc.b "EXECUTIVE MANAGEMENT",0,0 + dc.b "EXECUTIVE MANAGEMENT",0 + even byte_5C0F0: dc.b $47 dc.b 6 dc.b "SHOUICHIROU IRIMAJIRI",0 + even byte_5C108: dc.b $48 dc.b $12 - dc.b "TOM KALINSKE",0,0 + dc.b "TOM KALINSKE",0 + even byte_5C118: dc.b $49 dc.b $16 - dc.b "PAUL RIOUX",0,0 + dc.b "PAUL RIOUX",0 + even byte_5C126: dc.b $59 dc.b $D dc.b "PRODUCT MANAGER",0 + even byte_5C138: dc.b $5B dc.b $12 - dc.b "PAMELA KELLY",0,0 + dc.b "PAMELA KELLY",0 + even byte_5C148: dc.b $6B dc.b 3 dc.b "EXECUTIVE COORDINATOR",0 + even byte_5C160: dc.b $6D dc.b $E - dc.b "MAMORU SHIGETA",0,0 + dc.b "MAMORU SHIGETA",0 + even byte_5C172: dc.b $6E dc.b $14 - dc.b "TOMIO TAKAMI",0,0 + dc.b "TOMIO TAKAMI",0 + even byte_5C182: dc.b $6F dc.b $A dc.b "DIANE A. FORNASIER ",0 + even byte_5C198: dc.b $70 dc.b $12 - dc.b "ROGER HECTOR",0,0 + dc.b "ROGER HECTOR",0 + even byte_5C1A8: dc.b $71 dc.b 4 dc.b "TAKAHARU UTSUNOMIYA",0 + even byte_5C1BE: dc.b $81 dc.b $1B dc.b "TESTERS",0 + even byte_5C1C8: dc.b $83 dc.b $16 dc.b "JASON KUO",0 + even byte_5C1D4: dc.b $84 dc.b $16 - dc.b "RICK GREER",0,0 + dc.b "RICK GREER",0 + even byte_5C1E2: dc.b $85 dc.b $12 dc.b "MIKE WILLIAMS",0 + even byte_5C1F2: dc.b $95 dc.b 5 - dc.b "SOUND SPECIAL THANKS",0,0 + dc.b "SOUND SPECIAL THANKS",0 + even byte_5C20A: dc.b $97 dc.b 6 - dc.b "MAYUMI NINA SAKAZAKI",0,0 + dc.b "MAYUMI NINA SAKAZAKI",0 + even byte_5C222: dc.b $98 dc.b $20 dc.b "(MRM)",0 + even byte_5C22A: dc.b $99 dc.b $16 - dc.b "CUBE CORP.",0,0 + dc.b "CUBE CORP.",0 + even byte_5C238: dc.b $9A dc.b $16 - dc.b "OPUS CORP.",0,0 + dc.b "OPUS CORP.",0 + even byte_5C246: dc.b $9B dc.b 8 dc.b "MASANORI NAKAYAMA",0 + even byte_5C25A: dc.b $9C dc.b $14 - dc.b "(STUDIO WHO)",0,0 + dc.b "(STUDIO WHO)",0 + even byte_5C26A: dc.b $AC dc.b $F - dc.b "SPECIAL THANKS",0,0 + dc.b "SPECIAL THANKS",0 + even byte_5C27C: dc.b $AE dc.b $10 dc.b "JINA ISHIWATARI",0 + even byte_5C28E: dc.b $AF dc.b $12 - dc.b "EMI KAWAMURA",0,0 + dc.b "EMI KAWAMURA",0 + even byte_5C29E: dc.b $B0 dc.b 8 dc.b "DEBORAH MCCRACKEN",0 + even byte_5C2B2: dc.b $B1 dc.b $14 dc.b "TAKU MAKINO",0 + even byte_5C2C0: dc.b $C5 dc.b $13 - dc.b "PRESENTED BY",0,0 + dc.b "PRESENTED BY",0 + even byte_5C2D0: dc.b $C7 dc.b $20 - dc.b "SEGA",0,0 + dc.b "SEGA",0 + even byte_5C2D8: dc.b $D7 dc.b $20 - dc.b " ",0,0 + dc.b " ",0 + even byte_5C2DE: dc.b $FF dc.b $F4 ; --------------------------------------------------------------------------- @@ -123569,8 +123199,8 @@ loc_5C3FE: move.w (VDP_reg_1_command).w,d0 ori.b #$40,d0 move.w d0,(VDP_control_port).l - moveq #mus_Continue,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_Continue),d0 + jsr (Play_Music).l jsr (Pal_FadeFromBlack).l loc_5C454: @@ -124207,13 +123837,15 @@ loc_5CB7E: ; End of function sub_5CB6A ; --------------------------------------------------------------------------- -ChildObjDat_5CB88:dc.w 0 +ChildObjDat_5CB88: + dc.w 0 dc.l Obj_5CA78 off_5CB8E: dc.l byte_5CBAE dc.l byte_5CBAE dc.l byte_5CBB0 dc.l byte_5CBB2 aCONTINUE: dc.b "C O N T I N U E",0 + even byte_5CBAE: dc.b 0 dc.b 1 byte_5CBB0: dc.b 2 @@ -124242,23 +123874,22 @@ byte_5CBC5: dc.b $B dc.b $BE dc.b $FF dc.b $FC -Pal_ContinueScreen: binclude "General/Sprites/Continue/Palette.bin" - even - -Map_ContinueSprites: include "General/Sprites/Continue/Map - Player Sprites.asm" - -Map_ContinueIcons: include "General/Sprites/Continue/Map - Player Icons.asm" - -ArtNem_ContinueSprites:binclude "General/Sprites/Continue/Player Sprites.bin" - even - -ArtNem_ContinueIcons:binclude "General/Sprites/Continue/Player Icons.bin" - even - -ArtNem_ContinueDigits: binclude "General/Sprites/Continue/Digits.bin" - even - - +Pal_ContinueScreen: + binclude "General/Sprites/Continue/Palette.bin" + even +Map_ContinueSprites: + include "General/Sprites/Continue/Map - Player Sprites.asm" +Map_ContinueIcons: + include "General/Sprites/Continue/Map - Player Icons.asm" +ArtNem_ContinueSprites: + binclude "General/Sprites/Continue/Player Sprites.bin" + even +ArtNem_ContinueIcons: + binclude "General/Sprites/Continue/Player Icons.bin" + even +ArtNem_ContinueDigits: + binclude "General/Sprites/Continue/Digits.bin" + even ; --------------------------------------------------------------------------- S3Credits: @@ -124325,7 +123956,7 @@ loc_5D8BC: bsr.w sub_5FC8E jsr (Create_New_Sprite).l bne.s loc_5D940 - move.l #Obj_5FDD4,(a1) + move.l #Obj_Ending_RevertSuperSonic,(a1) loc_5D940: bra.w loc_5D95C @@ -124368,7 +123999,7 @@ loc_5D96A: loc_5D9B8: move.l (a1)+,(a2)+ dbf d6,loc_5D9B8 - lea (ArtKosM_HPZMasterEmerald).l,a1 + lea (ArtKosM_EndingMasterEmerald).l,a1 move.w #-$5A40,d2 jsr (Queue_Kos_Module).l lea (ArtKosM_SonicPlane).l,a1 @@ -124609,7 +124240,7 @@ loc_5DCA6: jsr (MoveSprite2).l cmpi.w #$140,$10(a0) blo.s loc_5DCC4 - lea word_60253(pc),a1 + lea AniRaw_60253(pc),a1 jsr (Animate_RawNoSSTMultiDelay).l loc_5DCC4: @@ -124731,8 +124362,8 @@ loc_5DE36: blo.w locret_5FF1A loc_5DE46: - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l clr.b (_unkFAC1).w clr.b (_unkFAB8).w st (Events_fg_4).w @@ -124762,7 +124393,7 @@ loc_5DE80: move.b #2,$22(a0) tst.b $2C(a0) bne.s loc_5DEC6 - move.w #-$3AD2,$A(a0) + move.w #$C52E,$A(a0) move.w #$280,8(a0) tst.b (_unkFA88).w bpl.s locret_5DEC4 @@ -124904,8 +124535,8 @@ Obj_5DFEE: move.w #$B0,$14(a0) move.w #-$100,$18(a0) bsr.w sub_6001E - moveq #mus_CreditsK,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_CreditsK),d0 + jsr (Play_Music).l lea ChildObjDat_601CA(pc),a2 jsr (CreateChild6_Simple).l lea ChildObjDat_601D0(pc),a2 @@ -124965,7 +124596,7 @@ off_5E0F0: dc.w loc_5E0F8-off_5E0F0 loc_5E0F8: move.b #2,5(a0) move.l #Map_Knuckles,$C(a0) - move.w #-$7B26,$A(a0) + move.w #$84DA,$A(a0) move.w #$180,8(a0) move.b #7,$22(a0) move.w #$1E0,$10(a0) @@ -125040,8 +124671,8 @@ loc_5E1C2: jsr (Swing_Setup1).l cmpi.b #2,(_unkFA88).w beq.s loc_5E1F0 - moveq #mus_CreditsK,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_CreditsK),d0 + jsr (Play_Music).l loc_5E1F0: lea (Player_1).w,a1 @@ -125119,13 +124750,13 @@ loc_5E2C2: moveq #8,d0 loc_5E316: - move.w d0,(Target_camera_max_X_pos).w + move.w d0,(Camera_stored_max_X_pos).w movea.l off_5E328(pc,d0.w),a1 move.w #$68E0,d2 jmp (Queue_Kos_Module).l ; --------------------------------------------------------------------------- off_5E328: dc.l ArtKosM_TailsEndPose - dc.l ArtKosM_NormalSonicEndPose + dc.l ArtKosM_SonicEndPose dc.l ArtKosM_SuperSonicEndPose ; --------------------------------------------------------------------------- @@ -125145,7 +124776,7 @@ loc_5E334: move.b #3,$22(a0) loc_5E37A: - move.w (Target_camera_max_X_pos).w,d0 + move.w (Camera_stored_max_X_pos).w,d0 movea.l off_5E3B4(pc,d0.w),a1 lea (Normal_palette_line_3).w,a2 moveq #7,d0 @@ -125163,7 +124794,7 @@ loc_5E39E: move.b #$A,5(a0) move.b #1,(Update_HUD_timer).w clr.w (Palette_frame).w - jmp (loc_8648C).l + jmp (Ending_Give_SuperSonic).l ; --------------------------------------------------------------------------- off_5E3B4: dc.l Pal_TailsEndPose dc.l Pal_SonicEndPose @@ -125312,7 +124943,7 @@ word_5E554: dc.w $170, $B0 loc_5E568: btst #3,(_unkFAB8).w bne.w loc_5EC36 - lea byte_602A1(pc),a1 + lea AniRaw_602A1(pc),a1 jsr (Animate_RawNoSST).l subq.w #1,$2E(a0) bpl.s loc_5E58E @@ -125328,7 +124959,7 @@ loc_5E594: bne.w loc_5EC36 jsr (Swing_UpAndDown).l jsr (MoveSprite2).l - lea byte_602A1(pc),a1 + lea AniRaw_602A1(pc),a1 jsr (Animate_RawNoSST).l move.w $3A(a0),d0 sub.w $10(a0),d0 @@ -125457,15 +125088,15 @@ loc_5E70E: move.w d0,$14(a0) lea ChildObjDat_601BA(pc),a2 jsr (CreateChild1_Normal).l - move.l #byte_60236,$30(a0) + move.l #AniRaw_60236,$30(a0) bsr.w sub_5FE82 tst.b (_unkFA88).w bmi.s loc_5E7C0 move.b #4,$22(a0) - move.l #byte_6023F,$30(a0) + move.l #AniRaw_6023F,$30(a0) lea ChildObjDat_601B2(pc),a2 jsr (CreateChild1_Normal).l - lea (ArtKosM_HPZMasterEmerald).l,a1 + lea (ArtKosM_EndingMasterEmerald).l,a1 move.w #-$5A40,d2 jsr (Queue_Kos_Module).l tst.b (_unkFA88).w @@ -125497,14 +125128,14 @@ loc_5E7CC: ; --------------------------------------------------------------------------- loc_5E80A: - moveq #sfx_WindQuiet,d0 - jsr (sub_85E52).l + moveq #signextendB(sfx_WindQuiet),d0 + jsr (Play_SFX_Continuous).l jsr (Animate_RawMultiDelay).l subq.w #1,$2E(a0) bpl.s locret_5E830 move.b #4,5(a0) move.w #-$6C0,$1A(a0) - jsr (Obj_PlayLevelMusic).l + jsr (Restore_LevelMusic).l locret_5E830: rts @@ -125520,7 +125151,7 @@ loc_5E832: move.w #$B3,$2E(a0) tst.b (_unkFA88).w bmi.s locret_5E868 - lea (word_60244).l,a1 + lea (AniRaw_60244).l,a1 jsr (Set_Raw_Animation).l locret_5E868: @@ -125550,7 +125181,7 @@ loc_5E890: bhi.w locret_5FF1A move.b #$A,5(a0) move.l #Map_SonicPlaneEnding,$C(a0) - move.w #-$7D92,$A(a0) + move.w #$826E,$A(a0) move.b #1,$22(a0) bset #0,4(a0) bset #7,$2A(a0) @@ -125559,7 +125190,7 @@ loc_5E890: move.w d0,$14(a0) move.w #-$200,$18(a0) bsr.w sub_6001E - lea word_60253(pc),a1 + lea AniRaw_60253(pc),a1 jsr (Set_Raw_Animation).l lea ChildObjDat_601D8(pc),a2 jsr (CreateChild1_Normal).l @@ -125776,21 +125407,21 @@ off_5EB6A: dc.w loc_5EB72-off_5EB6A loc_5EB72: move.l #Map_SonicPlane,$C(a0) - move.w #-$7E1D,$A(a0) + move.w #$81E3,$A(a0) move.b #$C,$22(a0) rts ; --------------------------------------------------------------------------- loc_5EB88: move.l #Map_SonicPlaneEnding,$C(a0) - move.w #-$7D92,$A(a0) + move.w #$826E,$A(a0) move.b #$B,$22(a0) rts ; --------------------------------------------------------------------------- loc_5EB9E: move.l #Map_SonicPlaneEnding,$C(a0) - move.w #-$7D92,$A(a0) + move.w #$826E,$A(a0) move.b #$12,$22(a0) rts ; --------------------------------------------------------------------------- @@ -125915,10 +125546,14 @@ loc_5ECFC: addq.b #1,d0 loc_5ED06: - move.b RawAni_5ED0E(pc,d0.w),$22(a0) + move.b byte_5ED0E(pc,d0.w),$22(a0) rts ; --------------------------------------------------------------------------- -RawAni_5ED0E: dc.b $C, $E, $C, $E, $D, $F, $13, $14, $13, $15 +byte_5ED0E: dc.b $C, $E + dc.b $C, $E + dc.b $D, $F + dc.b $13, $14 + dc.b $13, $15 ; --------------------------------------------------------------------------- loc_5ED18: @@ -126019,7 +125654,7 @@ locret_5EE3A: loc_5EE3C: move.l #loc_5EF5C,(a0) move.b #$1A,$22(a0) - move.l #byte_60281,$30(a0) + move.l #AniRaw_60281,$30(a0) tst.b $2D(a0) beq.s locret_5EE5C move.b #$18,$24(a0) @@ -126031,7 +125666,7 @@ locret_5EE5C: loc_5EE5E: move.l #loc_5EF5C,(a0) move.b #$1A,$22(a0) - move.l #byte_60289,$30(a0) + move.l #AniRaw_60289,$30(a0) tst.b $2C(a0) cmpi.b #8,$2D(a0) blo.s locret_5EE84 @@ -126057,9 +125692,9 @@ loc_5EE86: locret_5EEB6: rts ; --------------------------------------------------------------------------- -off_5EEB8: dc.l byte_6028F - dc.l byte_60295 - dc.l byte_6029B +off_5EEB8: dc.l AniRaw_6028F + dc.l AniRaw_60295 + dc.l AniRaw_6029B ; --------------------------------------------------------------------------- loc_5EEC4: @@ -126087,7 +125722,7 @@ loc_5EF08: jsr (MoveSprite2).l loc_5EF0E: - lea byte_60276(pc),a1 + lea AniRaw_60276(pc),a1 jsr (Animate_RawNoSST).l btst #0,(V_int_run_count+3).w bne.w locret_5FF1A @@ -126095,7 +125730,7 @@ loc_5EF0E: ; --------------------------------------------------------------------------- loc_5EF28: - lea byte_6027C(pc),a1 + lea AniRaw_6027C(pc),a1 jsr (Animate_RawNoSST).l cmpi.w #3,(Player_mode).w beq.s loc_5EF3E @@ -126502,23 +126137,19 @@ loc_5F346: locret_5F36C: rts ; --------------------------------------------------------------------------- -byte_5F36E: dc.b 0 - dc.b $40 - dc.b 0 - dc.b $40 - dc.b $E4 - dc.b $2C - dc.b $E4 - dc.b $2C +byte_5F36E: dc.b 0, $40 + dc.b 0, $40 + dc.b $E4, $2C + dc.b $E4, $2C ; --------------------------------------------------------------------------- loc_5F376: - lea byte_6025C(pc),a1 + lea AniRaw_6025C(pc),a1 jsr (Animate_RawNoSST).l btst #2,(_unkFAB8).w beq.s loc_5F398 move.l #loc_5F39E,(a0) - lea byte_60260(pc),a1 + lea AniRaw_60260(pc),a1 jsr (Set_Raw_Animation).l loc_5F398: @@ -126540,18 +126171,14 @@ loc_5F3AA: lea ChildObjDat_60204(pc),a2 jmp (CreateChild1_Normal).l ; --------------------------------------------------------------------------- -byte_5F3D2: dc.b $24 - dc.b $2C - dc.b $24 - dc.b $2C - dc.b 8 - dc.b $40 - dc.b $24 - dc.b $2C +byte_5F3D2: dc.b $24, $2C + dc.b $24, $2C + dc.b 8, $40 + dc.b $24, $2C ; --------------------------------------------------------------------------- loc_5F3DA: - lea byte_6026B(pc),a1 + lea AniRaw_6026B(pc),a1 jsr (Animate_RawNoSST).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -126563,7 +126190,7 @@ loc_5F3EA: move.l #loc_5F400,(a0) loc_5F400: - lea byte_6026F(pc),a1 + lea AniRaw_6026F(pc),a1 jsr (Animate_RawNoSST).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -126592,14 +126219,10 @@ loc_5F43A: locret_5F460: rts ; --------------------------------------------------------------------------- -byte_5F462: dc.b $E4 - dc.b $2C - dc.b $E4 - dc.b $2C - dc.b $1C - dc.b $2C - dc.b 0 - dc.b $40 +byte_5F462: dc.b $E4, $2C + dc.b $E4, $2C + dc.b $1C, $2C + dc.b 0, $40 ; --------------------------------------------------------------------------- loc_5F46A: @@ -126618,7 +126241,7 @@ loc_5F480: move.b #$40,6(a0) move.w #$120,$10(a0) move.w #$108,$14(a0) - move.l #word_602CA,$30(a0) + move.l #AniRaw_602CA,$30(a0) lea (Pal_KnuxEndPose).l,a1 lea (Normal_palette).w,a2 moveq #7,d6 @@ -126654,12 +126277,9 @@ loc_5F4FA: lea byte_5F520(pc),a1 bra.w loc_5FFD4 ; --------------------------------------------------------------------------- -byte_5F520: dc.b $48 - dc.b 8 - dc.b $34 - dc.b $F0 - dc.b $48 - dc.b $CC +byte_5F520: dc.b $48, 8 + dc.b $34, $F0 + dc.b $48, $CC ; --------------------------------------------------------------------------- loc_5F526: @@ -126706,7 +126326,7 @@ loc_5F59A: ; --------------------------------------------------------------------------- loc_5F5B4: - lea byte_602C6(pc),a1 + lea AniRaw_602C6(pc),a1 jsr (Animate_RawNoSST).l bra.w loc_5F2F8 ; --------------------------------------------------------------------------- @@ -126777,7 +126397,7 @@ locret_5F680: ; --------------------------------------------------------------------------- loc_5F682: - lea byte_602C2(pc),a1 + lea AniRaw_602C2(pc),a1 jsr (Animate_RawNoSST).l bra.w loc_5F2F8 ; --------------------------------------------------------------------------- @@ -126808,7 +126428,7 @@ locret_5F6D8: ; --------------------------------------------------------------------------- loc_5F6DA: - lea byte_602A7(pc),a1 + lea AniRaw_602A7(pc),a1 jsr (Animate_RawNoSSTMultiDelay).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -126837,7 +126457,7 @@ loc_5F71E: move.b 5(a0),d0 move.w off_5F73E(pc,d0.w),d1 jsr off_5F73E(pc,d1.w) - lea (DPLCPtr_7D4D6).l,a2 + lea (DPLCPtr_MechaSonic).l,a2 jsr (Perform_DPLC).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -126941,8 +126561,8 @@ loc_5F85A: move.b #$C,5(a0) move.w #$CC,$14(a0) move.l #loc_5F89A,$34(a0) - moveq #sfx_MetalLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MechaLand),d0 + jsr (Play_SFX).l lea (byte_7D5AB).l,a1 jmp (Set_Raw_Animation).l ; --------------------------------------------------------------------------- @@ -126997,7 +126617,7 @@ loc_5F8FA: move.w #Target_palette,$32(a1) loc_5F92E: - lea (ArtKosM_HPZMasterEmerald).l,a1 + lea (ArtKosM_EndingMasterEmerald).l,a1 move.w #-$5A40,d2 jmp (Queue_Kos_Module).l ; --------------------------------------------------------------------------- @@ -127213,7 +126833,7 @@ Obj_Difficulty_Eggman: ; --------------------------------------------------------------------------- loc_5FB90: - lea byte_602C6(pc),a1 + lea AniRaw_602C6(pc),a1 jsr (Animate_RawNoSST).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -127241,9 +126861,9 @@ loc_5FBCE: locret_5FBE0: rts ; --------------------------------------------------------------------------- -Pal_KnuxEndPoseSuper: binclude "General/Ending/Palettes/Super Knuckles End Pose.bin" - even - +Pal_KnuxEndPoseSuper: + binclude "General/Ending/Palettes/Super Knuckles End Pose.bin" + even ; --------------------------------------------------------------------------- loc_5FC1E: @@ -127430,7 +127050,7 @@ locret_5FDD2: ; --------------------------------------------------------------------------- -Obj_5FDD4: +Obj_Ending_RevertSuperSonic: move.w #$77,$2E(a0) move.l #loc_5FDE0,(a0) @@ -127510,7 +127130,7 @@ sub_5FE82: cmpi.b #7,(Super_emerald_count).w beq.s loc_5FEA2 moveq #0,d0 - cmpi.b #7,(Emerald_count).w + cmpi.b #7,(Chaos_emerald_count).w beq.s loc_5FEA2 moveq #-2,d0 @@ -127925,266 +127545,157 @@ word_601AC: dc.w $180 dc.b 8 dc.b 2 dc.b 0 -ChildObjDat_601B2:dc.w 0 +ChildObjDat_601B2: + dc.w 0 dc.l Obj_5EBC6 dc.b 4 dc.b $F0 -ChildObjDat_601BA:dc.w 0 +ChildObjDat_601BA: + dc.w 0 dc.l Obj_5EA52 dc.b $E0 dc.b $2B -ChildObjDat_601C2:dc.w 0 +ChildObjDat_601C2: + dc.w 0 dc.l Obj_5EB32 dc.b 0 dc.b $F0 -ChildObjDat_601CA:dc.w 1 +ChildObjDat_601CA: + dc.w 1 dc.l loc_5ECB4 -ChildObjDat_601D0:dc.w 0 +ChildObjDat_601D0: + dc.w 0 dc.l loc_5EBF0 dc.w $1C00 -ChildObjDat_601D8:dc.w 0 +ChildObjDat_601D8: + dc.w 0 dc.l loc_5EC3C dc.w $F60C -ChildObjDat_601E0:dc.w 0 +ChildObjDat_601E0: + dc.w 0 dc.l loc_5EC94 dc.w $DEFE -ChildObjDat_601E8:dc.w 0 +ChildObjDat_601E8: + dc.w 0 dc.l loc_5DF80 dc.w $C0FC -ChildObjDat_601F0:dc.w 2 +ChildObjDat_601F0: + dc.w 2 dc.l loc_5F31C dc.w 0 dc.l loc_5F3AA dc.w 0 dc.l loc_5F410 dc.w 0 -ChildObjDat_60204:dc.w 0 +ChildObjDat_60204: + dc.w 0 dc.l loc_5F3EA dc.w $F008 -ChildObjDat_6020C:dc.w 0 +ChildObjDat_6020C: + dc.w 0 dc.l loc_5ED36 dc.w $F005 -ChildObjDat_60214:dc.w 4 +ChildObjDat_60214: + dc.w 4 dc.l loc_5E504 -ChildObjDat_6021A:dc.w 1 +ChildObjDat_6021A: + dc.w 1 dc.l loc_5E612 -ChildObjDat_60220:dc.w 1 +ChildObjDat_60220: + dc.w 1 dc.l loc_5F690 dc.w $F0 dc.l loc_5F6A8 dc.w $EC -ChildObjDat_6022E:dc.w 0 +ChildObjDat_6022E: + dc.w 0 dc.l loc_5ED6A dc.w $FA07 -byte_60236: dc.b 5 - dc.b $B - dc.b 6 - dc.b 5 - dc.b 7 - dc.b $B - dc.b 6 - dc.b $B - dc.b $FC -byte_6023F: dc.b 4 - dc.b $7F - dc.b 4 - dc.b $7F - dc.b $FC -word_60244: dc.w $400 - dc.w $43F - dc.w $105 - dc.w $205 - dc.w $33F - dc.w $47F - dc.w $47F - dc.b $FC -word_60253: dc.w $10F - dc.w $20F - dc.w $37F - dc.w $37F - dc.b $FC -byte_6025C: dc.b $F - dc.b 1 - dc.b 2 - dc.b $FC -byte_60260: dc.b 7 - dc.b 1 - dc.b 1 - dc.b 3 - dc.b 4 - dc.b $F8 - dc.b 7 - dc.b $7F - dc.b 4 - dc.b 4 - dc.b $FC -byte_6026B: dc.b $F - dc.b $A - dc.b $B - dc.b $FC -byte_6026F: dc.b $B - dc.b 5 - dc.b 6 - dc.b 7 - dc.b 8 - dc.b 9 - dc.b $FC -byte_60276: dc.b 7 - dc.b 0 - dc.b 1 - dc.b 2 - dc.b 3 - dc.b $FC -byte_6027C: dc.b 7 - dc.b 4 - dc.b 5 - dc.b 6 - dc.b $FC -byte_60281: dc.b 7 - dc.b 7 - dc.b 8 - dc.b 9 - dc.b $1A - dc.b $1A - dc.b $1A - dc.b $FC -byte_60289: dc.b 7 - dc.b $A - dc.b $B - dc.b $C - dc.b $D - dc.b $FC -byte_6028F: dc.b $B - dc.b $E - dc.b $F - dc.b $10 - dc.b $11 - dc.b $FC -byte_60295: dc.b $B - dc.b $12 - dc.b $13 - dc.b $14 - dc.b $15 - dc.b $FC -byte_6029B: dc.b $B - dc.b $16 - dc.b $17 - dc.b $18 - dc.b $19 - dc.b $FC -byte_602A1: dc.b 5 - dc.b 2 - dc.b 3 - dc.b 4 - dc.b 3 - dc.b $FC -byte_602A7: dc.b 2 - dc.b 0 - dc.b 2 - dc.b 1 - dc.b 6 - dc.b $F - dc.b 2 - dc.b 1 - dc.b 6 - dc.b 7 - dc.b 2 - dc.b 1 - dc.b 6 - dc.b 3 - dc.b 2 - dc.b 1 - dc.b 6 - dc.b 1 - dc.b 2 - dc.b 1 - dc.b 6 - dc.b 1 - dc.b 2 - dc.b $13 - dc.b 3 - dc.b $3F - dc.b $F4 -byte_602C2: dc.b $E - dc.b 0 - dc.b 1 - dc.b $FC -byte_602C6: dc.b $B - dc.b 0 - dc.b 1 - dc.b $FC -word_602CA: dc.w $500 - dc.w 1 - dc.w $2F8 - dc.w $77F - dc.w $202 - dc.w $FC00 -Map_KnuxEnding: include "General/Sprites/Knuckles/Cutscene/Map - Ending Cutscene.asm" - -Map_SonicPlane: include "General/Ending/Map - Sonic Plane.asm" - -Map_SonicPlaneEnding: include "General/Ending/Map - Sonic Plane Ending.asm" - -Map_SKPoseBanner: include "General/Ending/Map - Sonic and Knuckles Pose Banner.asm" - -Map_S3PoseBanner: include "General/Ending/Map - Sonic 3 Pose Banner.asm" - -Map_IslandLiftGfx: include "General/Ending/Map - Island Lift Sprites.asm" - -Map_EndingAnimals: include "General/Ending/Map - Ending Pelican and Dolphin.asm" - -Map_SonicTailsEndPoses: include "General/Ending/Map - Sonic Tails Ending Poses.asm" - -Map_ANDKnuckles: include "General/Title/Map - ANDKnuckles Subtitle.asm" - -Map_EndingEyecatchEggRobo: include "General/Ending/Map - Ending Egg Robo Eyecatch.asm" - -Map_EndingEyecatchEggman: include "General/Ending/Map - Ending Eggman Eyecatch.asm" - -Map_KnuxEndPose: include "General/Ending/Map - Knuckles End Pose.asm" - -Pal_EndingSmallPlane: binclude "General/Ending/Palettes/Small Plane.bin" - even - - -Pal_EndingSKLogo: binclude "General/Ending/Palettes/SK Logo.bin" - even - - -Pal_EndingS3KLogo: binclude "General/Ending/Palettes/S3K Logo.bin" - even - - -Pal_EndingEyecatchKnuckles: binclude "General/Ending/Palettes/Knuckles Eyecatch.bin" - even - -Pal_EndingMasterEmerald: binclude "General/Ending/Palettes/Master Emerald.bin" - even - -Pal_FBZCloud: binclude "Levels/FBZ/Palettes/FBZ Cloud.bin" - even - -Pal_TailsEndPose: binclude "General/Ending/Palettes/Tails End Pose.bin" - even - -Pal_SonicEndPose: binclude "General/Ending/Palettes/Sonic End Pose.bin" - even - -Pal_SuperSonicEndPose: binclude "General/Ending/Palettes/Super Sonic End Pose.bin" - even - -Pal_EndingEyecatchEggRobo: binclude "General/Ending/Palettes/Egg Robo Eyecatch.bin" - even - -Pal_EndingEyecatchEggman: binclude "General/Ending/Palettes/Eggman Eyecatch.bin" - even - -Pal_KnuxEndPose: binclude "General/Ending/Palettes/Knuckles End Pose.bin" - even - -PalSPtr_EndingSuperTails: palscriptptr .header, .data +AniRaw_60236: dc.b 5, $B, 6, 5, 7, $B, 6, $B, $FC +AniRaw_6023F: dc.b 4, $7F, 4, $7F, $FC +AniRaw_60244: dc.b 4, 0, 4, $3F, 1, 5, 2, 5, 3, $3F, 4, $7F, 4, $7F, $FC +AniRaw_60253: dc.b 1, $F, 2, $F, 3, $7F, 3, $7F, $FC +AniRaw_6025C: dc.b $F, 1, 2, $FC +AniRaw_60260: dc.b 7, 1, 1, 3, 4, $F8, 7, $7F, 4, 4, $FC +AniRaw_6026B: dc.b $F, $A, $B, $FC +AniRaw_6026F: dc.b $B, 5, 6, 7, 8, 9, $FC +AniRaw_60276: dc.b 7, 0, 1, 2, 3, $FC +AniRaw_6027C: dc.b 7, 4, 5, 6, $FC +AniRaw_60281: dc.b 7, 7, 8, 9, $1A, $1A, $1A, $FC +AniRaw_60289: dc.b 7, $A, $B, $C, $D, $FC +AniRaw_6028F: dc.b $B, $E, $F, $10, $11, $FC +AniRaw_60295: dc.b $B, $12, $13, $14, $15, $FC +AniRaw_6029B: dc.b $B, $16, $17, $18, $19, $FC +AniRaw_602A1: dc.b 5, 2, 3, 4, 3, $FC +AniRaw_602A7: dc.b 2, 0, 2, 1, 6, $F, 2, 1, 6, 7, 2, 1, 6, 3, 2, 1 + dc.b 6, 1, 2, 1, 6, 1, 2, $13, 3, $3F, $F4 +AniRaw_602C2: dc.b $E, 0, 1, $FC +AniRaw_602C6: dc.b $B, 0, 1, $FC +AniRaw_602CA: dc.b 5, 0, 0, 1, 2, $F8, 7, $7F, 2, 2, $FC + even +Map_KnuxEnding: + include "General/Sprites/Knuckles/Cutscene/Map - Ending Cutscene.asm" +Map_SonicPlane: + include "General/Ending/Map - Sonic Plane.asm" +Map_SonicPlaneEnding: + include "General/Ending/Map - Sonic Plane Ending.asm" +Map_SKPoseBanner: + include "General/Ending/Map - Sonic and Knuckles Pose Banner.asm" +Map_S3PoseBanner: + include "General/Ending/Map - Sonic 3 Pose Banner.asm" +Map_IslandLiftGfx: + include "General/Ending/Map - Island Lift Sprites.asm" +Map_EndingAnimals: + include "General/Ending/Map - Ending Pelican and Dolphin.asm" +Map_SonicTailsEndPoses: + include "General/Ending/Map - Sonic Tails Ending Poses.asm" +Map_ANDKnuckles: + include "General/Ending/Map - ANDKnuckles Subtitle.asm" +Map_EndingEyecatchEggRobo: + include "General/Ending/Map - Ending Egg Robo Eyecatch.asm" +Map_EndingEyecatchEggman: + include "General/Ending/Map - Ending Eggman Eyecatch.asm" +Map_KnuxEndPose: + include "General/Ending/Map - Knuckles End Pose.asm" +Pal_EndingSmallPlane: + binclude "General/Ending/Palettes/Small Plane.bin" + even +Pal_EndingSKLogo: + binclude "General/Ending/Palettes/SK Logo.bin" + even +Pal_EndingS3KLogo: + binclude "General/Ending/Palettes/S3K Logo.bin" + even +Pal_EndingEyecatchKnuckles: + binclude "General/Ending/Palettes/Knuckles Eyecatch.bin" + even +Pal_EndingMasterEmerald: + binclude "General/Ending/Palettes/Master Emerald.bin" + even +Pal_FBZCloud: + binclude "Levels/FBZ/Palettes/FBZ Cloud.bin" + even +Pal_TailsEndPose: + binclude "General/Ending/Palettes/Tails End Pose.bin" + even +Pal_SonicEndPose: + binclude "General/Ending/Palettes/Sonic End Pose.bin" + even +Pal_SuperSonicEndPose: + binclude "General/Ending/Palettes/Super Sonic End Pose.bin" + even +Pal_EndingEyecatchEggRobo: + binclude "General/Ending/Palettes/Egg Robo Eyecatch.bin" + even +Pal_EndingEyecatchEggman: + binclude "General/Ending/Palettes/Eggman Eyecatch.bin" + even +Pal_KnuxEndPose: + binclude "General/Ending/Palettes/Knuckles End Pose.bin" + even +PalSPtr_EndingSuperTails: + palscriptptr .header, .data dc.w 0 - .header palscripthdr Normal_palette_line_3+$04, 4, 0 .data palscriptdata 24,$06C, $08E, $0AE, $8CE palscriptdata 8, $28E, $2AE, $2CE, $AEE @@ -128195,7 +127706,7 @@ PalSPtr_EndingSuperTails: palscriptptr .header, .data palscriptrept ; --------------------------------------------------------------------------- -Obj_86: +Obj_GumballMachine: lea ObjDat3_613B0(pc),a1 jsr (SetUp_ObjAttributes).l move.l #loc_60CB8,(a0) @@ -128248,8 +127759,8 @@ loc_60CF8: bset #0,4(a0) loc_60D08: - moveq #sfx_GumballTab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GumballTab),d0 + jsr (Play_SFX).l loc_60D10: jmp (Draw_Sprite).l @@ -128432,7 +127943,7 @@ loc_60F28: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Obj_87: +Obj_GumballTriangleBumper: lea ObjDat3_613A4(pc),a1 jsr (SetUp_ObjAttributes).l move.l #loc_60F3E,(a0) @@ -128497,8 +128008,8 @@ loc_60FB4: move.w #$F,($FF2020).l movea.w (_unkFAA4).w,a1 bset #0,$38(a1) - moveq #sfx_Spring,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jsr (Play_SFX).l rts ; End of function sub_60F94 @@ -128618,8 +128129,8 @@ off_6110E: dc.w loc_61120-off_6110E loc_61120: addq.b #1,(Life_count).w addq.b #1,(Update_HUD_life_count).w - moveq #mus_ExtraLife,d0 - jmp (Play_Sound).l + moveq #signextendB(mus_ExtraLife),d0 + jmp (Play_Music).l ; --------------------------------------------------------------------------- loc_61130: @@ -128683,46 +128194,46 @@ sub_61176: bclr #5,$2A(a1) clr.b $40(a1) move.b #1,$20(a0) - moveq #sfx_SmallBumpers,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_SmallBumpers),d0 + jmp (Play_SFX).l ; End of function sub_61176 ; --------------------------------------------------------------------------- loc_611D6: lea (Player_1).w,a1 - move.l #Obj_Fire_Shield,(Shield).w + move.l #Obj_FireShield,(Shield).w move.w a1,(Shield+parent).w andi.b #-$72,$2B(a1) bset #0,$2B(a1) moveq #4,d0 bsr.w sub_61254 - moveq #sfx_FireShield,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_FireShield),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_61200: lea (Player_1).w,a1 - move.l #Obj_Bubble_Shield,(Shield).w + move.l #Obj_BubbleShield,(Shield).w move.w a1,(Shield+parent).w andi.b #-$72,$2B(a1) bset #0,$2B(a1) moveq #6,d0 bsr.w sub_61254 - moveq #sfx_BubbleShield,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_BubbleShield),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_6122A: lea (Player_1).w,a1 - move.l #Obj_Lightning_Shield,(Shield).w + move.l #Obj_LightningShield,(Shield).w move.w a1,(Shield+parent).w andi.b #-$72,$2B(a1) bset #0,$2B(a1) moveq #5,d0 bsr.w sub_61254 - moveq #sfx_ElectricShield,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_LightningShield),d0 + jmp (Play_SFX).l ; =============== S U B R O U T I N E ======================================= @@ -128956,7 +128467,8 @@ ObjDat3_613EC: dc.l Map_GumballBonus dc.b $10 dc.b $17 dc.b 0 -ChildObjDat_613F8:dc.w 6 +ChildObjDat_613F8: + dc.w 6 dc.l loc_60D58 dc.b 0 dc.b 0 @@ -128978,7 +128490,8 @@ ChildObjDat_613F8:dc.w 6 dc.l loc_60FFE dc.b 0 dc.b $D8 -ChildObjDat_61424:dc.w 3 +ChildObjDat_61424: + dc.w 3 dc.l loc_60DAC dc.b $D0 dc.b $E8 @@ -128991,11 +128504,14 @@ ChildObjDat_61424:dc.w 3 dc.l loc_60DAC dc.b $30 dc.b $E8 -ChildObjDat_6143E:dc.w $F +ChildObjDat_6143E: + dc.w $F dc.l loc_6101E -ChildObjDat_61444:dc.w 0 +ChildObjDat_61444: + dc.w 0 dc.l loc_60EBA -ChildObjDat_6144A:dc.w 0 +ChildObjDat_6144A: + dc.w 0 dc.l loc_610B6 byte_61450: dc.b 3 dc.b 5 @@ -129037,8 +128553,8 @@ word_61482: dc.w $7F0F dc.w $FFC word_61486: dc.w $110 dc.w $11FC -Map_GumballBonus: include "Levels/Gumball/Misc Object Data/Map - Gumball Bonus.asm" - +Map_GumballBonus: + include "Levels/Gumball/Misc Object Data/Map - Gumball Bonus.asm" ; --------------------------------------------------------------------------- Obj_SSEntryRing: @@ -129057,7 +128573,8 @@ loc_6167C: jsr SSEntryRing_Index(pc,d1.w) bra.w SSEntryRing_Display ; --------------------------------------------------------------------------- -SSEntryRing_Index: dc.w SSEntryRing_Init-SSEntryRing_Index +SSEntryRing_Index: + dc.w SSEntryRing_Init-SSEntryRing_Index dc.w SSEntryRing_Main-SSEntryRing_Index dc.w SSEntryRing_Animate-SSEntryRing_Index ; --------------------------------------------------------------------------- @@ -129072,7 +128589,7 @@ SSEntryRing_Init: bne.s SSEntryRing_Main ; If only Sonic and Knuckles, skip ahead bsr.w SSEntry_CheckLevel beq.s SSEntryRing_Main ; If in an S3 level, skip ahead since it's a normal ring - cmpi.b #7,(Emerald_count).w + cmpi.b #7,(Chaos_emerald_count).w bne.s SSEntryRing_Main ; Only make this a super emerald ring if you actually have 7 chaos emeralds loc_616C6: @@ -129105,9 +128622,9 @@ loc_6170A: lea (Player_1).w,a1 ; If collision was made cmpi.b #6,5(a1) bhs.s locret_61708 ; If player has died for whatever reason, don't do anything - moveq #sfx_BigRing,d0 - jsr (Play_Sound_2).l ; Play the ring swish sound - cmpi.b #7,(Emerald_count).w + moveq #signextendB(sfx_BigRing),d0 + jsr (Play_SFX).l ; Play the ring swish sound + cmpi.b #7,(Chaos_emerald_count).w bne.s loc_6173A ; If chaos emeralds aren't collected, branch tst.w (SK_alone_flag).w bne.s loc_61794 ; If only Sonic and Knuckles and the emeralds are collected, go claim 50 rings @@ -129146,14 +128663,14 @@ SSEntry_Range: dc.w $FFE8 ; --------------------------------------------------------------------------- loc_61794: - moveq #sfx_BigRing,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BigRing),d0 + jsr (Play_SFX).l move.b $2C(a0),d0 move.l (Collected_special_ring_array).w,d1 bset d0,d1 move.l d1,(Collected_special_ring_array).w ; Set the special stage ring as collected bset #5,$38(a0) - moveq #$32,d0 ; Add 50 rings + moveq #50,d0 ; Add 50 rings jmp (AddRings).l ; --------------------------------------------------------------------------- @@ -129170,7 +128687,8 @@ Obj_SSEntryFlash: jsr (Perform_DPLC).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -SSEntryFlash_Index: dc.w SSEntryFlash_Init-SSEntryFlash_Index +SSEntryFlash_Index: + dc.w SSEntryFlash_Init-SSEntryFlash_Index dc.w SSEntryFlash_Main-SSEntryFlash_Index ; --------------------------------------------------------------------------- @@ -129214,8 +128732,8 @@ SSEntryFlash_Finished: ; --------------------------------------------------------------------------- SSEntryFlash_GoSS: - moveq #sfx_EnterSS,d0 - jsr (Play_Sound_2).l ; Play the special stage entry sound (you know the one) + moveq #signextendB(sfx_EnterSS),d0 + jsr (Play_SFX).l ; Play the special stage entry sound (you know the one) jsr (Clear_SpriteRingMem).l jsr (Save_Level_Data2).l tst.b $2C(a0) @@ -129225,7 +128743,7 @@ SSEntryFlash_GoSS: bne.s loc_61892 ; If SK alone, go directly to special stage bsr.w SSEntry_CheckLevel beq.s loc_61892 ; Otherwise, do so if S3 levels - cmpi.b #7,(Emerald_count).w + cmpi.b #7,(Chaos_emerald_count).w bne.s loc_61892 ; or if chaos emeralds aren't collected bra.w loc_618AC ; When conditions are met, go to HPZ ; --------------------------------------------------------------------------- @@ -129314,8 +128832,9 @@ loc_6196A: jsr (Queue_Kos_Module).l ; Restore the overwritten badnik explosion art jmp (Go_Delete_SpriteSlotted).l ; --------------------------------------------------------------------------- -ObjSlot_SSEntryRing: dc.w 0 - dc.w make_art_tile($5A0,1,0) +ObjSlot_SSEntryRing: + dc.w 0 + dc.w make_art_tile(ArtTile_Explosion,1,0) dc.w $40 dc.w 4 dc.l Map_SSEntryRing @@ -129325,7 +128844,8 @@ ObjSlot_SSEntryRing: dc.w 0 dc.b $20 dc.b 0 dc.b 0 -ObjSlot_SSEntryFlash: dc.w 0 +ObjSlot_SSEntryFlash: + dc.w 0 dc.w make_art_tile(ArtTile_Player_1,1,0) dc.w $18 dc.w 6 @@ -129336,51 +128856,28 @@ ObjSlot_SSEntryFlash: dc.w 0 dc.b $20 dc.b 0 dc.b 0 -DPLCPtr_SSEntryRing: dc.l ArtUnc_SSEntryRing +DPLCPtr_SSEntryRing: + dc.l ArtUnc_SSEntryRing dc.l DPLC_SSEntryRing -DPLCPtr_SSEntryFlash: dc.l ArtUnc_SSEntryFlash +DPLCPtr_SSEntryFlash: + dc.l ArtUnc_SSEntryFlash dc.l DPLC_SSEntryFlash -AniRaw_SSEntryRing: dc.b 4 - dc.b 0 - dc.b 0 - dc.b 1 - dc.b 2 - dc.b 3 - dc.b 4 - dc.b 5 - dc.b 6 - dc.b 7 - dc.b $F8 - dc.b $C - dc.b 6 - dc.b $A - dc.b 9 - dc.b 8 - dc.b $B - dc.b $FC -AniRaw_SSEntryFlash: dc.b 0 - dc.b 0 - dc.b 0 - dc.b 1 - dc.b 2 - dc.b $43 - dc.b 3 - dc.b 2 - dc.b 1 - dc.b 0 - dc.b $F4 - dc.b 0 -Map_SSEntryRing: include "General/Sprites/SS Entry/Map - Entry Ring.asm" - -DPLC_SSEntryRing: include "General/Sprites/SS Entry/DPLC - Special Stage Entry Ring.asm" - -Map_SSEntryFlash: include "General/Sprites/SS Entry/Map - Entry Flash.asm" - -DPLC_SSEntryFlash: include "General/Sprites/SS Entry/DPLC - Special Stage Entry Flash.asm" - -PalSPtr_SSEntry: palscriptptr .header, .data +AniRaw_SSEntryRing: + dc.b 4, 0, 0, 1, 2, 3, 4, 5, 6, 7, $F8, $C, 6, $A, 9, 8, $B, $FC +AniRaw_SSEntryFlash: + dc.b 0, 0, 0, 1, 2, $43, 3, 2, 1, 0, $F4 + even +Map_SSEntryRing: + include "General/Sprites/SS Entry/Map - Entry Ring.asm" +DPLC_SSEntryRing: + include "General/Sprites/SS Entry/DPLC - Special Stage Entry Ring.asm" +Map_SSEntryFlash: + include "General/Sprites/SS Entry/Map - Entry Flash.asm" +DPLC_SSEntryFlash: + include "General/Sprites/SS Entry/DPLC - Special Stage Entry Flash.asm" +PalSPtr_SSEntry: + palscriptptr .header, .data .header palscripthdr Normal_palette_line_2+$A, 2, 0 - .data palscriptdata 3, $ECE, $A8A palscriptdata 3, $AEE, $6EE palscriptdata 3, $ECA, $A86 @@ -129402,9 +128899,9 @@ PalSPtr_SSEntry: palscriptptr .header, .data palscriptdata 2, $8EE, $0CC palscriptrept -PalSPtr_SSEntry2: palscriptptr .header, .data +PalSPtr_SSEntry2: + palscriptptr .header, .data .header palscripthdr Normal_palette_line_2+$1E, 1, 0 - .data palscriptdata 3, $868 palscriptdata 3, $0AA palscriptdata 3, $864 @@ -129471,7 +128968,7 @@ CutsceneKnux_AIZ1: move.b 5(a0),d0 move.w off_61DB0(pc,d0.w),d1 jsr off_61DB0(pc,d1.w) - lea DPLCPtr_6666A(pc),a2 + lea DPLCPtr_CutsceneKnux(pc),a2 jsr (Perform_DPLC).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -129509,7 +129006,7 @@ loc_61E02: bset #7,$2A(a0) move.w #-$600,$1A(a0) move.w #$80,$18(a0) - lea Pal_CutsceneKnux1(pc),a1 + lea Pal_CutsceneKnux(pc),a1 jmp (PalLoad_Line1).l ; --------------------------------------------------------------------------- @@ -129636,7 +129133,7 @@ CutsceneKnux_AIZ2: move.b 5(a0),d0 move.w off_61FB6(pc,d0.w),d1 jsr off_61FB6(pc,d1.w) - lea DPLCPtr_6666A(pc),a2 + lea DPLCPtr_CutsceneKnux(pc),a2 jsr (Perform_DPLC).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -129657,7 +129154,7 @@ loc_61FC2: bsr.w sub_65DD6 move.w #$77,$2E(a0) move.l #loc_6201A,$34(a0) - lea Pal_CutsceneKnux1(pc),a1 + lea Pal_CutsceneKnux(pc),a1 jsr (PalLoad_Line1).l lea ChildObjDat_6655A(pc),a2 jsr (CreateChild6_Simple).l @@ -129755,7 +129252,7 @@ loc_620E4: loc_620EA: movea.w $46(a0),a1 btst #7,$2A(a1) - bne.w loc_62158 + bne.w CutsceneKnux_Delete move.b #8,7(a0) moveq #$13,d1 move.w #$20,d2 @@ -129766,14 +129263,14 @@ loc_620EA: CutsceneKnux_HCZ2: cmpi.b #2,(Player_1+character_id).w - beq.s loc_62158 + beq.s CutsceneKnux_Delete lea word_62150(pc),a1 jsr (Check_CameraInRange).l moveq #0,d0 move.b 5(a0),d0 move.w off_62142(pc,d0.w),d1 jsr off_62142(pc,d1.w) - lea DPLCPtr_6666A(pc),a2 + lea DPLCPtr_CutsceneKnux(pc),a2 jsr (Perform_DPLC).l jmp (Sprite_CheckDeleteTouchSlotted).l ; --------------------------------------------------------------------------- @@ -129790,15 +129287,15 @@ word_62150: dc.w $540 dc.w $3940 ; --------------------------------------------------------------------------- -loc_62158: +CutsceneKnux_Delete: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- loc_6215E: lea ObjDat4_663BA(pc),a1 jsr (SetUp_ObjAttributesSlotted).l - move.w (Camera_min_Y_pos).w,(Target_camera_min_Y_pos).w - move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w + move.w (Camera_min_Y_pos).w,(Camera_stored_min_Y_pos).w + move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w move.w #$3940,(Camera_max_X_pos).w lea ChildObjDat_665A2(pc),a2 jsr (CreateChild1_Normal).l @@ -129839,7 +129336,7 @@ loc_621D6: move.w #$1F,$2E(a0) move.l #loc_62216,$34(a0) move.w #$5C0,(Camera_min_Y_pos).w - lea Pal_CutsceneKnux1(pc),a1 + lea Pal_CutsceneKnux(pc),a1 jmp (PalLoad_Line1).l ; --------------------------------------------------------------------------- @@ -129880,13 +129377,12 @@ loc_62274: jsr (Remove_From_TrackingSlot).l jmp (Go_Delete_Sprite).l ; --------------------------------------------------------------------------- -ChildObjDat_62280:dc.w 1 +ChildObjDat_62280: + dc.w 1 dc.l Obj_DecLevStartYGradual - dc.b 0 - dc.b 0 + dc.w 0 dc.l Obj_IncLevEndXGradual - dc.b 0 - dc.b 0 + dc.w 0 word_6228E: dc.w $176 dc.w $300 dc.w $1C00 @@ -129899,14 +129395,14 @@ word_62296: dc.w $280 CutsceneKnux_CNZ2A: cmpi.b #2,(Player_1+character_id).w - beq.w loc_62158 + beq.w CutsceneKnux_Delete lea word_6228E(pc),a1 jsr (Check_CameraInRange).l moveq #0,d0 move.b 5(a0),d0 move.w off_622D0(pc,d0.w),d1 jsr off_622D0(pc,d1.w) - lea DPLCPtr_6666A(pc),a2 + lea DPLCPtr_CutsceneKnux(pc),a2 jsr (Perform_DPLC).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -129937,7 +129433,7 @@ loc_622E4: loc_62318: move.l (a1)+,(a2)+ dbf d6,loc_62318 - lea Pal_CutsceneKnux1(pc),a1 + lea Pal_CutsceneKnux(pc),a1 jsr (PalLoad_Line1).l lea ChildObjDat_66560(pc),a2 jmp (CreateChild1_Normal).l @@ -130016,7 +129512,7 @@ loc_623FE: bmi.w locret_6206C lea ChildObjDat_66568(pc),a2 jsr (CreateChild1_Normal).l - move.w (Target_camera_max_Y_pos).w,(Camera_target_max_Y_pos).w + move.w (Camera_stored_max_Y_pos).w,(Camera_target_max_Y_pos).w loc_62422: lea (Target_palette_line_2).w,a1 @@ -130042,7 +129538,7 @@ loc_6244C: loc_62458: movea.w $46(a0),a1 btst #7,$2A(a1) - bne.w loc_62158 + bne.w CutsceneKnux_Delete move.b #8,7(a0) moveq #$13,d1 move.w #$100,d2 @@ -130107,14 +129603,14 @@ word_624D0: dc.w 8 CutsceneKnux_CNZ2B: cmpi.b #2,(Player_1+character_id).w - beq.w loc_62158 + beq.w CutsceneKnux_Delete lea word_62520(pc),a1 jsr (Check_CameraInRange).l moveq #0,d0 move.b 5(a0),d0 move.w off_62510(pc,d0.w),d1 jsr off_62510(pc,d1.w) - lea DPLCPtr_6666A(pc),a2 + lea DPLCPtr_CutsceneKnux(pc),a2 jsr (Perform_DPLC).l jmp (Sprite_CheckDeleteTouchSlotted).l ; --------------------------------------------------------------------------- @@ -130139,7 +129635,7 @@ loc_62528: st (Ctrl_1_locked).w move.b #-$80,(Player_1+object_control).w bsr.w sub_65DD6 - lea Pal_CutsceneKnux1(pc),a1 + lea Pal_CutsceneKnux(pc),a1 jmp (PalLoad_Line1).l ; --------------------------------------------------------------------------- @@ -130234,12 +129730,12 @@ loc_62630: CutsceneKnux_LBZ1: cmpi.b #2,(Player_1+character_id).w - beq.w loc_62158 + beq.w CutsceneKnux_Delete moveq #0,d0 move.b 5(a0),d0 move.w off_62668(pc,d0.w),d1 jsr off_62668(pc,d1.w) - lea DPLCPtr_6666A(pc),a2 + lea DPLCPtr_CutsceneKnux(pc),a2 jsr (Perform_DPLC).l jmp (Sprite_CheckDeleteTouchSlotted).l ; --------------------------------------------------------------------------- @@ -130261,7 +129757,7 @@ loc_62678: jsr (SetUp_ObjAttributesSlotted).l move.b #$16,$22(a0) move.w #$A0,(Camera_min_Y_pos).w - lea Pal_CutsceneKnux1(pc),a1 + lea Pal_CutsceneKnux(pc),a1 jsr (PalLoad_Line1).l lea ChildObjDat_6657C(pc),a2 jmp (CreateChild1_Normal).l @@ -130300,8 +129796,8 @@ loc_626F4: move.b #8,5(a0) move.w #$F,$2E(a0) move.l #loc_62726,$34(a0) - moveq #sfx_MissileThrow,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileThrow),d0 + jsr (Play_SFX).l lea ChildObjDat_66584(pc),a2 jsr (CreateChild1_Normal).l lea (PLC_BossExplosion).l,a1 @@ -130343,7 +129839,7 @@ loc_6278A: clr.b (_unkFAA9).w clr.b (Player_1+object_control).w clr.b (Player_2+object_control).w - move.w #$3B60,(Target_camera_max_X_pos).w + move.w #$3B60,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jsr (CreateChild6_Simple).l move.w #$148,(Camera_target_max_Y_pos).w @@ -130356,7 +129852,7 @@ loc_6278A: loc_627C6: movea.w $46(a0),a1 btst #7,$2A(a1) - bne.w loc_62158 + bne.w CutsceneKnux_Delete lea word_62822(pc),a1 jsr (Check_PlayerInRange).l tst.l d0 @@ -130384,7 +129880,7 @@ sub_62800: movea.w d0,a1 cmpi.b #6,5(a1) bhs.s locret_627FE - move.b #-$7F,$2E(a1) + move.b #$81,$2E(a1) bclr #0,4(a1) bclr #0,$2A(a1) rts @@ -130400,8 +129896,8 @@ loc_6282A: move.l #loc_6284E,(a0) move.w #-$200,$18(a0) move.w #-$400,$1A(a0) - moveq #sfx_MissileThrow,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileThrow),d0 + jsr (Play_SFX).l loc_6284E: jsr (MoveSprite_LightGravity).l @@ -130435,12 +129931,12 @@ loc_628A0: CutsceneKnux_LBZ2: cmpi.b #2,(Player_1+character_id).w - beq.w loc_62158 + beq.w CutsceneKnux_Delete moveq #0,d0 move.b 5(a0),d0 move.w off_628D2(pc,d0.w),d1 jsr off_628D2(pc,d1.w) - lea DPLCPtr_6666A(pc),a2 + lea DPLCPtr_CutsceneKnux(pc),a2 jsr (Perform_DPLC).l jmp (Sprite_CheckDeleteTouchSlotted).l ; --------------------------------------------------------------------------- @@ -130459,7 +129955,7 @@ loc_628E0: bset #0,4(a0) move.b #$20,$22(a0) bsr.w sub_65DD6 - lea Pal_CutsceneKnux1(pc),a1 + lea Pal_CutsceneKnux(pc),a1 jsr (PalLoad_Line1).l lea ChildObjDat_66592(pc),a2 jmp (CreateChild3_NormalRepeated).l @@ -130526,8 +130022,8 @@ loc_629A8: move.w $14(a0),d0 cmp.w (Water_level).w,d0 blo.s loc_629C0 - moveq #sfx_Splash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Splash),d0 + jsr (Play_SFX).l move.b #$C,5(a0) loc_629C0: @@ -130619,7 +130115,7 @@ loc_62AAE: jmp (Sprite_CheckDeleteXY).l ; --------------------------------------------------------------------------- -Obj_C8_1: +Obj_LBZKnuxPillar: lea ObjDat3_66426(pc),a1 jsr (SetUp_ObjAttributes).l bclr #1,4(a0) @@ -130639,8 +130135,8 @@ loc_62AEE: add.w d0,$14(a0) jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Map_LBZKnuxPillar: include "Levels/LBZ/Misc Object Data/Map - Knuckles Pillar.asm" - +Map_LBZKnuxPillar: + include "Levels/LBZ/Misc Object Data/Map - Knuckles Pillar.asm" ; --------------------------------------------------------------------------- CutsceneKnux_MHZ1: @@ -130648,7 +130144,7 @@ CutsceneKnux_MHZ1: move.b 5(a0),d0 move.w off_62B58(pc,d0.w),d1 jsr off_62B58(pc,d1.w) - lea DPLCPtr_6666A(pc),a2 + lea DPLCPtr_CutsceneKnux(pc),a2 jsr (Perform_DPLC).l jmp (Sprite_CheckDeleteTouchSlotted).l ; --------------------------------------------------------------------------- @@ -130678,7 +130174,7 @@ loc_62B68: loc_62BA2: move.l (a1)+,(a2)+ dbf d6,loc_62BA2 - lea Pal_CutsceneKnux1(pc),a1 + lea Pal_CutsceneKnux(pc),a1 jmp (PalLoad_Line1).l ; --------------------------------------------------------------------------- @@ -130763,13 +130259,13 @@ loc_62C90: jmp (MoveSprite2).l ; --------------------------------------------------------------------------- -Obj_A8_2: +Obj_MHZ1CutsceneKnuckles: cmpi.b #2,(Player_1+character_id).w - beq.w loc_62158 + beq.w CutsceneKnux_Delete tst.b (Last_star_post_hit).w - bne.w loc_62158 + bne.w CutsceneKnux_Delete tst.w (SK_alone_flag).w - bne.w loc_62158 + bne.w CutsceneKnux_Delete lea (Player_1).w,a1 moveq #0,d0 move.b (_unkFAB8).w,d0 @@ -130908,7 +130404,7 @@ loc_62E1A: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Obj_A9_2: +Obj_MHZ1CutsceneButton: lea ObjDat3_6644A(pc),a1 jsr (SetUp_ObjAttributes).l lea ChildObjDat_665B6(pc),a2 @@ -130952,8 +130448,8 @@ loc_62E92: move.b #1,$22(a0) bset #1,$38(a0) st (_unkFAA9).w - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l loc_62ECA: jmp (Draw_Sprite).l @@ -130985,14 +130481,14 @@ loc_62F0A: beq.s loc_62F46 move.l #loc_62F4C,(a0) move.b #1,$22(a0) - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l btst #2,$38(a0) bne.s loc_62F46 bset #1,$38(a0) not.b (_unkFAA9).w - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l loc_62F46: jmp (Sprite_CheckDelete).l @@ -131127,14 +130623,14 @@ CutsceneKnux_MHZ2: cmpi.b #2,(Player_1+character_id).w beq.s loc_6311A cmpi.b #7,(Last_star_post_hit).w - bhs.w loc_62158 + bhs.w CutsceneKnux_Delete lea word_630D0(pc),a1 jsr (Check_CameraInRange).l moveq #0,d0 move.b 5(a0),d0 move.w off_6312A(pc,d0.w),d1 jsr off_6312A(pc,d1.w) - lea DPLCPtr_66672(pc),a2 + lea DPLCPtr_MHZKnuxPress(pc),a2 jsr (Perform_DPLC).l jmp (Sprite_CheckDeleteTouchSlotted).l ; --------------------------------------------------------------------------- @@ -131155,11 +130651,11 @@ loc_63134: lea ObjDat4_663CC(pc),a1 jsr (SetUp_ObjAttributesSlotted).l move.l #loc_63182,$34(a0) - move.w (Camera_min_X_pos).w,(Target_camera_min_X_pos).w + move.w (Camera_min_X_pos).w,(Camera_stored_min_X_pos).w move.w (word_630DC).l,(_unkFAB4).w bsr.w sub_65DD6 st (Events_bg+$16).w - lea Pal_CutsceneKnux1(pc),a1 + lea Pal_CutsceneKnux(pc),a1 jsr (PalLoad_Line1).l lea ChildObjDat_665BC(pc),a2 jmp (CreateChild1_Normal).l @@ -131241,8 +130737,8 @@ loc_63220: bsr.w sub_65E62 cmpi.b #8,$23(a0) blo.s loc_63238 - moveq #sfx_LeafBlower,d0 - jsr (sub_85E52).l + moveq #signextendB(sfx_LeafBlower),d0 + jsr (Play_SFX_Continuous).l bsr.w sub_65EB4 loc_63238: @@ -131263,8 +130759,8 @@ loc_63266: bne.s locret_6327E addq.b #1,$39(a0) subq.w #4,$3E(a0) - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l locret_6327E: rts @@ -131301,13 +130797,13 @@ loc_632CA: cmpi.b #2,(Player_1+character_id).w bne.s loc_632F8 move.l #Sprite_OnScreen_Test,(a0) - move.w #-$7AD8,$A(a0) + move.w #$8528,$A(a0) movea.w $46(a0),a1 move.w $48(a1),$48(a0) loc_632F8: lea (ArtKosM_MHZKnuxSwitch).l,a1 - move.w #-$5B00,d2 + move.w #$A500,d2 jmp (Queue_Kos_Module).l ; --------------------------------------------------------------------------- @@ -131353,7 +130849,7 @@ loc_63372: move.w (Camera_Y_pos).w,d0 subq.w #8,d0 cmp.w $14(a0),d0 - bhs.w loc_62158 + bhs.w CutsceneKnux_Delete jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -131378,8 +130874,8 @@ loc_6339C: ; --------------------------------------------------------------------------- loc_633D6: - moveq #sfx_LeafBlower,d0 - jsr (sub_85E52).l + moveq #signextendB(sfx_LeafBlower),d0 + jsr (Play_SFX_Continuous).l jsr (MoveSprite_LightGravity).l movea.w $44(a0),a1 move.w $10(a0),$10(a1) @@ -131405,11 +130901,11 @@ loc_633D6: CutsceneKnux_SKIntro: cmpi.b #2,(Player_1+character_id).w - bne.w loc_62158 + bne.w CutsceneKnux_Delete tst.b (Last_star_post_hit).w - bne.w loc_62158 + bne.w CutsceneKnux_Delete tst.w (SK_alone_flag).w - beq.w loc_62158 + beq.w CutsceneKnux_Delete move.l #loc_63466,(a0) loc_63466: @@ -131436,7 +130932,7 @@ off_63494: dc.w loc_6349A-off_63494 loc_6349A: move.l #Map_KnuxIntroLay,$C(a0) - lea DPLCPtr_6667A(pc),a2 + lea DPLCPtr_KnuxIntroLay(pc),a2 jmp (Perform_DPLC).l ; --------------------------------------------------------------------------- @@ -131447,7 +130943,7 @@ loc_634AC: loc_634B8: move.l #Map_HPZKnucklesGrab,$C(a0) - lea DPLCPtr_66682(pc),a2 + lea DPLCPtr_HPZKnucklesGrab(pc),a2 jmp (Perform_DPLC).l ; --------------------------------------------------------------------------- @@ -131455,7 +130951,7 @@ loc_634CA: lea ObjDat4_663DE(pc),a1 jsr (SetUp_ObjAttributesSlotted).l move.w #$EF,$2E(a0) - move.b #-$7D,(Player_1+object_control).w + move.b #$83,(Player_1+object_control).w move.w #$560,(Camera_X_pos).w move.w #$948,(Camera_Y_pos).w st (Scroll_lock).w @@ -131463,7 +130959,7 @@ loc_634CA: clr.b (Level_started_flag).w jsr (Create_New_Sprite).l bne.s loc_63508 - move.l #loc_63682,(a1) + move.l #Obj_SkipIntro,(a1) loc_63508: lea ChildObjDat_66656(pc),a2 @@ -131582,7 +131078,7 @@ loc_6364E: jmp (Go_Delete_Sprite).l ; --------------------------------------------------------------------------- -loc_63682: +Obj_SkipIntro: btst #7,(Ctrl_1_pressed).w bne.s loc_6364E btst #7,(Ctrl_2_pressed).w @@ -131688,8 +131184,8 @@ loc_63790: move.w (Camera_Y_pos).w,d0 subi.w #$40,d0 move.w d0,$14(a0) - moveq #sfx_MissileThrow,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileThrow),d0 + jsr (Play_SFX).l lea ChildObjDat_6665C(pc),a2 jsr (CreateChild1_Normal).l lea (PLC_BossExplosion).l,a1 @@ -131710,8 +131206,8 @@ loc_637EC: bpl.s loc_63840 add.w d1,$14(a0) bset #0,(_unkFAB8).w - moveq #sfx_FloorThump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FloorThump),d0 + jsr (Play_SFX).l move.w $1A(a0),d0 asr.w #2,d0 neg.w d0 @@ -131720,8 +131216,8 @@ loc_637EC: blt.s loc_63840 move.l #loc_63846,(a0) move.w #$77,$2E(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l loc_63840: jmp (Draw_Sprite).l @@ -131733,8 +131229,8 @@ loc_63846: move.l #loc_638A2,(a0) bset #7,$2A(a0) bset #1,(_unkFAB8).w - moveq #sfx_MissileExplode,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileExplode),d0 + jsr (Play_SFX).l lea (Normal_palette).w,a1 lea (Target_palette).w,a2 moveq #7,d6 @@ -131817,8 +131313,8 @@ loc_6395C: lea (ObjDat_BossExplosion1).l,a1 jsr (SetUp_ObjAttributes).l move.l #Go_Delete_Sprite,$34(a0) - moveq #sfx_Explode,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Explode),d0 + jsr (Play_SFX).l moveq #0,d0 move.b $2C(a0),d0 lea byte_639A2(pc,d0.w),a1 @@ -131874,8 +131370,8 @@ loc_639C8: move.w (Camera_Y_pos).w,d0 subi.w #$60,d0 move.w d0,$14(a0) - moveq #mus_EndBoss,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_EndBoss),d0 + jsr (Play_Music).l lea (ChildObjDat_919D0).l,a2 jsr (CreateChild1_Normal).l lea (ArtKosM_EggRoboBadnik).l,a1 @@ -131912,7 +131408,7 @@ loc_63A52: CutsceneKnux_LRZ2: cmpi.b #2,(Player_1+character_id).w - beq.w loc_62158 + beq.w CutsceneKnux_Delete moveq #0,d0 move.b 5(a0),d0 move.w off_63A8C(pc,d0.w),d1 @@ -131935,7 +131431,7 @@ loc_63A96: move.b #$56,$22(a0) move.w #$3A38,$10(a0) move.w #$EC,$14(a0) - lea Pal_CutsceneKnux1(pc),a1 + lea Pal_CutsceneKnux(pc),a1 jmp (PalLoad_Line1).l ; --------------------------------------------------------------------------- @@ -131971,9 +131467,9 @@ locret_63B20: rts ; --------------------------------------------------------------------------- -Obj_AE_2: +Obj_LRZ2CutsceneKnuckles: cmpi.b #2,(Player_1+character_id).w - beq.w loc_62158 + beq.w CutsceneKnux_Delete move.l #loc_63B40,(a0) jsr (Create_New_Sprite).l bne.s loc_63B40 @@ -132076,8 +131572,8 @@ loc_63C7A: ; --------------------------------------------------------------------------- loc_63C80: - moveq #sfx_PushBlock,d0 - jsr (sub_85E52).l + moveq #signextendB(sfx_PushBlock),d0 + jsr (Play_SFX_Continuous).l bsr.w sub_65ED4 bsr.w sub_65EFE jsr (MoveSprite2).l @@ -132091,8 +131587,8 @@ loc_63CA6: ; --------------------------------------------------------------------------- loc_63CAC: - moveq #sfx_PushBlock,d0 - jsr (sub_85E52).l + moveq #signextendB(sfx_PushBlock),d0 + jsr (Play_SFX_Continuous).l bsr.w sub_65ED4 bsr.w sub_65EFE jsr (MoveSprite_LightGravity).l @@ -132103,8 +131599,8 @@ loc_63CAC: bpl.s loc_63CE6 move.w #-$100,$1A(a0) move.w #$14,(Screen_shake_flag).w - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l loc_63CE6: jmp (Draw_Sprite).l @@ -132134,7 +131630,7 @@ loc_63D0E: loc_63D1A: cmpi.b #2,(Player_1+character_id).w - beq.w loc_62158 + beq.w CutsceneKnux_Delete lea word_63CEC(pc),a1 jsr (Check_CameraInRange).l jsr (sub_85D6A).l @@ -132168,7 +131664,7 @@ loc_63D5C: loc_63DBC: move.l (a1)+,(a2)+ dbf d6,loc_63DBC - lea Pal_CutsceneKnux1(pc),a1 + lea Pal_CutsceneKnux(pc),a1 jsr (PalLoad_Line1).l move.w #$88,(Normal_palette_line_2+$C).w rts @@ -132199,12 +131695,12 @@ loc_63E06: ; --------------------------------------------------------------------------- loc_63E0A: - lea DPLCPtr_66682(pc),a2 + lea DPLCPtr_HPZKnucklesGrab(pc),a2 jmp (Perform_DPLC).l ; --------------------------------------------------------------------------- loc_63E14: - lea DPLCPtr_6668A(pc),a2 + lea DPLCPtr_SSZKnucklesTired(pc),a2 jmp (Perform_DPLC).l ; --------------------------------------------------------------------------- off_63E1E: dc.w loc_63E7C-off_63E1E @@ -132403,8 +131899,8 @@ loc_64016: loc_6401C: move.b #$A,5(a0) move.w #-$600,$1A(a0) - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l lea byte_667C1(pc),a1 jmp (Set_Raw_Animation).l ; --------------------------------------------------------------------------- @@ -132520,8 +132016,8 @@ loc_64184: move.b (V_int_run_count+3).w,d0 andi.b #$F,d0 bne.s loc_64196 - moveq #sfx_Roll,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Roll),d0 + jsr (Play_SFX).l loc_64196: jsr (Animate_RawCheckResult).l @@ -132609,8 +132105,8 @@ loc_64292: loc_6429E: bset #0,$38(a0) - moveq #sfx_FloorThump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FloorThump),d0 + jsr (Play_SFX).l move.w #$300,d3 move.w $10(a1),d1 sub.w $10(a0),d1 @@ -132648,11 +132144,11 @@ loc_64310: move.l #Map_HPZKnucklesGrab,$C(a0) move.b #2,$22(a0) bset #4,$38(a0) - move.b #mus_HPZ,(Level_music+1).w + move.b #mus_LRZ2,(Current_music+1).w jsr (Create_New_Sprite).l bne.s locret_6434E move.l #Obj_Song_Fade_Transition,(a1) - move.b #mus_HPZ,$2C(a1) + move.b #mus_LRZ2,$2C(a1) locret_6434E: rts @@ -132666,8 +132162,8 @@ loc_64356: add.w d1,$14(a0) move.b #$1A,5(a0) move.l #loc_643A4,$34(a0) - moveq #sfx_DoorMove,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_DoorMove),d0 + jsr (Play_SFX).l lea byte_6680A(pc),a1 jsr (Set_Raw_Animation).l lea (ArtKosM_HPZKnuxDizzy).l,a1 @@ -132679,8 +132175,8 @@ loc_6438A: move.b (V_int_run_count+3).w,d0 andi.b #$1F,d0 bne.s loc_6439C - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l loc_6439C: subq.w #1,$2E(a0) @@ -132796,7 +132292,7 @@ loc_644DA: move.l #Obj_DecLevStartYGradual,(a1) loc_644E8: - move.w (Target_camera_max_Y_pos).w,(Camera_target_max_Y_pos).w + move.w (Camera_stored_max_Y_pos).w,(Camera_target_max_Y_pos).w jsr (Create_New_Sprite).l bne.s loc_644FC move.l #Obj_IncLevEndYGradual,(a1) @@ -132833,8 +132329,8 @@ loc_6453C: move.b #-$66,$22(a0) move.w #$C0,$18(a0) move.w #-$600,$1A(a0) - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l lea byte_667C1(pc),a1 jmp (Set_Raw_Animation).l ; --------------------------------------------------------------------------- @@ -132869,8 +132365,8 @@ loc_645B0: move.b #$2A,5(a0) move.w #-$C0,$18(a0) move.w #-$500,$1A(a0) - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l lea byte_667C1(pc),a1 jmp (Set_Raw_Animation).l ; --------------------------------------------------------------------------- @@ -132954,8 +132450,8 @@ loc_646B8: move.b #-$66,$22(a0) move.w #$300,$18(a0) move.w #-$500,$1A(a0) - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l lea byte_667C1(pc),a1 jmp (Set_Raw_Animation).l ; --------------------------------------------------------------------------- @@ -132982,8 +132478,8 @@ loc_6471A: move.b #-$66,$22(a0) move.w #-$200,$18(a0) move.w #-$200,$1A(a0) - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l lea byte_667C1(pc),a1 jmp (Set_Raw_Animation).l ; --------------------------------------------------------------------------- @@ -133035,8 +132531,8 @@ word_647E4: dc.w $FFF0, $60, 0, $10 loc_647EC: move.b #$38,5(a0) move.w #-$600,$1A(a0) - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l lea byte_667C1(pc),a1 jmp (Set_Raw_Animation).l ; --------------------------------------------------------------------------- @@ -133075,8 +132571,8 @@ loc_6485A: move.b d0,$22(a0) andi.b #3,d1 beq.s loc_6486C - moveq #sfx_GravityMachine,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GravityMachine),d0 + jsr (Play_SFX).l loc_6486C: bra.s loc_64812 @@ -133148,9 +132644,9 @@ loc_648FA: clr.b (Scroll_lock).w move.w #$5C0,d0 move.w d0,(Camera_target_max_Y_pos).w - move.w d0,(Target_camera_max_Y_pos).w - moveq #sfx_BigRumble,d0 - jsr (Play_Sound_2).l + move.w d0,(Camera_stored_max_Y_pos).w + moveq #signextendB(sfx_BigRumble),d0 + jsr (Play_SFX).l jsr (Create_New_Sprite).l bne.s loc_6492C move.l #Obj_IncLevEndYGradual,(a1) @@ -133267,8 +132763,8 @@ loc_64A6E: cmpi.b #6,$23(a0) bne.w locret_64A8C st (_unkFAA2).w - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l locret_64A8C: rts @@ -133322,7 +132818,7 @@ loc_64B22: bclr #0,4(a0) move.w #$161C,$10(a0) move.w #$62C,$14(a0) - move.w #$1520,(Target_camera_min_X_pos).w + move.w #$1520,(Camera_stored_min_X_pos).w jsr (Create_New_Sprite).l bne.s loc_64B60 move.l #Obj_DecLevStartXGradual,(a1) @@ -133347,8 +132843,8 @@ loc_64B80: move.b #-$66,$22(a0) move.w #-$1E0,$18(a0) move.w #-$600,$1A(a0) - moveq #sfx_Jump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Jump),d0 + jsr (Play_SFX).l lea byte_667C1(pc),a1 jmp (Set_Raw_Animation).l ; --------------------------------------------------------------------------- @@ -133389,7 +132885,7 @@ loc_64C24: jsr (SetUp_ObjAttributes).l movea.w $46(a0),a1 btst #0,$38(a1) - bne.w loc_62158 + bne.w CutsceneKnux_Delete move.w $10(a1),$10(a0) move.w $14(a1),$14(a0) bclr #0,4(a0) @@ -133758,8 +133254,8 @@ loc_650A6: move.l #loc_650D4,(a0) move.b #2,$22(a0) move.w #$14,(Screen_shake_flag).w - moveq #sfx_BigRumble,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BigRumble),d0 + jsr (Play_SFX).l lea ChildObjDat_6661E(pc),a2 jsr (CreateChild6_Simple).l lea ChildObjDat_66638(pc),a2 @@ -134336,7 +133832,7 @@ loc_65692: rts ; --------------------------------------------------------------------------- -Obj_B1_2: +Obj_HPZPaletteControl: move.w $3A(a0),d0 moveq #0,d1 cmpi.w #$460,(Camera_X_pos).w @@ -134376,7 +133872,7 @@ CutsceneKnux_SSZ: loc_65702: move.l #Map_SSZKnucklesTired,$C(a0) - lea DPLCPtr_6668A(pc),a2 + lea DPLCPtr_SSZKnucklesTired(pc),a2 jsr (Perform_DPLC).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -134405,7 +133901,7 @@ loc_65730: loc_6574E: move.l (a1)+,(a2)+ dbf d6,loc_6574E - lea Pal_CutsceneKnux1(pc),a1 + lea Pal_CutsceneKnux(pc),a1 jmp (PalLoad_Line1).l ; --------------------------------------------------------------------------- @@ -134440,8 +133936,8 @@ loc_657C4: ; --------------------------------------------------------------------------- loc_657CE: - moveq #sfx_DeathEggRiseQuiet,d0 - jsr (sub_85E52).l + moveq #signextendB(sfx_DeathEggRiseQuiet),d0 + jsr (Play_SFX_Continuous).l subq.w #1,$2E(a0) bpl.w locret_6206C move.b #8,5(a0) @@ -134453,8 +133949,8 @@ loc_657CE: ; --------------------------------------------------------------------------- loc_657FE: - moveq #sfx_DeathEggRiseQuiet,d0 - jsr (sub_85E52).l + moveq #signextendB(sfx_DeathEggRiseQuiet),d0 + jsr (Play_SFX_Continuous).l btst #1,(_unkFAB8).w bne.s loc_65814 jmp (Animate_RawMultiDelay).l @@ -134536,8 +134032,8 @@ loc_658F2: bset #6,$38(a0) move.b #1,$22(a0) st (Events_bg+$08).w - moveq #sfx_Switch,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Switch),d0 + jsr (Play_SFX).l lea byte_6671F(pc),a1 jmp (Set_Raw_Animation).l ; --------------------------------------------------------------------------- @@ -134573,7 +134069,7 @@ loc_65998: jmp (Go_Delete_Sprite).l ; --------------------------------------------------------------------------- -Obj_AF_2: +Obj_SSZCutsceneButton: lea ObjDat3_6649E(pc),a1 jsr (SetUp_ObjAttributes).l move.l #loc_659C6,(a0) @@ -134652,7 +134148,7 @@ loc_65A8C: move.w off_65AB0(pc,d0.w),d1 jsr off_65AB0(pc,d1.w) jsr (MoveSprite_SSZBGAdjust).l - lea DPLCPtr_66692(pc),a2 + lea DPLCPtr_SSZDeathEggCloud(pc),a2 jsr (Perform_DPLC).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -134751,9 +134247,9 @@ loc_65BC2: jmp (Sprite_CheckDeleteXY).l ; --------------------------------------------------------------------------- -Obj_83: +Obj_CutsceneButton: cmpi.b #2,(Player_1+character_id).w - beq.w loc_62158 + beq.w CutsceneKnux_Delete lea ObjDat3_66402(pc),a1 jsr (SetUp_ObjAttributes).l move.l #loc_65C04,(a0) @@ -134790,7 +134286,6 @@ off_65C40: dc.w loc_65C56-off_65C40 dc.w loc_65C78-off_65C40 dc.w loc_65CAC-off_65C40 word_65C48: dc.w $FFE8, $30, $FFE8, $30 - ; --------------------------------------------------------------------------- loc_65C50: @@ -134800,7 +134295,7 @@ loc_65C50: loc_65C56: clr.b (Ctrl_1_locked).w move.w #$1000,d0 - move.w d0,(Target_camera_max_Y_pos).w + move.w d0,(Camera_stored_max_Y_pos).w move.w d0,(Camera_target_max_Y_pos).w lea (Child6_IncLevY).l,a2 jmp (CreateChild6_Simple).l @@ -134818,8 +134313,8 @@ loc_65C78: move.w d0,(Mean_water_level).w move.w #$350,(Target_water_level).w st (_unkFAA3).w - moveq #sfx_Geyser,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Geyser),d0 + jsr (Play_SFX).l jsr (Create_New_Sprite).l bne.s locret_65CAA move.l #loc_62480,(a1) @@ -134842,7 +134337,7 @@ loc_65CAC: move.b #-$78,(a1) jsr (Create_New_Sprite).l bne.s loc_65CF4 - move.l #Obj_48_1,(a1) + move.l #Obj_CNZVacuumTube,(a1) move.w #$4740,$10(a1) move.w #$828,$14(a1) move.b #$4C,$2C(a1) @@ -134850,7 +134345,7 @@ loc_65CAC: loc_65CF4: jsr (Create_New_Sprite).l bne.s locret_65D14 - move.l #Obj_48_1,(a1) + move.l #Obj_CNZVacuumTube,(a1) move.w #$4740,$10(a1) move.w #$A28,$14(a1) move.b #$20,$2C(a1) @@ -134859,7 +134354,7 @@ locret_65D14: rts ; --------------------------------------------------------------------------- -Obj_88: +Obj_CNZWaterLevelCorkFloor: jsr (Obj_WaitOffscreen).l move.l #loc_65D46,(a0) jsr (Create_New_Sprite3).l @@ -134887,7 +134382,7 @@ loc_65D68: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Obj_89: +Obj_CNZWaterLevelButton: lea ObjDat3_66402(pc),a1 jsr (SetUp_ObjAttributes).l move.l #loc_65D8C,(a0) @@ -134907,8 +134402,8 @@ loc_65D8C: beq.s loc_65DD0 clr.b (_unkFAA3).w move.w #$A58,(Target_water_level).w - moveq #sfx_Geyser,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Geyser),d0 + jsr (Play_SFX).l jsr (Create_New_Sprite).l bne.s loc_65DD0 move.l #loc_62480,(a1) @@ -135207,8 +134702,8 @@ sub_66054: move.b (V_int_run_count+3).w,d0 andi.w #$1F,d0 bne.w locret_6206C - moveq #sfx_MissileShoot,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileShoot),d0 + jsr (Play_SFX).l lea ChildObjDat_665F0(pc),a2 jmp (CreateChild6_Simple).l ; End of function sub_66054 @@ -135316,11 +134811,11 @@ loc_66134: loc_66146: movea.l 8(a3),a4 jmp (a4) -; End of function sub_660E2 - ; --------------------------------------------------------------------------- movea.l $C(a3),a4 jmp (a4) +; End of function sub_660E2 + ; --------------------------------------------------------------------------- word_66152: dc.w $FFE8, $30, $FFE8, $30 @@ -135568,8 +135063,8 @@ sub_66348: tst.b $20(a0) bne.s loc_66364 move.b #$30,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_66364: subq.b #1,$20(a0) @@ -135590,8 +135085,8 @@ sub_66372: tst.b $20(a0) bne.s loc_66392 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l bset #6,$2A(a0) loc_66392: @@ -135671,14 +135166,14 @@ ObjDat3_6640E: dc.l Map_LBZKnuxBomb dc.b 0 dc.b 0 ObjDat3_6641A: dc.l Map_LBZKnuxPillar - dc.w $45A0 + dc.w make_art_tile(ArtTile_Explosion,2,0) dc.w $280 dc.b $10 dc.b $10 dc.b 0 dc.b 0 ObjDat3_66426: dc.l Map_LBZKnuxPillar - dc.w $45A0 + dc.w make_art_tile(ArtTile_Explosion,2,0) dc.w $280 dc.b $10 dc.b $80 @@ -135868,46 +135363,60 @@ ObjDat3_6654E: dc.l Map_HPZKnuxDizzyStars dc.b 4 dc.b 1 dc.b 0 -ChildObjDat_6655A:dc.w 0 +ChildObjDat_6655A: + dc.w 0 dc.l loc_620EA -ChildObjDat_66560:dc.w 0 +ChildObjDat_66560: + dc.w 0 dc.l loc_62458 dc.w $E094 -ChildObjDat_66568:dc.w 2 +ChildObjDat_66568: + dc.w 2 dc.l Obj_DecLevStartYGradual dc.w 0 dc.l Obj_DecLevStartXGradual dc.w 0 dc.l Obj_IncLevEndXGradual dc.w 0 -ChildObjDat_6657C:dc.w 0 +ChildObjDat_6657C: + dc.w 0 dc.l loc_627C6 dc.w $C000 -ChildObjDat_66584:dc.w 0 +ChildObjDat_66584: + dc.w 0 dc.l loc_6282A dc.w $F8F0 -ChildObjDat_6658C:dc.w 3 +ChildObjDat_6658C: + dc.w 3 dc.l loc_6285A -ChildObjDat_66592:dc.w 3 +ChildObjDat_66592: + dc.w 3 dc.l loc_629CE dc.b 2 dc.b $24 -ChildObjDat_6659A:dc.w 0 +ChildObjDat_6659A: + dc.w 0 dc.l loc_61F60 dc.w $18 -ChildObjDat_665A2:dc.w 0 - dc.l Obj_83 +ChildObjDat_665A2: + dc.w 0 + dc.l Obj_CutsceneButton dc.w $C -ChildObjDat_665AA:dc.w 0 +ChildObjDat_665AA: + dc.w 0 dc.l Obj_CutsceneKnuckles -ChildObjDat_665B0:dc.w 0 +ChildObjDat_665B0: + dc.w 0 dc.l loc_62F72 -ChildObjDat_665B6:dc.w 0 +ChildObjDat_665B6: + dc.w 0 dc.l loc_6300C -ChildObjDat_665BC:dc.w 0 +ChildObjDat_665BC: + dc.w 0 dc.l loc_632CA dc.w $F800 -ChildObjDat_665C4:dc.w 6 +ChildObjDat_665C4: + dc.w 6 dc.l loc_65B0E dc.w 0 dc.l loc_65A8C @@ -135922,59 +135431,83 @@ ChildObjDat_665C4:dc.w 6 dc.w $101D dc.l loc_65B42 dc.w $281D -ChildObjDat_665F0:dc.w 0 +ChildObjDat_665F0: + dc.w 0 dc.l loc_65B70 -ChildObjDat_665F6:dc.w 0 +ChildObjDat_665F6: + dc.w 0 dc.l loc_659CC -ChildObjDat_665FC:dc.w 0 +ChildObjDat_665FC: + dc.w 0 dc.l loc_64C24 -ChildObjDat_66602:dc.w $F +ChildObjDat_66602: + dc.w $F dc.l loc_652A2 -ChildObjDat_66608:dc.w 0 +ChildObjDat_66608: + dc.w 0 dc.l loc_6502E dc.w $23 -ChildObjDat_66610:dc.w 1 +ChildObjDat_66610: + dc.w 1 dc.l loc_65138 dc.w 0 dc.l loc_6515E dc.w $D0 -ChildObjDat_6661E:dc.w $E +ChildObjDat_6661E: + dc.w $E dc.l loc_6518A -ChildSpriteDat_66624:dc.w 1 +ChildSpriteDat_66624: + dc.w 1 dc.l loc_6531E dc.w $8FC -ChildObjDat3_6662C:dc.w 9 +ChildObjDat3_6662C: + dc.w 9 dc.l loc_65376 -ChildObjDat3_66632:dc.w 9 +ChildObjDat3_66632: + dc.w 9 dc.l loc_65360 -ChildObjDat_66638:dc.w 4 +ChildObjDat_66638: + dc.w 4 dc.l loc_65226 -ChildObjDat_6663E:dc.w 0 +ChildObjDat_6663E: + dc.w 0 dc.l loc_655B2 -ChildObjDat_66644:dc.w 0 +ChildObjDat_66644: + dc.w 0 dc.l loc_6563A -ChildObjDat_6664A:dc.w $1F +ChildObjDat_6664A: + dc.w $1F dc.l loc_65602 -ChildObjDat_66650:dc.w 9 +ChildObjDat_66650: + dc.w 9 dc.l loc_6395C -ChildObjDat_66656:dc.w 7 +ChildObjDat_66656: + dc.w 7 dc.l loc_63694 -ChildObjDat_6665C:dc.w 0 +ChildObjDat_6665C: + dc.w 0 dc.l loc_638DC dc.w $EC -ChildObjDat_66664:dc.w 0 +ChildObjDat_66664: + dc.w 0 dc.l loc_63916 -DPLCPtr_6666A: dc.l ArtUnc_CutsceneKnux +DPLCPtr_CutsceneKnux: + dc.l ArtUnc_CutsceneKnux dc.l DPLC_CutsceneKnux -DPLCPtr_66672: dc.l ArtUnc_MHZKnuxPress +DPLCPtr_MHZKnuxPress: + dc.l ArtUnc_MHZKnuxPress dc.l DPLC_MHZKnuxPress -DPLCPtr_6667A: dc.l ArtUnc_KnuxIntroLay +DPLCPtr_KnuxIntroLay: + dc.l ArtUnc_KnuxIntroLay dc.l DPLC_KnuxIntroLay -DPLCPtr_66682: dc.l ArtUnc_HPZKnucklesGrab +DPLCPtr_HPZKnucklesGrab: + dc.l ArtUnc_HPZKnucklesGrab dc.l DPLC_HPZKnucklesGrab -DPLCPtr_6668A: dc.l ArtUnc_SSZKnucklesTired +DPLCPtr_SSZKnucklesTired: + dc.l ArtUnc_SSZKnucklesTired dc.l DPLC_SSZKnucklesTired -DPLCPtr_66692: dc.l ArtUnc_SSZDeathEggCloud +DPLCPtr_SSZDeathEggCloud: + dc.l ArtUnc_SSZDeathEggCloud dc.l DPLC_SSZDeathEggCloud byte_6669A: dc.b 7 dc.b 1 @@ -136447,63 +135980,57 @@ byte_6690B: dc.b 5 dc.b 7 dc.b 8 dc.b $F4 -Pal_CutsceneKnux1: binclude "General/Sprites/Knuckles/Cutscene/Pal.bin" - even - - +Pal_CutsceneKnux: + binclude "General/Sprites/Knuckles/Cutscene/Pal.bin" + even Pal_CNZFlash: binclude "Levels/CNZ/Palettes/Flash.bin" - even - + even Pal_KnuxSSZEnd: binclude "General/Sprites/Knuckles/Palettes/SSZ End.bin" - even - + even Pal_HPZ2_A: binclude "Levels/HPZ/Palettes/2_A.bin" - even - + even Pal_HPZ2_B: binclude "Levels/HPZ/Palettes/2_B.bin" - even - -Pal_SKIntroBomb: binclude "General/Sprites/Knuckles/Cutscene/Intro Bomb Pal.bin" - even - -Map_MHZKnuxPeer: include "Levels/MHZ/Misc Object Data/Map - Knuckles Peering.asm" - -Map_MHZKnuxDoor: include "Levels/MHZ/Misc Object Data/Map - Knuckles Switch Door.asm" - -Map_MHZKnuxPullSwitch: include "General/Sprites/Knuckles/Cutscene/Map - MHZ2 Press.asm" - -DPLC_MHZKnuxPress: include "General/Sprites/Knuckles/Cutscene/DPLC - MHZ Press.asm" - -Map_MHZKnuxSwitch: include "Levels/MHZ/Misc Object Data/Map - Act 2 Knuckles Switch.asm" - -Map_MHZKnuxLeaves: include "Levels/MHZ/Misc Object Data/Map - Act 2 Knuckles Leaves.asm" - -Map_LRZKnuxBoulder: include "Levels/LRZ/Misc Object Data/Map - Knuckles Boulder.asm" - -Map_SSZKnucklesTired: include "General/Sprites/Knuckles/Cutscene/Map - SSZ Tired.asm" - -DPLC_SSZKnucklesTired: include "General/Sprites/Knuckles/Cutscene/DPLC - SSZ Tired.asm" - -Map_SSZDeathEggSmall: include "Levels/SSZ/Misc Object Data/Map - Death Egg Small.asm" - -Map_SSZDeathEggCloud: include "General/Sprites/SSZ Death Egg Cloud/Map - SSZ Death Egg Cloud.asm" - -DPLC_SSZDeathEggCloud: include "General/Sprites/SSZ Death Egg Cloud/DPLC - SSZ Death Egg Cloud.asm" - -Map_HPZKnucklesGrab: include "General/Sprites/Knuckles/Cutscene/Map - HPZ Grab.asm" - -DPLC_HPZKnucklesGrab: include "General/Sprites/Knuckles/Cutscene/DPLC - HPZ Grab.asm" - -Map_KnuxFinalBossCrane: include "General/Sprites/Robotnik/Map - Robotnik Ship Crane.asm" - -Map_HPZKnuxDizzyStars: include "Levels/HPZ/Misc Object Data/Map - Knuckles Dizzy Stars.asm" - -Map_KnuxIntroLay: include "General/Sprites/Knuckles/Cutscene/Map - Intro Laying.asm" - -DPLC_KnuxIntroLay: include "General/Sprites/Knuckles/Cutscene/DPLC - Intro Laying.asm" - -Map_KnuxIntroBomb: include "General/Sprites/Knuckles/Cutscene/Map - Intro Bomb.asm" - + even +Pal_SKIntroBomb:binclude "General/Sprites/Knuckles/Cutscene/Intro Bomb Pal.bin" + even +Map_MHZKnuxPeer + include "Levels/MHZ/Misc Object Data/Map - Knuckles Peering.asm" +Map_MHZKnuxDoor: + include "Levels/MHZ/Misc Object Data/Map - Knuckles Switch Door.asm" +Map_MHZKnuxPullSwitch: + include "General/Sprites/Knuckles/Cutscene/Map - MHZ2 Press.asm" +DPLC_MHZKnuxPress: + include "General/Sprites/Knuckles/Cutscene/DPLC - MHZ Press.asm" +Map_MHZKnuxSwitch: + include "Levels/MHZ/Misc Object Data/Map - Act 2 Knuckles Switch.asm" +Map_MHZKnuxLeaves: + include "Levels/MHZ/Misc Object Data/Map - Act 2 Knuckles Leaves.asm" +Map_LRZKnuxBoulder: + include "Levels/LRZ/Misc Object Data/Map - Knuckles Boulder.asm" +Map_SSZKnucklesTired: + include "General/Sprites/Knuckles/Cutscene/Map - SSZ Tired.asm" +DPLC_SSZKnucklesTired: + include "General/Sprites/Knuckles/Cutscene/DPLC - SSZ Tired.asm" +Map_SSZDeathEggSmall: + include "Levels/SSZ/Misc Object Data/Map - Death Egg Small.asm" +Map_SSZDeathEggCloud: + include "General/Sprites/SSZ Death Egg Cloud/Map - SSZ Death Egg Cloud.asm" +DPLC_SSZDeathEggCloud: + include "General/Sprites/SSZ Death Egg Cloud/DPLC - SSZ Death Egg Cloud.asm" +Map_HPZKnucklesGrab: + include "General/Sprites/Knuckles/Cutscene/Map - HPZ Grab.asm" +DPLC_HPZKnucklesGrab: + include "General/Sprites/Knuckles/Cutscene/DPLC - HPZ Grab.asm" +Map_KnuxFinalBossCrane: + include "General/Sprites/Robotnik/Map - Robotnik Ship Crane.asm" +Map_HPZKnuxDizzyStars: + include "Levels/HPZ/Misc Object Data/Map - Knuckles Dizzy Stars.asm" +Map_KnuxIntroLay: + include "General/Sprites/Knuckles/Cutscene/Map - Intro Laying.asm" +DPLC_KnuxIntroLay: + include "General/Sprites/Knuckles/Cutscene/DPLC - Intro Laying.asm" +Map_KnuxIntroBomb: + include "General/Sprites/Knuckles/Cutscene/Map - Intro Bomb.asm" ; --------------------------------------------------------------------------- Obj_AIZPlaneIntro: @@ -136544,7 +136071,7 @@ loc_674AC: move.w #$40,$2E(a0) move.l #loc_6751A,$34(a0) move.w #8,$40(a0) - move.w #-$16E8,(Events_fg_1).w + move.w #$E918,(Events_fg_1).w move.b #-1,(Player_prev_frame).w lea (Player_1).w,a1 move.b #0,$22(a1) @@ -136767,10 +136294,10 @@ loc_6777A: move.b #$20,7(a0) jsr Swing_Setup1(pc) lea (ArtKosM_AIZIntroPlane).l,a1 - move.w #-$5AE0,d2 + move.w #$A520,d2 jsr (Queue_Kos_Module).l lea (ArtKosM_AIZIntroEmeralds).l,a1 - move.w #-$49E0,d2 + move.w #$B620,d2 jsr (Queue_Kos_Module).l lea ChildObjDat_67A62(pc),a2 jmp (CreateChild1_Normal).l @@ -137002,20 +136529,25 @@ ObjDat3_67A4E: dc.l Map_AIZIntroEmeralds dc.b 4 dc.b 1 dc.b 0 -ChildObjDat_67A5A:dc.w 0 +ChildObjDat_67A5A: + dc.w 0 dc.l loc_6777A dc.w $DE2C -ChildObjDat_67A62:dc.w 1 +ChildObjDat_67A62: + dc.w 1 dc.l loc_67824 dc.w $3804 dc.l loc_67862 dc.w $1818 -ChildObjDat_67A70:dc.w 0 +ChildObjDat_67A70: + dc.w 0 dc.l loc_678A0 dc.w $18 -ChildObjDat_67A78:dc.w 0 +ChildObjDat_67A78: + dc.w 0 dc.l Obj_CutsceneKnuckles -ChildObjDat_67A7E:dc.w 6 +ChildObjDat_67A7E: + dc.w 6 dc.l loc_67900 byte_67A84: dc.b 3, 8 dc.b $97, $96 @@ -137050,9 +136582,9 @@ byte_67A9B: dc.b 0 dc.b 5 dc.b 1 dc.b $F4 -Pal_AIZIntroEmeralds: binclude "Levels/AIZ/Palettes/Intro Emeralds.bin" - even - +Pal_AIZIntroEmeralds: + binclude "Levels/AIZ/Palettes/Intro Emeralds.bin" + even ; --------------------------------------------------------------------------- Obj_RobotnikHead: @@ -137063,7 +136595,8 @@ Obj_RobotnikHead: jsr RobotnikHead_Index(pc,d1.w) jmp (Child_Draw_Sprite2).l ; --------------------------------------------------------------------------- -RobotnikHead_Index: dc.w Obj_RobotnikHeadInit-RobotnikHead_Index +RobotnikHead_Index: + dc.w Obj_RobotnikHeadInit-RobotnikHead_Index dc.w Obj_RobotnikHeadMain-RobotnikHead_Index dc.w Obj_RobotnikHeadEnd-RobotnikHead_Index ; --------------------------------------------------------------------------- @@ -137127,7 +136660,8 @@ Obj_RobotnikHead2: bne.w Obj_RobotnikHeadEnd jmp (Child_Draw_Sprite2).l ; --------------------------------------------------------------------------- -RobotnikHead2_Index: dc.w Obj_RobotnikHeadInit-RobotnikHead2_Index +RobotnikHead2_Index: + dc.w Obj_RobotnikHeadInit-RobotnikHead2_Index dc.w Obj_RobotnikHeadMain-RobotnikHead2_Index dc.w Obj_RobotnikHeadEnd-RobotnikHead2_Index ; --------------------------------------------------------------------------- @@ -137141,7 +136675,8 @@ Obj_FBZRobotnikHead: jsr (Child_GetPriority).l jmp (Child_Draw_Sprite2).l ; --------------------------------------------------------------------------- -FBZRobotnikHead_Index: dc.w Obj_FBZRobotnikHeadInit-FBZRobotnikHead_Index +FBZRobotnikHead_Index: + dc.w Obj_FBZRobotnikHeadInit-FBZRobotnikHead_Index dc.w Obj_FBZRobotnikHeadMain-FBZRobotnikHead_Index dc.w Obj_RobotnikHeadEnd-FBZRobotnikHead_Index ; --------------------------------------------------------------------------- @@ -137196,7 +136731,8 @@ Obj_RobotnikHead3: jsr RobotnikHead3_Index(pc,d1.w) jmp (Child_Draw_Sprite2).l ; --------------------------------------------------------------------------- -RobotnikHead3_Index: dc.w Obj_RobotnikHead3Init-RobotnikHead3_Index +RobotnikHead3_Index: + dc.w Obj_RobotnikHead3Init-RobotnikHead3_Index dc.w Obj_RobotnikHead3Main-RobotnikHead3_Index dc.w Obj_RobotnikHead3End-RobotnikHead3_Index ; --------------------------------------------------------------------------- @@ -137262,7 +136798,8 @@ Obj_RobotnikHead4: loc_67CFE: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -RobotnikHead4_Index: dc.w Obj_RobotnikHead3Init-RobotnikHead4_Index +RobotnikHead4_Index: + dc.w Obj_RobotnikHead3Init-RobotnikHead4_Index dc.w Obj_RobotnikHead3Main-RobotnikHead4_Index dc.w Obj_RobotnikHead3End-RobotnikHead4_Index ; --------------------------------------------------------------------------- @@ -137296,7 +136833,8 @@ Obj_RobotnikShip: bne.w Obj_RobotnikHeadEnd jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -RobotnikShip_Index: dc.w loc_67D68-RobotnikShip_Index +RobotnikShip_Index: + dc.w loc_67D68-RobotnikShip_Index dc.w loc_67D84-RobotnikShip_Index dc.w loc_67DD8-RobotnikShip_Index dc.w loc_67E0A-RobotnikShip_Index @@ -137378,7 +136916,8 @@ Obj_RobotnikShip2: jsr RobotnikShip2_Index(pc,d1.w) jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -RobotnikShip2_Index: dc.w Obj_RobotnikShipInit-RobotnikShip2_Index +RobotnikShip2_Index: + dc.w Obj_RobotnikShipInit-RobotnikShip2_Index dc.w Obj_RobotnikShipMain-RobotnikShip2_Index dc.w Obj_RobotnikShip2Wait-RobotnikShip2_Index dc.w Obj_RobotnikShipReady-RobotnikShip2_Index @@ -137408,7 +136947,8 @@ Obj_RobotnikShip3: bne.s loc_67E8C jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -RobotnikShip3_Index: dc.w Obj_RobotnikShipInit-RobotnikShip3_Index +RobotnikShip3_Index: + dc.w Obj_RobotnikShipInit-RobotnikShip3_Index dc.w Obj_RobotnikShipMain-RobotnikShip3_Index dc.w Obj_RobotnikShipWait-RobotnikShip3_Index dc.w Obj_RobotnikShipReady-RobotnikShip3_Index @@ -137501,7 +137041,8 @@ Obj_RobotnikShip4: jsr RobotnikShip4_Index(pc,d1.w) jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -RobotnikShip4_Index: dc.w Obj_RobotnikShipInit-RobotnikShip4_Index +RobotnikShip4_Index: + dc.w Obj_RobotnikShipInit-RobotnikShip4_Index dc.w Obj_RobotnikShipMain-RobotnikShip4_Index dc.w Obj_RobotnikShipWait-RobotnikShip4_Index dc.w Obj_RobotnikShipReady-RobotnikShip4_Index @@ -137515,7 +137056,8 @@ Obj_FBZRobotnikShip: jsr FBZRobotnikShip_Index(pc,d1.w) jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -FBZRobotnikShip_Index: dc.w Obj_FBZRobotnikShipInit-FBZRobotnikShip_Index +FBZRobotnikShip_Index: + dc.w Obj_FBZRobotnikShipInit-FBZRobotnikShip_Index dc.w Obj_FBZRobotnikShipMain-FBZRobotnikShip_Index dc.w Obj_FBZRobotnikShipWait-FBZRobotnikShip_Index dc.w Obj_FBZRobotnikShipFall-FBZRobotnikShip_Index @@ -137652,52 +137194,62 @@ loc_68118: jsr (Animate_RawNoSST).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -ObjDat_RobotnikHead: dc.l Map_RobotnikShip +ObjDat_RobotnikHead: + dc.l Map_RobotnikShip dc.w $52E dc.w $280 dc.b $10 dc.b 8 dc.b 0 dc.b 0 -ObjDat_FBZRobotnikHead: dc.l Map_FBZRobotnikHead +ObjDat_FBZRobotnikHead: + dc.l Map_FBZRobotnikHead dc.w $430 dc.w $280 dc.b $10 dc.b 8 dc.b 0 dc.b 0 -ObjDat_RobotnikShip: dc.l Map_RobotnikShip +ObjDat_RobotnikShip: + dc.l Map_RobotnikShip dc.w $52E dc.w $280 dc.b $1C dc.b $20 dc.b 8 dc.b 0 -ObjDat2_RoboShipFlame: dc.w $280 +ObjDat2_RoboShipFlame: + dc.w $280 dc.b 8 dc.b 4 dc.b 6 dc.b 0 -ObjDat_MechaSonicHead: dc.l Map_MechaSonicHead +ObjDat_MechaSonicHead: + dc.l Map_MechaSonicHead dc.w $252E dc.w $280 dc.b $14 dc.b $10 dc.b 0 dc.b 0 -Child1_MakeRoboHead:dc.w 0 +Child1_MakeRoboHead: + dc.w 0 dc.l Obj_RobotnikHead dc.w $E4 -Child1_MakeRoboHead2:dc.w 0 +Child1_MakeRoboHead2: + dc.w 0 dc.l Obj_RobotnikHead2 dc.w $E4 -Child1_MakeFBZRoboHead:dc.w 0 +Child1_MakeFBZRoboHead: + dc.w 0 dc.l Obj_FBZRobotnikHead dc.w $E4 -Child1_MakeRoboHead3:dc.w 0 +Child1_MakeRoboHead3: + dc.w 0 dc.l Obj_RobotnikHead3 dc.w $E4 -Child1_MakeRoboHead4:dc.w 0 +Child1_MakeRoboHead4: + dc.w 0 dc.l Obj_RobotnikHead4 dc.w $E4 word_6818C: dc.w 0 @@ -137706,47 +137258,49 @@ word_6818C: dc.w 0 dc.w 0 dc.l Obj_RobotnikShip2 dc.w 0 -Child1_MakeRoboShip3:dc.w 0 +Child1_MakeRoboShip3: + dc.w 0 dc.l Obj_RobotnikShip3 dc.w $FA04 -ChildObjDat_681A4:dc.w 0 +ChildObjDat_681A4: + dc.w 0 dc.l Obj_RobotnikShip4 dc.w $F8 -ChildObjDat_681AC:dc.w 0 +ChildObjDat_681AC: + dc.w 0 dc.l Obj_FBZRobotnikShip dc.w 4 -Child1_MakeRoboShipFlame:dc.w 0 +Child1_MakeRoboShipFlame: + dc.w 0 dc.l Obj_RobotnikShipFlame dc.w $1E00 -Child1_MakeMechaHead:dc.w 0 +Child1_MakeMechaHead: + dc.w 0 dc.l Obj_MechaSonicHead dc.w $E0 -Child1_BlueSphereShipHead:dc.w 0 +Child1_BlueSphereShipHead: + dc.w 0 dc.l Obj_BlueSphere_ShipHead dc.w $E4 -AniRaw_RobotnikHead: dc.b 5 - dc.b 0 - dc.b 1 - dc.b $FC -AniRaw_EggRoboHead: dc.b $F - dc.b 0 - dc.b 1 - dc.b $FC -Map_EggRoboHead: include "General/Sprites/Robotnik/Map - Egg Robo Head.asm" - -Map_MechaSonicHead: include "General/Sprites/Mecha Sonic/Map - Mecha Sonic Head.asm" - -Map_RobotnikShip: include "General/Sprites/Robotnik/Map - Robotnik Ship.asm" - -Map_FBZRobotnikRun: include "Levels/FBZ/Misc Object Data/Map - Robotnik Run.asm" - -Map_FBZRobotnikHead: include "Levels/FBZ/Misc Object Data/Map - Robotnik Head.asm" - -Map_FBZRobotnikStand: include "Levels/FBZ/Misc Object Data/Map - Robotnik Stand.asm" - -; --------------------------------------------------------------------------- - -Obj_AIZ_Miniboss_Cutscene: +AniRaw_RobotnikHead: + dc.b 5, 0, 1, $FC +AniRaw_EggRoboHead: + dc.b $F, 0, 1, $FC +Map_EggRoboHead: + include "General/Sprites/Robotnik/Map - Egg Robo Head.asm" +Map_MechaSonicHead: + include "General/Sprites/Mecha Sonic/Map - Mecha Sonic Head.asm" +Map_RobotnikShip: + include "General/Sprites/Robotnik/Map - Robotnik Ship.asm" +Map_FBZRobotnikRun: + include "Levels/FBZ/Misc Object Data/Map - Robotnik Run.asm" +Map_FBZRobotnikHead: + include "Levels/FBZ/Misc Object Data/Map - Robotnik Head.asm" +Map_FBZRobotnikStand: + include "Levels/FBZ/Misc Object Data/Map - Robotnik Stand.asm" +; --------------------------------------------------------------------------- + +Obj_AIZMinibossCutscene: moveq #0,d0 move.b 5(a0),d0 move.w off_684FE(pc,d0.w),d1 @@ -137764,7 +137318,7 @@ loc_68508: lea ObjDat3_68FFE(pc),a1 jsr (SetUp_ObjAttributes).l move.b #$60,$29(a0) - move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w + move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w move.b #1,(Boss_flag).w moveq #$5A,d0 jmp (Load_PLC).l @@ -137790,8 +137344,8 @@ loc_68556: move.w #$B4,$2E(a0) move.w d5,(Camera_min_X_pos).w move.w d5,(Camera_max_X_pos).w - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l locret_68572: rts @@ -137815,9 +137369,9 @@ loc_6857A: sub_6859C: move.w #$100,$1A(a0) move.w #$AF,$2E(a0) - moveq #mus_Miniboss,d0 - jsr (Play_Sound).l - move.b #mus_Miniboss,(Level_music+1).w + moveq #signextendB(mus_Miniboss),d0 + jsr (Play_Music).l + move.b #mus_Miniboss,(Current_music+1).w rts ; End of function sub_6859C @@ -137861,8 +137415,8 @@ loc_685FC: loc_68616: move.w #$40,$2E(a0) - moveq #sfx_FlamethrowerQuiet,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FlamethrowerQuiet),d0 + jsr (Play_SFX).l lea Child1_AIZ_MinibossFlames(pc),a2 jmp (CreateChild1_Normal).l ; --------------------------------------------------------------------------- @@ -137879,8 +137433,8 @@ loc_68646: lea Pal_AIZMiniboss(pc),a1 jsr (PalLoad_Line1).l move.b #$F,$28(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.w #$400,$18(a0) clr.w $1A(a0) move.w #$40,$2E(a0) @@ -137903,7 +137457,7 @@ loc_68690: loc_686A2: clr.b (Boss_flag).w - jsr (Obj_PlayLevelMusic).l + jsr (Restore_LevelMusic).l lea (PLC_Monitors).l,a1 jsr (Load_PLC_Raw).l jmp (Go_Delete_Sprite_2).l @@ -138070,8 +137624,8 @@ off_68852: dc.w sub_6885A-off_68852 sub_6885A: lea word_6902A(pc),a1 jsr (SetUp_ObjAttributes2).l - moveq #sfx_Projectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Projectile),d0 + jsr (Play_SFX).l move.l #byte_6914C,$30(a0) move.l #loc_6889A,$34(a0) move.w #-$400,$1A(a0) @@ -138093,8 +137647,8 @@ loc_6889A: loc_688B0: move.b #6,5(a0) - moveq #sfx_MissileThrow,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileThrow),d0 + jsr (Play_SFX).l move.w #$80,8(a0) bset #1,4(a0) move.l #Go_Delete_Sprite,$34(a0) @@ -138157,7 +137711,7 @@ loc_68956: loc_68962: move.l #Map_BossExplosion,$C(a0) - move.w #-$7B2E,$A(a0) + move.w #$84D2,$A(a0) move.l #byte_69164,$30(a0) move.l #Go_Delete_Sprite,$34(a0) cmpi.b #6,$2C(a0) @@ -138225,7 +137779,7 @@ word_68A18: dc.w 0 dc.w 8 ; --------------------------------------------------------------------------- -Obj_AIZ_Miniboss: +Obj_AIZMiniboss: moveq #0,d0 move.b 5(a0),d0 move.w off_68A36(pc,d0.w),d1 @@ -138305,8 +137859,8 @@ loc_68ADE: loc_68AFE: move.b #$A,5(a0) move.b #8,$39(a0) - moveq #sfx_FlamethrowerQuiet,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FlamethrowerQuiet),d0 + jsr (Play_SFX).l lea Child1_AIZ_MinibossFlames(pc),a2 jmp (CreateChild1_Normal).l ; --------------------------------------------------------------------------- @@ -138525,8 +138079,8 @@ loc_68D5E: ; --------------------------------------------------------------------------- loc_68D70: - moveq #sfx_MissileExplode,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileExplode),d0 + jsr (Play_SFX).l lea ChildObjDat_690D8(pc),a2 jsr (CreateChild1_Normal).l jmp (Go_Delete_Sprite).l @@ -138773,8 +138327,8 @@ loc_68F62: tst.b $20(a0) bne.s loc_68F88 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l bset #6,$2A(a0) loc_68F88: @@ -138877,39 +138431,46 @@ word_69056: dc.w $200 dc.b $14 dc.b 0 dc.b 0 -ChildObjDat_6905C:dc.w 1 +ChildObjDat_6905C: + dc.w 1 dc.l loc_686BE dc.w $20 dc.l loc_6870A dc.w $DC08 -ChildObjDat_6906A:dc.w 5 +ChildObjDat_6906A: + dc.w 5 dc.l loc_68DFA dc.w 0 -ChildObjDat_69072:dc.w 2 +ChildObjDat_69072: + dc.w 2 dc.l loc_6872C dc.w $E0 dc.l loc_6872C dc.w $9E4 dc.l loc_6872C dc.w $12E8 -ChildObjDat_69086:dc.w 2 +ChildObjDat_69086: + dc.w 2 dc.l loc_68C12 dc.w $E0 dc.l loc_68C12 dc.w $9E4 dc.l loc_68C12 dc.w $12E8 -ChildObjDat_6909A:dc.w 1 +ChildObjDat_6909A: + dc.w 1 dc.l loc_6880A dc.w 4 dc.l loc_68844 dc.w 4 -ChildObjDat_690A8:dc.w 1 +ChildObjDat_690A8: + dc.w 1 dc.l loc_6880A dc.w 4 dc.l loc_68C96 dc.w 4 -Child1_AIZ_MinibossFlames:dc.w 3 +Child1_AIZ_MinibossFlames: + dc.w 3 dc.l Obj_AIZMiniboss_Flame dc.w $9C04 dc.l Obj_AIZMiniboss_Flame @@ -138918,10 +138479,12 @@ Child1_AIZ_MinibossFlames:dc.w 3 dc.w $BC04 dc.l Obj_AIZMiniboss_Flame dc.w $D403 -ChildObjDat_690D0:dc.w 0 +ChildObjDat_690D0: + dc.w 0 dc.l loc_68994 dc.w 0 -ChildObjDat_690D8:dc.w 6 +ChildObjDat_690D8: + dc.w 6 dc.l loc_68D88 dc.w $DC dc.l loc_68D88 @@ -138936,10 +138499,12 @@ ChildObjDat_690D8:dc.w 6 dc.w $4FC dc.l loc_68D88 dc.w $FCFC -ChildObjDat_69104:dc.w 0 +ChildObjDat_69104: + dc.w 0 dc.l Obj_BossExplosionSpecial dc.w 0 -ChildObjDat_6910C:dc.w 3 +ChildObjDat_6910C: + dc.w 3 dc.l loc_68E98 dc.w $F0F8 dc.l loc_68E98 @@ -139034,11 +138599,9 @@ byte_6916F: dc.b 0 dc.b 4 dc.b 4 dc.b $F4 -Pal_AIZMiniboss: binclude "Levels/AIZ/Palettes/Miniboss.bin" - even - - -AIZBossSonicDat: dc.w $4880 +Pal_AIZMiniboss:binclude "Levels/AIZ/Palettes/Miniboss.bin" + even +AIZBossSonicDat:dc.w $4880 dc.w $48E0 dc.w $15A AIZBossKnuxDat: dc.w $4100 @@ -139046,8 +138609,8 @@ AIZBossKnuxDat: dc.w $4100 dc.w $5DA ; --------------------------------------------------------------------------- -Obj_AIZ_EndBoss: - move.l #Obj_AIZ_EndBossWait,(a0) +Obj_AIZEndBoss: + move.l #Obj_AIZEndBossWait,(a0) lea AIZBossSonicDat(pc),a1 cmpi.b #2,(Player_1+character_id).w bne.s loc_691BE @@ -139059,7 +138622,7 @@ loc_691BE: move.w (a1)+,(a2)+ move.w (a1)+,(a2)+ ; Load relative positional data depending on the character -Obj_AIZ_EndBossWait: +Obj_AIZEndBossWait: move.w (_unkFA82).w,d0 cmp.w (Camera_X_pos).w,d0 bls.s loc_691D4 ; Only branch if Sonic has reached the boss area @@ -139071,9 +138634,9 @@ loc_691D4: move.w d0,(Camera_max_X_pos).w move.l #Obj_Wait,(a0) ; Set up object to wait $78 frames move.w #$78,$2E(a0) - move.l #Obj_AIZ_EndBossMusic,$34(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + move.l #Obj_AIZEndBossMusic,$34(a0) + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.b #1,(Boss_flag).w ; Lock the screen clr.b (_unkFAA2).w clr.b (_unkFAA3).w @@ -139086,15 +138649,15 @@ loc_691D4: jmp (PalLoad_Line1).l ; Load the AIZ boss palette ; --------------------------------------------------------------------------- -Obj_AIZ_EndBossMusic: - move.l #Obj_AIZ_EndBossMain,(a0) - moveq #mus_EndBoss,d0 ; Play the boss music - jsr (Play_Sound).l - move.b #mus_EndBoss,(Level_music+1).w +Obj_AIZEndBossMusic: + move.l #Obj_AIZEndBossMain,(a0) + moveq #signextendB(mus_EndBoss),d0 ; Play the boss music + jsr (Play_Music).l + move.b #mus_EndBoss,(Current_music+1).w rts ; --------------------------------------------------------------------------- -Obj_AIZ_EndBossMain: +Obj_AIZEndBossMain: moveq #0,d0 move.b 5(a0),d0 move.w AIZ_EndBossIndex(pc,d0.w),d1 @@ -139103,7 +138666,8 @@ Obj_AIZ_EndBossMain: bne.w locret_69366 ; Only draw and touch when boss has revealed itself jmp (Draw_And_Touch_Sprite).l ; --------------------------------------------------------------------------- -AIZ_EndBossIndex: dc.w Obj_AIZ_EndBossInit-AIZ_EndBossIndex +AIZ_EndBossIndex: + dc.w Obj_AIZEndBossInit-AIZ_EndBossIndex dc.w loc_692E2-AIZ_EndBossIndex dc.w loc_6932C-AIZ_EndBossIndex dc.w loc_69368-AIZ_EndBossIndex @@ -139113,7 +138677,7 @@ AIZ_EndBossIndex: dc.w Obj_AIZ_EndBossInit-AIZ_EndBossIndex dc.w loc_6946A-AIZ_EndBossIndex ; --------------------------------------------------------------------------- -Obj_AIZ_EndBossInit: +Obj_AIZEndBossInit: lea ObjDat_AIZEndBoss(pc),a1 jsr (SetUp_ObjAttributes).l move.b #8,$29(a0) ; 8 hits defeats it @@ -139129,8 +138693,8 @@ loc_69296: loc_692A0: move.b #2,5(a0) - moveq #sfx_WaterfallSplash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_WaterfallSplash),d0 + jsr (Play_SFX).l ori.b #$48,$38(a0) move.l #loc_69302,$34(a0) clr.b $28(a0) @@ -139220,7 +138784,7 @@ loc_693C0: move.b #8,5(a0) move.w #$3F,$2E(a0) move.l #loc_693FA,$34(a0) - andi.b #-$B,$38(a0) + andi.b #$F5,$38(a0) rts ; --------------------------------------------------------------------------- @@ -139238,8 +138802,8 @@ loc_693F0: loc_693FA: move.b #$A,5(a0) - moveq #sfx_WaterfallSplash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_WaterfallSplash),d0 + jsr (Play_SFX).l move.l #loc_6942A,$34(a0) clr.b $28(a0) bsr.w sub_69C94 @@ -139313,7 +138877,7 @@ loc_694D4: jsr (Restore_PlayerControl).l lea (Player_2).w,a1 jsr (Restore_PlayerControl2).l - jsr (Obj_PlayLevelMusic).l + jsr (Restore_LevelMusic).l st (Ctrl_1_locked).w clr.w (Ctrl_1_logical).w jsr (Create_New_Sprite).l @@ -139323,7 +138887,7 @@ loc_694D4: loc_6950E: move.w (_unkFA84).w,d0 addi.w #$158,d0 - move.w d0,(Target_camera_max_X_pos).w + move.w d0,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jmp (CreateChild6_Simple).l ; --------------------------------------------------------------------------- @@ -139398,7 +138962,7 @@ loc_695CE: move.b #-$35,$22(a1) jsr (Player_Load_PLC).l move.w #$1000,d0 - move.w d0,(Target_camera_max_Y_pos).w + move.w d0,(Camera_stored_max_Y_pos).w move.w d0,(Camera_target_max_Y_pos).w lea (Child6_IncLevY).l,a2 jmp (CreateChild6_Simple).l @@ -139668,8 +139232,8 @@ loc_698D2: lea word_69CF2(pc),a1 jsr (SetUp_ObjAttributes3).l bset #4,$2B(a0) - moveq #sfx_Projectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Projectile),d0 + jsr (Play_SFX).l move.b #$C,$1E(a0) move.w #$9F,$2E(a0) move.l #loc_69908,(a0) @@ -139948,8 +139512,8 @@ sub_69BE2: tst.b $20(a0) bne.s loc_69C02 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_69C02: bset #6,$2A(a0) @@ -140028,7 +139592,8 @@ loc_69CB2: ; End of function sub_69CA4 ; --------------------------------------------------------------------------- -ObjDat_AIZEndBoss: dc.l Map_AIZEndBoss +ObjDat_AIZEndBoss: + dc.l Map_AIZEndBoss dc.w $A180 ; VRAM dc.w $280 ; Priority dc.b $28 ; Width @@ -140066,7 +139631,8 @@ word_69CFE: dc.w $8180 dc.b $30 dc.b $24 dc.b 0 -ObjDat_AIZEndBoss2: dc.l Map_AIZEndBoss +ObjDat_AIZEndBoss2: + dc.l Map_AIZEndBoss dc.w $8180 dc.w $100 dc.b $18 @@ -140078,36 +139644,46 @@ word_69D12: dc.w $180 dc.b $10 dc.b 0 dc.b 0 -ChildObjDat_69D18:dc.w 1 +ChildObjDat_69D18: + dc.w 1 dc.l loc_69622 dc.w $14FC dc.l loc_69622 dc.w $ECFC -ChildObjDat_69D26:dc.w 0 +ChildObjDat_69D26: + dc.w 0 dc.l loc_69738 dc.w $E400 -ChildObjDat_69D2E:dc.w 0 +ChildObjDat_69D2E: + dc.w 0 dc.l loc_699C0 dc.w 0 -ChildObjDat_69D36:dc.w 0 +ChildObjDat_69D36: + dc.w 0 dc.l loc_69996 dc.w $D0 -ChildObjDat_69D3E:dc.w 0 +ChildObjDat_69D3E: + dc.w 0 dc.l loc_69844 dc.w $305 -ChildObjDat_69D46:dc.w 0 +ChildObjDat_69D46: + dc.w 0 dc.l loc_69844 dc.w 7 -ChildObjDat_69D4E:dc.w 0 +ChildObjDat_69D4E: + dc.w 0 dc.l loc_69844 dc.w $FD05 -ChildObjDat_69D56:dc.w 0 +ChildObjDat_69D56: + dc.w 0 dc.l loc_698D2 dc.w 0 -ChildObjDat_69D5E:dc.w 0 +ChildObjDat_69D5E: + dc.w 0 dc.l loc_6995A dc.w 0 -ChildObjDat_69D66:dc.w 5 +ChildObjDat_69D66: + dc.w 5 dc.l loc_69A3A dc.w $F0F0 dc.l loc_69A3A @@ -140120,8 +139696,9 @@ ChildObjDat_69D66:dc.w 5 dc.w $F418 dc.l loc_69A3A dc.w $C18 -ChildObjDat_69D8C:dc.w 0 - dc.l Obj_81 +ChildObjDat_69D8C: + dc.w 0 + dc.l Obj_EggCapsule dc.w 0 dc.l Obj_CutsceneKnuckles byte_69D98: dc.b $2B, 0 @@ -140254,8 +139831,7 @@ byte_69E65: dc.b $2B, 0 dc.b $6B, 0 dc.b $F4 Pal_AIZEndBoss: binclude "Levels/AIZ/Palettes/End Boss.bin" - even - + even ; --------------------------------------------------------------------------- Obj_HCZMiniboss: @@ -140302,13 +139878,13 @@ loc_69F22: ; --------------------------------------------------------------------------- loc_69F2C: - move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w + move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w move.w $14(a0),$44(a0) move.l #Obj_Wait,(a0) move.w #$78,$2E(a0) move.l #loc_69F64,$34(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l bset #3,$38(a0) lea Pal_HCZMiniboss(pc),a1 jmp (PalLoad_Line1).l @@ -140316,9 +139892,9 @@ loc_69F2C: loc_69F64: move.l #Obj_HCZ_MinibossLoop,(a0) - moveq #mus_Miniboss,d0 - jsr (Play_Sound).l - move.b #mus_Miniboss,(Level_music+1).w + moveq #signextendB(mus_Miniboss),d0 + jsr (Play_Music).l + move.b #mus_Miniboss,(Current_music+1).w locret_69F78: rts @@ -140396,8 +139972,8 @@ loc_6A042: loc_6A046: move.b #$A,5(a0) - moveq #sfx_Roll,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Roll),d0 + jsr (Play_SFX).l bset #6,$38(a0) bclr #7,$38(a0) move.w #$400,$1A(a0) @@ -140494,8 +140070,8 @@ loc_6A15A: loc_6A16C: move.b #$14,5(a0) - moveq #sfx_DoorClose,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_DoorClose),d0 + jsr (Play_SFX).l bclr #3,$38(a0) move.w #$9F,$2E(a0) move.l #loc_6A194,$34(a0) @@ -140537,8 +140113,8 @@ loc_6A1FA: move.b #$16,5(a0) bclr #6,$38(a0) move.w #-$400,$1A(a0) - moveq #sfx_LavaBall,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_LavaBall),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -140684,8 +140260,8 @@ loc_6A3A0: move.b #4,$40(a0) move.l #loc_6A416,$34(a0) bclr #6,$38(a0) - moveq #sfx_LevelProjectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_LevelProjectile),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -140805,7 +140381,7 @@ loc_6A4F4: loc_6A504: lea byte_6AE3B(pc),a1 jsr (Animate_RawNoSST).l - lea DPLCPtr_6ADE4(pc),a2 + lea DPLCPtr_HCZMinibossSplash(pc),a2 jsr (Perform_DPLC).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -140856,8 +140432,8 @@ loc_6A57C: move.b #6,5(a0) move.l #byte_6ADEC,$30(a0) move.l #loc_6A5BC,$34(a0) - moveq #sfx_FanBig,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FanBig),d0 + jsr (Play_SFX).l lea ChildObjDat_6AD92(pc),a2 jmp (CreateChild6_Simple).l ; --------------------------------------------------------------------------- @@ -140880,8 +140456,8 @@ loc_6A5D8: movea.w $46(a0),a1 btst #2,$38(a1) beq.s loc_6A5FA - moveq #sfx_BossRotate,d0 - jsr (sub_85E52).l + moveq #signextendB(sfx_BossRotate),d0 + jsr (Play_SFX_Continuous).l lea byte_6AE11(pc),a1 jmp (Animate_RawNoSST).l ; --------------------------------------------------------------------------- @@ -141103,7 +140679,7 @@ loc_6A896: loc_6A8AE: jsr (Restore_PlayerControl).l - move.w #0,(Target_camera_min_Y_pos).w + move.w #0,(Camera_stored_min_Y_pos).w jsr (Make_LevelSizeObj).l loc_6A8C0: @@ -141368,8 +140944,8 @@ sub_6AAA0: sub_6AAB6: bset #7,$38(a0) - moveq #sfx_Splash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Splash),d0 + jsr (Play_SFX).l clr.w (Slotted_object_bits).w lea ChildObjDat_6AD7E(pc),a2 jmp (CreateChild1_Normal).l @@ -141508,7 +141084,7 @@ sub_6ABA8: moveq #0,d0 move.b $3D(a2),d0 lsr.w #3,d0 - andi.w #-2,d0 + andi.w #$FFFE,d0 move.w word_6ABF8(pc,d0.w),8(a0) lea byte_6AC18(pc,d0.w),a1 move.b (a1)+,d1 @@ -141585,8 +141161,8 @@ sub_6AC48: tst.b $20(a0) bne.s loc_6AC68 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_6AC68: bset #6,$2A(a0) @@ -141685,7 +141261,8 @@ byte_6AD48: dc.b 2 dc.b $24 dc.b 0 dc.b 0 -Child1_HCZMiniboss_RocketsEngine:dc.w 4 +Child1_HCZMiniboss_RocketsEngine: + dc.w 4 dc.l Obj_HCZMiniboss_Rockets dc.w $1818 dc.l Obj_HCZMiniboss_Rockets @@ -141696,28 +141273,36 @@ Child1_HCZMiniboss_RocketsEngine:dc.w 4 dc.w $18E8 dc.l Obj_HCZMiniboss_Engine dc.w $24 -ChildObjDat_6AD6E:dc.w 0 +ChildObjDat_6AD6E: + dc.w 0 dc.l loc_6A51E dc.w 0 -ChildObjDat_6AD76:dc.w 0 +ChildObjDat_6AD76: + dc.w 0 dc.l loc_6A460 dc.w 0 -ChildObjDat_6AD7E:dc.w 2 +ChildObjDat_6AD7E: + dc.w 2 dc.l loc_6A4C8 dc.w 0 dc.l loc_6A4C8 dc.w $F000 dc.l loc_6A4C8 dc.w $1000 -ChildObjDat_6AD92:dc.w $1D +ChildObjDat_6AD92: + dc.w $1D dc.l loc_6A65C -ChildObjDat_6AD98:dc.w 0 +ChildObjDat_6AD98: + dc.w 0 dc.l loc_6A710 -ChildObjDat_6AD9E:dc.w 0 +ChildObjDat_6AD9E: + dc.w 0 dc.l loc_6A7C4 -ChildObjDat_6ADA4:dc.w 1 +ChildObjDat_6ADA4: + dc.w 1 dc.l loc_6A7C4 -ChildObjDat_6ADAA:dc.w 3 +ChildObjDat_6ADAA: + dc.w 3 dc.l loc_6A8C6 dc.w $F4F4 dc.l loc_6A8C6 @@ -141726,7 +141311,8 @@ ChildObjDat_6ADAA:dc.w 3 dc.w $CF4 dc.l loc_6A8C6 dc.w $C0C -ChildObjDat_6ADC4:dc.w 4 +ChildObjDat_6ADC4: + dc.w 4 dc.l loc_6A8EE dc.w $DC dc.l loc_6A8EE @@ -141737,7 +141323,8 @@ ChildObjDat_6ADC4:dc.w 4 dc.w $F430 dc.l loc_6A8EE dc.w $C30 -DPLCPtr_6ADE4: dc.l ArtUnc_DashDust +DPLCPtr_HCZMinibossSplash: + dc.l ArtUnc_DashDust dc.l DPLC_HCZMinibossSplash byte_6ADEC: dc.b $16, 7 dc.b $17, 7 @@ -141801,12 +141388,11 @@ word_6AE4E: dc.w 2 dc.w $16FC word_6AE52: dc.w 3 dc.w $16FC -Pal_HCZMiniboss: binclude "Levels/HCZ/Palettes/Miniboss.bin" - even - -Pal_HCZMinibossWater: binclude "Levels/HCZ/Palettes/Miniboss Water.bin" - even - +Pal_HCZMiniboss:binclude "Levels/HCZ/Palettes/Miniboss.bin" + even +Pal_HCZMinibossWater: + binclude "Levels/HCZ/Palettes/Miniboss Water.bin" + even byte_6AE96: dc.b 4, $38 dc.b 8, $38 dc.b $3F, 0 @@ -142006,14 +141592,14 @@ loc_6B0E8: clr.b (Boss_flag).w move.w (_unkFAB4).w,d0 addi.w #$180,d0 - move.w d0,(Target_camera_max_X_pos).w + move.w d0,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jsr (CreateChild6_Simple).l cmpi.b #2,(Player_1+character_id).w beq.s loc_6B138 jsr (Create_New_Sprite).l bne.s locret_6B136 - move.l #Obj_81,(a1) + move.l #Obj_EggCapsule,(a1) move.w #$4250,$10(a1) move.w #$7E0,$14(a1) @@ -142024,7 +141610,7 @@ locret_6B136: loc_6B138: jsr (Create_New_Sprite).l bne.s locret_6B152 - move.l #Obj_81,(a1) + move.l #Obj_EggCapsule,(a1) move.w #$4760,$10(a1) move.w #$360,$14(a1) @@ -142044,7 +141630,7 @@ loc_6B154: jsr (Restore_PlayerControl).l lea (Player_2).w,a1 jsr (Restore_PlayerControl2).l - jsr (Obj_PlayLevelMusic).l + jsr (Restore_LevelMusic).l jsr (Create_New_Sprite).l bne.s loc_6B19C move.l #loc_6B7BC,(a1) @@ -142091,8 +141677,8 @@ loc_6B1E6: ; --------------------------------------------------------------------------- loc_6B204: - moveq #sfx_FanBig,d0 - jsr (sub_85E52).l + moveq #signextendB(sfx_FanBig),d0 + jsr (Play_SFX_Continuous).l jmp (Animate_RawGetFaster).l ; --------------------------------------------------------------------------- @@ -142108,8 +141694,8 @@ loc_6B22A: movea.w $46(a0),a1 btst #3,$38(a1) beq.s loc_6B244 - moveq #sfx_FanBig,d0 - jmp (sub_85E52).l + moveq #signextendB(sfx_FanBig),d0 + jmp (Play_SFX_Continuous).l ; --------------------------------------------------------------------------- loc_6B244: @@ -142546,8 +142132,8 @@ loc_6B734: loc_6B73A: lea ChildObjDat_6BDE0(pc),a2 jsr (CreateChild6_Simple).l - moveq #sfx_MissileExplode,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileExplode),d0 + jsr (Play_SFX).l lea ChildObjDat_6BDB2(pc),a2 jsr (CreateChild1_Normal).l jmp (Go_Delete_Sprite).l @@ -142603,8 +142189,8 @@ loc_6B7EC: move.b (V_int_run_count+3).w,d0 andi.b #7,d0 bne.s loc_6B7FE - moveq #sfx_Rumble2,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Rumble2),d0 + jsr (Play_SFX).l loc_6B7FE: jmp (Obj_Wait).l @@ -142636,8 +142222,8 @@ loc_6B832: bne.s loc_6B860 st (Palette_cycle_counters+$00).w st (Screen_shake_flag).w - moveq #sfx_Geyser,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Geyser),d0 + jsr (Play_SFX).l lea (Player_1).w,a1 bra.w loc_6B864 ; --------------------------------------------------------------------------- @@ -143048,8 +142634,8 @@ sub_6BBC4: tst.b $20(a0) bne.s loc_6BBE8 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_6BBE8: bset #6,$2A(a0) @@ -143229,7 +142815,7 @@ ObjDat3_6BD5A: dc.l Map_HCZEndBoss dc.b 8 dc.b 0 ObjDat3_6BD66: dc.l Map_Explosion - dc.w $85A0 + dc.w make_art_tile(ArtTile_Explosion,0,1) dc.w $80 dc.b $C dc.b $C @@ -143249,7 +142835,8 @@ ObjDat3_6BD7E: dc.l Map_HCZWaterWall dc.b $60 dc.b 1 dc.b 0 -ChildObjDat_6BD8A:dc.w 4 +ChildObjDat_6BD8A: + dc.w 4 dc.l loc_6B5C4 dc.w $2312 dc.l loc_6B5C4 @@ -143264,28 +142851,36 @@ word_6BDAA: dc.w 0 dc.l loc_6B5C4 dc.b $13 dc.b $A -ChildObjDat_6BDB2:dc.w 0 +ChildObjDat_6BDB2: + dc.w 0 dc.l loc_6B77C dc.w 0 -ChildObjDat_6BDBA:dc.w 0 +ChildObjDat_6BDBA: + dc.w 0 dc.l loc_6B26E dc.w 0 -ChildObjDat_6BDC2:dc.w 0 +ChildObjDat_6BDC2: + dc.w 0 dc.l loc_6B3DE dc.w 0 -ChildObjDat_6BDCA:dc.w 1 +ChildObjDat_6BDCA: + dc.w 1 dc.l loc_6B456 dc.w $FC00 dc.l loc_6B456 dc.w $400 -ChildObjDat_6BDD8:dc.w 0 +ChildObjDat_6BDD8: + dc.w 0 dc.l loc_6B4A2 dc.w 0 -ChildObjDat_6BDE0:dc.w 4 +ChildObjDat_6BDE0: + dc.w 4 dc.l loc_6B4C4 -ChildObjDat_6BDE6:dc.w $13 +ChildObjDat_6BDE6: + dc.w $13 dc.l loc_6B50C -ChildObjDat_6BDEC:dc.w 0 +ChildObjDat_6BDEC: + dc.w 0 dc.l Obj_RobotnikShip2 dc.w $C byte_6BDF4: dc.b 7 @@ -143410,18 +143005,17 @@ byte_6BEEB: dc.b 8, 0, 8, 0 byte_6BF02: dc.b 7, 0, 0, 1 dc.b 2, 3, 4, $F4 Pal_HCZEndBoss: binclude "Levels/HCZ/Palettes/End Boss.bin" - even - + even ; --------------------------------------------------------------------------- -Obj_MGZ2DrillingEggman: +Obj_MGZ2DrillingRobotnik: move.l #Obj_Wait,(a0) move.b #1,(Boss_flag).w move.w #$78,$2E(a0) - move.l #Obj_MGZ2DrillingEggmanGo,$34(a0) + move.l #Obj_MGZ2DrillingRobotnikGo,$34(a0) clr.b $2C(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l lea (ArtKosM_MGZEndBoss).l,a1 move.w #$67E0,d2 jsr (Queue_Kos_Module).l @@ -143434,17 +143028,17 @@ Obj_MGZ2DrillingEggman: jmp (PalLoad_Line1).l ; --------------------------------------------------------------------------- -Obj_MGZ2DrillingEggmanGo: - move.l #Obj_MGZ2DrillingEggmanStart,(a0) - moveq #mus_EndBoss,d0 ; Play boss music - jsr (Play_Sound).l - move.b #mus_EndBoss,(Level_music+1).w +Obj_MGZ2DrillingRobotnikGo: + move.l #Obj_MGZ2DrillingRobotnikStart,(a0) + moveq #signextendB(mus_EndBoss),d0 ; Play boss music + jsr (Play_Music).l + move.b #mus_EndBoss,(Current_music+1).w locret_6BF96: rts ; --------------------------------------------------------------------------- -Obj_MGZ2DrillingEggmanStart: +Obj_MGZ2DrillingRobotnikStart: moveq #0,d0 move.b 5(a0),d0 move.w off_6BFB0(pc,d0.w),d1 @@ -143488,8 +143082,8 @@ loc_6C00A: loc_6C014: move.b #4,5(a0) - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -143665,7 +143259,7 @@ loc_6C200: bset #5,$38(a0) clr.b (Boss_flag).w move.l #Delete_Current_Sprite,(a0) - jsr (Obj_PlayLevelMusic).l + jsr (Restore_LevelMusic).l lea (MGZ_8x8_Primary_KosM).l,a1 move.w #0,d2 jsr (Queue_Kos_Module).l @@ -143675,10 +143269,10 @@ loc_6C200: moveq #$14,d0 jsr (Load_PLC).l lea (ArtKosM_Spiker).l,a1 - move.w #-$5A00,d2 + move.w #$A600,d2 jsr (Queue_Kos_Module).l lea (ArtKosM_Mantis).l,a1 - move.w #-$5620,d2 + move.w #$A9E0,d2 jsr (Queue_Kos_Module).l lea (PLC_MonitorsSpikesSprings).l,a1 jsr (Load_PLC_Raw).l @@ -143688,7 +143282,7 @@ loc_6C200: st (Events_fg_2).w btst #0,4(a0) bne.s loc_6C29E - move.w #$6000,(Target_camera_max_X_pos).w + move.w #$6000,(Camera_stored_max_X_pos).w jsr (Create_New_Sprite).l bne.s locret_6C29C move.l #Obj_IncLevEndXGradual,(a1) @@ -143698,7 +143292,7 @@ locret_6C29C: ; --------------------------------------------------------------------------- loc_6C29E: - clr.w (Target_camera_min_X_pos).w + clr.w (Camera_stored_min_X_pos).w jsr (Create_New_Sprite).l bne.s locret_6C2B0 move.l #Obj_DecLevStartXGradual,(a1) @@ -143731,7 +143325,7 @@ loc_6C2EE: bne.w locret_6BF96 move.l #locret_6C318,(a0) bset #4,$38(a0) - jsr (Obj_PlayLevelMusic).l + jsr (Restore_LevelMusic).l jsr (Create_New_Sprite).l bne.s locret_6C316 move.l #loc_6D104,(a1) @@ -143744,7 +143338,7 @@ locret_6C318: rts ; --------------------------------------------------------------------------- -Obj_A1_1_MGZ2_Boss: +Obj_MGZEndBoss: moveq #0,d0 move.b 5(a0),d0 move.w off_6C332(pc,d0.w),d1 @@ -143780,8 +143374,8 @@ loc_6C354: move.b #1,(Boss_flag).w move.b #$1C,$1E(a0) move.w #$C,$26(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.w #$78,$2E(a0) move.l #loc_6C3EC,$34(a0) lea (ArtKosM_MGZEndBoss).l,a1 @@ -143810,9 +143404,9 @@ loc_6C3E6: loc_6C3EC: move.b #4,5(a0) - moveq #mus_EndBoss,d0 - jsr (Play_Sound).l - move.b #mus_EndBoss,(Level_music+1).w + moveq #signextendB(mus_EndBoss),d0 + jsr (Play_Music).l + move.b #mus_EndBoss,(Current_music+1).w move.w #$80,$1A(a0) move.w #$BF,$2E(a0) move.l #loc_6C422,$34(a0) @@ -143883,8 +143477,8 @@ loc_6C4BE: move.l #loc_6C4F8,$34(a0) st (Events_fg_4).w st (Disable_death_plane).w - moveq #sfx_BossHitFloor,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHitFloor),d0 + jsr (Play_SFX).l jsr (Create_New_Sprite).l bne.s locret_6C4F0 move.l #Obj_MGZ2_BossTransition,(a1) @@ -143988,8 +143582,8 @@ loc_6C5FE: loc_6C614: move.b #$1E,5(a0) - moveq #sfx_BossZoom,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossZoom),d0 + jsr (Play_SFX).l bclr #3,$38(a0) bclr #2,$38(a0) move.w #$9F,$2E(a0) @@ -144020,7 +143614,7 @@ word_6C688: dc.w 0, $128, $3C78, $3E78 dc.w $28, $28, $3D78, $3D78 ; --------------------------------------------------------------------------- -Obj_A2_1: +Obj_MGZEndBossKnux: lea word_6C688(pc),a1 jsr (Check_CameraInRange).l move.b #mus_Miniboss,$26(a0) @@ -144123,8 +143717,8 @@ loc_6C7BC: loc_6C7D8: cmpi.w #$28,$2E(a0) bne.s loc_6C7F2 - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l lea ChildObjDat_6D83E(pc),a2 jsr (CreateChild6_Simple).l @@ -144156,8 +143750,8 @@ loc_6C81A: loc_6C83C: cmpi.w #$48,$2E(a0) bne.s loc_6C856 - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l lea ChildObjDat_6D83E(pc),a2 jsr (CreateChild6_Simple).l @@ -144195,14 +143789,14 @@ loc_6C8B4: clr.b (Boss_flag).w jsr (Create_New_Sprite).l bne.s loc_6C8DC - move.l #Obj_81,(a1) + move.l #Obj_EggCapsule,(a1) move.w #$3F40,$10(a1) move.w #$B0,$14(a1) loc_6C8DC: move.w (_unkFAB4).w,d0 addi.w #$118,d0 - move.w d0,(Target_camera_max_X_pos).w + move.w d0,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jmp (CreateChild6_Simple).l ; --------------------------------------------------------------------------- @@ -144214,7 +143808,7 @@ loc_6C8F4: move.l #loc_6C932,(a0) clr.b (_unkFAA8).w jsr (Restore_PlayerControl).l - jsr (Obj_PlayLevelMusic).l + jsr (Restore_LevelMusic).l clr.w (Ctrl_1_logical).w st (Ctrl_1_locked).w clr.w $2E(a0) @@ -144247,7 +143841,7 @@ loc_6C962: lea word_6D782(pc),a1 jsr (SetUp_ObjAttributes3).l movea.w $46(a0),a1 - cmpi.l #Obj_A1_1_MGZ2_Boss,(a1) + cmpi.l #Obj_MGZEndBoss,(a1) bne.s loc_6C97E bclr #7,$A(a0) @@ -144378,8 +143972,8 @@ loc_6CACA: bsr.w sub_6D42E lea ChildObjDat_6D812(pc),a2 jsr (CreateChild1_Normal).l - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l lea ChildObjDat_6D83E(pc),a2 jsr (CreateChild6_Simple).l @@ -144459,8 +144053,8 @@ loc_6CBCE: move.b #2,$2C(a1) loc_6CBF8: - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l lea ChildObjDat_6D83E(pc),a2 jsr (CreateChild6_Simple).l bra.w loc_6CB04 @@ -144706,7 +144300,7 @@ loc_6CEB0: beq.s loc_6CEE6 move.w #$380,8(a0) movea.w $46(a0),a1 - cmpi.l #Obj_A1_1_MGZ2_Boss,(a1) + cmpi.l #Obj_MGZEndBoss,(a1) bne.s loc_6CEE6 bclr #7,$A(a0) @@ -144806,7 +144400,7 @@ loc_6CFF4: lea ObjDat3_6D7B4(pc),a1 jsr (SetUp_ObjAttributes).l move.l #loc_6D060,(a0) - move.w #-$72E0,$3A(a0) + move.w #$8D20,$3A(a0) move.w (Camera_X_pos).w,d0 addi.w #$140,d0 move.w d0,$10(a0) @@ -145362,8 +144956,8 @@ loc_6D51A: neg.w $18(a0) loc_6D576: - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l lea ChildObjDat_6D83E(pc),a2 jmp (CreateChild6_Simple).l ; --------------------------------------------------------------------------- @@ -145405,8 +144999,8 @@ loc_6D5C2: tst.b $20(a0) bne.s loc_6D5D6 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 ; Play hit sound - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 ; Play hit sound + jsr (Play_SFX).l loc_6D5D6: bset #6,$2A(a0) @@ -145444,8 +145038,8 @@ loc_6D61E: tst.b $20(a0) bne.s loc_6D644 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l bset #6,$2A(a0) loc_6D644: @@ -145569,7 +145163,8 @@ byte_6D76C: dc.b 6 dc.b 4 dc.b 8 dc.b 6 -ObjDat_MGZDrillBoss: dc.l Map_MGZEndBoss +ObjDat_MGZDrillBoss: + dc.l Map_MGZEndBoss dc.w $233F dc.w $300 dc.b $24 @@ -145626,7 +145221,8 @@ ObjDat3_6D7B4: dc.l Map_ScaledArt dc.b $20 dc.b 0 dc.b 0 -ChildObjDat_6D7C0:dc.w 3 +ChildObjDat_6D7C0: + dc.w 3 dc.l loc_6CC46 dc.w $EC0F dc.l loc_6C948 @@ -145635,46 +145231,59 @@ ChildObjDat_6D7C0:dc.w 3 dc.w $818 dc.l loc_6CEB0 dc.w $F418 -ChildObjDat_6D7DA:dc.w 0 +ChildObjDat_6D7DA: + dc.w 0 dc.l loc_6C9E8 dc.w $E900 -ChildObjDat_6D7E2:dc.w 0 +ChildObjDat_6D7E2: + dc.w 0 dc.l loc_6CF20 dc.w $10 -ChildObjDat_6D7EA:dc.w 9 +ChildObjDat_6D7EA: + dc.w 9 dc.l loc_6CF9E dc.w $18C0 -ChildObjDat_6D7F2:dc.w 9 +ChildObjDat_6D7F2: + dc.w 9 dc.l loc_6CF9E dc.w $E8C0 -ChildObjDat_6D7FA:dc.w 0 +ChildObjDat_6D7FA: + dc.w 0 dc.l loc_6CC72 dc.w $C00 -ChildObjDat_6D802:dc.w 7 +ChildObjDat_6D802: + dc.w 7 dc.l loc_6CDE8 dc.w $F000 -ChildObjDat_6D80A:dc.w 7 +ChildObjDat_6D80A: + dc.w 7 dc.l loc_6CDE8 dc.w $1000 -ChildObjDat_6D812:dc.w 0 +ChildObjDat_6D812: + dc.w 0 dc.l loc_6CCE6 dc.w 0 -ChildObjDat_6D81A:dc.w 0 +ChildObjDat_6D81A: + dc.w 0 dc.l loc_6CD42 dc.w 0 -ChildObjDat_6D822:dc.w 2 +ChildObjDat_6D822: + dc.w 2 dc.l loc_6CFBE dc.w $CEC dc.l loc_6CFBE dc.w $F008 dc.l loc_6CFBE dc.w $1408 -ChildObjDat_6D836:dc.w 0 +ChildObjDat_6D836: + dc.w 0 dc.l loc_6CFF4 dc.w 0 -ChildObjDat_6D83E:dc.w 0 +ChildObjDat_6D83E: + dc.w 0 dc.l loc_6D16A -ChildObjDat_6D844:dc.w 0 +ChildObjDat_6D844: + dc.w 0 dc.l loc_6D1BE dc.b 0, 5 dc.b 1, 5 @@ -145836,9 +145445,7 @@ byte_6D95D: dc.b $F, 3 dc.b $11, 7 dc.b $F4 Pal_MGZEndBoss: binclude "Levels/MGZ/Palettes/End Boss.bin" - even - - + even ; --------------------------------------------------------------------------- Obj_CNZMiniboss: @@ -145849,7 +145456,7 @@ Obj_CNZMiniboss: ; --------------------------------------------------------------------------- loc_6D9A8: - move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w ; X end to FFFA92 + move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w ; X end to FFFA92 move.w #$1C0,(Camera_min_Y_pos).w move.w d0,(Camera_min_X_pos).w ; Set X start addi.w #$80,d0 @@ -145859,8 +145466,8 @@ loc_6D9A8: move.l #Obj_Wait,(a0) move.w #$78,$2E(a0) ; Wait for 2 seconds move.l #Obj_CNZMinibossGo,$34(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l ; Fade out music + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l ; Fade out music move.b #1,(Boss_flag).w ; Lock screen moveq #$5D,d0 jsr (Load_PLC).l ; Load CNZ Miniboss PLC @@ -145870,9 +145477,9 @@ loc_6D9A8: Obj_CNZMinibossGo: move.l #Obj_CNZMinibossStart,(a0) - moveq #mus_Miniboss,d0 - jsr (Play_Sound).l ; Play miniboss music - move.b #mus_Miniboss,(Level_music+1).w + moveq #signextendB(mus_Miniboss),d0 + jsr (Play_Music).l ; Play miniboss music + move.b #mus_Miniboss,(Current_music+1).w jsr (Create_New_Sprite).l bne.s locret_6DA22 move.l #Obj_CNZMinibossScrollControl,(a1) @@ -145892,7 +145499,8 @@ Obj_CNZMinibossStart: bsr.w CNZMiniboss_CheckTopHit jmp (Draw_And_Touch_Sprite).l ; --------------------------------------------------------------------------- -CNZMiniboss_Index: dc.w Obj_CNZMinibossInit-CNZMiniboss_Index +CNZMiniboss_Index: + dc.w Obj_CNZMinibossInit-CNZMiniboss_Index dc.w Obj_CNZMinibossLower-CNZMiniboss_Index dc.w Obj_CNZMinibossMove-CNZMiniboss_Index dc.w Obj_CNZMinibossMove-CNZMiniboss_Index @@ -146027,7 +145635,8 @@ Obj_CNZMinibossTop: jsr CNZMinibossTop_Index(pc,d1.w) jmp (Draw_And_Touch_Sprite).l ; --------------------------------------------------------------------------- -CNZMinibossTop_Index: dc.w Obj_CNZMinibossTopInit-CNZMinibossTop_Index +CNZMinibossTop_Index: + dc.w Obj_CNZMinibossTopInit-CNZMinibossTop_Index dc.w Obj_CNZMinibossTopWait-CNZMinibossTop_Index dc.w Obj_CNZMinibossTopWait2-CNZMinibossTop_Index dc.w Obj_CNZMinibossTopMain-CNZMinibossTop_Index @@ -146225,11 +145834,11 @@ CNZMiniboss_BlockExplosion: bne.s locret_6DE24 move.b #6,$2C(a1) move.w (Events_bg+$00).w,d0 - andi.w #-$20,d0 + andi.w #$FFE0,d0 addi.w #$10,d0 move.w d0,$10(a1) move.w (Events_bg+$02).w,d0 - andi.w #-$20,d0 + andi.w #$FFE0,d0 addi.w #$10,d0 move.w d0,$14(a1) @@ -146299,7 +145908,7 @@ Obj_CNZMinibossCoilOpen: loc_6DEDE: move.l #loc_6DEEC,(a0) - move.b #-$56,$28(a0) + move.b #$AA,$28(a0) rts ; --------------------------------------------------------------------------- @@ -146401,7 +146010,8 @@ word_6E022: dc.w $F000 dc.w $34 dc.w $3C dc.w $48 -CNZMinibossDebris_Frames: dc.b $12, $13, $14, $14, $14, $14, $14, $14, $15, 0 +CNZMinibossDebris_Frames: + dc.b $12, $13, $14, $14, $14, $14, $14, $14, $15, 0 ; --------------------------------------------------------------------------- SetUp_CNZMinibossSwing: @@ -146455,8 +146065,8 @@ CNZMiniboss_CheckTopHit: beq.s CNZMiniboss_BossDefeated bset #6,$2A(a0) ; Set to indicate in hit stun move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l ; Play hit sound + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l ; Play hit sound loc_6E0D6: moveq #0,d0 @@ -146661,47 +146271,57 @@ loc_6E27C: ; End of function CNZMinibossTop_CheckHitBase ; --------------------------------------------------------------------------- -CNZMiniboss_BaseRange: dc.w $FFE8, $30 +CNZMiniboss_BaseRange: + dc.w $FFE8, $30 dc.w $FFF0, $20 -CNZMiniboss_CoilRange: dc.w $FFF4, $18 +CNZMiniboss_CoilRange: + dc.w $FFF4, $18 dc.w $10, $18 -CNZMiniboss_CoilOpenRange: dc.w $FFF4, $18 +CNZMiniboss_CoilOpenRange: + dc.w $FFF4, $18 dc.w $10, $38 -ObjDat_CNZMiniboss: dc.l Map_CNZMiniboss +ObjDat_CNZMiniboss: + dc.l Map_CNZMiniboss dc.w $A52E dc.w $280 dc.b $18 dc.b $30 dc.b 0 dc.b $C -ObjDat3_CNZMinibossTop: dc.w $200 +ObjDat3_CNZMinibossTop: + dc.w $200 dc.b $18 dc.b $10 dc.b 7 dc.b $AA -ObjDat3_CNZMinibossSpark: dc.w $200 +ObjDat3_CNZMinibossSpark: + dc.w $200 dc.b $C dc.b $18 dc.b $A dc.b $92 -ObjDat3_CNZMbossBounceEffect: dc.w $100 +ObjDat3_CNZMbossBounceEffect: + dc.w $100 dc.b 8 dc.b 8 dc.b $C dc.b 0 -ObjDat_CNZMinibossDebris: dc.l Map_CNZMiniboss +ObjDat_CNZMinibossDebris: + dc.l Map_CNZMiniboss dc.w $A52E dc.w $100 dc.b $10 dc.b $10 dc.b 0 dc.b 0 -Child1_CNZMinibossMakeTop:dc.w 1 +Child1_CNZMinibossMakeTop: + dc.w 1 dc.l Obj_CNZMinibossTop dc.w $2C dc.l Obj_CNZMinibossCoil dc.w $1C -Child1_CNZMinibossTimedSparks:dc.w 1 +Child1_CNZMinibossTimedSparks: + dc.w 1 dc.l Obj_CNZMinibossTimedSparks dc.w $EC18 dc.l Obj_CNZMinibossTimedSparks @@ -146709,128 +146329,98 @@ Child1_CNZMinibossTimedSparks:dc.w 1 dc.w 0 dc.l loc_6DEDE dc.w $FC -Child1_CNZCoilOpenSparks:dc.w 2 +Child1_CNZCoilOpenSparks: + dc.w 2 dc.l Obj_CNZMinibossSparks dc.w $FC28 dc.l Obj_CNZMinibossSparks dc.w $42C dc.l Obj_CNZMinibossSparks dc.w $FC3C -Child1_CNZBounceEffect:dc.w 0 +Child1_CNZBounceEffect: + dc.w 0 dc.l Obj_CNZMinibossBounceEffect dc.w $FC -Child1_CNZMinibossExplosion:dc.w 0 +Child1_CNZMinibossExplosion: + dc.w 0 dc.l Obj_CreateBossExplosion dc.w 0 -Child6_CNZMinibossMakeDebris:dc.w 8 +Child6_CNZMinibossMakeDebris: + dc.w 8 dc.l Obj_CNZMinibossDebris -AniRaw_CNZMinibossOpening: dc.b 0, 3 - dc.b 1, 3 - dc.b 2, 3 - dc.b 3, 3 - dc.b 4, 3 - dc.b 5, 3 - dc.b 6, 3 - dc.b $F4 -AniRaw_CNZMinibossClosing: dc.b 6, 3 - dc.b 5, 3 - dc.b 4, 3 - dc.b 3, 3 - dc.b 2, 3 - dc.b 1, 3 - dc.b 0, 3 - dc.b $F4 -AniRaw_CNZMinibossTop: dc.b 7, 8, 7, 8, 9, $FC - -AniRaw_CNZMinibossTop2: dc.b 0, 7, 8, 9, $FC - -AniRaw_CNZMinibossTimedSparkLeft: dc.b $A, 0 - dc.b $11, 2 - dc.b $B, 0 - dc.b $11, 2 - dc.b $FC -AniRaw_CNZMinibossTimedSparkRight: dc.b $F, 0 - dc.b $11, 2 - dc.b $10, 0 - dc.b $11, 2 - dc.b $FC -AniRaw_CNZMinibossSparks1: dc.b $A, 0 - dc.b $11, 7 - dc.b $B, 0 - dc.b $11, 7 - dc.b $FC -AniRaw_CNZMinibossSparks2: dc.b $11, 0 - dc.b $F, 0 - dc.b $11, 7 - dc.b $10, 0 - dc.b $11, 9 - dc.b $FC -AniRaw_CNZMinibossSparks3: dc.b $A, 0 - dc.b $11, 7 - dc.b $B, 0 - dc.b $11, $B - dc.b $FC -AniRaw_CNZMBossBoundEffect: dc.b $C, 0, $D, 1, $E, 1, $F4, 0 - -Pal_CNZMiniboss: binclude "Levels/CNZ/Palettes/Miniboss.bin" - even - -PalSPtr_CNZMinibossNormal: palscriptptr .header, .data +AniRaw_CNZMinibossOpening: + dc.b 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3, $F4 +AniRaw_CNZMinibossClosing: + dc.b 6, 3, 5, 3, 4, 3, 3, 3, 2, 3, 1, 3, 0, 3, $F4 +AniRaw_CNZMinibossTop: + dc.b 7, 8, 7, 8, 9, $FC +AniRaw_CNZMinibossTop2: + dc.b 0, 7, 8, 9, $FC +AniRaw_CNZMinibossTimedSparkLeft: + dc.b $A, 0, $11, 2, $B, 0, $11, 2, $FC +AniRaw_CNZMinibossTimedSparkRight: + dc.b $F, 0, $11, 2, $10, 0, $11, 2, $FC +AniRaw_CNZMinibossSparks1: + dc.b $A, 0, $11, 7, $B, 0, $11, 7, $FC +AniRaw_CNZMinibossSparks2: + dc.b $11, 0, $F, 0, $11, 7, $10, 0, $11, 9, $FC +AniRaw_CNZMinibossSparks3: + dc.b $A, 0, $11, 7, $B, 0, $11, $B, $FC +AniRaw_CNZMBossBoundEffect: + dc.b $C, 0, $D, 1, $E, 1, $F4 + even +Pal_CNZMiniboss:binclude "Levels/CNZ/Palettes/Miniboss.bin" + even +PalSPtr_CNZMinibossNormal: + palscriptptr .header, .data dc.w 0 .header palscripthdr Normal_palette_line_2+$14, 1, 3-1 - .data palscriptdata 1, $EEE palscriptdata 1, $A22 palscriptdata 6, $020 palscriptloop .headr2 - .headr2 palscripthdr Normal_palette_line_2+$14, 1, 3-1 palscriptdata 1, $EEE palscriptdata 1, $A22 palscriptdata 4, $020 palscriptloop .headr3 - .headr3 palscripthdr Normal_palette_line_2+$14, 1, 3-1 palscriptdata 1, $EEE palscriptdata 1, $A22 palscriptdata 2, $020 palscriptloop .headr4 - .headr4 palscripthdr Normal_palette_line_2+$14, 1, $B-1 palscriptdata 1, $EEE palscriptdata 1, $A22 palscriptdata 1, $020 palscriptrun -PalSPtr_CNZMinibossSparks: palscriptptr .header, .data +PalSPtr_CNZMinibossSparks: + palscriptptr .header, .data dc.w 0 .header palscripthdr Normal_palette_line_2+$14, 1, $31-1 - .data palscriptdata 1, $EEE palscriptdata 1, $A22 palscriptdata 1, $020 palscriptloop .headr2 - .headr2 palscripthdr Normal_palette_line_2+$14, 1, 3-1 palscriptdata 1, $EEE palscriptdata 1, $A22 palscriptdata 2, $020 palscriptloop .headr3 - .headr3 palscripthdr Normal_palette_line_2+$14, 1, 4-1 palscriptdata 1, $EEE palscriptdata 1, $A22 palscriptdata 4, $020 palscriptloop .headr4 - .headr4 palscripthdr Normal_palette_line_2+$14, 1, 2-1 palscriptdata 96, $020 palscriptloop PalSPtr_CNZMinibossNormal.headr3 -PalSPtr_CNZMinibossOpen: palscriptptr .header, .data +PalSPtr_CNZMinibossOpen: + palscriptptr .header, .data dc.w 0 .header palscripthdr Normal_palette_line_2+$14, 1, 0 - .data palscriptdata 1, $EEE palscriptdata 1, $A22 palscriptdata 2, $020 @@ -147071,10 +146661,10 @@ loc_6E6E4: clr.b (Boss_flag).w move.w (_unkFAB4).w,d0 addi.w #$190,d0 - move.w d0,(Target_camera_max_X_pos).w + move.w d0,(Camera_stored_max_X_pos).w jsr (Create_New_Sprite).l bne.s loc_6E718 - move.l #Obj_81,(a1) + move.l #Obj_EggCapsule,(a1) move.w #$4990,$10(a1) move.w #$2E0,$14(a1) @@ -147091,13 +146681,13 @@ loc_6E724: jsr (Restore_PlayerControl).l lea (Player_2).w,a1 jsr (Restore_PlayerControl2).l - jsr (Obj_PlayLevelMusic).l - move.w #$200,(Target_camera_min_Y_pos).w + jsr (Restore_LevelMusic).l + move.w #$200,(Camera_stored_min_Y_pos).w lea (Child6_DecLevY).l,a2 jsr (CreateChild6_Simple).l move.w (_unkFAB4).w,d0 addi.w #$310,d0 - move.w d0,(Target_camera_max_X_pos).w + move.w d0,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jmp (CreateChild6_Simple).l ; --------------------------------------------------------------------------- @@ -147209,8 +146799,8 @@ loc_6E8A2: ; --------------------------------------------------------------------------- loc_6E8B6: - moveq #sfx_FloorThump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FloorThump),d0 + jsr (Play_SFX).l move.w $1A(a0),d0 cmpi.w #$80,d0 blo.s loc_6E8D2 @@ -147437,8 +147027,8 @@ loc_6EB0C: ; --------------------------------------------------------------------------- loc_6EB16: - moveq #sfx_GravityMachine,d0 - jsr (sub_85E52).l + moveq #signextendB(sfx_GravityMachine),d0 + jsr (Play_SFX_Continuous).l jsr (Refresh_ChildPosition).l jsr (Animate_Raw).l bsr.w sub_6EC1E @@ -147624,8 +147214,8 @@ sub_6EC9E: tst.b $20(a0) bne.s loc_6ECC2 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_6ECC2: bset #6,$2A(a0) @@ -147750,26 +147340,32 @@ ObjDat3_6EDC0: dc.l Map_CNZEndBoss dc.b $40 dc.b 6 dc.b $AB -ChildObjDat_6EDCC:dc.w 0 +ChildObjDat_6EDCC: + dc.w 0 dc.l loc_6E82C dc.w $14 -ChildObjDat_6EDD4:dc.w 3 +ChildObjDat_6EDD4: + dc.w 3 dc.l loc_6E95A dc.w 8 -ChildObjDat_6EDDC:dc.w 0 +ChildObjDat_6EDDC: + dc.w 0 dc.l loc_6EADA dc.w $4C -ChildObjDat_6EDE4:dc.w 1 +ChildObjDat_6EDE4: + dc.w 1 dc.l loc_6EADA dc.w $F454 dc.l loc_6EADA dc.w $C54 -ChildObjDat_6EDF2:dc.w 1 +ChildObjDat_6EDF2: + dc.w 1 dc.l loc_6E936 dc.w $F800 dc.l loc_6E936 dc.w $800 -ChildObjDat_6EE00:dc.w 1 +ChildObjDat_6EE00: + dc.w 1 dc.l loc_6EBAC dc.w $EC00 dc.l loc_6EBAC @@ -147803,11 +147399,10 @@ byte_6EE3B: dc.b 9, $24, 6, 0 dc.b $FC, 7, 0, 1 dc.b $FC Pal_CNZEndBoss: binclude "Levels/CNZ/Palettes/End Boss.bin" - even - + even ; --------------------------------------------------------------------------- -Obj_AA_1_FBZ1_Boss: +Obj_FBZMiniboss: lea word_6EE98(pc),a1 jsr (Check_CameraInRange).l moveq #0,d0 @@ -147834,8 +147429,8 @@ loc_6EEA8: jsr (SetUp_ObjAttributes).l move.b #6,$29(a0) move.b #1,(Boss_flag).w - move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w - move.w (Camera_max_Y_pos).w,(Target_camera_max_Y_pos).w + move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w + move.w (Camera_max_Y_pos).w,(Camera_stored_max_Y_pos).w move.w #$540,(Camera_target_max_Y_pos).w move.w #$2E20,$3A(a0) move.l #loc_6EF14,$34(a0) @@ -147856,7 +147451,7 @@ loc_6EF0E: loc_6EF14: move.b #4,5(a0) - move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w + move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w move.w $3A(a0),d0 move.w d0,(Camera_min_X_pos).w addi.w #$80,d0 @@ -147874,8 +147469,8 @@ loc_6EF3C: move.b #6,5(a0) move.l #loc_6EF60,$34(a0) move.w #$78,$2E(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l locret_6EF58: rts @@ -147887,9 +147482,9 @@ loc_6EF5A: loc_6EF60: move.b #8,5(a0) - moveq #mus_Miniboss,d0 - jsr (Play_Sound).l - move.b #mus_Miniboss,(Level_music+1).w + moveq #signextendB(mus_Miniboss),d0 + jsr (Play_Music).l + move.b #mus_Miniboss,(Current_music+1).w rts ; --------------------------------------------------------------------------- @@ -148339,7 +147934,7 @@ loc_6F432: lea word_6FA52(pc),a1 move.w #3,$3E(a0) jsr (SetUp_ObjAttributes3).l - move.b #-$7A,$28(a0) + move.b #$86,$28(a0) movea.w $46(a0),a1 movea.w $46(a1),a1 movea.w $46(a1),a1 @@ -148584,8 +148179,8 @@ loc_6F702: move.b #$1E,5(a0) move.w #$1F,$2E(a0) move.l #loc_6F72E,$34(a0) - moveq #sfx_MetalLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MechaLand),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -148615,7 +148210,7 @@ loc_6F74C: loc_6F764: bsr.w sub_6F786 move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.s loc_6F780 @@ -148938,8 +148533,8 @@ sub_6F994: subq.b #1,$29(a0) beq.s loc_6F9DE move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_6F9B6: moveq #0,d0 @@ -149039,7 +148634,8 @@ word_6FA5E: dc.w $180 dc.b 8 dc.b 0 dc.b 0 -ChildObjDat_6FA76:dc.w 6 +ChildObjDat_6FA76: + dc.w 6 dc.l loc_6F10E dc.w $F0F8 dc.l loc_6F10E @@ -149056,10 +148652,12 @@ ChildObjDat_6FA76:dc.w 6 dc.w 0 word_6FAA2: dc.w 4 dc.l loc_6F3DE -ChildObjDat_6FAA8:dc.w 0 +ChildObjDat_6FAA8: + dc.w 0 dc.l loc_6F0CE dc.w $F8 -ChildObjDat_6FAB0:dc.w 0 +ChildObjDat_6FAB0: + dc.w 0 dc.l loc_6F74C dc.b 3 dc.b 9 @@ -149071,24 +148669,21 @@ ChildObjDat_6FAB0:dc.w 0 dc.b $F dc.b $10 dc.b $FC -Pal_FBZMiniboss: binclude "Levels/FBZ/Palettes/FBZ Miniboss.bin" - even - +Pal_FBZMiniboss:binclude "Levels/FBZ/Palettes/FBZ Miniboss.bin" + even word_6FAE0: palscriptptr .header, .data dc.w 0 .header palscripthdr Normal_palette_line_2+$1E, 1, 7-1 - .data palscriptdata 1, $EEE palscriptdata 4, $644 palscriptrun -Map_FBZMiniboss: include "Levels/FBZ/Misc Object Data/Map - Miniboss.asm" +Map_FBZMiniboss:include "Levels/FBZ/Misc Object Data/Map - Miniboss.asm" word_6FCFC: dc.w $560, $660, $2900, $2C00 dc.w $5E0, $5E0, $2900, $2900 - ; --------------------------------------------------------------------------- -Obj_AB_1_FBZ_Laser_Boss: +Obj_FBZ2Subboss: lea word_6FCFC(pc),a1 jsr (Check_CameraInRange).l moveq #0,d0 @@ -149111,7 +148706,7 @@ loc_6FD38: move.b #$7F,$29(a0) move.b #6,$39(a0) move.b #1,(Boss_flag).w - move.w (Camera_target_max_Y_pos).w,(Target_camera_max_Y_pos).w + move.w (Camera_target_max_Y_pos).w,(Camera_stored_max_Y_pos).w move.w #$2900,(Camera_min_X_pos).w move.w #$5E0,(Camera_target_max_Y_pos).w lea PLC_705B6(pc),a1 @@ -149402,7 +148997,7 @@ loc_7009A: subq.w #4,$14(a0) move.w #$200,$18(a0) move.l #Map_FBZRobotnikRun,$C(a0) - move.w #-$7B57,$A(a0) + move.w #$84A9,$A(a0) clr.b $22(a0) clr.b $24(a0) clr.b $23(a0) @@ -149491,8 +149086,8 @@ loc_701B4: bmi.s loc_701D6 cmpi.b #4,$2E(a0) bne.s loc_701E8 - moveq #sfx_Charging,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Charging),d0 + jsr (Play_SFX).l loc_701D6: cmpi.b #$20,$2F(a0) @@ -149511,8 +149106,8 @@ loc_701EE: addi.w #$3C,$14(a0) move.w #$1F,$2E(a0) move.l #loc_70262,$34(a0) - moveq #sfx_BossLazer,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossLaser),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -149520,7 +149115,7 @@ loc_70220: clr.b $28(a0) cmpi.b #8,$22(a0) bne.s loc_70232 - move.b #-$54,$28(a0) + move.b #$AC,$28(a0) loc_70232: lea (Player_1).w,a2 @@ -149625,8 +149220,8 @@ sub_70330: tst.b $20(a0) bne.s loc_7034A move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_7034A: bsr.w sub_70362 @@ -149696,20 +149291,25 @@ ObjDat3_703BC: dc.l Map_FBZRobotnikStand dc.b $20 dc.b 0 dc.b 0 -ChildObjDat_703C8:dc.w 3 +ChildObjDat_703C8: + dc.w 3 dc.l loc_6FF5C dc.w 0 -ChildObjDat_703D0:dc.w 1 +ChildObjDat_703D0: + dc.w 1 dc.l loc_6FFDC dc.w 0 dc.l loc_7002A dc.w 0 -ChildObjDat_703DE:dc.w 0 - dc.l Obj_8B -ChildObjDat_703E4:dc.w 1 +ChildObjDat_703DE: + dc.w 0 + dc.l Obj_SpriteMask +ChildObjDat_703E4: + dc.w 1 dc.l loc_70118 dc.w 0 -ChildObjDat_703EC:dc.w 0 +ChildObjDat_703EC: + dc.w 0 dc.l loc_70192 dc.w 8 byte_703F4: dc.b 0, 7 @@ -149736,11 +149336,9 @@ byte_70419: dc.b 5, 0 dc.b 1, 2 dc.b 1, $FC dc.b 0 -Pal_FBZ2Subboss: binclude "Levels/FBZ/Palettes/FBZ2 Subboss.bin" - even - -Map_FBZ2Subboss: include "Levels/FBZ/Misc Object Data/Map - Act 2 Subboss.asm" - +Pal_FBZ2Subboss:binclude "Levels/FBZ/Palettes/FBZ2 Subboss.bin" + even +Map_FBZ2Subboss:include "Levels/FBZ/Misc Object Data/Map - Act 2 Subboss.asm" PLC_705B6: dc.w 3 dc.l ArtNem_FBZ2Subboss dc.w $A5C0 @@ -149766,8 +149364,8 @@ Obj_FBZEndBoss: move.b #1,(Boss_flag).w move.w #$77,$2E(a0) move.l #loc_70632,$34(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l jsr (Create_New_Sprite).l bne.s loc_70620 move.l #Obj_Song_Fade_Transition,(a1) @@ -149974,12 +149572,12 @@ loc_70870: clr.b (Boss_flag).w jsr (Create_New_Sprite).l bne.s loc_70898 - move.l #Obj_81,(a1) + move.l #Obj_EggCapsule,(a1) move.w #$307C,$10(a1) move.w #$660,$14(a1) loc_70898: - move.w #$2FDC,(Target_camera_max_X_pos).w + move.w #$2FDC,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jmp (CreateChild6_Simple).l ; --------------------------------------------------------------------------- @@ -149995,14 +149593,14 @@ loc_708AA: clr.w $2E(a0) lea (Player_2).w,a1 jsr (Restore_PlayerControl2).l - jsr (Obj_PlayLevelMusic).l + jsr (Restore_LevelMusic).l jsr (Create_New_Sprite).l bne.s loc_708EE move.l #loc_863C0,(a1) loc_708EE: move.w #$1000,(Camera_target_max_Y_pos).w - move.w #$3738,(Target_camera_max_X_pos).w + move.w #$3738,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jsr (CreateChild6_Simple).l lea word_7091C(pc),a6 @@ -150256,8 +149854,8 @@ loc_70BA0: ; --------------------------------------------------------------------------- loc_70BB0: - moveq #sfx_FlamethrowerQuiet,d0 - jsr (sub_85E52).l + moveq #signextendB(sfx_FlamethrowerQuiet),d0 + jsr (Play_SFX_Continuous).l jsr (Child_GetPriority).l jsr (Refresh_ChildPosition).l jsr (Animate_RawMultiDelay).l @@ -150308,8 +149906,8 @@ loc_70C4A: move.w #$800,$18(a0) lea (Player_1).w,a1 subq.w #8,$10(a1) - moveq #sfx_FloorThump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FloorThump),d0 + jsr (Play_SFX).l loc_70C66: jsr (MoveSprite_LightGravity).l @@ -150324,8 +149922,8 @@ sub_70C72: move.b $3C(a0),d0 andi.b #$7F,d0 bne.s locret_70C8C - moveq #sfx_SpikeBalls,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SpikeBalls),d0 + jsr (Play_SFX).l locret_70C8C: rts @@ -150524,8 +150122,8 @@ sub_70E10: tst.b $20(a0) bne.s loc_70E34 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_70E34: bset #6,$2A(a0) @@ -150604,29 +150202,35 @@ ObjDat3_70EC8: dc.l Map_FBZEndBossFlame dc.b $10 dc.b 0 dc.b $8B -ObjDat_FBZExitDoor: dc.l Map_FBZExitDoor +ObjDat_FBZExitDoor: + dc.l Map_FBZExitDoor dc.w $43E5 dc.w $80 dc.b 8 dc.b $20 dc.b 0 dc.b $D7 -ChildObjDat_70EE0:dc.w 2 +ChildObjDat_70EE0: + dc.w 2 dc.l loc_70948 dc.w $D048 dc.l loc_70948 dc.w $3048 dc.l loc_70AFC dc.w $D8 -ChildObjDat_70EF4:dc.w 0 +ChildObjDat_70EF4: + dc.w 0 dc.l loc_70A46 dc.w $E0 -ChildObjDat_70EFC:dc.w 3 +ChildObjDat_70EFC: + dc.w 3 dc.l loc_70AA2 dc.w 0 -ChildObjDat_70F04:dc.w 8 +ChildObjDat_70F04: + dc.w 8 dc.l loc_70B8C -ChildObjDat_70F0A:dc.w 3 +ChildObjDat_70F0A: + dc.w 3 dc.l loc_70BD0 dc.w $EC08 dc.l loc_70BD0 @@ -150635,7 +150239,8 @@ ChildObjDat_70F0A:dc.w 3 dc.w $F020 dc.l loc_70BD0 dc.w $1020 -ChildObjDat_70F24:dc.w 3 +ChildObjDat_70F24: + dc.w 3 dc.l loc_70BFE dc.w $F8F0 dc.l loc_70BFE @@ -150677,15 +150282,14 @@ byte_70F70: dc.b 0, 2 dc.b 3, 5 dc.b 4, 6 dc.b $F4, 0 -Map_FBZExitDoor: include "Levels/FBZ/Misc Object Data/Map - Exit Door.asm" - -Pal_FBZEndBoss: binclude "Levels/FBZ/Palettes/FBZ End Boss.bin" - even - +Map_FBZExitDoor: + include "Levels/FBZ/Misc Object Data/Map - Exit Door.asm" +Pal_FBZEndBoss: + binclude "Levels/FBZ/Palettes/FBZ End Boss.bin" + even Map_FBZEndBoss: include "Levels/FBZ/Misc Object Data/Map - End Boss.asm" - -Map_FBZEndBossFlame: include "Levels/FBZ/Misc Object Data/Map - End Boss Flame.asm" - +Map_FBZEndBossFlame: + include "Levels/FBZ/Misc Object Data/Map - End Boss Flame.asm" FBZEndBoss_CircleLookup1: dc.b 0, 2, 4, 5, 7, 9, $B, $C, $E, $10, $11, $13, $15, $17, $18, $1A, $1C, $1D, $1F, $20 dc.b $22, $23, $25, $27, $28, $29, $2B, $2C, $2E, $2F, $30, $32, $33, $34, $35, $37, $38, $39, $3A, $3B @@ -150824,8 +150428,8 @@ loc_7128A: bset #2,$38(a0) move.w #$7F,$2E(a0) move.l #loc_712A8,$34(a0) - moveq #sfx_TunnelBooster,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_TunnelBooster),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -150852,8 +150456,8 @@ loc_712DA: neg.w $3E(a0) move.w $3E(a0),$18(a0) move.w #$5F,$2E(a0) - moveq #sfx_BossRotate,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossRotate),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -151089,9 +150693,9 @@ loc_7155A: loc_71566: move.b #8,5(a0) - move.b #-$75,$28(a0) - moveq #sfx_BossRotate,d0 - jsr (Play_Sound_2).l + move.b #$8B,$28(a0) + moveq #signextendB(sfx_BossRotate),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -151182,8 +150786,8 @@ loc_7164E: loc_71654: move.b #$14,5(a0) - moveq #sfx_LevelProjectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_LevelProjectile),d0 + jsr (Play_SFX).l move.w #$400,$1A(a0) clr.w $18(a0) move.w #$45,$2E(a0) @@ -151478,8 +151082,8 @@ sub_718DA: tst.b $20(a0) bne.s loc_718FA move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_718FA: bset #6,$2A(a0) @@ -151545,7 +151149,8 @@ word_7197E: dc.w $180 dc.b $C dc.b $B dc.b 0 -ChildObjDat_71984:dc.w 5 +ChildObjDat_71984: + dc.w 5 dc.l loc_71446 dc.w $F2F5 dc.l loc_71446 @@ -151558,9 +151163,11 @@ ChildObjDat_71984:dc.w 5 dc.w $EF5 dc.l loc_71446 dc.w $E -ChildObjDat_719AA:dc.w 7 +ChildObjDat_719AA: + dc.w 7 dc.l loc_714B8 -ChildObjDat_719B0:dc.w 3 +ChildObjDat_719B0: + dc.w 3 dc.l loc_7168A dc.w $F4F4 dc.l loc_7168A @@ -151586,12 +151193,10 @@ ChildObjDat_719B0:dc.w 3 dc.b 3 dc.b $F4 dc.b 0 -Pal_ICZMiniboss: binclude "Levels/ICZ/Palettes/Miniboss.bin" - even - +Pal_ICZMiniboss:binclude "Levels/ICZ/Palettes/Miniboss.bin" + even word_719FA: palscriptptr .header, .data dc.w 0 - .header palscripthdr Normal_palette_line_4+$02, 10, 2-1 .data palscriptdata 8, $EEC, $CC6, $C80, $C60, $C40, $A40, $820, $620, $200, $600 palscriptdata 8, $EEC, $CC6, $C82, $C80, $C40, $A40, $820, $820, $200, $600 @@ -151607,31 +151212,26 @@ word_719FA: palscriptptr .header, .data word_71AE6: palscriptptr .header, .data dc.w 0 - .header palscripthdr Normal_palette_line_2+$14, 1, 3-1 .data palscriptdata 8, $222 palscriptdata 1, $C22 palscriptdata 1, $EE0 palscriptloop .headr2 - .headr2 palscripthdr Normal_palette_line_2+$14, 1, 3-1 palscriptdata 6, $222 palscriptdata 1, $C22 palscriptdata 1, $EE0 palscriptloop .headr3 - .headr3 palscripthdr Normal_palette_line_2+$14, 1, 3-1 palscriptdata 4, $222 palscriptdata 1, $C22 palscriptdata 1, $EE0 palscriptloop .headr4 - .headr4 palscripthdr Normal_palette_line_2+$14, 1, 3-1 palscriptdata 2, $222 palscriptdata 1, $C22 palscriptdata 1, $EE0 palscriptloop .headr5 - .headr5 palscripthdr Normal_palette_line_2+$14, 1, 0 palscriptdata 1, $222 palscriptdata 1, $C22 @@ -151640,31 +151240,26 @@ word_71AE6: palscriptptr .header, .data word_71B52: palscriptptr .header, .data dc.w 0 - .header palscripthdr Normal_palette_line_2+$14, 1, 3-1 .data palscriptdata 2, $222 palscriptdata 1, $C22 palscriptdata 1, $EE0 palscriptloop .headr2 - .headr2 palscripthdr Normal_palette_line_2+$14, 1, 3-1 palscriptdata 4, $222 palscriptdata 1, $C22 palscriptdata 1, $EE0 palscriptloop .headr3 - .headr3 palscripthdr Normal_palette_line_2+$14, 1, 3-1 palscriptdata 6, $222 palscriptdata 1, $C22 palscriptdata 1, $EE0 palscriptloop .headr4 - .headr4 palscripthdr Normal_palette_line_2+$14, 1, 3-1 palscriptdata 8, $222 palscriptdata 1, $C22 palscriptdata 1, $EE0 palscriptloop .headr5 - .headr5 palscripthdr Normal_palette_line_2+$14, 1, 5-1 palscriptdata 10,$222 palscriptdata 1, $C22 @@ -151790,8 +151385,8 @@ loc_71D02: loc_71D1E: move.l #loc_71D46,$34(a0) - moveq #sfx_FrostPuff,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FrostPuff),d0 + jsr (Play_SFX).l bsr.w sub_7213A cmpi.w #2,$26(a0) bne.w locret_71C14 @@ -151835,14 +151430,14 @@ loc_71D9E: clr.b (Boss_flag).w jsr (Create_New_Sprite).l bne.s loc_71DC6 - move.l #Obj_81,(a1) + move.l #Obj_EggCapsule,(a1) move.w #$4560,$10(a1) move.w #$6A3,$14(a1) loc_71DC6: move.w (_unkFAB4).w,d0 addi.w #$130,d0 - move.w d0,(Target_camera_max_X_pos).w + move.w d0,(Camera_stored_max_X_pos).w jsr (Create_New_Sprite).l bne.s locret_71DE0 move.l #Obj_IncLevEndXGradual,(a1) @@ -151859,9 +151454,9 @@ loc_71DE2: jsr (Restore_PlayerControl).l lea (Player_2).w,a1 jsr (Restore_PlayerControl2).l - jsr (Obj_PlayLevelMusic).l - move.w (Target_camera_max_Y_pos).w,(Camera_target_max_Y_pos).w - move.w #$47C0,(Target_camera_max_X_pos).w + jsr (Restore_LevelMusic).l + move.w (Camera_stored_max_Y_pos).w,(Camera_target_max_Y_pos).w + move.w #$47C0,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jsr (CreateChild6_Simple).l jmp (Go_Delete_Sprite_2).l @@ -152117,7 +151712,7 @@ word_720BE: dc.w $FFF0, $20, $FFF0, $20 loc_720C6: move.l #loc_720D4,(a0) - move.b #-$65,$28(a0) + move.b #$9B,$28(a0) rts ; --------------------------------------------------------------------------- @@ -152300,8 +151895,8 @@ sub_7225C: loc_72284: move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_72292: bset #6,$2A(a0) @@ -152383,26 +151978,33 @@ word_72330: dc.w $180 dc.b $10 dc.b 0 dc.b 0 -ChildObjDat_72336:dc.w 0 +ChildObjDat_72336: + dc.w 0 dc.l Obj_RobotnikShip4 dc.w 0 -ChildObjDat_7233E:dc.w 2 +ChildObjDat_7233E: + dc.w 2 dc.l loc_71E28 dc.w $1807 dc.l loc_71E98 dc.w $B dc.l loc_71F30 dc.w $2D -ChildObjDat_72352:dc.w 5 +ChildObjDat_72352: + dc.w 5 dc.l loc_72020 -ChildObjDat_72358:dc.w 6 +ChildObjDat_72358: + dc.w 6 dc.l loc_72020 -ChildObjDat_7235E:dc.w 3 +ChildObjDat_7235E: + dc.w 3 dc.l loc_72020 -ChildObjDat_72364:dc.w 0 +ChildObjDat_72364: + dc.w 0 dc.l loc_720C6 dc.w 8 -ChildObjDat_7236C:dc.w 2 +ChildObjDat_7236C: + dc.w 2 dc.l loc_720F2 dc.w $EC04 dc.l loc_720F2 @@ -152435,8 +152037,7 @@ byte_7239C: dc.b $10, 1 dc.b 0, 1 dc.b $FC, 0 Pal_ICZEndBoss: binclude "Levels/ICZ/Palettes/End Boss.bin" - even - + even byte_723D0: dc.b 0, 2 dc.b 4, 2 dc.b 0, 2 @@ -152906,8 +152507,8 @@ loc_7285A: move.b 5(a0),$3A(a0) move.b #$A,5(a0) move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_7287A: jsr (BossFlash).l @@ -153011,12 +152612,15 @@ word_72968: dc.w $180 dc.b 8 dc.b 6 dc.b $98 -ChildObjDat_7296E:dc.w 0 +ChildObjDat_7296E: + dc.w 0 dc.l loc_72596 dc.w 0 -ChildObjDat_72976:dc.w 5 +ChildObjDat_72976: + dc.w 5 dc.l loc_725F4 -ChildObjDat_7297C:dc.w 5 +ChildObjDat_7297C: + dc.w 5 dc.l loc_725EE byte_72982: dc.b $F, 0 dc.b 1, 0 @@ -153030,12 +152634,11 @@ byte_72988: dc.b 7, 3 dc.b 7, 5 dc.b 4, 3 dc.b 4, $FC -Pal_LBZMiniboss: binclude "Levels/LBZ/Palettes/Miniboss.bin" - even - +Pal_LBZMiniboss:binclude "Levels/LBZ/Palettes/Miniboss.bin" + even ; --------------------------------------------------------------------------- -Obj_LBZ_FinalBoss1: +Obj_LBZFinalBoss1: moveq #0,d0 move.b 5(a0),d0 move.w off_729D2(pc,d0.w),d1 @@ -153222,7 +152825,7 @@ loc_72B96: tst.b (End_of_level_flag).w beq.w locret_72B02 move.l #loc_72BBC,(a0) - jsr (Obj_PlayLevelMusic).l + jsr (Restore_LevelMusic).l move.w #$1F,$2E(a0) lea (PLC_BossExplosion).l,a1 jmp (Load_PLC_Raw).l @@ -153245,7 +152848,7 @@ loc_72BBC: loc_72BFA: lea (ArtKosM_LBZ2DeathEggSmall).l,a1 - move.w #-$6A40,d2 + move.w #$95C0,d2 jmp (Queue_Kos_Module).l ; --------------------------------------------------------------------------- @@ -153299,18 +152902,13 @@ loc_72C68: ; clears player 1's anim here, as P2 is absent from the final boss. clr.b $20(a0) -; =============== S U B R O U T I N E ======================================= - - sub_72C8E: - move.b #-$7D,$2E(a1) + move.b #$83,$2E(a1) clr.b $24(a1) clr.b $23(a1) locret_72C9C: rts -; End of function sub_72C8E - ; --------------------------------------------------------------------------- loc_72C9E: @@ -153595,7 +153193,7 @@ word_72FEA: dc.w 0, $428, $4280, $4380 dc.w $328, $328, $4300, $4300 ; --------------------------------------------------------------------------- -Obj_CD_1_LBZ2_TallBoss: +Obj_LBZFinalBossKnux: lea word_72FEA(pc),a1 jsr (Check_CameraInRange).l move.b #mus_EndBoss,$26(a0) @@ -153628,7 +153226,7 @@ loc_73046: ; --------------------------------------------------------------------------- loc_7304C: - move.l #Obj_LBZ_FinalBoss1,(a0) + move.l #Obj_LBZFinalBoss1,(a0) rts ; --------------------------------------------------------------------------- @@ -153648,7 +153246,7 @@ loc_73070: bset #5,$38(a0) jsr (Create_New_Sprite).l bne.s loc_73088 - move.l #Obj_LBZ_FinalBoss2,(a1) + move.l #Obj_LBZFinalBoss2,(a1) loc_73088: jmp (Go_Delete_Sprite_2).l @@ -153845,8 +153443,8 @@ loc_732BA: move.l #loc_732F6,(a0) tst.b 4(a0) bpl.s loc_732CE - moveq #sfx_Lazer,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Laser),d0 + jsr (Play_SFX).l loc_732CE: move.b #-$64,$28(a0) @@ -153940,7 +153538,7 @@ loc_733E2: addq.b #1,d0 move.b d0,$39(a0) andi.b #3,d0 - andi.b #-4,4(a0) + andi.b #$FC,4(a0) or.b d0,4(a0) rts @@ -154080,8 +153678,8 @@ sub_734FA: move.b #6,5(a0) move.b #$20,$20(a0) bset #6,$2A(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l move.w $1A(a0),d0 asl.w #1,d0 cmpi.w #-$800,d0 @@ -154329,14 +153927,16 @@ ObjDat3_7375A: dc.l Map_LBZDeathEggSmall dc.b 4 dc.b 4 dc.b 0 -ChildObjDat_73766:dc.w 2 +ChildObjDat_73766: + dc.w 2 dc.l loc_7308E dc.w 8 dc.l loc_730F8 dc.w $30 dc.l loc_73100 dc.w $5C -ChildObjDat_7377A:dc.w 3 +ChildObjDat_7377A: + dc.w 3 dc.l loc_73138 dc.w $F0FC dc.l loc_73138 @@ -154345,7 +153945,8 @@ ChildObjDat_7377A:dc.w 3 dc.w $F010 dc.l loc_73138 dc.w $1010 -ChildObjDat_73794:dc.w 5 +ChildObjDat_73794: + dc.w 5 dc.l loc_73138 dc.w $F0F8 dc.l loc_73138 @@ -154358,37 +153959,46 @@ ChildObjDat_73794:dc.w 5 dc.w $ECE0 dc.l loc_73138 dc.w $14E0 -ChildObjDat_737BA:dc.w 1 +ChildObjDat_737BA: + dc.w 1 dc.l loc_731CE dc.w 0 -ChildObjDat_737C2:dc.w 0 +ChildObjDat_737C2: + dc.w 0 dc.l loc_7321A dc.w $F800 dc.w 0 dc.l loc_7321A dc.w $800 -ChildObjDat_737D2:dc.w 0 +ChildObjDat_737D2: + dc.w 0 dc.l loc_7333A dc.w $2000 -ChildObjDat_737DA:dc.w 1 +ChildObjDat_737DA: + dc.w 1 dc.l loc_73364 dc.w $EC30 dc.l loc_73364 dc.w $1430 -ChildObjDat_737E8:dc.w 0 +ChildObjDat_737E8: + dc.w 0 dc.l loc_73396 dc.w 0 -ChildObjDat_737F0:dc.w 0 +ChildObjDat_737F0: + dc.w 0 dc.l loc_73164 dc.w $EC -ChildObjDat_737F8:dc.w 1 +ChildObjDat_737F8: + dc.w 1 dc.l loc_73192 dc.w $F000 dc.l loc_73192 dc.w $1000 -ChildObjDat_73806:dc.w 1 +ChildObjDat_73806: + dc.w 1 dc.l loc_72D24 -ChildObjDat_7380C:dc.w 6 +ChildObjDat_7380C: + dc.w 6 dc.l loc_72E9E dc.w 0 dc.l loc_72E9E @@ -154403,9 +154013,11 @@ ChildObjDat_7380C:dc.w 6 dc.w $DCF8 dc.l loc_72E9E dc.w $B01C -ChildObjDat_73838:dc.w 0 +ChildObjDat_73838: + dc.w 0 dc.l loc_72F4C -ChildObjDat_7383E:dc.w 0 +ChildObjDat_7383E: + dc.w 0 dc.l loc_72FB2 byte_73844: dc.b 2, 9 dc.b $A, $B @@ -154454,17 +154066,18 @@ byte_73874: dc.b 5, $C4 dc.b 1, $5A dc.b 1, $5A dc.b 1, 0 -Pal_LBZFinalBoss1: binclude "Levels/LBZ/Palettes/Final Boss 1.bin" - even - +Pal_LBZFinalBoss1: + binclude "Levels/LBZ/Palettes/Final Boss 1.bin" + even Pal_LBZEnding: binclude "Levels/LBZ/Palettes/Ending.bin" - even - -word_738C6: dc.w $460, $6A0, $3900, $3B20 -word_738CE: dc.w $5A0, $5A0, $3A20, $3A20 + even +word_738C6: dc.w $460, $6A0 + dc.w $3900, $3B20 +word_738CE: dc.w $5A0, $5A0 + dc.w $3A20, $3A20 ; --------------------------------------------------------------------------- -Obj_LBZ_EndBoss: +Obj_LBZEndBoss: lea word_738C6(pc),a1 jsr (Check_CameraInRange).l moveq #0,d0 @@ -154496,7 +154109,7 @@ loc_73906: moveq #$77,d0 jsr (Load_PLC).l lea (ArtKosM_LBZEndBoss).l,a1 - move.w #-$7B60,d2 + move.w #$84A0,d2 jsr (Queue_Kos_Module).l lea Pal_LBZEndBoss(pc),a1 jmp (PalLoad_Line1).l @@ -154545,8 +154158,8 @@ loc_739B2: move.w d0,(Camera_X_pos).w move.b #8,5(a0) clr.b (Scroll_lock).w - moveq #sfx_Rising,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Rising),d0 + jsr (Play_SFX).l move.w #-$40,$1A(a0) move.w #$DF,$2E(a0) move.l #loc_739F2,$34(a0) @@ -154584,8 +154197,8 @@ loc_73A20: loc_73A36: move.b #$C,5(a0) - moveq #sfx_TubeLauncher,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_TubeLauncher),d0 + jsr (Play_SFX).l bra.w loc_73F1C ; --------------------------------------------------------------------------- @@ -154606,7 +154219,7 @@ loc_73A6A: bset #5,$38(a0) bclr #7,4(a0) clr.b (Boss_flag).w - jsr (Obj_PlayLevelMusic).l + jsr (Restore_LevelMusic).l lea (Player_2).w,a1 bclr #4,$2A(a1) move.l #Go_Delete_Sprite_2,(a0) @@ -154624,7 +154237,7 @@ loc_73A92: movea.w $46(a0),a1 btst #7,$2A(a1) beq.s loc_73ABE - bsr.w sub_73B82 + bsr.w loc_73B82 loc_73ABE: jmp (Child_DrawTouch_Sprite).l @@ -154664,7 +154277,7 @@ loc_73B12: loc_73B24: move.b #6,5(a0) - move.l #sub_73B82,$34(a0) + move.l #loc_73B82,$34(a0) move.w $26(a0),d0 clr.w $1A(a0) rts @@ -154689,19 +154302,15 @@ loc_73B56: bne.w locret_7399C lea ChildObjDat_74198(pc),a2 jmp (CreateChild1_Normal).l +; --------------------------------------------------------------------------- -; =============== S U B R O U T I N E ======================================= - - -sub_73B82: +loc_73B82: move.l #Delete_Current_Sprite,(a0) bset #7,$2A(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l lea ChildObjDat_741A0(pc),a2 jmp (CreateChild1_Normal).l -; End of function sub_73B82 - ; --------------------------------------------------------------------------- loc_73BA0: @@ -155146,8 +154755,8 @@ sub_73FE2: tst.b $20(a0) bne.s loc_74006 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_74006: bset #6,$2A(a0) @@ -155177,7 +154786,7 @@ loc_7403A: bclr #7,4(a0) move.w #$7F,$2E(a0) bset #4,$38(a0) - move.w #-$5BDB,$A(a0) + move.w #$A425,$A(a0) move.w #-$200,$1A(a0) move.l #loc_73A6A,$34(a0) lea (Child6_CreateBossExplosion).l,a2 @@ -155186,7 +154795,7 @@ loc_7403A: move.b #4,$2C(a1) loc_74086: - move.w #$3AB8,(Target_camera_max_X_pos).w + move.w #$3AB8,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jmp (CreateChild6_Simple).l ; End of function sub_73FE2 @@ -155203,7 +154812,7 @@ loc_74098: loc_740AA: move.l #MoveChkDel,(a0) bset #7,$2A(a0) - move.w #-$5BDB,$A(a0) + move.w #$A425,$A(a0) moveq #0,d0 move.b $2C(a0),d0 move.w word_740E4(pc,d0.w),$18(a0) @@ -155280,37 +154889,45 @@ ObjDat3_74140: dc.l Map_LBZEndBoss dc.b 8 dc.b $E dc.b 0 -ChildObjDat_7414C:dc.w 1 +ChildObjDat_7414C: + dc.w 1 dc.l loc_73E0E dc.w $F8 dc.l loc_73EA2 dc.w $E890 -ChildObjDat_7415A:dc.w 0 +ChildObjDat_7415A: + dc.w 0 dc.l loc_73D74 dc.w $70E8 -ChildObjDat_74162:dc.w 2 +ChildObjDat_74162: + dc.w 2 dc.l loc_73C0A dc.w $E838 dc.l loc_73C0A dc.w $1838 dc.l loc_73C0A dc.w $38 -ChildObjDat_74176:dc.w 2 +ChildObjDat_74176: + dc.w 2 dc.l loc_73C82 dc.w $E8 dc.l loc_73C82 dc.w $F8 dc.l loc_73C82 dc.w 8 -ChildObjDat_7418A:dc.w 3 +ChildObjDat_7418A: + dc.w 3 dc.l loc_73CB0 -ChildObjDat_74190:dc.w 0 +ChildObjDat_74190: + dc.w 0 dc.l loc_73A92 dc.w 0 -ChildObjDat_74198:dc.w 0 +ChildObjDat_74198: + dc.w 0 dc.l loc_73BA0 dc.w $10 -ChildObjDat_741A0:dc.w $B +ChildObjDat_741A0: + dc.w $B dc.l loc_73BF6 dc.w $F8F8 dc.l loc_73BF6 @@ -155356,7 +154973,7 @@ byte_741F8: dc.b 5 dc.b 9 dc.b $F4 Pal_LBZEndBoss: binclude "Levels/LBZ/Palettes/End Boss.bin" - even + even Map_7421E: dc.w word_74222-Map_7421E dc.w word_74254-Map_7421E word_74222: dc.w 8 @@ -155371,10 +154988,9 @@ word_74222: dc.w 8 word_74254: dc.w 2 dc.b $EC, $07, 0, 0, $FF, $F8 dc.b $F4, $07, 0, 0, $FF, $F8 - ; --------------------------------------------------------------------------- -Obj_LBZ_FinalBoss2: +Obj_LBZFinalBoss2: moveq #0,d0 move.b 5(a0),d0 move.w off_7427C(pc,d0.w),d1 @@ -155723,8 +155339,8 @@ loc_745F6: bset #1,$38(a0) move.w #$14,(Screen_shake_flag).w move.w #3,$2E(a0) - moveq #sfx_BossHitFloor,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHitFloor),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -155781,8 +155397,8 @@ loc_7468C: clr.b $3D(a1) move.b #2,$20(a1) move.b #2,5(a1) - moveq #sfx_Spring,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_746C8: @@ -156343,10 +155959,10 @@ loc_74DA4: lea (ChildObjDat_690D8).l,a2 jsr (CreateChild1_Normal).l move.w #$1000,d0 - move.w d0,(Target_camera_max_Y_pos).w + move.w d0,(Camera_stored_max_Y_pos).w move.w d0,(Camera_target_max_Y_pos).w - move.w #$6000,(Target_camera_max_X_pos).w - move.w #0,(Target_camera_min_Y_pos).w + move.w #$6000,(Camera_stored_max_X_pos).w + move.w #0,(Camera_stored_min_Y_pos).w lea (Child1_Act2LevelSize).l,a2 jmp (CreateChild1_Normal).l ; --------------------------------------------------------------------------- @@ -156559,8 +156175,8 @@ sub_74FD2: loc_74FFA: move.b #$3C,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l movea.w $44(a0),a1 clr.b $28(a1) @@ -156685,7 +156301,8 @@ ObjDat3_75116: dc.l Map_LBZFinalBoss1 dc.b 4 dc.b $15 dc.b 0 -ChildObjDat_75122:dc.w 3 +ChildObjDat_75122: + dc.w 3 dc.l loc_749D0 dc.w $1424 dc.l loc_749AE @@ -156694,10 +156311,12 @@ ChildObjDat_75122:dc.w 3 dc.w $E8 dc.l loc_74BC0 dc.w $38EC -ChildObjDat_7513C:dc.w 0 +ChildObjDat_7513C: + dc.w 0 dc.l loc_74C00 dc.w $4CC -ChildObjDat_75144:dc.w 3 +ChildObjDat_75144: + dc.w 3 dc.l loc_74AFA dc.w $D6FE dc.l loc_74AFA @@ -156706,7 +156325,8 @@ ChildObjDat_75144:dc.w 3 dc.w 0 dc.l loc_74C24 dc.w $C0FE -ChildObjDat_7515E:dc.w 4 +ChildObjDat_7515E: + dc.w 4 dc.l loc_74D14 dc.w $F4D4 dc.l loc_74D14 @@ -156717,13 +156337,16 @@ ChildObjDat_7515E:dc.w 4 dc.w $F4FC dc.l loc_74D14 dc.w $14FC -ChildObjDat_7517E:dc.w 0 +ChildObjDat_7517E: + dc.w 0 dc.l loc_74D48 dc.w 8 -ChildObjDat_75186:dc.w 0 +ChildObjDat_75186: + dc.w 0 dc.l loc_74E12 dc.w $10 -ChildObjDat_7518E:dc.w 0 +ChildObjDat_7518E: + dc.w 0 dc.l loc_74E30 byte_75194: dc.b 9 dc.b 7 @@ -156747,12 +156370,12 @@ byte_7519C: dc.b 9 dc.b 5 dc.b 6 dc.b $F4 -Pal_LBZFinalBoss2: binclude "Levels/LBZ/Palettes/Final Boss 2.bin" - even - +Pal_LBZFinalBoss2: + binclude "Levels/LBZ/Palettes/Final Boss 2.bin" + even ; --------------------------------------------------------------------------- -Obj_MHZ_Miniboss: +Obj_MHZMiniboss: moveq #0,d0 move.b 5(a0),d0 move.w off_751F0(pc,d0.w),d1 @@ -156876,7 +156499,7 @@ loc_75356: move.w #$4F,$2E(a0) move.l #loc_753A4,$34(a0) move.w #$6000,(Camera_target_max_X_pos).w - move.w #$6000,(Target_camera_max_X_pos).w + move.w #$6000,(Camera_stored_max_X_pos).w jsr (Create_New_Sprite).l bne.s locret_75390 move.l #loc_75E1A,(a1) @@ -156944,8 +156567,8 @@ loc_7541A: cmpi.b #$A,$23(a0) bne.s locret_75442 subq.b #1,$42(a0) - moveq #sfx_ChopTree,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_ChopTree),d0 + jsr (Play_SFX).l locret_75442: rts @@ -157012,8 +156635,8 @@ loc_754E0: beq.s locret_75506 cmpi.b #$12,$22(a0) bne.s loc_754F8 - moveq #sfx_ChopStuck,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_ChopStuck),d0 + jsr (Play_SFX).l loc_754F8: cmpi.b #$C,$23(a0) @@ -157030,8 +156653,8 @@ loc_75508: move.l #byte_75EF3,$30(a0) move.w #-$400,$18(a0) move.w #-$400,$1A(a0) - moveq #sfx_ChopStuck,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_ChopStuck),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -157514,7 +157137,7 @@ loc_75A7E: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Obj_91_2: +Obj_MHZMinibossTree: lea ObjDat3_75E66(pc),a1 jsr (SetUp_ObjAttributes).l move.l #loc_75A94,(a0) @@ -157523,7 +157146,7 @@ loc_75A94: move.w (_unkFAA4).w,d0 beq.s loc_75ACE movea.w d0,a1 - cmpi.l #Obj_MHZ_Miniboss,(a1) + cmpi.l #Obj_MHZMiniboss,(a1) bne.s loc_75ACE tst.b 4(a0) bmi.s loc_75AB0 @@ -157855,8 +157478,8 @@ sub_75D80: tst.b $20(a0) bne.s loc_75DA0 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_75DA0: @@ -157914,7 +157537,7 @@ loc_75E1A: move.l d1,$30(a0) swap d1 add.w d1,d0 - cmp.w (Target_camera_max_X_pos).w,d0 + cmp.w (Camera_stored_max_X_pos).w,d0 bhs.s loc_75E46 move.w d0,(Camera_max_X_pos).w move.w d0,$34(a0) @@ -157922,7 +157545,7 @@ loc_75E1A: ; --------------------------------------------------------------------------- loc_75E46: - move.w (Target_camera_max_X_pos).w,(Camera_max_X_pos).w + move.w (Camera_stored_max_X_pos).w,(Camera_max_X_pos).w loc_75E4C: jmp (Delete_Current_Sprite).l @@ -157959,19 +157582,23 @@ word_75E7E: dc.w $300 dc.b 8 dc.b $18 dc.b $8B -ChildObjDat_75E84:dc.w 1 +ChildObjDat_75E84: + dc.w 1 dc.l loc_757C0 dc.w 0 dc.l loc_757C0 dc.w 0 dc.l loc_75B64 dc.w 0 -ChildObjDat_75E98:dc.w 0 +ChildObjDat_75E98: + dc.w 0 dc.l loc_75AD4 -ChildObjDat_75E9E:dc.w 0 +ChildObjDat_75E9E: + dc.w 0 dc.l loc_7583A dc.w $F8 -ChildObjDat_75EA6:dc.w 0 +ChildObjDat_75EA6: + dc.w 0 dc.l loc_759C0 dc.w $113 byte_75EAE: dc.b 0, $B @@ -158038,15 +157665,14 @@ byte_75F1C: dc.b $18, 3 dc.b $1B, 3 dc.b $1C, $B dc.b $FC, 0 -Pal_MHZMiniboss: binclude "Levels/MHZ/Palettes/Miniboss.bin" - even - +Pal_MHZMiniboss:binclude "Levels/MHZ/Palettes/Miniboss.bin" + even PLC_75F48: dc.w 0 dc.l ArtNem_BossExplosion dc.w $9A40 ; --------------------------------------------------------------------------- -Obj_MHZ_EndBoss: +Obj_MHZEndBoss: lea word_769F4(pc),a1 jsr (Check_CameraInRange).l move.l #loc_75FD4,(a0) @@ -158121,8 +157747,8 @@ loc_7603E: move.w #-$200,$1A(a0) move.w #$23,$2E(a0) move.l #loc_7606E,$34(a0) - moveq #sfx_Rising,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Rising),d0 + jsr (Play_SFX).l locret_76060: rts @@ -158152,8 +157778,8 @@ loc_7609A: move.w #$400,$18(a0) move.w #$3F,$2E(a0) move.l #loc_760C4,$34(a0) - moveq #sfx_Dash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Dash),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -158169,7 +157795,7 @@ loc_760C4: move.l #loc_76896,(a1) loc_760F4: - move.w #$45A0,(Target_camera_max_X_pos).w + move.w #$45A0,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jmp (CreateChild6_Simple).l ; --------------------------------------------------------------------------- @@ -158255,7 +157881,7 @@ loc_761E8: jsr (PLCLoad_AnimalsAndExplosion).l jsr (Create_New_Sprite).l bne.s loc_76236 - move.l #Obj_81,(a1) + move.l #Obj_EggCapsule,(a1) move.w #$4640,$10(a1) move.w #$320,$14(a1) @@ -158299,7 +157925,7 @@ loc_76270: lea (Player_2).w,a1 bset #7,$A(a1) jsr (Restore_PlayerControl2).l - jsr (Obj_PlayLevelMusic).l + jsr (Restore_LevelMusic).l st (Ctrl_1_locked).w move.w #$101,(Ctrl_1_logical).w st (Ctrl_2_locked).w @@ -158307,7 +157933,7 @@ loc_76270: jsr (sub_8638A).l move.w #$1BF,$2E(a0) move.w #$55,(Events_fg_4).w - move.w #$5000,(Target_camera_max_X_pos).w + move.w #$5000,(Camera_stored_max_X_pos).w bclr #5,$38(a0) lea ChildObjDat_7699C(pc),a2 jsr (CreateChild1_Normal).l @@ -158338,8 +157964,8 @@ loc_76318: ; --------------------------------------------------------------------------- loc_76356: - moveq #sfx_EggmanSiren,d0 - jsr (sub_85E52).l + moveq #signextendB(sfx_RobotnikSiren),d0 + jsr (Play_SFX_Continuous).l jsr (sub_8638A).l moveq #0,d1 move.w (Camera_X_pos).w,d0 @@ -158404,8 +158030,8 @@ loc_76404: bset #0,4(a1) bset #0,$2A(a1) move.w #$5F,$2E(a0) - moveq #sfx_Grab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Grab),d0 + jsr (Play_SFX).l jsr (Create_New_Sprite).l bne.s loc_76456 move.l #loc_7646E,(a1) @@ -158500,8 +158126,8 @@ loc_7654A: andi.w #$F,d0 addq.w #8,d0 move.w d0,$2E(a0) - moveq #sfx_WeatherMachine,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_WeatherMachine),d0 + jsr (Play_SFX).l loc_7656E: jmp (Draw_And_Touch_Sprite).l @@ -158731,8 +158357,8 @@ loc_767B0: tst.b $20(a0) bne.s loc_767E8 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l bset #6,$2A(a0) clr.b $28(a0) clr.b $28(a4) @@ -158902,11 +158528,14 @@ ObjDat3_7696A: dc.l Map_MHZEndBoss dc.b $80 dc.b 0 dc.b 0 -ChildObjDat_76976:dc.w 1 +ChildObjDat_76976: + dc.w 1 dc.l loc_76502 -ChildObjDat_7697C:dc.w 0 +ChildObjDat_7697C: + dc.w 0 dc.l loc_764D0 -ChildObjDat_76982:dc.w 3 +ChildObjDat_76982: + dc.w 3 dc.l loc_7665E dc.w $EC18 dc.l loc_7665E @@ -158915,14 +158544,18 @@ ChildObjDat_76982:dc.w 3 dc.w $11AF dc.l loc_764A0 dc.w $21F0 -ChildObjDat_7699C:dc.w 0 +ChildObjDat_7699C: + dc.w 0 dc.l Obj_RobotnikHead4 dc.w $E4 -ChildObjDat_769A4:dc.w 1 +ChildObjDat_769A4: + dc.w 1 dc.l loc_76604 -ChildObjDat_769AA:dc.w 3 +ChildObjDat_769AA: + dc.w 3 dc.l loc_76636 -ChildObjDat_769B0:dc.w 5 +ChildObjDat_769B0: + dc.w 5 dc.l loc_766CA byte_769B6: dc.b 5, 1 dc.b 6, 3 @@ -158941,9 +158574,7 @@ byte_769CE: dc.b 1, $D dc.b $E, $F dc.b $10, $FC Pal_MHZEndBoss: binclude "Levels/MHZ/Palettes/End Boss.bin" - even - - + even word_769F4: dc.w 0 dc.w $300 dc.w $3AA0 @@ -158956,10 +158587,10 @@ PLC_76A04: dc.w 1 dc.l ArtNem_EggCapsule dc.w $9280 dc.l ArtNem_Explosion - dc.w $B400 + dc.w tiles_to_bytes(ArtTile_Explosion) ; --------------------------------------------------------------------------- -Obj_SOZ_Miniboss: +Obj_SOZMiniboss: move.l #Obj_Wait,(a0) move.w #$439D,$10(a0) move.w #$9F7,$14(a0) @@ -158979,8 +158610,8 @@ loc_76A42: dbf d6,loc_76A42 move.l #loc_76A8A,$34(a0) move.w #$78,$2E(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l lea (ArtKosM_SOZMiniboss).l,a1 move.w #$76A0,d2 jsr (Queue_Kos_Module).l @@ -159026,9 +158657,9 @@ loc_76AC8: move.w 8(a0),$3C(a0) move.b #$3B,$1E(a0) move.l #loc_76B30,$34(a0) - moveq #mus_Miniboss,d0 - jsr (Play_Sound).l - move.b #mus_Miniboss,(Level_music+1).w + moveq #signextendB(mus_Miniboss),d0 + jsr (Play_Music).l + move.b #mus_Miniboss,(Current_music+1).w move.w #$3F,$2E(a0) move.l #loc_76B30,$34(a0) jsr (Create_New_Sprite).l @@ -159164,8 +158795,8 @@ loc_76C5E: loc_76C72: move.l #byte_7746A,$30(a0) move.w #$14,(Screen_shake_flag).w - moveq #sfx_BossHitFloor,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHitFloor),d0 + jsr (Play_SFX).l lea ChildObjDat_77402(pc),a2 jmp (CreateChild3_NormalRepeated).l ; --------------------------------------------------------------------------- @@ -159182,8 +158813,8 @@ loc_76CA2: clr.w $18(a0) clr.w $1A(a0) move.w #8,(Screen_shake_flag).w - moveq #sfx_Crash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Crash),d0 + jsr (Play_SFX).l lea ChildObjDat_7740A(pc),a2 jmp (CreateChild3_NormalRepeated).l ; --------------------------------------------------------------------------- @@ -159405,9 +159036,9 @@ loc_76F0E: lea word_773B8(pc),a1 jsr (SetUp_ObjAttributes3).l move.w 8(a0),$3C(a0) - move.l #loc_76F24,(a0) + move.l #Osc_Loop4,(a0) -loc_76F24: +Osc_Loop4: bsr.w sub_770EA movea.w $46(a0),a1 moveq #8,d0 @@ -159776,8 +159407,8 @@ sub_772F6: move.b d0,$24(a0) move.b d0,$3A(a0) move.b d0,$39(a0) - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l movea.w $44(a0),a1 move.w #$200,d0 move.w $10(a1),d1 @@ -159797,8 +159428,8 @@ loc_77364: move.w #$40,$1A(a0) move.w #$BF,$2E(a0) clr.b (Update_HUD_timer).w - move.w (Camera_min_X_pos).w,(Target_camera_min_X_pos).w - move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w + move.w (Camera_min_X_pos).w,(Camera_stored_min_X_pos).w + move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w move.w (Camera_X_pos).w,(Camera_min_X_pos).w move.w (Camera_X_pos).w,(Camera_max_X_pos).w lea (Child6_CreateBossExplosion).l,a2 @@ -159840,34 +159471,40 @@ ObjDat3_773CA: dc.l Map_SOZMinibossDust dc.b 8 dc.b 0 dc.b 0 -ChildObjDat_773D6:dc.w 7 +ChildObjDat_773D6: + dc.w 7 dc.l loc_76F0E dc.w 0 -ChildObjDat_773DE:dc.w 0 +ChildObjDat_773DE: + dc.w 0 dc.l loc_77022 dc.w $40 -ChildObjDat_773E6:dc.w 1 +ChildObjDat_773E6: + dc.w 1 dc.l loc_76F46 dc.w $F4E4 dc.l loc_76F46 dc.w 0 -ChildObjDat_773F4:dc.w 1 +ChildObjDat_773F4: + dc.w 1 dc.l Obj_DecLevStartXGradual dc.w 0 dc.l Obj_IncLevEndXGradual dc.w 0 -ChildObjDat_77402:dc.w 5 +ChildObjDat_77402: + dc.w 5 dc.l loc_7706C dc.w $FC38 -ChildObjDat_7740A:dc.w 5 +ChildObjDat_7740A: + dc.w 5 dc.l loc_7706C dc.w 4 -Pal_SOZMinibossFade: binclude "Levels/SOZ/Palettes/Miniboss Fade.bin" - even - -Pal_SOZMinibossMain: binclude "Levels/SOZ/Palettes/Miniboss Main.bin" - even - +Pal_SOZMinibossFade: + binclude "Levels/SOZ/Palettes/Miniboss Fade.bin" + even +Pal_SOZMinibossMain: + binclude "Levels/SOZ/Palettes/Miniboss Main.bin" + even byte_77452: dc.b 0, 9 dc.b 0, $1F dc.b 9, 9 @@ -159913,13 +159550,12 @@ byte_7749B: dc.b 0, 3 dc.b 2, 5 dc.b 3, 7 dc.b $F4 -Map_SOZMiniboss: include "Levels/SOZ/Misc Object Data/Map - Miniboss.asm" - -Map_SOZMinibossDust: include "Levels/SOZ/Misc Object Data/Map - Miniboss Landing Dust.asm" - +Map_SOZMiniboss:include "Levels/SOZ/Misc Object Data/Map - Miniboss.asm" +Map_SOZMinibossDust: + include "Levels/SOZ/Misc Object Data/Map - Miniboss Landing Dust.asm" ; --------------------------------------------------------------------------- -Obj_SOZ_EndBoss: +Obj_SOZEndBoss: moveq #0,d0 move.b 5(a0),d0 move.w off_7766E(pc,d0.w),d1 @@ -159972,8 +159608,8 @@ loc_776EA: bhs.s locret_7770E move.b #4,5(a0) move.w #$3B,$2E(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l locret_7770E: rts @@ -159983,9 +159619,9 @@ loc_77710: subq.w #1,$2E(a0) bpl.w locret_77AF6 move.b #6,5(a0) - moveq #mus_EndBoss,d0 - jsr (Play_Sound).l - move.b #mus_EndBoss,(Level_music+1).w + moveq #signextendB(mus_EndBoss),d0 + jsr (Play_Music).l + move.b #mus_EndBoss,(Current_music+1).w loc_7772C: lea word_7775A(pc),a1 @@ -160031,8 +159667,8 @@ loc_77790: move.b #$A,5(a0) move.w $46(a0),$2E(a0) move.w #$14,(Screen_shake_flag).w - moveq #sfx_ThumpBoss,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_ThumpBoss),d0 + jsr (Play_SFX).l locret_777CA: rts @@ -160094,7 +159730,7 @@ loc_77848: jsr (Swing_Setup1).l jsr (Create_New_Sprite).l bne.s loc_77882 - move.l #Obj_81,(a1) + move.l #Obj_EggCapsule,(a1) move.w #$5360,$10(a1) move.w #$720,$14(a1) @@ -160141,7 +159777,7 @@ loc_778F2: bne.w locret_77AF6 move.l #loc_77966,(a0) jsr (Restore_PlayerControl).l - jsr (Obj_PlayLevelMusic).l + jsr (Restore_LevelMusic).l clr.w (Ctrl_1_logical).w st (Ctrl_1_locked).w clr.w $2E(a0) @@ -160159,7 +159795,7 @@ loc_77936: loc_77944: move.w #-$100,(Camera_min_Y_pos).w move.w #$800,(Camera_target_max_Y_pos).w - move.w #$5440,(Target_camera_max_X_pos).w + move.w #$5440,(Camera_stored_max_X_pos).w jsr (Create_New_Sprite).l bne.s locret_77964 move.l #Obj_IncLevEndXGradual,(a1) @@ -160282,7 +159918,7 @@ loc_77AB4: loc_77AB8: move.l #Map_SOZEndBoss,$C(a0) - move.w #-$1C5C,$A(a0) + move.w #$E3A4,$A(a0) moveq #0,d0 move.b $2C(a0),d0 move.w off_77AD4(pc,d0.w),d0 @@ -160598,8 +160234,8 @@ loc_77E4A: loc_77E56: move.l #loc_77E74,(a0) move.w #8,$2E(a0) - moveq #sfx_Lazer,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Laser),d0 + jsr (Play_SFX).l lea ChildObjDat_7833A(pc),a2 jsr (CreateChild1_Normal).l @@ -160790,8 +160426,8 @@ sub_7806C: subq.w #1,(_unkFA82).w bpl.w locret_77AF6 move.w #$200,(_unkFA82).w - moveq #sfx_Charging,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Charging),d0 + jsr (Play_SFX).l lea ChildObjDat_7832C(pc),a2 jmp (CreateChild1_Normal).l ; End of function sub_7806C @@ -160981,8 +160617,8 @@ loc_781E4: bne.s loc_7820A bset #6,$2A(a0) move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_7820A: moveq #0,d0 @@ -161102,7 +160738,8 @@ ObjDat3_782EE: dc.l Map_SpriteMask dc.b $20 dc.b 4 dc.b 0 -ChildObjDat_782FA:dc.w 5 +ChildObjDat_782FA: + dc.w 5 dc.l loc_77CB4 dc.w $EC dc.l loc_77D1A @@ -161115,16 +160752,21 @@ ChildObjDat_782FA:dc.w 5 dc.w $24 dc.l Obj_RobotnikHead4 dc.w $E4 -ChildObjDat_78320:dc.w 2 +ChildObjDat_78320: + dc.w 2 dc.l loc_77AB8 -ChildObjDat_78326:dc.w 2 +ChildObjDat_78326: + dc.w 2 dc.l loc_77AB4 -ChildObjDat_7832C:dc.w 0 +ChildObjDat_7832C: + dc.w 0 dc.l loc_77DF8 dc.w $E8D2 -ChildObjDat_78334:dc.w $13 +ChildObjDat_78334: + dc.w $13 dc.l loc_77E7C -ChildObjDat_7833A:dc.w 1 +ChildObjDat_7833A: + dc.w 1 dc.l loc_77FCE dc.w $EC dc.l loc_77F3E @@ -161136,15 +160778,13 @@ byte_78348: dc.b 7 dc.b $C dc.b $F4 Map_SOZEndBoss: include "Levels/SOZ/Misc Object Data/Map - End Boss.asm" +Map_SOZEndBossBody: + include "Levels/SOZ/Misc Object Data/Map - End Boss Body.asm" -Map_SOZEndBossBody: include "Levels/SOZ/Misc Object Data/Map - End Boss Body.asm" - -Pal_SOZEndBoss1: binclude "Levels/SOZ/Palettes/End Boss 1.bin" - even - -Pal_SOZEndBoss2: binclude "Levels/SOZ/Palettes/End Boss 2.bin" - even - +Pal_SOZEndBoss1:binclude "Levels/SOZ/Palettes/End Boss 1.bin" + even +Pal_SOZEndBoss2:binclude "Levels/SOZ/Palettes/End Boss 2.bin" + even byte_784E0: dc.b 6, $10 dc.b 8, $10 dc.b $2B, 0 @@ -161155,7 +160795,7 @@ byte_784E8: dc.b 7, $10 dc.b $2C, 0 ; --------------------------------------------------------------------------- -Obj_LRZ_Miniboss: +Obj_LRZMiniboss: lea byte_784E0(pc),a1 jsr (Check_CameraInRange).l move.l #loc_78522,(a0) @@ -161252,8 +160892,8 @@ loc_78606: move.b #$A,5(a0) clr.w $18(a0) move.w #-$400,$1A(a0) - moveq #sfx_BossHand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHand),d0 + jsr (Play_SFX).l lea byte_78DE2(pc),a1 jmp (Set_Raw_Animation).l ; --------------------------------------------------------------------------- @@ -161330,8 +160970,8 @@ loc_786EA: move.w #$5F,$2E(a0) move.l #loc_7873A,$34(a0) move.w #$14,(Screen_shake_flag).w - moveq #sfx_ThumpBoss,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_ThumpBoss),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -161595,8 +161235,8 @@ loc_789CA: move.w #$FFF,$2E(a0) loc_789E6: - moveq #sfx_BossProjectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossProjectile),d0 + jsr (Play_SFX).l lea ChildObjDat_78D90(pc),a2 jsr (CreateChild10_NormalAdjusted).l bne.s locret_78A00 @@ -161816,8 +161456,8 @@ sub_78C14: tst.b $20(a0) bne.s loc_78C3A move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l bset #6,$2A(a0) loc_78C3A: @@ -161900,8 +161540,8 @@ sub_78CF4: tst.b $20(a0) bne.s loc_78D1E move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l lea ChildObjDat_78D98(pc),a2 jsr (CreateChild6_Simple).l @@ -161964,16 +161604,21 @@ word_78D7E: dc.w $80 dc.b $14 dc.b $C dc.b 0 -ChildObjDat_78D84:dc.w $B +ChildObjDat_78D84: + dc.w $B dc.l loc_7880A -ChildObjDat_78D8A:dc.w $B +ChildObjDat_78D8A: + dc.w $B dc.l loc_787FE -ChildObjDat_78D90:dc.w 0 +ChildObjDat_78D90: + dc.w 0 dc.l loc_78A02 dc.w $800 -ChildObjDat_78D98:dc.w 0 +ChildObjDat_78D98: + dc.w 0 dc.l loc_78A28 -ChildObjDat_78D9E:dc.w $A +ChildObjDat_78D9E: + dc.w $A dc.l loc_78A70 dc.w $F4 dc.l loc_78A70 @@ -162018,17 +161663,17 @@ byte_78DF8: dc.b 4, 3 byte_78E05: dc.b 1, 6 dc.b 7, $B dc.b $FC -Pal_LRZMiniboss1: binclude "Levels/LRZ/Palettes/Miniboss 1.bin" - even - -Pal_LRZMiniboss2: binclude "Levels/LRZ/Palettes/Miniboss 2.bin" - even - -Pal_LRZMiniboss3: binclude "Levels/LRZ/Palettes/Miniboss 3.bin" - even +Pal_LRZMiniboss1: + binclude "Levels/LRZ/Palettes/Miniboss 1.bin" + even +Pal_LRZMiniboss2: + binclude "Levels/LRZ/Palettes/Miniboss 2.bin" + even +Pal_LRZMiniboss3: + binclude "Levels/LRZ/Palettes/Miniboss 3.bin" + even word_78EAA: palscriptptr .header, .data dc.w 0 - .header palscripthdr Normal_palette_line_3+$02, 5, 2-1 .data palscriptdata 4, $0EE, $0AE, $06E, $00E, $00A palscriptdata 4, $0CC, $08C, $04A, $00A, $008 @@ -162046,7 +161691,7 @@ word_78EAA: palscriptptr .header, .data palscriptrun ; --------------------------------------------------------------------------- -Obj_9E_2: +Obj_LRZ3Autoscroll: move.l #loc_78F82,(a0) move.w #$3B,$2E(a0) lea (ArtKosM_LRZ3DeathEggFlash).l,a1 @@ -162104,8 +161749,8 @@ off_79016: dc.w loc_7901A-off_79016 ; --------------------------------------------------------------------------- loc_7901A: - moveq #sfx_EggmanSiren,d0 - jsr (sub_85E52).l + moveq #signextendB(sfx_RobotnikSiren),d0 + jsr (Play_SFX_Continuous).l loc_79022: jsr (Swing_UpAndDown).l @@ -162134,8 +161779,8 @@ loc_79054: loc_79072: tst.b 4(a0) bpl.s loc_790A6 - moveq #sfx_EggmanSiren,d0 - jsr (sub_85E52).l + moveq #signextendB(sfx_RobotnikSiren),d0 + jsr (Play_SFX_Continuous).l jsr (Swing_UpAndDown).l jsr (MoveSprite2).l move.w $2E(a0),d0 @@ -162179,8 +161824,8 @@ loc_790D8: loc_790E8: move.l #loc_7910A,(a0) - moveq #sfx_Targeting,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Targeting),d0 + jsr (Play_SFX).l lea ChildObjDat_79672(pc),a2 jsr (CreateChild6_Simple).l lea ChildObjDat_79658(pc),a2 @@ -162198,8 +161843,8 @@ loc_79118: subi.w #$40,d0 move.w d0,(Events_bg+$0C).w move.w #$480,(Events_bg+$0E).w - moveq #sfx_MissileExplode,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileExplode),d0 + jsr (Play_SFX).l lea ChildObjDat_79686(pc),a2 jsr (CreateChild6_Simple).l jmp (Go_Delete_Sprite).l @@ -162376,8 +162021,8 @@ loc_79334: loc_79346: move.l #loc_7935E,(a0) - moveq #sfx_MissileShoot,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileShoot),d0 + jsr (Play_SFX).l lea ChildObjDat_7964C(pc),a2 jmp (CreateChild6_Simple).l ; --------------------------------------------------------------------------- @@ -162436,8 +162081,8 @@ loc_79416: move.l #loc_79486,(a0) move.b #-$80,(Palette_cycle_counters+$00).w move.w #$F,$2E(a0) - moveq #sfx_SuperTransform,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SuperTransform),d0 + jsr (Play_SFX).l lea (Normal_palette).w,a1 lea (Target_palette).w,a2 moveq #7,d6 @@ -162473,8 +162118,8 @@ loc_79486: move.b #1,(Palette_cycle_counters+$00).w bset #0,(_unkFAB8).w st (Events_fg_4).w - moveq #sfx_SuperEmerald,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SuperEmerald),d0 + jsr (Play_SFX).l jsr (Create_New_Sprite).l bne.s loc_794BE move.l #loc_85EE6,(a1) @@ -162644,7 +162289,8 @@ ObjDat3_7960E: dc.l Map_LRZ3Debris dc.b $C dc.b 0 dc.b 0 -ChildObjDat_7961A:dc.w 7 +ChildObjDat_7961A: + dc.w 7 dc.l loc_792AC dc.w $F40C dc.l loc_792AC @@ -162661,11 +162307,14 @@ ChildObjDat_7961A:dc.w 7 dc.w $E804 dc.l loc_792AC dc.w $1804 -ChildObjDat_7964C:dc.w 0 +ChildObjDat_7964C: + dc.w 0 dc.l loc_79374 -ChildObjDat_79652:dc.w 3 +ChildObjDat_79652: + dc.w 3 dc.l loc_790AC -ChildObjDat_79658:dc.w 3 +ChildObjDat_79658: + dc.w 3 dc.l loc_79142 dc.w $F000 dc.l loc_79142 @@ -162674,14 +162323,18 @@ ChildObjDat_79658:dc.w 3 dc.w $F0 dc.l loc_79142 dc.w $10 -ChildObjDat_79672:dc.w 1 +ChildObjDat_79672: + dc.w 1 dc.l loc_791D4 -ChildObjDat_79678:dc.w 0 +ChildObjDat_79678: + dc.w 0 dc.l loc_79278 -ChildObjDat_7967E:dc.w 0 +ChildObjDat_7967E: + dc.w 0 dc.l loc_793A8 dc.w $18 -ChildObjDat_79686:dc.w $11 +ChildObjDat_79686: + dc.w $11 dc.l loc_794DE byte_7968C: dc.b 4, 0 dc.b 0, 1 @@ -162761,10 +162414,8 @@ byte_796B9: dc.b 6, 2 dc.b $EE, 0 dc.b $EE, 0 dc.b $AE -Pal_LRZBossFire: binclude "Levels/LRZ/Palettes/Boss Act Fire.bin" - even - - +Pal_LRZBossFire:binclude "Levels/LRZ/Palettes/Boss Act Fire.bin" + even ; --------------------------------------------------------------------------- Obj_LRZEndBoss: @@ -162794,7 +162445,7 @@ loc_797C6: loc_797EC: move.l #loc_797FA,(a0) - move.b #mus_EndBoss,(Level_music+1).w + move.b #mus_EndBoss,(Current_music+1).w locret_797F8: rts @@ -162824,8 +162475,8 @@ loc_7981E: move.b #$E,$29(a0) move.w #-$12,$26(a0) move.w #-$580,$1A(a0) - moveq #sfx_BossMagma,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossMagma),d0 + jsr (Play_SFX).l lea ChildObjDat_7A18C(pc),a2 jmp (CreateChild1_Normal).l ; --------------------------------------------------------------------------- @@ -162877,8 +162528,8 @@ loc_798C6: bmi.s loc_798EA subi.w #$10,$3A(a0) move.w $3A(a0),$2E(a0) - moveq #sfx_BossProjectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossProjectile),d0 + jsr (Play_SFX).l lea ChildObjDat_7A19A(pc),a2 jmp (CreateChild1_Normal).l ; --------------------------------------------------------------------------- @@ -162934,8 +162585,8 @@ loc_7995E: loc_7997A: move.w d1,$10(a0) - moveq #sfx_BossMagma,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossMagma),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -162954,7 +162605,7 @@ loc_79998: clr.b (Boss_flag).w jsr (Create_New_Sprite).l bne.s loc_799C6 - move.l #Obj_81,(a1) + move.l #Obj_EggCapsule,(a1) bset #1,4(a1) loc_799C6: @@ -162975,14 +162626,14 @@ loc_799E0: jsr (Create_New_Sprite).l bne.s loc_79A08 move.l #Obj_Song_Fade_Transition,(a1) - move.b #mus_HPZ,$2C(a1) + move.b #mus_LRZ2,$2C(a1) loc_79A08: jsr (Restore_PlayerControl).l lea (Player_2).w,a1 jsr (Restore_PlayerControl2).l clr.w (Ctrl_1_logical).w - move.w #$EC0,(Target_camera_max_X_pos).w + move.w #$EC0,(Camera_stored_max_X_pos).w jsr (Create_New_Sprite).l bne.s loc_79A30 move.l #Obj_IncLevEndXGradual,(a1) @@ -162990,7 +162641,7 @@ loc_79A08: loc_79A30: jsr (Create_New_Sprite).l bne.s locret_79A50 - move.l #Obj_B3_2,(a1) + move.l #Obj_StartNewLevel,(a1) move.b #$2D,$2C(a1) move.w #$FE8,$10(a1) move.w #$5E0,$14(a1) @@ -163183,7 +162834,7 @@ loc_79C4C: jmp (Child_Draw_Sprite2).l ; --------------------------------------------------------------------------- -Obj_AD_2: +Obj_LRZ3Platform: moveq #0,d0 move.b $2C(a0),d0 lsl.w #2,d0 @@ -163428,8 +163079,8 @@ loc_79EE6: loc_79EFA: jsr (Delete_Current_Sprite).l - moveq #sfx_ThumpBoss,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_ThumpBoss),d0 + jsr (Play_SFX).l addq.w #4,sp rts ; End of function sub_79EB6 @@ -163485,8 +163136,8 @@ sub_79F58: subq.b #1,$29(a0) beq.s loc_79F9A move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_79F7A: moveq #0,d0 @@ -163551,8 +163202,8 @@ sub_79FFE: jsr (CreateChild6_Simple).l jsr (Go_Delete_Sprite).l jsr (Displace_PlayerOffObject).l - moveq #sfx_Clank,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Clank),d0 + jsr (Play_SFX).l addq.w #4,sp rts ; End of function sub_79FFE @@ -163723,24 +163374,30 @@ word_7A184: dc.w $4001 dc.b 8 dc.b 2 dc.b 0 -ChildObjDat_7A18C:dc.w 1 +ChildObjDat_7A18C: + dc.w 1 dc.l loc_79BE6 dc.w $EE dc.l loc_79C0C dc.w $EB01 -ChildObjDat_7A19A:dc.w 1 +ChildObjDat_7A19A: + dc.w 1 dc.l loc_79AAE dc.w $E8 dc.l loc_79B7E dc.w $C9 -ChildObjDat_7A1A8:dc.w 0 +ChildObjDat_7A1A8: + dc.w 0 dc.l loc_79BAC dc.w $10 -ChildObjDat_7A1B0:dc.w 0 +ChildObjDat_7A1B0: + dc.w 0 dc.l loc_79D28 -ChildObjDat_7A1B6:dc.w 0 +ChildObjDat_7A1B6: + dc.w 0 dc.l loc_79E6C -ChildObjDat_7A1BC:dc.w 9 +ChildObjDat_7A1BC: + dc.w 9 dc.l loc_79E9C byte_7A1C2: dc.b 2, 1 dc.b 2, 3 @@ -163767,8 +163424,7 @@ byte_7A1E9: dc.b 7, 4 dc.b 5, $FC dc.b 0 Pal_LRZEndBoss: binclude "Levels/LRZ/Palettes/End Boss.bin" - even - + even ; --------------------------------------------------------------------------- Obj_SSZGHZBoss: @@ -163776,8 +163432,8 @@ Obj_SSZGHZBoss: move.b #1,(Boss_flag).w move.w #$1F,$2E(a0) move.l #loc_7A294,$34(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l jsr (Create_New_Sprite).l bne.s loc_7A244 move.l #Obj_Song_Fade_Transition,(a1) @@ -164099,8 +163755,8 @@ sub_7A5A0: tst.b $20(a0) bne.s loc_7A5C6 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l bset #6,$2A(a0) loc_7A5C6: @@ -164197,14 +163853,16 @@ ObjDat3_7A678: dc.l Map_SSZGHZMisc dc.b 8 dc.b 0 dc.b $8F -ChildObjDat_7A684:dc.w 5 +ChildObjDat_7A684: + dc.w 5 dc.l loc_7A428 dc.l loc_7A4D0 dc.l loc_7A4D0 dc.l loc_7A4D0 dc.l loc_7A4D0 dc.l loc_7A514 -ChildObjDat_7A69E:dc.w 0 +ChildObjDat_7A69E: + dc.w 0 dc.l loc_7A558 dc.w $1E00 ; --------------------------------------------------------------------------- @@ -164214,8 +163872,8 @@ Obj_SSZMTZBoss: move.b #1,(Boss_flag).w move.w #$1F,$2E(a0) move.l #loc_7A712,$34(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l jsr (Create_New_Sprite).l bne.s loc_7A6DC move.l #Obj_Song_Fade_Transition,(a1) @@ -164268,10 +163926,10 @@ loc_7A72C: move.b #$11,$28(a0) move.b #8,$29(a0) move.b #7,$3C(a0) - move.w $10(a0),(_unkFAF0).w - move.w $14(a0),(_unkFAF4).w - move.w #0,(_unkFAF8).w - move.w #$100,(_unkFAFA).w + move.w $10(a0),(SSZ_MTZ_boss_X_pos).w + move.w $14(a0),(SSZ_MTZ_boss_Y_pos).w + move.w #0,(SSZ_MTZ_boss_X_vel).w + move.w #$100,(SSZ_MTZ_boss_Y_vel).w move.b #$20,7(a0) clr.b $2E(a0) clr.b $30(a0) @@ -164313,19 +163971,19 @@ off_7A7F0: dc.w loc_7A800-off_7A7F0 ; --------------------------------------------------------------------------- loc_7A800: - bsr.w sub_7B12E - move.w (_unkFAF4).w,$14(a0) - cmpi.w #$420,(_unkFAF4).w + bsr.w Boss_MoveObject + move.w (SSZ_MTZ_boss_Y_pos).w,$14(a0) + cmpi.w #$420,(SSZ_MTZ_boss_Y_pos).w blo.s loc_7A84A addq.b #2,$26(a0) - move.w #0,(_unkFAFA).w - move.w #-$100,(_unkFAF8).w + move.w #0,(SSZ_MTZ_boss_Y_vel).w + move.w #-$100,(SSZ_MTZ_boss_X_vel).w bclr #7,$2E(a0) bclr #0,4(a0) move.w (Player_1+x_pos).w,d0 - cmp.w (_unkFAF0).w,d0 + cmp.w (SSZ_MTZ_boss_X_pos).w,d0 blo.s loc_7A84A - move.w #$100,(_unkFAF8).w + move.w #$100,(SSZ_MTZ_boss_X_vel).w bset #7,$2E(a0) bset #0,4(a0) @@ -164341,7 +163999,7 @@ sub_7A85A: move.b $1D(a0),d0 jsr (GetSineCosine).l asr.w #6,d0 - add.w (_unkFAF4).w,d0 + add.w (SSZ_MTZ_boss_Y_pos).w,d0 move.w d0,$14(a0) addq.b #4,$1D(a0) rts @@ -164350,34 +164008,34 @@ sub_7A85A: ; --------------------------------------------------------------------------- loc_7A874: - bsr.w sub_7B12E + bsr.w Boss_MoveObject btst #7,$2E(a0) bne.s loc_7A8AE - cmpi.w #$1680,(_unkFAF0).w + cmpi.w #$1680,(SSZ_MTZ_boss_X_pos).w bhs.s loc_7A8DA bchg #7,$2E(a0) - move.w #$100,(_unkFAF8).w + move.w #$100,(SSZ_MTZ_boss_X_vel).w bset #0,4(a0) bset #6,$2E(a0) beq.s loc_7A8DA addq.b #2,$26(a0) - move.w #-$100,(_unkFAFA).w + move.w #-$100,(SSZ_MTZ_boss_Y_vel).w bra.s loc_7A8DA ; --------------------------------------------------------------------------- loc_7A8AE: - cmpi.w #$1780,(_unkFAF0).w + cmpi.w #$1780,(SSZ_MTZ_boss_X_pos).w blo.s loc_7A8DA bchg #7,$2E(a0) - move.w #-$100,(_unkFAF8).w + move.w #-$100,(SSZ_MTZ_boss_X_vel).w bclr #0,4(a0) bset #6,$2E(a0) beq.s loc_7A8DA addq.b #2,$26(a0) - move.w #-$100,(_unkFAFA).w + move.w #-$100,(SSZ_MTZ_boss_Y_vel).w loc_7A8DA: - move.w (_unkFAF0).w,$10(a0) + move.w (SSZ_MTZ_boss_X_pos).w,$10(a0) bsr.w sub_7A85A loc_7A8E4: @@ -164387,28 +164045,28 @@ loc_7A8E4: ; --------------------------------------------------------------------------- loc_7A8F4: - bsr.w sub_7B12E - cmpi.w #$3F0,(_unkFAF4).w + bsr.w Boss_MoveObject + cmpi.w #$3F0,(SSZ_MTZ_boss_Y_pos).w bhs.s loc_7A906 - move.w #0,(_unkFAFA).w + move.w #0,(SSZ_MTZ_boss_Y_vel).w loc_7A906: btst #7,$2E(a0) bne.s loc_7A91E - cmpi.w #$1700,(_unkFAF0).w + cmpi.w #$1700,(SSZ_MTZ_boss_X_pos).w bhs.s loc_7A92C - move.w #0,(_unkFAF8).w + move.w #0,(SSZ_MTZ_boss_X_vel).w bra.s loc_7A92C ; --------------------------------------------------------------------------- loc_7A91E: - cmpi.w #$1700,(_unkFAF0).w + cmpi.w #$1700,(SSZ_MTZ_boss_X_pos).w blo.s loc_7A92C - move.w #0,(_unkFAF8).w + move.w #0,(SSZ_MTZ_boss_X_vel).w loc_7A92C: - move.w (_unkFAF8).w,d0 - or.w (_unkFAFA).w,d0 + move.w (SSZ_MTZ_boss_X_vel).w,d0 + or.w (SSZ_MTZ_boss_Y_vel).w,d0 bne.s loc_7A93A addq.b #2,$26(a0) @@ -164444,7 +164102,7 @@ loc_7A968: addq.b #1,$3A(a0) cmpi.b #$27,$3A(a0) blo.s loc_7A986 - move.w #$100,(_unkFAFA).w + move.w #$100,(SSZ_MTZ_boss_Y_vel).w move.b #0,$26(a0) bclr #6,$2E(a0) @@ -164468,10 +164126,10 @@ loc_7A99C: subq.b #1,$38(a0) loc_7A9A8: - bsr.w sub_7B12E - cmpi.w #$3B0,(_unkFAF4).w + bsr.w Boss_MoveObject + cmpi.w #$3B0,(SSZ_MTZ_boss_Y_pos).w bhs.s loc_7A9BA - move.w #0,(_unkFAFA).w + move.w #0,(SSZ_MTZ_boss_Y_vel).w loc_7A9BA: tst.b $30(a0) @@ -164499,19 +164157,19 @@ loc_7A9D4: ; --------------------------------------------------------------------------- loc_7A9EE: - move.w #$100,(_unkFAFA).w + move.w #$100,(SSZ_MTZ_boss_Y_vel).w move.b #0,$26(a0) bclr #6,$2E(a0) bra.s loc_7AA40 ; --------------------------------------------------------------------------- loc_7AA02: - move.w #-$180,(_unkFAFA).w - move.w #-$100,(_unkFAF8).w + move.w #-$180,(SSZ_MTZ_boss_Y_vel).w + move.w #-$100,(SSZ_MTZ_boss_X_vel).w bclr #0,4(a0) btst #7,$2E(a0) beq.s loc_7AA28 - move.w #$100,(_unkFAF8).w + move.w #$100,(SSZ_MTZ_boss_X_vel).w bset #0,4(a0) loc_7AA28: @@ -164543,31 +164201,31 @@ off_7AA60: dc.w loc_7AA66-off_7AA60 ; --------------------------------------------------------------------------- loc_7AA66: - bsr.w sub_7B12E - cmpi.w #$3B0,(_unkFAF4).w + bsr.w Boss_MoveObject + cmpi.w #$3B0,(SSZ_MTZ_boss_Y_pos).w bhs.s loc_7AA78 - move.w #0,(_unkFAFA).w + move.w #0,(SSZ_MTZ_boss_Y_vel).w loc_7AA78: btst #7,$2E(a0) bne.s loc_7AAA6 - cmpi.w #$16A0,(_unkFAF0).w + cmpi.w #$16A0,(SSZ_MTZ_boss_X_pos).w bhs.s loc_7AACA addq.b #2,$32(a0) - move.w #$180,(_unkFAFA).w + move.w #$180,(SSZ_MTZ_boss_Y_vel).w move.b #3,$31(a0) - move.w #$1E,(_unkFAFC).w + move.w #$1E,(SSZ_MTZ_boss_laser_timer).w bset #0,4(a0) bra.s loc_7AACA ; --------------------------------------------------------------------------- loc_7AAA6: - cmpi.w #$1760,(_unkFAF0).w + cmpi.w #$1760,(SSZ_MTZ_boss_X_pos).w blo.s loc_7AACA addq.b #2,$32(a0) - move.w #$180,(_unkFAFA).w + move.w #$180,(SSZ_MTZ_boss_Y_vel).w move.b #3,$31(a0) - move.w #$1E,(_unkFAFC).w + move.w #$1E,(SSZ_MTZ_boss_laser_timer).w bclr #0,4(a0) loc_7AACA: @@ -164575,10 +164233,10 @@ loc_7AACA: ; --------------------------------------------------------------------------- loc_7AACE: - bsr.w sub_7B12E - cmpi.w #$420,(_unkFAF4).w + bsr.w Boss_MoveObject + cmpi.w #$420,(SSZ_MTZ_boss_Y_pos).w blo.s loc_7AAEC - move.w #-$180,(_unkFAFA).w + move.w #-$180,(SSZ_MTZ_boss_Y_vel).w addq.b #2,$32(a0) bchg #7,$2E(a0) bra.s loc_7AB12 @@ -164587,16 +164245,16 @@ loc_7AACE: loc_7AAEC: btst #7,$2E(a0) bne.s loc_7AB04 - cmpi.w #$1680,(_unkFAF0).w + cmpi.w #$1680,(SSZ_MTZ_boss_X_pos).w bhs.s loc_7AB12 - move.w #0,(_unkFAF8).w + move.w #0,(SSZ_MTZ_boss_X_vel).w bra.s loc_7AB12 ; --------------------------------------------------------------------------- loc_7AB04: - cmpi.w #$1780,(_unkFAF0).w + cmpi.w #$1780,(SSZ_MTZ_boss_X_pos).w blo.s loc_7AB12 - move.w #0,(_unkFAF8).w + move.w #0,(SSZ_MTZ_boss_X_vel).w loc_7AB12: bsr.w sub_7AB56 @@ -164604,18 +164262,18 @@ loc_7AB12: ; --------------------------------------------------------------------------- loc_7AB1A: - bsr.w sub_7B12E - cmpi.w #$3F0,(_unkFAF4).w + bsr.w Boss_MoveObject + cmpi.w #$3F0,(SSZ_MTZ_boss_Y_pos).w bhs.s loc_7AB3A - move.w #$100,(_unkFAF8).w + move.w #$100,(SSZ_MTZ_boss_X_vel).w btst #7,$2E(a0) bne.s loc_7AB3A - move.w #-$100,(_unkFAF8).w + move.w #-$100,(SSZ_MTZ_boss_X_vel).w loc_7AB3A: - cmpi.w #$3B0,(_unkFAF4).w + cmpi.w #$3B0,(SSZ_MTZ_boss_Y_pos).w bhs.s loc_7AB4E - move.w #0,(_unkFAFA).w + move.w #0,(SSZ_MTZ_boss_Y_vel).w move.b #0,$32(a0) loc_7AB4E: @@ -164626,13 +164284,13 @@ loc_7AB4E: sub_7AB56: - subi.w #1,(_unkFAFC).w + subi.w #1,(SSZ_MTZ_boss_laser_timer).w bne.s locret_7AB7E tst.b $31(a0) beq.s locret_7AB7E subq.b #1,$31(a0) move.b #$10,$33(a0) - move.w #$1E,(_unkFAFC).w + move.w #$1E,(SSZ_MTZ_boss_laser_timer).w lea ChildObjDat_7AB80(pc),a2 jsr (CreateChild1_Normal).l @@ -164641,7 +164299,8 @@ locret_7AB7E: ; End of function sub_7AB56 ; --------------------------------------------------------------------------- -ChildObjDat_7AB80:dc.w 1 +ChildObjDat_7AB80: + dc.w 1 dc.l loc_7AB8E dc.w $F4FC dc.l loc_7AB8E @@ -164679,8 +164338,8 @@ loc_7ABCE: loc_7ABE2: move.w d0,$18(a0) - moveq #sfx_Lazer,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Laser),d0 + jsr (Play_SFX).l loc_7ABEE: jsr (MoveSprite2).l @@ -164708,12 +164367,12 @@ sub_7AC06: tst.b $3C(a0) beq.s loc_7AC42 move.b #$A,$26(a0) - move.w #-$180,(_unkFAFA).w + move.w #-$180,(SSZ_MTZ_boss_Y_vel).w subq.b #1,$3C(a0) - move.w #0,(_unkFAF8).w + move.w #0,(SSZ_MTZ_boss_X_vel).w loc_7AC42: - move.w #0,(_unkFAF8).w + move.w #0,(SSZ_MTZ_boss_X_vel).w rts ; --------------------------------------------------------------------------- @@ -164772,9 +164431,9 @@ loc_7ACC0: move.b $1D(a0),d0 jsr (GetSineCosine).l asr.w #6,d0 - add.w (_unkFAF4).w,d0 + add.w (SSZ_MTZ_boss_Y_pos).w,d0 move.w d0,$14(a0) - move.w (_unkFAF0).w,$10(a0) + move.w (SSZ_MTZ_boss_X_pos).w,$10(a0) addq.b #2,$1D(a0) ; =============== S U B R O U T I N E ======================================= @@ -164790,8 +164449,8 @@ sub_7ACF2: tst.b $1C(a0) bne.s loc_7AD1A move.b #$20,$1C(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_7AD1A: moveq #0,d0 @@ -165194,30 +164853,32 @@ word_7B10E: dc.w Player_1 ; --------------------------------------------------------------------------- loc_7B116: - moveq #sfx_Balloon,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Balloon),d0 + jsr (Play_SFX).l movea.l $34(a0),a1 subi.b #1,$30(a1) jmp (Delete_Current_Sprite).l ; =============== S U B R O U T I N E ======================================= - -sub_7B12E: - move.l (_unkFAF0).w,d2 - move.l (_unkFAF4).w,d3 - move.w (_unkFAF8).w,d0 +; This routine comes from Sonic 2, and is used in Sky Sanctuary by Mecha +; Sonic cosplaying as the Metropolis Zone boss. +;sub_7B12E: +Boss_MoveObject: + move.l (SSZ_MTZ_boss_X_pos).w,d2 + move.l (SSZ_MTZ_boss_Y_pos).w,d3 + move.w (SSZ_MTZ_boss_X_vel).w,d0 ext.l d0 asl.l #8,d0 add.l d0,d2 - move.w (_unkFAFA).w,d0 + move.w (SSZ_MTZ_boss_Y_vel).w,d0 ext.l d0 asl.l #8,d0 add.l d0,d3 - move.l d2,(_unkFAF0).w - move.l d3,(_unkFAF4).w + move.l d2,(SSZ_MTZ_boss_X_pos).w + move.l d3,(SSZ_MTZ_boss_Y_pos).w rts -; End of function sub_7B12E +; End of function Boss_MoveObject ; --------------------------------------------------------------------------- moveq #0,d6 @@ -165335,13 +164996,11 @@ locret_7B21A: ; --------------------------------------------------------------------------- Ani_SSZMTZOrbs: include "Levels/SSZ/Misc Object Data/Anim - MTZOrbs.asm" - Pal_SSZMTZOrbs: binclude "Levels/SSZ/Palettes/MTZOrbs.bin" - even - + even ; --------------------------------------------------------------------------- -Obj_A3_2: +Obj_SSZEndBoss: moveq #0,d0 move.b 5(a0),d0 move.w off_7B2B2(pc,d0.w),d1 @@ -165349,7 +165008,7 @@ Obj_A3_2: lea sub_7D35A(pc),a4 bsr.w sub_7D312 bsr.w sub_7D2D8 - lea DPLCPtr_7D4D6(pc),a2 + lea DPLCPtr_MechaSonic(pc),a2 jsr (Perform_DPLC).l jmp (Draw_And_Touch_Sprite).l ; --------------------------------------------------------------------------- @@ -165534,8 +165193,8 @@ loc_7B4EC: clr.w $16(a0) clr.b $23(a0) clr.b $24(a0) - moveq #sfx_MetalLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MechaLand),d0 + jsr (Play_SFX).l btst #3,$38(a0) bne.s loc_7B520 move.l #byte_7D596,$30(a0) @@ -165662,8 +165321,8 @@ loc_7B666: move.w d0,$18(a0) move.w d1,$40(a0) clr.w $1A(a0) - moveq #sfx_Dash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Dash),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -165699,8 +165358,8 @@ loc_7B6C0: add.w d1,$14(a0) move.b #$1C,5(a0) move.w #-$900,$1A(a0) - moveq #sfx_Thump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Thump),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -165731,8 +165390,8 @@ loc_7B70E: move.w #$F,$2E(a0) move.l #loc_7B754,$34(a0) bset #2,$38(a0) - moveq #sfx_MetalLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MechaLand),d0 + jsr (Play_SFX).l lea ChildObjDat_7D480(pc),a2 jsr (CreateChild6_Simple).l bne.s locret_7B70C @@ -165778,8 +165437,8 @@ loc_7B790: loc_7B7A8: move.w d0,$18(a0) move.w d1,$40(a0) - moveq #sfx_Dash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Dash),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -165820,7 +165479,7 @@ loc_7B81A: move.b 5(a0),d0 move.w off_7B838(pc,d0.w),d1 jsr off_7B838(pc,d1.w) - lea DPLCPtr_7D4D6(pc),a2 + lea DPLCPtr_MechaSonic(pc),a2 jsr (Perform_DPLC).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -165866,8 +165525,8 @@ loc_7B888: bsr.w sub_7C678 lea ChildObjDat_7D48C(pc),a2 jsr (CreateChild6_Simple).l - moveq #sfx_MetalLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MechaLand),d0 + jsr (Play_SFX).l tst.b (Current_act).w bne.s loc_7B8E6 move.b #4,5(a0) @@ -165890,8 +165549,8 @@ loc_7B8E6: move.b #8,5(a0) move.w #$BF,$2E(a0) move.l #loc_7B996,$34(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l st (Ctrl_2_locked).w rts ; --------------------------------------------------------------------------- @@ -165945,11 +165604,11 @@ loc_7B996: clr.b $2A(a0) clr.b $38(a0) ori.b #$50,$38(a0) - moveq #mus_DDZ,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_DDZ),d0 + jsr (Play_Music).l lea ChildObjDat_7D492(pc),a2 jsr (CreateChild1_Normal).l - lea (ArtKosM_HPZMasterEmerald).l,a1 + lea (ArtKosM_EndingMasterEmerald).l,a1 move.w #-$5A40,d2 jmp (Queue_Kos_Module).l ; --------------------------------------------------------------------------- @@ -165985,8 +165644,8 @@ loc_7BA22: ; --------------------------------------------------------------------------- loc_7BA28: - moveq #sfx_Spindash,d0 - jsr (sub_85E52).l + moveq #signextendB(sfx_Spindash),d0 + jsr (Play_SFX_Continuous).l subq.w #1,$2E(a0) bmi.s loc_7BA38 rts @@ -166090,8 +165749,8 @@ loc_7BB20: loc_7BB7C: clr.b $38(a0) bset #7,$38(a0) - moveq #sfx_MetalLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MechaLand),d0 + jsr (Play_SFX).l lea (word_7D9EA).l,a1 bsr.w sub_7C678 lea ChildObjDat_7D48C(pc),a2 @@ -166104,8 +165763,8 @@ locret_7BBAA: ; --------------------------------------------------------------------------- loc_7BBAC: - moveq #sfx_MetalTransform,d0 - jsr (sub_85E52).l + moveq #signextendB(sfx_MechaTransform),d0 + jsr (Play_SFX_Continuous).l jsr (Run_PalRotationScript).l bchg #6,(_unkFAB8).w jmp (Animate_RawMultiDelay).l @@ -166152,8 +165811,8 @@ loc_7BC3E: move.w #$1F,$2E(a0) move.l #loc_7BC70,$34(a0) bclr #7,4(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l addi.w #$20,$14(a0) lea ChildObjDat_7D4CA(pc),a2 jmp (CreateChild6_Simple).l @@ -166226,8 +165885,8 @@ sub_7BD30: move.w #$1F,$3A(a0) subq.b #1,$39(a0) bmi.s locret_7BD4A - moveq #sfx_MissileExplode,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileExplode),d0 + jsr (Play_SFX).l locret_7BD4A: rts @@ -166243,7 +165902,7 @@ Obj_SSZ2_Boss: lea loc_7D39E(pc),a4 bsr.w sub_7D312 bsr.w sub_7D2D8 - lea DPLCPtr_7D4D6(pc),a2 + lea DPLCPtr_MechaSonic(pc),a2 jsr (Perform_DPLC).l jmp (Draw_And_Touch_Sprite).l ; --------------------------------------------------------------------------- @@ -166286,8 +165945,8 @@ off_7BD76: dc.w loc_7BDBE-off_7BD76 ; --------------------------------------------------------------------------- loc_7BDBE: - moveq #sfx_MetalTransform,d0 - jsr (sub_85E52).l + moveq #signextendB(sfx_MechaTransform),d0 + jsr (Play_SFX_Continuous).l jsr (Run_PalRotationScript).l bchg #6,(_unkFAB8).w jmp (Animate_RawMultiDelay).l @@ -166351,8 +166010,8 @@ loc_7BE7E: move.l #loc_7D09C,(a1) loc_7BE92: - moveq #sfx_SuperTransform,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SuperTransform),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -166526,8 +166185,8 @@ loc_7C06E: move.b #$12,5(a0) move.w #$1F,$2E(a0) move.l #loc_7C12E,$34(a0) - moveq #sfx_Roll,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Roll),d0 + jsr (Play_SFX).l lea (Player_1).w,a1 moveq #0,d0 move.w $10(a1),d0 @@ -166555,8 +166214,8 @@ loc_7C0B6: loc_7C0E0: move.w d1,$40(a0) - moveq #sfx_MissileShoot,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileShoot),d0 + jsr (Play_SFX).l lea byte_7D652(pc),a1 jsr (Set_Raw_Animation).l bset #6,$38(a0) @@ -166596,8 +166255,8 @@ loc_7C15C: move.b #$16,5(a0) move.w #$3F,$2E(a0) move.l #loc_7C17A,$34(a0) - moveq #sfx_Crash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Crash),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -166665,8 +166324,8 @@ loc_7C232: move.b #$20,5(a0) move.b #$1F,$1E(a0) move.l #loc_7C274,$34(a0) - moveq #sfx_MetalLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MechaLand),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -166688,8 +166347,8 @@ loc_7C274: move.w d0,$40(a0) clr.w $1A(a0) move.l #loc_7C2BE,$34(a0) - moveq #sfx_MetalLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MechaLand),d0 + jsr (Play_SFX).l lea byte_7D556(pc),a1 jmp (Set_Raw_Animation).l ; --------------------------------------------------------------------------- @@ -166805,8 +166464,8 @@ loc_7C3F8: loc_7C410: move.b #$30,5(a0) move.l #loc_7C436,$34(a0) - moveq #sfx_MetalLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MechaLand),d0 + jsr (Play_SFX).l lea byte_7D510(pc),a1 jmp (Set_Raw_Animation).l ; --------------------------------------------------------------------------- @@ -166832,8 +166491,8 @@ loc_7C458: loc_7C46A: move.b #$34,5(a0) - moveq #sfx_MetalLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MechaLand),d0 + jsr (Play_SFX).l bset #0,4(a0) move.w #$400,d0 move.w $10(a0),d1 @@ -166887,8 +166546,8 @@ loc_7C4F8: add.w d1,$14(a0) move.b #$38,5(a0) move.l #loc_7C522,$34(a0) - moveq #sfx_MetalLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MechaLand),d0 + jsr (Play_SFX).l lea byte_7D5C1(pc),a1 jmp (Set_Raw_Animation).l ; --------------------------------------------------------------------------- @@ -166925,8 +166584,8 @@ loc_7C55E: loc_7C578: move.b #0,5(a0) move.l #loc_7BDD8,$34(a0) - moveq #sfx_MetalLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MechaLand),d0 + jsr (Play_SFX).l lea byte_7D5B6(pc),a1 jsr Set_Raw_Animation(pc) bra.w loc_7BB7C @@ -167068,8 +166727,8 @@ loc_7C6F0: beq.w locret_7B448 cmpi.b #8,$23(a0) bne.w locret_7B448 - moveq #sfx_BossProjectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossProjectile),d0 + jsr (Play_SFX).l lea ChildObjDat_7D4A8(pc),a2 jmp CreateChild6_Simple(pc) ; --------------------------------------------------------------------------- @@ -167105,8 +166764,8 @@ loc_7C756: loc_7C764: move.l #loc_7C77A,(a0) - moveq #sfx_BossLazer,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossLaser),d0 + jsr (Play_SFX).l moveq #2,d5 jmp (loc_861C0).l ; --------------------------------------------------------------------------- @@ -167247,8 +166906,8 @@ loc_7C902: jsr SetUp_ObjAttributes(pc) move.l #loc_7C91C,(a0) bsr.w sub_7D236 - moveq #sfx_Roll,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Roll),d0 + jsr (Play_SFX).l loc_7C91C: lea byte_7D65F(pc),a1 @@ -167266,7 +166925,7 @@ loc_7C942: jmp (Go_Delete_Sprite).l ; --------------------------------------------------------------------------- -Obj_MetalSonic_Sparks: +Obj_MechaSonic_Sparks: lea ObjDat3_7D40E(pc),a1 jsr SetUp_ObjAttributes(pc) move.l #loc_7C964,(a0) @@ -167280,8 +166939,8 @@ loc_7C964: bne.w loc_7C8F8 cmpi.w #$E88,(Normal_palette_line_2+$12).w bne.w locret_7B448 - moveq #sfx_MetalSpark,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MechaSpark),d0 + jsr (Play_SFX).l moveq #0,d0 bchg #0,$39(a0) bne.s loc_7C990 @@ -167349,7 +167008,7 @@ loc_7CA12: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Obj_B2_2: +Obj_KnuxFinalBossCrane: move.l #loc_7CA3A,(a0) move.w (Camera_min_X_pos).w,(Camera_max_X_pos).w lea PLC_7CA32(pc),a1 @@ -167455,7 +167114,7 @@ loc_7CB64: loc_7CB82: jsr (Create_New_Sprite).l bne.s loc_7CB90 - move.l #Obj_A3_2,(a1) + move.l #Obj_SSZEndBoss,(a1) loc_7CB90: move.w a1,(_unkFAA4).w @@ -167639,8 +167298,8 @@ loc_7CDD2: clr.b $40(a1) clr.b $3D(a1) jsr (Player_Load_PLC).l - moveq #sfx_Grab,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Grab),d0 + jsr (Play_SFX).l loc_7CE12: jsr (Refresh_ChildPositionAdjusted).l @@ -167801,7 +167460,7 @@ Obj_Difficulty_7CFA4: move.b 5(a0),d0 move.w off_7CFC2(pc,d0.w),d1 jsr off_7CFC2(pc,d1.w) - lea DPLCPtr_7D4D6(pc),a2 + lea DPLCPtr_MechaSonic(pc),a2 jsr (Perform_DPLC).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -168255,8 +167914,8 @@ sub_7D312: tst.b $20(a0) bne.s loc_7D338 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l bset #6,$2A(a0) loc_7D338: @@ -168409,46 +168068,59 @@ ObjDat3_7D468: dc.l Map_MechaSonicPieces dc.b 8 dc.b 0 dc.b 0 -ChildObjDat_7D474:dc.w 0 +ChildObjDat_7D474: + dc.w 0 dc.l loc_7C9BA -ChildObjDat_7D47A:dc.w 1 +ChildObjDat_7D47A: + dc.w 1 dc.l loc_7C902 -ChildObjDat_7D480:dc.b 0 +ChildObjDat_7D480: + dc.b 0 dc.b 0 dc.l loc_7C902 -ChildObjDat_7D486:dc.w 1 +ChildObjDat_7D486: + dc.w 1 dc.l loc_7C8FE -ChildObjDat_7D48C:dc.w 0 - dc.l Obj_MetalSonic_Sparks -ChildObjDat_7D492:dc.w 0 +ChildObjDat_7D48C: + dc.w 0 + dc.l Obj_MechaSonic_Sparks +ChildObjDat_7D492: + dc.w 0 dc.l loc_7C886 dc.b $FC dc.b $C -ChildObjDat_7D49A:dc.w 0 +ChildObjDat_7D49A: + dc.w 0 dc.l loc_7C78E dc.w $14FC byte_7D4A2: dc.b 0 dc.b 0 dc.l loc_7C7D4 -ChildObjDat_7D4A8:dc.w 7 +ChildObjDat_7D4A8: + dc.w 7 dc.l loc_7C726 -ChildObjDat_7D4AE:dc.b 0 +ChildObjDat_7D4AE: + dc.b 0 dc.b 0 dc.l loc_7C744 dc.w $F9F8 dc.w 0 dc.l loc_7C818 -ChildObjDat_7D4BC:dc.w 0 +ChildObjDat_7D4BC: + dc.w 0 dc.l loc_7CCFE dc.w $23 word_7D4C4: dc.w 3 dc.l loc_7CE6C -ChildObjDat_7D4CA:dc.w $F +ChildObjDat_7D4CA: + dc.w $F dc.l loc_7CE90 -ChildObjDat_7D4D0:dc.b 0 +ChildObjDat_7D4D0: + dc.b 0 dc.b 2 dc.l loc_7CF14 -DPLCPtr_7D4D6: dc.l ArtUnc_MechaSonic +DPLCPtr_MechaSonic: + dc.l ArtUnc_MechaSonic dc.l DPLC_MechaSonic byte_7D4DE: dc.b 3, 0 dc.b 4, 1 @@ -168696,90 +168368,83 @@ byte_7D6B3: dc.b 0, $B, $B, $D dc.b $A, 0, $A, 0 dc.b $A, 0, $A, 0 dc.b $F4 -Map_RoboshipPieces: include "Levels/SSZ/Misc Object Data/Map - Robotnik Ship Pieces.asm" - -Map_SSZMasterEmerald: include "Levels/SSZ/Misc Object Data/Map - Master Emerald.asm" - -Map_MechaSonicPieces: include "General/Sprites/Mecha Sonic/Map - Mecha Sonic Pieces.asm" +Map_RoboshipPieces: + include "Levels/SSZ/Misc Object Data/Map - Robotnik Ship Pieces.asm" +Map_SSZMasterEmerald: + include "Levels/SSZ/Misc Object Data/Map - Master Emerald.asm" +Map_MechaSonicPieces: + include "General/Sprites/Mecha Sonic/Map - Mecha Sonic Pieces.asm" word_7D842: palscriptptr .header, .data dc.w 0 - .header palscripthdr Normal_palette_line_2+$00, 16, 0 -.data palscriptdata 50,$000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $E88, $C44, $A24, $624, $422, $ECC, $020, $044 - palscriptdata 2, $000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $E88, $C66, $A24, $ECC, $642, $044 - palscriptdata 1, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $EEE, $E88, $C44, $A24, $624, $ECC, $422, $044 - palscriptdata 5, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $E88, $C44, $A24, $624, $422, $ECC, $020, $044 - palscriptdata 2, $000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $E88, $C66, $A24, $ECC, $642, $044 - palscriptdata 1, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $EEE, $E88, $C44, $A24, $624, $ECC, $422, $044 - palscriptdata 50,$000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $E88, $C44, $A24, $624, $422, $ECC, $020, $044 - palscriptdata 2, $000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $E88, $C66, $A24, $ECC, $642, $044 - palscriptdata 1, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $EEE, $E88, $C44, $A24, $624, $ECC, $422, $044 - palscriptdata 20,$000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $E88, $C44, $A24, $624, $422, $ECC, $020, $044 - palscriptdata 2, $000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $E88, $C66, $A24, $ECC, $642, $044 - palscriptdata 1, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $EEE, $E88, $C44, $A24, $624, $ECC, $422, $044 +.data palscriptfile 50,"General/Sprites/Mecha Sonic/Palettes/Main.bin" + palscriptfile 2, "General/Sprites/Mecha Sonic/Palettes/Flash 2.bin" + palscriptfile 1, "General/Sprites/Mecha Sonic/Palettes/Flash 1.bin" + palscriptfile 5, "General/Sprites/Mecha Sonic/Palettes/Main.bin" + palscriptfile 2, "General/Sprites/Mecha Sonic/Palettes/Flash 2.bin" + palscriptfile 1, "General/Sprites/Mecha Sonic/Palettes/Flash 1.bin" + palscriptfile 50,"General/Sprites/Mecha Sonic/Palettes/Main.bin" + palscriptfile 2, "General/Sprites/Mecha Sonic/Palettes/Flash 2.bin" + palscriptfile 1, "General/Sprites/Mecha Sonic/Palettes/Flash 1.bin" + palscriptfile 20,"General/Sprites/Mecha Sonic/Palettes/Main.bin" + palscriptfile 2, "General/Sprites/Mecha Sonic/Palettes/Flash 2.bin" + palscriptfile 1, "General/Sprites/Mecha Sonic/Palettes/Flash 1.bin" palscriptrept Pal_SSZGHZMisc = word_7D842.data ; yeah Sonic 3 is a fun game word_7D9EA: palscriptptr .header, .data dc.w 0 - .header palscripthdr Normal_palette_line_2+$00, 16, 0 -.data palscriptdata 3, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $E88, $C44, $A24, $624, $422, $ECC, $020, $044 - palscriptdata 2, $000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $E88, $C66, $A24, $ECC, $642, $044 - palscriptdata 1, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $EEE, $E88, $C44, $A24, $624, $ECC, $422, $044 +.data palscriptfile 3, "General/Sprites/Mecha Sonic/Palettes/Main.bin" + palscriptfile 2, "General/Sprites/Mecha Sonic/Palettes/Flash 2.bin" + palscriptfile 1, "General/Sprites/Mecha Sonic/Palettes/Flash 1.bin" palscriptrept word_7DA60: palscriptptr .header, .data dc.w 0 - .header palscripthdr Normal_palette_line_2+$00, 16, 2-1 -.data palscriptdata 6, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $EEE, $E88, $C44, $A24, $624, $ECC, $422, $044 - palscriptdata 6, $000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $E88, $C66, $A24, $ECC, $642, $044 - palscriptdata 30,$000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $EEE, $EEE, $EEE, $ECC, $642, $044 +.data palscriptfile 6, "General/Sprites/Mecha Sonic/Palettes/Flash 1.bin" + palscriptfile 6, "General/Sprites/Mecha Sonic/Palettes/Flash 2.bin" + palscriptfile 30,"General/Sprites/Mecha Sonic/Palettes/Flash 3.bin" palscriptloop .headr2 - .headr2 palscripthdr Normal_palette_line_2+$00, 16, 0 - palscriptdata 6, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $4EE, $4AE, $06E, $24A, $228, $ECC, $004, $044 - palscriptdata 6, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $2EE, $2AE, $06C, $248, $226, $ECC, $004, $044 - palscriptdata 6, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $0EE, $0AE, $06A, $246, $224, $ECC, $002, $044 - palscriptdata 6, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $2EE, $2AE, $06C, $248, $226, $ECC, $004, $044 + palscriptfile 6, "General/Sprites/Mecha Sonic/Palettes/Super 1.bin" + palscriptfile 6, "General/Sprites/Mecha Sonic/Palettes/Super 2.bin" + palscriptfile 6, "General/Sprites/Mecha Sonic/Palettes/Super 3.bin" + palscriptfile 6, "General/Sprites/Mecha Sonic/Palettes/Super 2.bin" palscriptrept word_7DB66: palscriptptr .header, .data dc.w 0 - .header palscripthdr Normal_palette_line_2+$00, 16, 2-1 -.data palscriptdata 6, $000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $E88, $C66, $A24, $ECC, $642, $044 - palscriptdata 6, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $EEE, $E88, $C44, $A24, $624, $ECC, $422, $044 - palscriptdata 128,$000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $E88, $C44, $A24, $624, $422, $ECC, $020, $044 +.data palscriptfile 6, "General/Sprites/Mecha Sonic/Palettes/Flash 2.bin" + palscriptfile 6, "General/Sprites/Mecha Sonic/Palettes/Flash 1.bin" + palscriptfile 128,"General/Sprites/Mecha Sonic/Palettes/Main.bin" palscriptloop .headr2 - .headr2 palscripthdr Normal_palette_line_2+$00, 16, 0 - palscriptdata 128,$000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $E88, $C44, $A24, $624, $422, $ECC, $020, $044 + palscriptfile 128,"General/Sprites/Mecha Sonic/Palettes/Main.bin" palscriptrept word_7DC06: palscriptptr .header, .data dc.w 0 - .header palscripthdr Normal_palette_line_2+$00, 16, 2-1 -.data palscriptdata 8, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $E88, $C44, $A24, $624, $422, $ECC, $020, $044 - palscriptdata 8, $000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $E88, $C66, $A24, $ECC, $642, $044 - palscriptdata 8, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $EEE, $E88, $C44, $A24, $624, $ECC, $422, $044 +.data palscriptfile 8, "General/Sprites/Mecha Sonic/Palettes/Main.bin" + palscriptfile 8, "General/Sprites/Mecha Sonic/Palettes/Flash 2.bin" + palscriptfile 8, "General/Sprites/Mecha Sonic/Palettes/Flash 1.bin" palscriptloop word_7DA60.headr2 word_7DC7E: palscriptptr .header, .data dc.w 0 - .header palscripthdr Normal_palette_line_2+$00, 16, 2-1 -.data palscriptdata 2, $000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $E88, $C66, $A24, $ECC, $642, $044 - palscriptdata 2, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $EEE, $E88, $C44, $A24, $624, $ECC, $422, $044 - palscriptdata 2, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $E88, $C44, $A24, $624, $422, $ECC, $020, $044 - palscriptdata 4, $000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $E88, $C66, $A24, $ECC, $642, $044 - palscriptdata 4, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $EEE, $E88, $C44, $A24, $624, $ECC, $422, $044 - palscriptdata 4, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $E88, $C44, $A24, $624, $422, $ECC, $020, $044 +.data palscriptfile 2, "General/Sprites/Mecha Sonic/Palettes/Flash 2.bin" + palscriptfile 2, "General/Sprites/Mecha Sonic/Palettes/Flash 1.bin" + palscriptfile 2, "General/Sprites/Mecha Sonic/Palettes/Main.bin" + palscriptfile 4, "General/Sprites/Mecha Sonic/Palettes/Flash 2.bin" + palscriptfile 4, "General/Sprites/Mecha Sonic/Palettes/Flash 1.bin" + palscriptfile 4, "General/Sprites/Mecha Sonic/Palettes/Main.bin" palscriptrun off_7DD5A: dc.l off_7DD7A @@ -168829,7 +168494,7 @@ word_7DDA4: dc.w $18C dc.w $36C0 ; --------------------------------------------------------------------------- -Obj_DEZ_Miniboss: +Obj_DEZMiniboss: lea word_7DDA4(pc),a1 jsr (Check_CameraInRange).l move.b #mus_Miniboss,$26(a0) @@ -168895,8 +168560,8 @@ loc_7DE6E: move.b (V_int_run_count+3).w,d0 andi.b #$1F,d0 bne.s loc_7DE8E - moveq #sfx_GravityTunnel,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GravityTunnel),d0 + jsr (Play_SFX).l loc_7DE8E: bra.w loc_7EE36 @@ -168918,7 +168583,7 @@ loc_7DEA2: loc_7DEA6: move.b #2,5(a0) move.w #$F,$2E(a0) - move.l #sub_7DEF6,$34(a0) + move.l #loc_7DEF6,$34(a0) move.b #2,$39(a0) clr.w $40(a0) rts @@ -168936,23 +168601,19 @@ loc_7DEC6: neg.w d0 subq.b #1,$39(a0) bpl.s loc_7DEEC - bsr.w sub_7DEF6 + bsr.w loc_7DEF6 loc_7DEEC: move.w d0,$40(a0) move.w d1,$3C(a0) rts +; --------------------------------------------------------------------------- -; =============== S U B R O U T I N E ======================================= - - -sub_7DEF6: +loc_7DEF6: move.b #4,5(a0) move.w #$9F,$2E(a0) move.l #loc_7DF0C,$34(a0) rts -; End of function sub_7DEF6 - ; --------------------------------------------------------------------------- loc_7DF0C: @@ -169082,7 +168743,7 @@ loc_7E044: jsr (Create_New_Sprite).l bne.s sub_7E08C move.w a0,$46(a1) - move.l #Obj_8B,(a1) + move.l #Obj_SpriteMask,(a1) move.w #$3740,$10(a1) move.w #$360,$14(a1) move.b #-$77,$2C(a1) @@ -169105,8 +168766,8 @@ loc_7E0A6: move.b (V_int_run_count+3).w,d0 andi.b #$3F,d0 bne.s loc_7E0B8 - moveq #sfx_WaveHover,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_WaveHover),d0 + jsr (Play_SFX).l loc_7E0B8: bsr.w sub_7EE88 @@ -169342,20 +169003,20 @@ loc_7E342: bpl.s locret_7E382 move.l #loc_7E384,(a0) st (Events_fg_4).w - move.w #0,(Target_camera_min_Y_pos).w + move.w #0,(Camera_stored_min_Y_pos).w jsr (Create_New_Sprite).l bne.s loc_7E366 move.l #Obj_DecLevStartYGradual,(a1) loc_7E366: - move.w #$2000,(Target_camera_max_Y_pos).w + move.w #$2000,(Camera_stored_max_Y_pos).w jsr (Create_New_Sprite).l bne.s loc_7E37A move.l #Obj_IncLevEndYGradual,(a1) loc_7E37A: - moveq #sfx_BigRumble,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BigRumble),d0 + jsr (Play_SFX).l locret_7E382: rts @@ -169400,8 +169061,8 @@ loc_7E3EC: lea (Player_1).w,a1 move.w $10(a1),$10(a0) move.w $14(a1),$14(a0) - moveq #sfx_SuperTransform,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SuperTransform),d0 + jsr (Play_SFX).l loc_7E416: subi.w #$10,(Player_1+y_pos).w @@ -169998,8 +169659,8 @@ loc_7EA3C: move.b (V_int_run_count+3).w,d0 andi.b #$1F,d0 bne.s loc_7EA5E - moveq #sfx_BossPanic,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossPanic),d0 + jsr (Play_SFX).l loc_7EA5E: bsr.w sub_7EB34 @@ -170462,8 +170123,8 @@ sub_7EDD0: tst.b $20(a0) bne.s loc_7EDF2 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l movea.w $46(a0),a1 addq.b #1,$29(a1) @@ -170672,31 +170333,40 @@ word_7EF88: dc.w $100 dc.b $14 dc.b $23 dc.b 0 -ChildObjDat_7EF8E:dc.w 0 +ChildObjDat_7EF8E: + dc.w 0 dc.l loc_7E768 dc.w $FC -ChildObjDat_7EF96:dc.w 7 +ChildObjDat_7EF96: + dc.w 7 dc.l loc_7E80E -ChildObjDat_7EF9C:dc.w 7 +ChildObjDat_7EF9C: + dc.w 7 dc.l loc_7E916 -ChildObjDat_7EFA2:dc.w 0 +ChildObjDat_7EFA2: + dc.w 0 dc.l loc_7EAB6 -ChildObjDat_7EFA8:dc.w 1 +ChildObjDat_7EFA8: + dc.w 1 dc.l loc_7EACC dc.w $D800 dc.l loc_7EACC dc.w $2800 -ChildObjDat_7EFB6:dc.w 1 +ChildObjDat_7EFB6: + dc.w 1 dc.l loc_7E4CE -ChildObjDat_7EFBC:dc.w 0 +ChildObjDat_7EFBC: + dc.w 0 dc.l loc_7E74A dc.w 4 ChildObj_7EFC4: dc.w 0 dc.l loc_7E97E dc.w $1E -ChildObjDat_7EFCC:dc.w 1 +ChildObjDat_7EFCC: + dc.w 1 dc.l loc_7EA6C -ChildObjDat_7EFD2:dc.w 3 +ChildObjDat_7EFD2: + dc.w 3 dc.l loc_7EB0E dc.w $F000 dc.l loc_7EB0E @@ -170717,15 +170387,14 @@ byte_7EFF4: dc.b 0, 8 dc.b 7, 9 dc.b 7, $A dc.b 7, $FC -Pal_DEZMiniboss1: binclude "Levels/DEZ/Palettes/Miniboss 1.bin" - even - -Pal_DEZMiniboss2: binclude "Levels/DEZ/Palettes/Miniboss 2.bin" - even - +Pal_DEZMiniboss1: + binclude "Levels/DEZ/Palettes/Miniboss 1.bin" + even +Pal_DEZMiniboss2: + binclude "Levels/DEZ/Palettes/Miniboss 2.bin" + even word_7F03C: palscriptptr .header, .data dc.w 0 - .header palscripthdr Normal_palette_line_2+$16, 3, 11-1 .data palscriptdata 8, $66A, $448, $226 palscriptdata 8, $66C, $44A, $228 @@ -170734,7 +170403,7 @@ word_7F03C: palscriptptr .header, .data palscriptrun ; --------------------------------------------------------------------------- -Obj_DEZ_EndBoss: +Obj_DEZEndBoss: lea word_7F0BE(pc),a1 jsr (Check_CameraInRange).l move.l #loc_7F0CE,(a0) @@ -170777,8 +170446,8 @@ loc_7F0DA: move.b (V_int_run_count+3).w,d0 andi.b #$3F,d0 bne.s loc_7F0FE - moveq #sfx_WaveHover,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_WaveHover),d0 + jsr (Play_SFX).l loc_7F0FE: jmp Draw_And_Touch_Sprite(pc) @@ -170898,8 +170567,8 @@ loc_7F234: jsr CreateChild6_Simple(pc) lea (Child6_CreateBossExplosion).l,a2 jsr (CreateChild6_Simple).l - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l rts ; --------------------------------------------------------------------------- @@ -170932,9 +170601,9 @@ loc_7F29A: loc_7F2B4: move.l #loc_7F2DC,(a0) clr.b (Boss_flag).w - moveq #mus_DEZ2,d0 - jsr (Play_Sound).l - move.w #$3620,(Target_camera_max_X_pos).w + moveq #signextendB(mus_DEZ2),d0 + jsr (Play_Music).l + move.w #$3620,(Camera_stored_max_X_pos).w jsr (Create_New_Sprite).l bne.s locret_7F2DA move.l #Obj_IncLevEndXGradual,(a1) @@ -171050,8 +170719,8 @@ loc_7F3F6: subq.w #1,$2E(a0) bpl.s loc_7F40A move.l #loc_7F414,(a0) - moveq #sfx_MushroomBounce,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MushroomBounce),d0 + jsr (Play_SFX).l loc_7F40A: movea.w $46(a0),a1 @@ -171752,8 +171421,8 @@ sub_7FA7E: bclr #5,$2A(a1) clr.b $40(a1) move.b #1,$20(a0) - moveq #sfx_Bumper,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Bumper),d0 + jsr (Play_SFX).l locret_7FACA: rts @@ -171882,8 +171551,8 @@ sub_7FB92: subq.b #1,$29(a0) beq.s loc_7FBD6 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l loc_7FBB2: moveq #0,d0 @@ -171989,30 +171658,37 @@ ObjDat3_7FC80: dc.l Map_DEZEndBoss dc.b $14 dc.b $14 dc.b 0 -ChildObjDat_7FC8C:dc.w 1 +ChildObjDat_7FC8C: + dc.w 1 dc.l loc_7F71C dc.w 0 dc.l loc_7F782 dc.w 0 -ChildObjDat_7FC9A:dc.w 0 +ChildObjDat_7FC9A: + dc.w 0 dc.l loc_7F336 -ChildObjDat_7FCA0:dc.w 1 +ChildObjDat_7FCA0: + dc.w 1 dc.l loc_7F64A dc.w $14 dc.l loc_7F398 dc.w $C -ChildObjDat_7FCAE:dc.w 0 +ChildObjDat_7FCAE: + dc.w 0 dc.l loc_7F6FA -ChildObjDat_7FCB4:dc.w 2 +ChildObjDat_7FCB4: + dc.w 2 dc.l loc_7F60A dc.w $F0F7 dc.l loc_7F60A dc.w $F4 dc.l loc_7F60A dc.w $10F7 -ChildObjDat_7FCC8:dc.w 5 +ChildObjDat_7FCC8: + dc.w 5 dc.l loc_7F7CE -ChildObjDat_7FCCE:dc.w 1 +ChildObjDat_7FCCE: + dc.w 1 dc.l loc_7F7F6 byte_7FCD4: dc.b 3, 0 dc.b 1, 2 @@ -172043,8 +171719,7 @@ byte_7FCEF: dc.b $16, 0 dc.b $1E, 1 dc.b $FC Pal_DEZEndBoss: binclude "Levels/DEZ/Palettes/End Boss.bin" - even - + even byte_7FD28: dc.b 0 dc.b 1 dc.b 2 @@ -172319,8 +171994,8 @@ loc_7FF6A: move.b #$E,5(a0) move.w #$1F,$2E(a0) move.w #$14,(Screen_shake_flag).w - moveq #sfx_ThumpBoss,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_ThumpBoss),d0 + jsr (Play_SFX).l moveq #0,d0 move.b $30(a0),d0 jmp loc_7FF8E(pc,d0.w) @@ -172450,7 +172125,7 @@ loc_80082: move.w a0,$46(a1) loc_800C0: - lea (ArtKosM_MasterEmerald).l,a1 + lea (ArtKosM_BossMasterEmerald).l,a1 move.w #-$6600,d2 jsr (Queue_Kos_Module).l @@ -172720,7 +172395,7 @@ loc_803D6: jsr (Go_Delete_Sprite).l cmpi.w #2,(Player_mode).w bhs.s loc_8040C - cmpi.b #7,(Emerald_count).w + cmpi.b #7,(Chaos_emerald_count).w bne.s loc_8040C move.w #$C00,d0 jmp (StartNewLevel).l @@ -173038,7 +172713,6 @@ loc_8076A: beq.s loc_8077C move.l #loc_80782,(a0) - loc_8077C: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- @@ -173076,8 +172750,8 @@ loc_807BC: move.w #4,$44(a0) move.l #loc_80802,$34(a0) move.b #$13,$39(a0) - moveq #sfx_Charging,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Charging),d0 + jsr (Play_SFX).l loc_807EE: bsr.w sub_80FFA @@ -173119,8 +172793,8 @@ loc_8083C: jsr Set_Raw_Animation(pc) move.l #loc_80888,$34(a0) bclr #7,4(a0) - moveq #sfx_MissileExplode,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileExplode),d0 + jsr (Play_SFX).l loc_8086C: jsr Animate_RawMultiDelay(pc) @@ -173212,8 +172886,8 @@ loc_80956: clr.b $23(a0) move.w #$B0,$42(a0) move.w #-$18,$44(a0) - moveq #sfx_Blast,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Blast),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -173515,8 +173189,8 @@ loc_80C60: lsl.w #2,d0 andi.w #$C,d0 move.w d0,(Screen_shake_flag).w - moveq #sfx_ThumpBoss,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_ThumpBoss),d0 + jsr (Play_SFX).l locret_80C88: rts @@ -173669,8 +173343,8 @@ sub_80E2C: tst.b $20(a0) bne.s loc_80E70 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l bset #6,$2A(a0) btst #7,$38(a0) beq.s loc_80E70 @@ -173981,8 +173655,8 @@ sub_810FA: tst.b $20(a0) bne.s loc_81128 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l bset #6,$2A(a0) loc_81128: @@ -174045,8 +173719,8 @@ sub_8119A: tst.b $20(a0) bne.s loc_811DA move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l lea (Player_1).w,a1 tst.b $1C(a0) beq.s loc_811C8 @@ -174210,18 +173884,22 @@ ObjDat3_81304: dc.l Map_DEZFinalBossDebris dc.b $10 dc.b 0 dc.b 0 -ChildObjDat_81310:dc.w 1 +ChildObjDat_81310: + dc.w 1 dc.l loc_80B22 -ChildObjDat_81316:dc.w 2 +ChildObjDat_81316: + dc.w 2 dc.l loc_80CE2 dc.w $F0 dc.l loc_80CE2 dc.w $E0F0 dc.l loc_80CE2 dc.w $20F0 -ChildObjDat_8132A:dc.w 0 +ChildObjDat_8132A: + dc.w 0 dc.l loc_808AE -ChildObjDat_81330:dc.w 1 +ChildObjDat_81330: + dc.w 1 dc.l loc_804B0 dc.w $23 dc.l loc_806DA @@ -174285,7 +173963,6 @@ byte_81397: dc.b 0, 0 word_813AA: palscriptptr .hdr1, .data1 palscriptptr .hdr2, .data2 - .hdr1 palscripthdr Normal_palette_line_3+$12, 1, 0 .data1 palscriptdata 15,$660 palscriptdata 18,$680 @@ -174298,7 +173975,6 @@ word_813AA: palscriptptr .hdr1, .data1 palscriptdata 7, $880 palscriptdata 18,$680 palscriptrept - .hdr2 palscripthdr Normal_palette_line_3+$16, 1, 0 .data2 palscriptdata 15,$6A0 palscriptdata 9, $8C0 @@ -174316,7 +173992,6 @@ word_813AA: palscriptptr .hdr1, .data1 word_8141E: palscriptptr .hdr1, .data1 palscriptptr .hdr2, .data2 - .hdr1 palscripthdr Normal_palette_line_4+$12, 1, 0 .data1 palscriptdata 15,$660 palscriptdata 18,$680 @@ -174329,7 +174004,6 @@ word_8141E: palscriptptr .hdr1, .data1 palscriptdata 7, $880 palscriptdata 18,$680 palscriptrept - .hdr2 palscripthdr Normal_palette_line_4+$16, 1, 0 .data2 palscriptdata 15,$6A0 palscriptdata 9, $8C0 @@ -174371,11 +174045,11 @@ loc_814B8: move.l (Camera_X_pos).w,d0 move.l d0,(_unkFA86).w swap d0 - move.w d0,(Target_camera_min_X_pos).w + move.w d0,(Camera_stored_min_X_pos).w move.w d0,(Camera_min_X_pos).w move.w d0,(Camera_max_X_pos).w addi.w #$140,d0 - move.w d0,(Target_camera_max_X_pos).w + move.w d0,(Camera_stored_max_X_pos).w jsr (Create_New_Sprite).l bne.s loc_81504 move.l #Obj_DecLevStartXGradual,(a1) @@ -174484,8 +174158,8 @@ loc_8160A: move.w #$100,(Deceleration).w move.b #0,(Player_1+invincibility_timer).w bset #Status_Invincible,(Player_1+status_secondary).w - moveq #sfx_SuperAlt,d0 ; This is not the normal Super transformation SFX - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Whistle),d0 ; This is not the normal Super transformation SFX + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_8167C: @@ -174597,7 +174271,7 @@ loc_8179E: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Obj_B6_2: +Obj_DDZEndBoss: move.w (_unkFAAE).w,d0 sub.w d0,$10(a0) moveq #0,d0 @@ -174646,7 +174320,7 @@ loc_81856: bset #3,$38(a0) move.w (Camera_min_X_pos).w,d0 subi.w #$100,d0 - move.w d0,(Target_camera_min_X_pos).w + move.w d0,(Camera_stored_min_X_pos).w jsr (Create_New_Sprite).l bne.s loc_81890 move.l #Obj_DecLevStartXGradual,(a1) @@ -174726,8 +174400,8 @@ loc_81974: dbf d0,loc_81974 loc_8197C: - moveq #sfx_Rumble2,d0 - jsr (sub_85E52).l + moveq #signextendB(sfx_Rumble2),d0 + jsr (Play_SFX_Continuous).l move.w #$160,d2 move.w #$130,d3 bsr.w sub_830C0 @@ -174739,8 +174413,8 @@ loc_8197C: move.b #$A,5(a0) ori.b #$30,$38(a0) move.w #$1F,$2E(a0) - moveq #sfx_MissileExplode,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileExplode),d0 + jsr (Play_SFX).l jsr (Create_New_Sprite).l bne.s loc_819CE move.l #loc_83108,(a1) @@ -174760,7 +174434,7 @@ loc_819DA: loc_819EA: move.l (a1)+,(a2)+ dbf d6,loc_819EA - lea (ArtKosM_MasterEmerald).l,a1 + lea (ArtKosM_BossMasterEmerald).l,a1 move.w #-$6600,d2 jmp (Queue_Kos_Module).l ; --------------------------------------------------------------------------- @@ -174805,8 +174479,8 @@ loc_81A74: blo.s loc_81A9C bset #7,$38(a0) bne.s loc_81A9C - moveq #sfx_Blast,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Blast),d0 + jsr (Play_SFX).l clr.w $1A(a0) loc_81A9C: @@ -174824,7 +174498,7 @@ loc_81A9C: clr.w $18(a0) jsr (Swing_Setup1).l move.w #0,d0 - move.w d0,(Target_camera_min_Y_pos).w + move.w d0,(Camera_stored_min_Y_pos).w addi.w #$C0,d0 move.w d0,$14(a0) jsr (Create_New_Sprite).l @@ -174833,7 +174507,7 @@ loc_81A9C: loc_81AFC: move.w #$120,d0 - move.w d0,(Target_camera_max_Y_pos).w + move.w d0,(Camera_stored_max_Y_pos).w move.w d0,(Camera_target_max_Y_pos).w jsr (Create_New_Sprite).l bne.s loc_81B16 @@ -174955,8 +174629,8 @@ loc_81C2C: move.b (V_int_run_count+3).w,d0 andi.b #7,d0 bne.s loc_81C3E - moveq #sfx_MissileExplode,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileExplode),d0 + jsr (Play_SFX).l loc_81C3E: addi.w #$10,$1A(a0) @@ -175286,8 +174960,8 @@ loc_81FB0: move.b d2,$39(a1) addq.w #1,d2 dbf d1,loc_81FB0 - moveq #sfx_TubeLauncher,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_TubeLauncher),d0 + jsr (Play_SFX).l loc_81FDA: movea.w $46(a0),a1 @@ -175328,8 +175002,8 @@ loc_82038: tst.b 4(a0) bpl.s loc_8204C move.l #loc_8204C,(a0) - moveq #sfx_Dash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Dash),d0 + jsr (Play_SFX).l loc_8204C: move.w (_unkFAAE).w,d0 @@ -175479,7 +175153,7 @@ loc_821C2: Obj_DDZAsteroid: move.l #loc_821FC,(a0) move.l #Map_DDZMissileAsteroid,$C(a0) - move.w #-$5D25,$A(a0) + move.w #$A2DB,$A(a0) move.w #0,8(a0) bsr.w sub_83146 @@ -175503,8 +175177,8 @@ loc_82224: ; --------------------------------------------------------------------------- loc_8222A: - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l move.w (_unkFA8E).w,d0 beq.s loc_82240 movea.w d0,a2 @@ -175789,8 +175463,8 @@ loc_824F4: move.w $14(a1),d0 addi.w #$20,d0 move.w d0,$14(a0) - moveq #sfx_TubeLauncher,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_TubeLauncher),d0 + jsr (Play_SFX).l lea ChildObjDat_83294(pc),a2 jmp CreateChild1_Normal(pc) ; --------------------------------------------------------------------------- @@ -176481,7 +176155,6 @@ loc_82BAC: ; --------------------------------------------------------------------------- word_82BB4: dc.w 0, $38, $FFD4, $18 - off_82BBC: dc.w word_82BC4-word_82BB4 dc.w word_82BCC-word_82BB4 dc.w word_82BD4-word_82BB4 @@ -176519,8 +176192,8 @@ sub_82BE4: jsr Check_InMyRange(pc) beq.s locret_82C1E move.b #$3B,$34(a1) - moveq #sfx_Explode,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Explode),d0 + jsr (Play_SFX).l loc_82C18: jsr (Go_Delete_Sprite).l @@ -176657,8 +176330,8 @@ loc_82D18: tst.b $20(a0) bne.s loc_82D3E move.b #$20,$20(a0) - moveq #sfx_ThumpBoss,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_ThumpBoss),d0 + jsr (Play_SFX).l loc_82D3E: moveq #0,d0 @@ -176721,8 +176394,8 @@ loc_82DCE: bmi.s loc_82E2C move.b #$20,$20(a0) move.b #$5A,(Player_1+invulnerability_timer).w - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l bsr.w sub_82C6A move.w (_unkFA8E).w,d0 beq.s loc_82E14 @@ -176779,8 +176452,8 @@ loc_82E9A: bpl.s loc_82EEE moveq #$18,d0 bsr.w sub_82D72 - moveq #sfx_MissileExplode,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileExplode),d0 + jsr (Play_SFX).l move.w #$1F,$2E(a0) moveq #0,d1 move.b $39(a0),d1 @@ -176824,8 +176497,8 @@ loc_82F1C: subq.w #1,$2E(a0) bpl.s locret_82F6A move.w #$1F,$2E(a0) - moveq #sfx_MissileExplode,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileExplode),d0 + jsr (Play_SFX).l moveq #0,d1 move.b $39(a0),d1 lea word_82F6C(pc,d1.w),a2 @@ -176958,8 +176631,8 @@ sub_8307C: addi.w #$68,d0 cmp.w (Player_1+y_pos).w,d0 bhs.s loc_830B8 - moveq #sfx_BossProjectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossProjectile),d0 + jsr (Play_SFX).l lea ChildObjDat_83288(pc),a2 jmp CreateChild6_Simple(pc) ; --------------------------------------------------------------------------- @@ -177184,35 +176857,48 @@ ObjDat3_83244: dc.l Map_DDZMissileAsteroid dc.b 8 dc.b $25 dc.b 0 -ChildObjDat_83250:dc.w 0 +ChildObjDat_83250: + dc.w 0 dc.l loc_8214A -ChildObjDat_83256:dc.w 0 +ChildObjDat_83256: + dc.w 0 dc.l loc_8218E -ChildObjDat_8325C:dc.w 0 +ChildObjDat_8325C: + dc.w 0 dc.l loc_81E3C -ChildObjDat_83262:dc.w 2 +ChildObjDat_83262: + dc.w 2 dc.l loc_81F36 -ChildObjDat_83268:dc.w 2 +ChildObjDat_83268: + dc.w 2 dc.l loc_81E82 -ChildObjDat_8326E:dc.w 0 +ChildObjDat_8326E: + dc.w 0 dc.l loc_81F14 -ChildObjDat_83274:dc.w 2 +ChildObjDat_83274: + dc.w 2 dc.l loc_81D72 -ChildObjDat_8327A:dc.w 0 +ChildObjDat_8327A: + dc.w 0 dc.l loc_81CC6 dc.w $1CFC -ChildObjDat_83282:dc.w 1 +ChildObjDat_83282: + dc.w 1 dc.l loc_81F7E -ChildObjDat_83288:dc.w 3 +ChildObjDat_83288: + dc.w 3 dc.l loc_825CA -ChildObjDat_8328E:dc.w 3 +ChildObjDat_8328E: + dc.w 3 dc.l loc_8249A -ChildObjDat_83294:dc.w 1 +ChildObjDat_83294: + dc.w 1 dc.l loc_82588 dc.w $800 dc.l loc_825BC dc.w $E800 -ChildObjDat_832A2:dc.w 0 +ChildObjDat_832A2: + dc.w 0 dc.l loc_826A0 byte_832A8: dc.b 3 dc.b $29 @@ -177251,8 +176937,8 @@ byte_832D9: dc.b $3D, $2F dc.b $3F, 9 dc.b $3E, 9 dc.b $FC -Map_DDZMissileAsteroid:include "Levels/DDZ/Misc Object Data/Map - Missile Asteroid.asm" - +Map_DDZMissileAsteroid: + include "Levels/DDZ/Misc Object Data/Map - Missile Asteroid.asm" ; --------------------------------------------------------------------------- Obj_HiddenMonitor: @@ -177293,8 +176979,8 @@ Obj_HiddenMonitorMain: blo.s loc_83760 loc_8374C: - moveq #sfx_GroundSlide,d0 ; If signpost has landed - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GroundSlide),d0 ; If signpost has landed + jsr (Play_SFX).l move.l #Sprite_OnScreen_Test,(a0) loc_8375A: @@ -177307,8 +176993,8 @@ loc_83760: move.b #2,5(a0) move.b #4,$3C(a0) move.w #-$500,$1A(a0) - moveq #sfx_BubbleAttack,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BubbleAttack),d0 + jsr (Play_SFX).l bclr #0,4(a0) beq.s loc_83798 bset #7,$A(a0) @@ -177318,7 +177004,8 @@ loc_83798: jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- word_8379E: dc.w $FFF2, $1C, $FF80, $C0 -ObjDat_HiddenMonitor: dc.l Map_Monitor +ObjDat_HiddenMonitor: + dc.l Map_Monitor dc.w ArtTile_Monitors dc.w $280 dc.b $E @@ -177363,8 +177050,8 @@ loc_83816: move.w (Camera_Y_pos).w,d0 subi.w #$20,d0 move.w d0,$14(a0) ; Place vertical position at top of screen - moveq #sfx_Signpost,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Signpost),d0 + jsr (Play_SFX).l lea Child1_EndSignStub(pc),a2 ; Make the little stub at the bottom of the signpost jmp CreateChild1_Normal(pc) ; --------------------------------------------------------------------------- @@ -177450,7 +177137,8 @@ loc_838FA: move.w #-$200,$1A(a0) rts ; --------------------------------------------------------------------------- -FrameArray_EndSign: dc.b 0, 0, 1, 2 +FrameArray_EndSign: + dc.b 0, 0, 1, 2 ; --------------------------------------------------------------------------- Obj_EndSignResults: @@ -177504,7 +177192,8 @@ loc_83988: jsr Remove_From_TrackingSlot(pc) jmp Go_Delete_Sprite(pc) ; --------------------------------------------------------------------------- -PLC_SpikesSprings: dc.w 0 +PLC_SpikesSprings: + dc.w 0 dc.l ArtNem_SpikesSprings dc.w $9280 ; --------------------------------------------------------------------------- @@ -177602,8 +177291,8 @@ loc_83A92: lsl.w #4,d0 move.w d0,$18(a0) ; Modify strength of X velocity based on how far to the left/right player is move.w #-$200,$1A(a0) ; New vertical velocity is always the same - moveq #sfx_Signpost,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Signpost),d0 + jsr (Play_SFX).l lea Child6_EndSignScore(pc),a2 jsr CreateChild6_Simple(pc) moveq #$A,d0 @@ -177655,59 +177344,54 @@ locret_83B02: ; End of function EndSign_CheckWall ; --------------------------------------------------------------------------- -ObjSlot_EndSigns: dc.w 0, $4AC, $C, 0 +ObjSlot_EndSigns: + dc.w 0, $4AC, $C, 0 dc.l Map_EndSigns dc.w $300 dc.b $18 dc.b $10 dc.b 0 dc.b 0 -ObjDat_SignpostStub: dc.l Map_SignpostStub +ObjDat_SignpostStub: + dc.l Map_SignpostStub dc.w $69E dc.w $300 dc.b 4 dc.b 8 dc.b 0 dc.b 0 -ObjDat_SignpostSparkle: dc.l Map_Ring +ObjDat_SignpostSparkle: + dc.l Map_Ring dc.w make_art_tile(ArtTile_Ring,1,0) dc.w $280 dc.b 8 dc.b 8 dc.b 4 dc.b 0 -Child1_EndSignStub:dc.w 0 +Child1_EndSignStub: + dc.w 0 dc.l Obj_SignpostStub dc.b 0, $18 -Child6_EndSignSparkle:dc.w 0 +Child6_EndSignSparkle: + dc.w 0 dc.l Obj_SignpostSparkle -Child6_EndSignScore:dc.w 0 +Child6_EndSignScore: + dc.w 0 dc.l Obj_EnemyScore -PLCPtr_EndSigns: dc.l ArtUnc_EndSigns +PLCPtr_EndSigns:dc.l ArtUnc_EndSigns dc.l DPLC_EndSigns -AniRaw_EndSigns1: dc.b 1, 0 - dc.b 4, 5 - dc.b 6, 1 - dc.b 4, 5 - dc.b 6, 3 - dc.b 4, 5 - dc.b 6, $FC -AniRaw_EndSigns2: dc.b 1, 1 - dc.b 4, 5 - dc.b 6, 2 - dc.b 4, 5 - dc.b 6, 3 - dc.b 4, 5 - dc.b 6, $FC -AniRaw_SignpostSparkle: dc.b 1, 4 - dc.b 5, 6 - dc.b 7, $FC -DPLC_EndSigns: include "General/Sprites/Signpost/DPLC - End Signs.asm" - -Map_EndSigns: include "General/Sprites/Signpost/Map - End Signs.asm" - -Map_SignpostStub: include "General/Sprites/Signpost/Map - Signpost Stub.asm" - +AniRaw_EndSigns1: + dc.b 1, 0, 4, 5, 6, 1, 4, 5, 6, 3, 4, 5, 6, $FC +AniRaw_EndSigns2: + dc.b 1, 1, 4, 5, 6, 2, 4, 5, 6, 3, 4, 5, 6, $FC +AniRaw_SignpostSparkle: + dc.b 1, 4, 5, 6, 7, $FC +DPLC_EndSigns: + include "General/Sprites/Signpost/DPLC - End Signs.asm" +Map_EndSigns: + include "General/Sprites/Signpost/Map - End Signs.asm" +Map_SignpostStub: + include "General/Sprites/Signpost/Map - Signpost Stub.asm" ; =============== S U B R O U T I N E ======================================= @@ -177724,57 +177408,57 @@ AfterBoss_Cleanup: ; End of function AfterBoss_Cleanup ; --------------------------------------------------------------------------- -off_83C1C: dc.w loc_83C7C-off_83C1C - dc.w loc_83C90-off_83C1C - dc.w locret_83CA6-off_83C1C - dc.w locret_83CA6-off_83C1C - dc.w loc_83CA8-off_83C1C - dc.w loc_83CA8-off_83C1C - dc.w locret_83CB2-off_83C1C - dc.w locret_83CB2-off_83C1C - dc.w locret_83CB2-off_83C1C - dc.w locret_83CB2-off_83C1C - dc.w locret_83CB2-off_83C1C - dc.w loc_83CB4-off_83C1C - dc.w loc_83CC0-off_83C1C - dc.w loc_83CC0-off_83C1C - dc.w loc_83CC0-off_83C1C - dc.w loc_83CC0-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C - dc.w locret_83CCC-off_83C1C -; --------------------------------------------------------------------------- - -loc_83C7C: +off_83C1C: dc.w AfterBoss_AIZ1-off_83C1C + dc.w AfterBoss_AIZ2-off_83C1C + dc.w AfterBoss_HCZ-off_83C1C + dc.w AfterBoss_HCZ-off_83C1C + dc.w AfterBoss_MGZ-off_83C1C + dc.w AfterBoss_MGZ-off_83C1C + dc.w AfterBoss_CNZ-off_83C1C + dc.w AfterBoss_CNZ-off_83C1C + dc.w AfterBoss_FBZ-off_83C1C + dc.w AfterBoss_FBZ-off_83C1C + dc.w AfterBoss_ICZ1-off_83C1C + dc.w AfterBoss_ICZ2-off_83C1C + dc.w AfterBoss_LBZ-off_83C1C + dc.w AfterBoss_LBZ-off_83C1C + dc.w AfterBoss_MHZ-off_83C1C + dc.w AfterBoss_MHZ-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C + dc.w AfterBoss_None-off_83C1C +; --------------------------------------------------------------------------- + +AfterBoss_AIZ1: lea (Pal_AIZ).l,a1 lea (Normal_palette_line_2).w,a2 moveq #$17,d0 @@ -177785,40 +177469,47 @@ loc_83C88: rts ; --------------------------------------------------------------------------- -loc_83C90: +AfterBoss_AIZ2: lea (Pal_AIZFire).l,a1 jsr (PalLoad_Line1).l - lea PLC_83CCE(pc),a1 + lea PLC_AfterMiniboss_AIZ(pc),a1 jmp (Load_PLC_Raw).l ; --------------------------------------------------------------------------- -locret_83CA6: +AfterBoss_HCZ: rts ; --------------------------------------------------------------------------- -loc_83CA8: +AfterBoss_MGZ: lea PLC_MonitorsSpikesSprings(pc),a1 jmp (Load_PLC_Raw).l ; --------------------------------------------------------------------------- -locret_83CB2: +AfterBoss_CNZ: +AfterBoss_FBZ: +AfterBoss_ICZ1: rts ; --------------------------------------------------------------------------- -loc_83CB4: +AfterBoss_ICZ2: lea (Pal_ICZ2).l,a1 jmp (PalLoad_Line1).l ; --------------------------------------------------------------------------- -loc_83CC0: +AfterBoss_LBZ: + ; Bug: LBZ uses a post-boss routine meant for MHZ + ; This makes the MHZ object palette load during LBZ1's results + +AfterBoss_MHZ: lea (Pal_MHZ2).l,a1 jmp (PalLoad_Line1).l ; --------------------------------------------------------------------------- -locret_83CCC: +AfterBoss_None: rts ; --------------------------------------------------------------------------- -PLC_83CCE: dc.w 6 +PLC_AfterMiniboss_AIZ: + dc.w 6 dc.l ArtNem_Monitors dc.w tiles_to_bytes(ArtTile_Monitors) dc.l ArtNem_AIZMisc2 @@ -177833,9 +177524,14 @@ PLC_83CCE: dc.w 6 dc.w $8AC0 dc.l ArtNem_AIZCorkFloor2 dc.w $8800 - dc.w 0,$EEE,$EC0,$E60,$C22, $EE, $88,$60A, $8E, $2E,$844, $20,$EAA,$A66,$ECC, $44 - dc.w 0,$EEE,$EC0,$E60,$C22, $EE, $88, $8E, $2C,$822, 0, $20,$CAA,$866,$644, $44 -PLC_MonitorsSpikesSprings: dc.w 1 +Pal_AfterMiniboss_AIZ: + binclude "Levels/AIZ/Palettes/Miniboss After.bin" + even +Pal_AfterMiniboss_ICZ: + binclude "Levels/ICZ/Palettes/Miniboss After.bin" + even +PLC_MonitorsSpikesSprings: + dc.w 1 dc.l ArtNem_Monitors dc.w tiles_to_bytes(ArtTile_Monitors) dc.l ArtNem_SpikesSprings @@ -177845,21 +177541,23 @@ PLC_Monitors: dc.w 0 dc.w tiles_to_bytes(ArtTile_Monitors) dc.w 2 dc.l ArtNem_Explosion - dc.w $B400 + dc.w tiles_to_bytes(ArtTile_Explosion) dc.l ArtNem_Squirrel dc.w $B000 dc.l ArtNem_BlueFlicky dc.w $B240 -PLC_BossExplosion: dc.w 0 +PLC_BossExplosion: + dc.w 0 dc.l ArtNem_BossExplosion dc.w $A000 PLC_Explosion: dc.w 0 dc.l ArtNem_Explosion - dc.w $B400 + dc.w tiles_to_bytes(ArtTile_Explosion) PLC_EggCapsule: dc.w 0 dc.l ArtNem_EggCapsule dc.w $9280 -PLC_RobotnikShip: dc.w 0 +PLC_RobotnikShip: + dc.w 0 dc.l ArtNem_RobotnikShip dc.w $A5C0 ; --------------------------------------------------------------------------- @@ -177879,7 +177577,8 @@ Obj_CreateBossExplosion: move.l (a1)+,$34(a0) jmp (a2) ; --------------------------------------------------------------------------- -CreateBossExpRoutineSet: dc.l Obj_Wait +CreateBossExpRoutineSet: + dc.l Obj_Wait dc.l Obj_BossExpControl1 dc.l Obj_WaitForParent dc.l Obj_BossExpControl1 @@ -177893,40 +177592,41 @@ CreateBossExpRoutineSet: dc.l Obj_Wait dc.l Obj_NormalExpControl dc.l Obj_WaitForParent dc.l Obj_BossExpControlOff -CreateBossExpParameterIndex: dc.w CreateBossExp_00-CreateBossExpParameterIndex - dc.w CreateBossExp_02-CreateBossExpParameterIndex - dc.w CreateBossExp_04-CreateBossExpParameterIndex - dc.w CreateBossExp_06-CreateBossExpParameterIndex - dc.w CreateBossExp_08-CreateBossExpParameterIndex - dc.w CreateBossExp_0A-CreateBossExpParameterIndex - dc.w CreateBossExp_0C-CreateBossExpParameterIndex - dc.w CreateBossExp_0E-CreateBossExpParameterIndex - dc.w CreateBossExp_10-CreateBossExpParameterIndex - dc.w CreateBossExp_12-CreateBossExpParameterIndex - dc.w CreateBossExp_14-CreateBossExpParameterIndex - dc.w CreateBossExp_16-CreateBossExpParameterIndex - dc.w CreateBossExp_18-CreateBossExpParameterIndex - dc.w CreateBossExp_1A-CreateBossExpParameterIndex - dc.w CreateBossExp_1C-CreateBossExpParameterIndex - dc.w CreateBossExp_1E-CreateBossExpParameterIndex - dc.w CreateBossExp_20-CreateBossExpParameterIndex -CreateBossExp_00: dc.b $20, $20, $20, 0 ; Explosion timer, X offset range, Y offset range, routine set -CreateBossExp_02: dc.b $28, $80, $80, $18 -CreateBossExp_04: dc.b $80, $20, $20, 8 -CreateBossExp_06: dc.b 4, $10, $10, 0 -CreateBossExp_08: dc.b 8, $20, $20, $10 -CreateBossExp_0A: dc.b $20, $20, $20, 0 -CreateBossExp_0C: dc.b $40, $80, $20, 0 -CreateBossExp_0E: dc.b $80, $40, $40, 8 -CreateBossExp_10: dc.b $20, $20, $20, $18 -CreateBossExp_12: dc.b $80, $20, $20, $20 -CreateBossExp_14: dc.b 8, $80, $20, $10 -CreateBossExp_16: dc.b $80, $80, $80, 8 -CreateBossExp_18: dc.b $80, $80, $80, $28 -CreateBossExp_1A: dc.b $80, $40, $40, $28 -CreateBossExp_1C: dc.b $80, $80, $40, 8 -CreateBossExp_1E: dc.b $80, $10, $10, 8 -CreateBossExp_20: dc.b $80, $20, $20, $30 +CreateBossExpParameterIndex: + dc.w CreateBossExp00-CreateBossExpParameterIndex + dc.w CreateBossExp02-CreateBossExpParameterIndex + dc.w CreateBossExp04-CreateBossExpParameterIndex + dc.w CreateBossExp06-CreateBossExpParameterIndex + dc.w CreateBossExp08-CreateBossExpParameterIndex + dc.w CreateBossExp0A-CreateBossExpParameterIndex + dc.w CreateBossExp0C-CreateBossExpParameterIndex + dc.w CreateBossExp0E-CreateBossExpParameterIndex + dc.w CreateBossExp10-CreateBossExpParameterIndex + dc.w CreateBossExp12-CreateBossExpParameterIndex + dc.w CreateBossExp14-CreateBossExpParameterIndex + dc.w CreateBossExp16-CreateBossExpParameterIndex + dc.w CreateBossExp18-CreateBossExpParameterIndex + dc.w CreateBossExp1A-CreateBossExpParameterIndex + dc.w CreateBossExp1C-CreateBossExpParameterIndex + dc.w CreateBossExp1E-CreateBossExpParameterIndex + dc.w CreateBossExp20-CreateBossExpParameterIndex +CreateBossExp00:dc.b $20, $20, $20, 0 ; Explosion timer, X offset range, Y offset range, routine set +CreateBossExp02:dc.b $28, $80, $80, $18 +CreateBossExp04:dc.b $80, $20, $20, 8 +CreateBossExp06:dc.b 4, $10, $10, 0 +CreateBossExp08:dc.b 8, $20, $20, $10 +CreateBossExp0A:dc.b $20, $20, $20, 0 +CreateBossExp0C:dc.b $40, $80, $20, 0 +CreateBossExp0E:dc.b $80, $40, $40, 8 +CreateBossExp10:dc.b $20, $20, $20, $18 +CreateBossExp12:dc.b $80, $20, $20, $20 +CreateBossExp14:dc.b 8, $80, $20, $10 +CreateBossExp16:dc.b $80, $80, $80, 8 +CreateBossExp18:dc.b $80, $80, $80, $28 +CreateBossExp1A:dc.b $80, $40, $40, $28 +CreateBossExp1C:dc.b $80, $80, $40, 8 +CreateBossExp1E:dc.b $80, $10, $10, 8 +CreateBossExp20:dc.b $80, $20, $20, $30 ; --------------------------------------------------------------------------- Obj_WaitForParent: @@ -178039,8 +177739,8 @@ Obj_BossExplosion1: loc_83F52: move.l #Obj_BossExplosionAnim,(a0) move.l #Go_Delete_Sprite,$34(a0) - moveq #sfx_Explode,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Explode),d0 + jsr (Play_SFX).l Obj_BossExplosionAnim: lea AniRaw_BossExplosion(pc),a1 @@ -178059,8 +177759,8 @@ Obj_BossExplosionOffset: jsr SetUp_ObjAttributes(pc) move.l #Obj_BossExplosionOffsetAnim,(a0) move.l #Go_Delete_Sprite,$34(a0) - moveq #sfx_Explode,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Explode),d0 + jsr (Play_SFX).l Obj_BossExplosionOffsetAnim: move.w (Level_repeat_offset).w,d0 @@ -178069,42 +177769,44 @@ Obj_BossExplosionOffsetAnim: jsr Animate_RawNoSSTMultiDelay(pc) jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -ObjDat_BossExplosion1: dc.l Map_BossExplosion +ObjDat_BossExplosion1: + dc.l Map_BossExplosion dc.w $8500 dc.w 0 dc.b $C dc.b $C dc.b 0 dc.b 0 -ObjDat_BossExplosion2: dc.l Map_BossExplosion +ObjDat_BossExplosion2: + dc.l Map_BossExplosion dc.w $84D2 dc.w 0 dc.b $C dc.b $C dc.b 0 dc.b 0 -AniRaw_BossExplosion: dc.b 0, 0 - dc.b 0, 1 - dc.b 1, 1 - dc.b 2, 2 - dc.b 3, 3 - dc.b 4, 4 - dc.b 5, 4 - dc.b $F4, 0 -Child6_MakeBossExplosion1: dc.w 0 +AniRaw_BossExplosion: + dc.b 0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 4, 4, 5, 4, $F4 + even +Child6_MakeBossExplosion1: + dc.w 0 dc.l Obj_BossExplosion1 -Child6_MakeBossExplosion2: dc.w 0 +Child6_MakeBossExplosion2: + dc.w 0 dc.l Obj_BossExplosion2 -Child6_MakeBossExplosionOff: dc.w 0 +Child6_MakeBossExplosionOff: + dc.w 0 dc.l Obj_BossExplosionOffset -Child6_CreateBossExplosion:dc.w 0 +Child6_CreateBossExplosion: + dc.w 0 dc.l Obj_CreateBossExplosion dc.b 0 dc.b 0 -Child6_MakeNormalExplosion:dc.w 0 +Child6_MakeNormalExplosion: + dc.w 0 dc.l Obj_Explosion -Map_BossExplosion: include "General/Sprites/Boss Explosion/Map - Boss Explosion.asm" - +Map_BossExplosion: + include "General/Sprites/Boss Explosion/Map - Boss Explosion.asm" ; =============== S U B R O U T I N E ======================================= @@ -179090,8 +178792,8 @@ loc_847C6: Swing_UpAndDown: move.w $40(a0),d0 ; Acceleration - move.w $1A(a0),d1 ; Velocity - move.w $3E(a0),d2 ; Maximum acceleration before "swinging" + move.w $1A(a0),d1 ; Velocity + move.w $3E(a0),d2 ; Maximum acceleration before "swinging" moveq #0,d3 btst #0,$38(a0) bne.s loc_84812 @@ -179398,14 +179100,14 @@ Obj_IncLevEndXGradual: move.l d1,$30(a0) swap d1 add.w d1,d0 - cmp.w (Target_camera_max_X_pos).w,d0 + cmp.w (Camera_stored_max_X_pos).w,d0 bhs.s loc_84A6A move.w d0,(Camera_max_X_pos).w rts ; --------------------------------------------------------------------------- loc_84A6A: - move.w (Target_camera_max_X_pos).w,(Camera_max_X_pos).w + move.w (Camera_stored_max_X_pos).w,(Camera_max_X_pos).w jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- @@ -179416,14 +179118,14 @@ Obj_DecLevStartXGradual: move.l d1,$30(a0) swap d1 sub.w d1,d0 - cmp.w (Target_camera_min_X_pos).w,d0 + cmp.w (Camera_stored_min_X_pos).w,d0 ble.s loc_84A98 move.w d0,(Camera_min_X_pos).w rts ; --------------------------------------------------------------------------- loc_84A98: - move.w (Target_camera_min_X_pos).w,(Camera_min_X_pos).w + move.w (Camera_stored_min_X_pos).w,(Camera_min_X_pos).w jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- @@ -179434,14 +179136,14 @@ Obj_DecLevStartYGradual: move.l d1,$30(a0) swap d1 sub.w d1,d0 - cmp.w (Target_camera_min_Y_pos).w,d0 + cmp.w (Camera_stored_min_Y_pos).w,d0 ble.s loc_84AC6 move.w d0,(Camera_min_Y_pos).w rts ; --------------------------------------------------------------------------- loc_84AC6: - move.w (Target_camera_min_Y_pos).w,(Camera_min_Y_pos).w + move.w (Camera_stored_min_Y_pos).w,(Camera_min_Y_pos).w jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- @@ -179452,14 +179154,14 @@ Obj_IncLevEndYGradual: move.l d1,$30(a0) swap d1 add.w d1,d0 - cmp.w (Target_camera_max_Y_pos).w,d0 + cmp.w (Camera_stored_max_Y_pos).w,d0 bgt.s loc_84AF4 move.w d0,(Camera_max_Y_pos).w rts ; --------------------------------------------------------------------------- loc_84AF4: - move.w (Target_camera_max_Y_pos).w,(Camera_max_Y_pos).w + move.w (Camera_stored_max_Y_pos).w,(Camera_max_Y_pos).w jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- Child6_IncLevX: dc.w 0 @@ -179753,7 +179455,8 @@ MoveSprite_AtAngleLookup: ; End of function MoveSprite_AtAngleLookup ; --------------------------------------------------------------------------- -AtAngle_LookupIndex: dc.w AtAngle_00_3F-AtAngle_LookupIndex +AtAngle_LookupIndex: + dc.w AtAngle_00_3F-AtAngle_LookupIndex dc.w AtAngle_40_7F-AtAngle_LookupIndex dc.w AtAngle_80_BF-AtAngle_LookupIndex dc.w AtAngle_C0_FF-AtAngle_LookupIndex @@ -179860,7 +179563,8 @@ MoveSprite_AngleYLookup: ; End of function MoveSprite_AngleYLookup ; --------------------------------------------------------------------------- -AngleY_LookupIndex: dc.w loc_84E16-AngleY_LookupIndex +AngleY_LookupIndex: + dc.w loc_84E16-AngleY_LookupIndex dc.w loc_84E1E-AngleY_LookupIndex dc.w loc_84E28-AngleY_LookupIndex dc.w loc_84E32-AngleY_LookupIndex @@ -179905,7 +179609,8 @@ MoveSprite_AngleXLookupOffset: ; End of function MoveSprite_AngleXLookupOffset ; --------------------------------------------------------------------------- -AngleX_LookupIndex: dc.w loc_84E58-AngleX_LookupIndex +AngleX_LookupIndex: + dc.w loc_84E58-AngleX_LookupIndex dc.w loc_84E60-AngleX_LookupIndex dc.w loc_84E6C-AngleX_LookupIndex dc.w loc_84E7C-AngleX_LookupIndex @@ -180162,7 +179867,7 @@ locret_8506E: Sprite_CheckDelete: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.s loc_85088 @@ -180183,7 +179888,7 @@ loc_85094: Sprite_CheckDelete2: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.s loc_850BA @@ -180204,7 +179909,7 @@ loc_850C6: Sprite_CheckDeleteXY: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w Go_Delete_Sprite @@ -180219,7 +179924,7 @@ Sprite_CheckDeleteXY: Obj_FlickerMove: jsr (MoveSprite).l move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w Go_Delete_Sprite_3 @@ -180235,7 +179940,7 @@ Obj_FlickerMove: Sprite_CheckDeleteTouch: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_85088 @@ -180245,7 +179950,7 @@ Sprite_CheckDeleteTouch: Sprite_CheckDeleteTouch2: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_850BA @@ -180255,7 +179960,7 @@ Sprite_CheckDeleteTouch2: Sprite_CheckDeleteTouchXY: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w Go_Delete_Sprite @@ -180270,7 +179975,7 @@ Sprite_CheckDeleteTouchXY: Sprite_CheckDeleteSlotted: move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.s Go_Delete_SpriteSlotted @@ -180299,7 +180004,7 @@ Remove_From_TrackingSlot: ; --------------------------------------------------------------------------- move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.s Go_Delete_SpriteSlotted @@ -180310,7 +180015,7 @@ Sprite_CheckDeleteTouchSlotted: tst.b $2A(a0) bmi.s Go_Delete_SpriteSlotted3 move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.s Go_Delete_SpriteSlotted @@ -180325,7 +180030,7 @@ Go_Delete_SpriteSlotted3: tst.b $2A(a0) ; Unused, seems to be identical to the above bmi.s Go_Delete_SpriteSlotted3 move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w Go_Delete_SpriteSlotted @@ -180333,21 +180038,21 @@ Go_Delete_SpriteSlotted3: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- move.w $10(a0),d0 ; Next three are unused, virtually the same - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_85088 rts ; --------------------------------------------------------------------------- move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_85088 rts ; --------------------------------------------------------------------------- move.w $10(a0),d0 - andi.w #-$80,d0 + andi.w #$FF80,d0 sub.w (Camera_X_pos_coarse_back).w,d0 cmpi.w #$280,d0 bhi.w loc_85088 @@ -180400,7 +180105,8 @@ locret_852F2: ; End of function Set_IndexedVelocity ; --------------------------------------------------------------------------- -Obj_VelocityIndex: dc.w $FF00, $FF00 +Obj_VelocityIndex: + dc.w $FF00, $FF00 dc.w $100, $FF00 dc.w $FE00, $FE00 dc.w $200, $FE00 @@ -180452,7 +180158,7 @@ Find_SonicTails8Way: divu.w d2,d3 tst.w d0 beq.s loc_853AE - cmpi.w #-$8000,d2 ; If Y was closer and Sonic is to right of object + cmpi.w #$8000,d2 ; If Y was closer and Sonic is to right of object blo.s loc_853FE tst.w d0 beq.s loc_853FA @@ -180460,7 +180166,7 @@ Find_SonicTails8Way: ; --------------------------------------------------------------------------- loc_853AE: - cmpi.w #-$8000,d2 ; If Y was closer and Sonic is to left of object + cmpi.w #$8000,d2 ; If Y was closer and Sonic is to left of object blo.s loc_8540E tst.w d1 bne.s loc_8540A @@ -180473,7 +180179,7 @@ loc_853BC: divu.w d3,d2 tst.w d1 bne.s loc_853D4 - cmpi.w #-$8000,d2 + cmpi.w #$8000,d2 blo.s loc_853F6 tst.w d0 bne.s loc_853FA @@ -180481,7 +180187,7 @@ loc_853BC: ; --------------------------------------------------------------------------- loc_853D4: - cmpi.w #-$8000,d2 + cmpi.w #$8000,d2 blo.s loc_85406 tst.w d0 bne.s loc_85402 @@ -180858,17 +180564,12 @@ MoveSlowFall_AnimateRaw: ; --------------------------------------------------------------------------- jsr Swing_UpAndDown(pc) -; =============== S U B R O U T I N E ======================================= - - Move_AnimateRaw_Wait: jsr (MoveSprite2).l loc_85652: jsr Animate_Raw(pc) jmp Obj_Wait(pc) -; End of function Move_AnimateRaw_Wait - ; --------------------------------------------------------------------------- Refresh_ChildPosWait: @@ -181007,7 +180708,7 @@ loc_8577C: move.w word_857AC(pc,d0.w),d0 cmpi.w #$20,(Chain_bonus_counter).w blo.s loc_85796 - move.w #$3E8,d0 ; 10000 points + move.w #1000,d0 ; 10000 points move.w #$A,$3E(a0) loc_85796: @@ -181019,10 +180720,10 @@ loc_85796: ; End of function EnemyDefeat_Score ; --------------------------------------------------------------------------- -word_857AC: dc.w $A ;100 points - dc.w $14 ;200 points - dc.w $32 ;500 points - dc.w $64 ;1000 points +word_857AC: dc.w 10 ; 100 points + dc.w 20 ; 200 points + dc.w 50 ; 500 points + dc.w 100 ; 1000 points ; =============== S U B R O U T I N E ======================================= @@ -181522,35 +181223,35 @@ Map_Offscreen: dc.w 0 Obj_Song_Fade_ToLevelMusic: move.w #$78,$2E(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.l #loc_85B1E,(a0) loc_85B1E: subq.w #1,$2E(a0) bpl.w locret_8405E - bsr.w Obj_PlayLevelMusic + bsr.w Restore_LevelMusic jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- Obj_Song_Fade_Transition: move.w #$5A,$2E(a0) - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.l #loc_85B44,(a0) loc_85B44: subq.w #1,$2E(a0) bpl.w locret_8405E move.b $2C(a0),d0 - move.b d0,(Level_music+1).w - jsr (Play_Sound).l + move.b d0,(Current_music+1).w + jsr (Play_Music).l jmp (Delete_Current_Sprite).l ; =============== S U B R O U T I N E ======================================= -Obj_PlayLevelMusic: +Restore_LevelMusic: moveq #0,d0 lea (Apparent_zone_and_act).w,a1 move.b (a1)+,d0 @@ -181558,14 +181259,14 @@ Obj_PlayLevelMusic: add.b (a1),d0 lea (LevelMusic_Playlist).l,a2 move.b (a2,d0.w),d0 - move.w d0,(Level_music).w + move.w d0,(Current_music).w btst #Status_Invincible,(Player_1+status_secondary).w beq.s loc_85B84 - moveq #mus_Invincibility,d0 ; If invincible, play invincibility + moveq #signextendB(mus_Invincibility),d0 ; If invincible, play invincibility loc_85B84: - jmp (Play_Sound).l -; End of function Obj_PlayLevelMusic + jmp (Play_Music).l +; End of function Restore_LevelMusic ; =============== S U B R O U T I N E ======================================= @@ -181597,7 +181298,8 @@ Obj_EndSignControl: ; End of function Obj_EndSignControl ; --------------------------------------------------------------------------- -PLC_EndSignStuff: dc.w 1 +PLC_EndSignStuff: + dc.w 1 dc.l ArtNem_SignpostStub dc.w $D3C0 dc.l ArtNem_Monitors @@ -181699,8 +181401,8 @@ loc_85CA4: subq.w #1,$2E(a0) bpl.s loc_85CC6 move.b $26(a0),d0 - move.b d0,(Level_music+1).w - jsr (Play_Sound).l + move.b d0,(Current_music+1).w + jsr (Play_Music).l bset #0,$27(a0) loc_85CC6: @@ -181769,15 +181471,15 @@ sub_85D6A: move.b #1,(Boss_flag).w loc_85D70: - moveq #mus_FadeOut,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_FadeOut),d0 + jsr (Play_Music).l move.w #$78,$2E(a0) loc_85D7E: - move.w (Camera_min_Y_pos).w,(Target_camera_min_Y_pos).w - move.w (Camera_target_max_Y_pos).w,(Target_camera_max_Y_pos).w - move.w (Camera_min_X_pos).w,(Target_camera_min_X_pos).w - move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w + move.w (Camera_min_Y_pos).w,(Camera_stored_min_Y_pos).w + move.w (Camera_target_max_Y_pos).w,(Camera_stored_max_Y_pos).w + move.w (Camera_min_X_pos).w,(Camera_stored_min_X_pos).w + move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w move.w (a1)+,(_unkFAB0).w move.w (a1)+,(_unkFAB2).w move.w (a1)+,(_unkFAB4).w @@ -181797,11 +181499,11 @@ Change_Act2Sizes: lsl.w #4,d0 lea (LevelSizes).l,a1 lea 8(a1,d0.w),a1 ; Get level sizes for act 2 - move.w (a1)+,(Target_camera_min_X_pos).w - move.w (a1)+,(Target_camera_max_X_pos).w - move.w (a1)+,(Target_camera_min_Y_pos).w + move.w (a1)+,(Camera_stored_min_X_pos).w + move.w (a1)+,(Camera_stored_max_X_pos).w + move.w (a1)+,(Camera_stored_min_Y_pos).w move.w (a1)+,d1 - move.w d1,(Target_camera_max_Y_pos).w ; Put level sizes into the target size memory + move.w d1,(Camera_stored_max_Y_pos).w ; Put level sizes into the target size memory move.w d1,(Camera_target_max_Y_pos).w cmpi.b #$10,d0 beq.w locret_8405E ; If we're in HCZ, don't immediately apply these changes. There's another event to do. @@ -181817,7 +181519,8 @@ Make_LevelSizeObj: ; End of function Make_LevelSizeObj ; --------------------------------------------------------------------------- -Child1_Act2LevelSize:dc.w 2 +Child1_Act2LevelSize: + dc.w 2 dc.l Obj_IncLevEndXGradual dc.w 0 dc.l Obj_DecLevStartYGradual @@ -181838,11 +181541,11 @@ loc_85E0E: add.w d1,d0 lea (LevelSizes).l,a1 lea (a1,d0.w),a1 - move.w (a1)+,(Target_camera_min_X_pos).w - move.w (a1)+,(Target_camera_max_X_pos).w - move.w (a1)+,(Target_camera_min_Y_pos).w + move.w (a1)+,(Camera_stored_min_X_pos).w + move.w (a1)+,(Camera_stored_max_X_pos).w + move.w (a1)+,(Camera_stored_min_Y_pos).w move.w (a1)+,d1 - move.w d1,(Target_camera_max_Y_pos).w + move.w d1,(Camera_stored_max_Y_pos).w move.w d1,(Camera_target_max_Y_pos).w lea (Child7_ChangeLevSize).l,a2 jmp CreateChild7_Normal2(pc) @@ -181863,12 +181566,12 @@ StartNewLevel: ; =============== S U B R O U T I N E ======================================= -sub_85E52: +Play_SFX_Continuous: move.b (V_int_run_count+3).w,d1 andi.b #$F,d1 bne.w locret_8405E - jmp (Play_Sound_2).l -; End of function sub_85E52 + jmp (Play_SFX).l +; End of function Play_SFX_Continuous ; --------------------------------------------------------------------------- @@ -182003,7 +181706,7 @@ loc_85F62: move.w (Player_mode).w,d0 cmpi.w #2,d0 beq.s loc_85F7E - cmpi.w #7,(Emerald_count).w + cmpi.w #7,(Emerald_counts).w beq.s loc_85F82 moveq #0,d0 rts @@ -182194,7 +181897,7 @@ AddRings: lea (Update_HUD_ring_count).w,a3 lea (Extra_life_flags).w,a4 lea (Total_ring_count).w,a5 - move.w #$3E7,d1 + move.w #999,d1 add.w d0,(a5) cmp.w (a5),d1 bhs.s loc_8610E @@ -182208,26 +181911,26 @@ loc_8610E: loc_86116: ori.b #1,(a3) - cmpi.w #$64,(a2) + cmpi.w #100,(a2) blo.s loc_86132 bset #1,(a4) beq.s loc_8613A - cmpi.w #$C8,(a2) + cmpi.w #200,(a2) blo.s loc_86132 bset #2,(a4) beq.s loc_8613A loc_86132: - moveq #sfx_RingRight,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_RingRight),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_8613A: addq.w #1,(Monitors_broken).w ; Add an extra life addq.b #1,(Life_count).w addq.b #1,(Update_HUD_life_count).w - moveq #mus_ExtraLife,d0 - jmp (Play_Sound).l + moveq #signextendB(mus_ExtraLife),d0 + jmp (Play_Music).l ; =============== S U B R O U T I N E ======================================= @@ -182449,7 +182152,7 @@ loc_862A6: rts ; --------------------------------------------------------------------------- -Obj_8B: +Obj_SpriteMask: bset #2,4(a0) loc_862B4: @@ -182530,8 +182233,8 @@ sub_8635E: clr.b $3D(a1) move.b #$10,$20(a1) move.b #2,5(a1) - moveq #sfx_Spring,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jmp (Play_SFX).l ; End of function sub_8635E @@ -182586,7 +182289,7 @@ loc_863E6: jmp (Delete_Current_Sprite).l ; --------------------------------------------------------------------------- -Obj_B3_2: +Obj_StartNewLevel: lea (Player_1).w,a1 lea word_86426(pc),a2 jsr (Check_InMyRange).l @@ -182618,8 +182321,8 @@ loc_86438: move.b (V_int_run_count+3).w,d1 andi.b #$F,d1 bne.w locret_8405E - moveq #sfx_Rumble2,d0 - jmp (Play_Sound_2).l + moveq #signextendB(sfx_Rumble2),d0 + jmp (Play_SFX).l ; --------------------------------------------------------------------------- loc_86452: @@ -182656,7 +182359,7 @@ loc_86478: ; --------------------------------------------------------------------------- -loc_8648C: +Ending_Give_SuperSonic: addi.w #50,(Ring_count).w move.b #1,(Super_palette_status).w move.b #$F,(Palette_timer).w @@ -182687,6 +182390,9 @@ loc_8648C: move.w #$30,(Acceleration).w move.w #$100,(Deceleration).w move.l #Obj_HyperSonic_Stars,(Invincibility_stars).w + ; This is bugged: Sonic turns Hyper after the credits no matter which emeralds he has + ; Note that he doesn't get his Hyper after-images even when he should + ;move.l #Obj_HyperSonicKnux_Trail,(Super_stars).w bra.s .continued ; --------------------------------------------------------------------------- @@ -182702,7 +182408,7 @@ loc_8648C: rts ; --------------------------------------------------------------------------- -Obj_81: +Obj_EggCapsule: moveq #0,d0 move.b 5(a0),d0 move.w off_86566(pc,d0.w),d1 @@ -183180,7 +182886,7 @@ locret_869C4: Set_PlayerEndingPose: - move.b #-$7F,$2E(a1) + move.b #$81,$2E(a1) move.b #$13,$20(a1) clr.b $3D(a1) clr.w $18(a1) @@ -183379,18 +183085,22 @@ word_86B56: dc.w $200 dc.b 4 dc.b 6 dc.b 0 -ChildObjDat_86B5C:dc.w 0 +ChildObjDat_86B5C: + dc.w 0 dc.l loc_8671C dc.w $DC -ChildObjDat_86B64:dc.w 0 +ChildObjDat_86B64: + dc.w 0 dc.l loc_8675C dc.w $24 -ChildObjDat_86B6C:dc.w 1 +ChildObjDat_86B6C: + dc.w 1 dc.l loc_86802 dc.w $ECDC dc.l loc_86802 dc.w $14DC -ChildObjDat_86B7A:dc.w 4 +ChildObjDat_86B7A: + dc.w 4 dc.l loc_867D6 dc.w $F8 dc.l loc_867D6 @@ -183401,7 +183111,8 @@ ChildObjDat_86B7A:dc.w 4 dc.w $E8F8 dc.l loc_867D6 dc.w $18F8 -ChildObjDat_86B9A:dc.w 8 +ChildObjDat_86B9A: + dc.w 8 dc.l loc_86820 dc.w $FC dc.l loc_86820 @@ -183439,10 +183150,9 @@ byte_86BF6: dc.b 0 dc.b 9 dc.b $FC Map_EggCapsule: include "General/Sprites/Robotnik/Map - Egg Capsule.asm" - ; --------------------------------------------------------------------------- -Obj_8A: +Obj_FBZExitHall: move.l #Sprite_OnScreen_Test,(a0) moveq #0,d0 move.b $2C(a0),d0 @@ -183465,7 +183175,6 @@ word_86D22: dc.w $43F4 dc.b 1 dc.b 0 Map_FBZExitHall:include "Levels/FBZ/Misc Object Data/Map - Exit Hall.asm" - ; --------------------------------------------------------------------------- loc_86D4A: @@ -183480,7 +183189,7 @@ loc_86D5E: jmp (Sprite_CheckDeleteTouchXY).l ; --------------------------------------------------------------------------- -Obj_Tulipon: +Obj_Bloominator: jsr (Obj_WaitOffscreen).l moveq #0,d0 move.b 5(a0),d0 @@ -183525,8 +183234,8 @@ loc_86DC6: bne.s locret_86DA0 loc_86DD8: - moveq #sfx_Projectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Projectile),d0 + jsr (Play_SFX).l lea ChildObjDat_86E2A(pc),a2 jsr CreateChild2_Complex(pc) bne.s locret_86DFA @@ -183545,21 +183254,22 @@ loc_86DFC: move.l #loc_86DAE,$34(a0) rts ; --------------------------------------------------------------------------- -ObjDat3_86E12: dc.l Map_Tulipon +ObjDat3_86E12: dc.l Map_Bloominator dc.w $252A dc.w $200 dc.b $C dc.b $18 dc.b 0 dc.b $23 -ObjDat3_86E1E: dc.l Map_Tulipon +ObjDat3_86E1E: dc.l Map_Bloominator dc.w $252A dc.w $280 dc.b 8 dc.b 8 dc.b 4 dc.b $98 -ChildObjDat_86E2A:dc.w 0 +ChildObjDat_86E2A: + dc.w 0 dc.l loc_86D4A dc.l ObjDat3_86E1E dc.l 0 @@ -183580,13 +183290,13 @@ byte_86E42: dc.b 0, 7 dc.b $F4, 0 ; --------------------------------------------------------------------------- -Obj_RhinoBot: +Obj_Rhinobot: jsr (Obj_WaitOffscreen).l moveq #0,d0 move.b 5(a0),d0 move.w off_86E76(pc,d0.w),d1 jsr off_86E76(pc,d1.w) - lea DPLCPtr_87132(pc),a2 + lea DPLCPtr_AIZRhinobot(pc),a2 jsr Perform_DPLC(pc) jmp Sprite_CheckDeleteTouchSlotted(pc) ; --------------------------------------------------------------------------- @@ -183647,7 +183357,7 @@ loc_86EFC: move.b 5(a0),d0 move.w off_86F22(pc,d0.w),d1 jsr off_86F22(pc,d1.w) - lea DPLCPtr_87132(pc),a2 + lea DPLCPtr_AIZRhinobot(pc),a2 jsr Perform_DPLC(pc) jmp Child_Remember_Draw_Sprite(pc) ; --------------------------------------------------------------------------- @@ -183702,8 +183412,8 @@ loc_86F92: move.w #$20,$2E(a0) move.l #loc_86FCE,$34(a0) bset #1,$38(a0) - moveq #sfx_Blast,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Blast),d0 + jsr (Play_SFX).l lea ChildObjDat_8712A(pc),a2 jsr CreateChild1_Normal(pc) bne.s locret_86FCC @@ -183802,8 +183512,8 @@ loc_8707E: loc_87084: move.b d1,$22(a0) - moveq #sfx_Blast,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Blast),d0 + jsr (Play_SFX).l lea ChildObjDat_87122(pc),a2 jsr CreateChild1_Normal(pc) bne.s locret_870A2 @@ -183874,7 +183584,7 @@ ObjDat4_870FE: dc.w 1 dc.w $2500 dc.w $15 dc.w 0 - dc.l Map_RhinoBot + dc.l Map_Rhinobot dc.w $280 dc.b $14 dc.b $10 @@ -183884,20 +183594,23 @@ ObjDat4_87110: dc.w 1 dc.w $44A dc.w 6 dc.w 2 - dc.l Map_RhinoBot + dc.l Map_Rhinobot dc.w $200 dc.b $C dc.b 8 dc.b 4 dc.b 0 -ChildObjDat_87122:dc.w 0 +ChildObjDat_87122: + dc.w 0 dc.l loc_86EFC dc.w $C08 -ChildObjDat_8712A:dc.w 0 +ChildObjDat_8712A: + dc.w 0 dc.l loc_86EFC dc.w $1008 -DPLCPtr_87132: dc.l ArtUnc_AIZRhino - dc.l DPLC_RhinoBot +DPLCPtr_AIZRhinobot: + dc.l ArtUnc_AIZRhinobot + dc.l DPLC_Rhinobot byte_8713A: dc.b 2, 4 dc.b 4, 5 dc.b 6, 7 @@ -184066,7 +183779,7 @@ loc_872EE: btst #3,$38(a0) beq.s loc_87308 addq.b #4,d0 - cmpi.b #-$80,d0 + cmpi.b #$80,d0 bhs.s loc_87316 move.b d0,$3C(a0) rts @@ -184074,7 +183787,7 @@ loc_872EE: loc_87308: subq.b #4,d0 - cmpi.b #-$80,d0 + cmpi.b #$80,d0 bls.s loc_87316 move.b d0,$3C(a0) rts @@ -184109,7 +183822,7 @@ loc_87330: loc_8734E: move.b $41(a0),d1 bsr.w sub_87540 - subi.b #-$80,d0 + subi.b #$80,d0 cmpi.b #$60,d0 blo.s loc_8736C @@ -184273,14 +183986,14 @@ loc_87480: move.b #8,$1E(a0) move.w #-$200,$18(a0) move.w #-$400,$1A(a0) - jmp (loc_1B662).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- loc_874B6: jsr (MoveSprite_LightGravity).l jsr Animate_RawMultiDelay(pc) jsr ObjHitFloor_DoRoutine(pc) - jmp (loc_1B662).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- loc_874CA: @@ -184289,7 +184002,7 @@ loc_874CA: ; --------------------------------------------------------------------------- loc_874D2: - jmp (loc_1B662).l + jmp (Sprite_CheckDeleteTouch3).l ; --------------------------------------------------------------------------- movea.w $46(a0),a1 move.b 4(a1),d0 @@ -184449,8 +184162,8 @@ loc_875E0: loc_8760A: bset #0,$38(a0) move.b #4,$22(a0) - moveq #sfx_MissileThrow,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MissileThrow),d0 + jsr (Play_SFX).l lea (ChildObjDat_8769C).l,a2 jsr CreateChild2_Complex(pc) bne.s locret_875DE @@ -184505,9 +184218,11 @@ ObjDat3_87674: dc.l Map_MonkeyDude dc.b $20 dc.b 6 dc.b $98 -ChildObjDat_87680:dc.w 4 +ChildObjDat_87680: + dc.w 4 dc.l loc_8724E -ChildObjDat_87686:dc.w 4 +ChildObjDat_87686: + dc.w 4 dc.l loc_87248 dc.w 0 dc.l loc_8724E @@ -184515,7 +184230,8 @@ ChildObjDat_87686:dc.w 4 dc.w 0 dc.l loc_87480 dc.w 0 -ChildObjDat_8769C:dc.w 0 +ChildObjDat_8769C: + dc.w 0 dc.l loc_86D4A dc.l ObjDat3_87674 dc.w 0 @@ -184732,10 +184448,12 @@ word_87892: dc.w $200 dc.b $10 dc.b 3 dc.b 0 -ChildObjDat_87898:dc.w 5 +ChildObjDat_87898: + dc.w 5 dc.l loc_8778C dc.w 0 -ChildObjDat_878A0:dc.w 0 +ChildObjDat_878A0: + dc.w 0 dc.l loc_8780A dc.w 0 byte_878A8: dc.b 3, 2 @@ -184839,8 +184557,8 @@ loc_87976: bne.s locret_87974 tst.b 4(a0) bpl.w locret_87974 - moveq #sfx_Projectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Projectile),d0 + jsr (Play_SFX).l lea ChildObjDat_879F8(pc),a2 jmp CreateChild5_ComplexAdjusted(pc) ; --------------------------------------------------------------------------- @@ -184887,10 +184605,11 @@ ObjDat3_879EC: dc.l Map_Blastoid dc.b 4 dc.b 2 dc.b $98 -ChildObjDat_879F8:dc.w 0 +ChildObjDat_879F8: + dc.w 0 dc.l loc_86D4A dc.l ObjDat3_879EC - dc.l word_87A1F + dc.l byte_87A1F dc.l Move_AnimateRaw dc.b $EC dc.b $F9 @@ -184904,9 +184623,9 @@ byte_87A10: dc.b 0, $7F dc.b 1, 4 dc.b 0, $3F dc.b $F4 -word_87A1F: dc.w 2 - dc.w $3FC - dc.b 0 +byte_87A1F: dc.b 0, 2 + dc.b 3, $FC + dc.b 0 ; --------------------------------------------------------------------------- Obj_Buggernaut: @@ -185084,7 +184803,8 @@ word_87BAC: dc.w $280 dc.b $C dc.b 3 dc.b 0 -ChildObjDat_87BB2:dc.w 0 +ChildObjDat_87BB2: + dc.w 0 dc.l Obj_Buggernaught_Baby dc.w $2000 byte_87BBA: dc.b 0, 0 @@ -185280,8 +185000,8 @@ loc_87D72: loc_87D86: move.w d0,$18(a0) move.w #-$400,$1A(a0) - moveq #sfx_FloorLauncher,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FloorLauncher),d0 + jsr (Play_SFX).l lea ChildObjDat_87EEE(pc),a2 jsr CreateChild1_Normal(pc) jmp Sprite_CheckDeleteTouchXY(pc) @@ -185357,8 +185077,8 @@ loc_87E48: jsr SetUp_ObjAttributes2(pc) move.l #loc_87E66,(a0) move.b $2C(a0),$2F(a0) - moveq #sfx_Splash,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Splash),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -185431,16 +185151,20 @@ ObjDat3_87EDA: dc.l Map_TurboSpikerHidden dc.b $10 dc.b 0 dc.b 0 -ChildObjDat_87EE6:dc.w 0 +ChildObjDat_87EE6: + dc.w 0 dc.l loc_87D4C dc.w $400 -ChildObjDat_87EEE:dc.w 0 +ChildObjDat_87EEE: + dc.w 0 dc.l loc_87DAE dc.w $FC14 -ChildObjDat_87EF6:dc.w 0 +ChildObjDat_87EF6: + dc.w 0 dc.l loc_87E1A dc.w 4 -ChildObjDat_87EFE:dc.w 4 +ChildObjDat_87EFE: + dc.w 4 dc.l loc_87E48 dc.w $4F8 dc.l loc_87E48 @@ -185451,7 +185175,8 @@ ChildObjDat_87EFE:dc.w 4 dc.w $F800 dc.l loc_87E48 dc.w $800 -ChildObjDat_87F1E:dc.w 0 +ChildObjDat_87F1E: + dc.w 0 dc.l loc_87E90 dc.w 0 byte_87F26: dc.b 5, 0 @@ -185469,11 +185194,11 @@ byte_87F37: dc.b 1, 8 dc.b $B, $C dc.b $D, $F4 dc.b 0 -Map_TurboSpikerHidden: include "General/Sprites/Turbo Spiker/Map - Turbo Spiker Hidden.asm" - +Map_TurboSpikerHidden: + include "General/Sprites/Turbo Spiker/Map - Turbo Spiker Hidden.asm" ; --------------------------------------------------------------------------- -Obj_MegaChomper: +Obj_MegaChopper: jsr (Obj_WaitOffscreen).l moveq #0,d0 move.b 5(a0),d0 @@ -185599,7 +185324,7 @@ loc_88076: btst #2,$38(a0) beq.s loc_880AE move.w (Ctrl_1).w,d0 - andi.w #-$7374,d0 + andi.w #$8C8C,d0 move.w d0,(Ctrl_1_logical).w loc_880AE: @@ -185704,9 +185429,9 @@ loc_881C8: locret_881E8: rts ; --------------------------------------------------------------------------- -word_881EA: dc.w Player_1, Ctrl_1 - dc.w Player_2, Ctrl_2 - dc.w Player_1, Ctrl_1 +word_881EA: dc.w Player_1, Ctrl_1 + dc.w Player_2, Ctrl_2 + dc.w Player_1, Ctrl_1 ; --------------------------------------------------------------------------- loc_881F6: @@ -185732,12 +185457,12 @@ sub_881FE: bne.s loc_88236 loc_88230: - ori.b #-$80,(Update_HUD_ring_count).w + ori.b #$80,(Update_HUD_ring_count).w loc_88236: move.w d0,(Ring_count).w - moveq #sfx_RingRight,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_RingRight),d0 + jsr (Play_SFX).l loc_88242: moveq #0,d0 @@ -185747,7 +185472,7 @@ loc_88242: loc_88246: bclr #7,$38(a0) beq.s loc_88242 - andi.b #-2,(Update_HUD_ring_count).w + andi.b #$FE,(Update_HUD_ring_count).w moveq #0,d0 rts ; --------------------------------------------------------------------------- @@ -185763,7 +185488,7 @@ loc_88258: ; End of function sub_881FE ; --------------------------------------------------------------------------- -ObjDat3_8826C: dc.l Map_MegaChomper +ObjDat3_8826C: dc.l Map_MegaChopper dc.w $254D dc.w $280 dc.b $20 @@ -185818,7 +185543,7 @@ loc_882E6: move.b #$A,$28(a0) cmpi.b #2,$22(a0) bne.s locret_8830C - move.b #-$7A,$28(a0) + move.b #$86,$28(a0) locret_8830C: rts @@ -185853,10 +185578,10 @@ Obj_BubblesBadnik: move.b #$12,$28(a0) cmpi.b #4,$22(a0) bne.s loc_8835E - move.b #-$7A,$28(a0) + move.b #$86,$28(a0) loc_8835E: - lea PLCPtr_88436(pc),a2 + lea PLCPtr_BubblesBadnik(pc),a2 jsr Perform_DPLC(pc) jmp Sprite_CheckDeleteTouchSlotted(pc) ; --------------------------------------------------------------------------- @@ -185906,8 +185631,8 @@ loc_883E6: beq.s loc_883FC cmpi.b #4,$23(a0) bne.s loc_883FC - moveq #sfx_ChainTick,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_ChainTick),d0 + jsr (Play_SFX).l loc_883FC: jsr Swing_UpAndDown(pc) @@ -185935,7 +185660,8 @@ ObjDat4_88424: dc.w 1 dc.b $18 dc.b 0 dc.b 0 -PLCPtr_88436: dc.l ArtUnc_BubblesBadnik +PLCPtr_BubblesBadnik: + dc.l ArtUnc_BubblesBadnik dc.l DPLC_BubblesBadnik byte_8843E: dc.b 0, $F dc.b 0, $77 @@ -185954,7 +185680,7 @@ byte_8844D: dc.b 0, $7F dc.b $FC ; --------------------------------------------------------------------------- -Obj_MGZMiniBoss: +Obj_Tunnelbot: jsr (Obj_WaitOffscreen).l moveq #0,d0 move.b 5(a0),d0 @@ -186040,8 +185766,8 @@ loc_88540: add.w d0,$14(a0) andi.b #7,d1 bne.s loc_88556 - moveq #sfx_Rumble2,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Rumble2),d0 + jsr (Play_SFX).l bsr.w sub_88A32 loc_88556: @@ -186054,7 +185780,7 @@ loc_8855A: jmp (Go_Delete_Sprite).l ; --------------------------------------------------------------------------- -Obj_9F_1: +Obj_MGZMiniboss: lea word_8859C(pc),a1 jsr (Check_CameraInRange).l moveq #0,d0 @@ -186186,8 +185912,8 @@ loc_886FC: add.w d0,$14(a0) andi.b #7,d1 bne.s loc_88712 - moveq #sfx_Rumble2,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Rumble2),d0 + jsr (Play_SFX).l bsr.w sub_88A32 loc_88712: @@ -186274,7 +186000,7 @@ loc_887DA: loc_887F6: move.l #loc_88804,(a0) - move.b #-$62,$28(a0) + move.b #$9E,$28(a0) rts ; --------------------------------------------------------------------------- @@ -186506,8 +186232,8 @@ sub_88A62: tst.b $20(a0) bne.s loc_88A88 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l bset #6,$2A(a0) loc_88A88: @@ -186547,7 +186273,7 @@ loc_88AD4: word_88AE4: dc.w Normal_palette_line_2+$18, Normal_palette_line_2+$1A, Normal_palette_line_2+$1C word_88AEA: dc.w $CAA, $866, $644 dc.w $EEE, $EEE, $EEE -ObjDat3_88AF6: dc.l Map_MGZMiniBoss +ObjDat3_88AF6: dc.l Map_MGZMiniboss dc.w $254F dc.w $280 dc.b $28 @@ -186580,15 +186306,18 @@ ObjDat3_88B20: dc.l Map_MGZMovingSpikePlatform dc.b $30 dc.b 0 dc.b 0 -ChildObjDat_88B2C:dc.w 1 +ChildObjDat_88B2C: + dc.w 1 dc.l loc_887F6 dc.w $E4EA dc.l loc_887F6 dc.w $1CEA -ChildObjDat_88B3A:dc.w 0 +ChildObjDat_88B3A: + dc.w 0 dc.l loc_88820 dc.w 0 -ChildObjDat_88B42:dc.w 4 +ChildObjDat_88B42: + dc.w 4 dc.l loc_8894C dc.w 0 dc.l loc_8894C @@ -186599,7 +186328,8 @@ ChildObjDat_88B42:dc.w 4 dc.w $E4EA dc.l loc_8894C dc.w $1CEA -ChildObjDat_88B62:dc.w 0 +ChildObjDat_88B62: + dc.w 0 dc.l loc_88864 dc.w 0 dc.b 0, 5 @@ -186613,8 +186343,8 @@ byte_88B73: dc.b 5, 4 byte_88B79: dc.b 0, 0 dc.b 1, 2 dc.b $FC -Map_MGZMinibossSpires: include "Levels/MGZ/Misc Object Data/Map - Miniboss Spires.asm" - +Map_MGZMinibossSpires: + include "Levels/MGZ/Misc Object Data/Map - Miniboss Spires.asm" PLC_88B88: dc.w 1 dc.l ArtNem_BossExplosion dc.w $A000 @@ -186797,8 +186527,8 @@ loc_88D02: beq.s locret_88D26 cmpi.b #4,$22(a0) bne.s locret_88D26 - moveq #sfx_Projectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Projectile),d0 + jsr (Play_SFX).l lea ChildObjDat_88E32(pc),a2 jsr CreateChild5_ComplexAdjusted(pc) @@ -186854,7 +186584,7 @@ loc_88D94: loc_88D98: move.b #2,5(a0) - move.b #-$36,$28(a0) + move.b #$CA,$28(a0) rts ; =============== S U B R O U T I N E ======================================= @@ -186867,8 +186597,8 @@ sub_88DA6: move.b #2,5(a1) clr.b $40(a1) bclr #4,$2A(a1) - moveq #sfx_Spring,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jsr (Play_SFX).l rts ; End of function sub_88DA6 @@ -186917,14 +186647,16 @@ ObjDat3_88E12: dc.l Map_Spiker dc.b 4 dc.b 5 dc.b $98 -ChildObjDat_88E1E:dc.w 2 +ChildObjDat_88E1E: + dc.w 2 dc.l loc_88C7C dc.w $F00C dc.l loc_88C7C dc.w $100C dc.l loc_88D30 dc.w $F4 -ChildObjDat_88E32:dc.w 0 +ChildObjDat_88E32: + dc.w 0 dc.l loc_86D4A dc.l ObjDat3_88E12 dc.l byte_88E5C @@ -187095,7 +186827,8 @@ word_88F96: dc.w $200 dc.b 4 dc.b 5 dc.b 0 -ChildObjDat_88F9C:dc.w 0 +ChildObjDat_88F9C: + dc.w 0 dc.l loc_88F50 dc.w $F7F5 byte_88FA4: dc.b 0, 0 @@ -187115,7 +186848,7 @@ Obj_Clamer: move.b 5(a0),d0 move.w off_88FD4(pc,d0.w),d1 jsr off_88FD4(pc,d1.w) - lea PLCPtr_89168(pc),a2 + lea PLCPtr_Clamer(pc),a2 jsr Perform_DPLC(pc) jmp Sprite_CheckDeleteTouchSlotted(pc) ; --------------------------------------------------------------------------- @@ -187247,8 +186980,8 @@ loc_890F2: move.b #$10,$20(a1) move.b #2,5(a1) clr.b $40(a1) - moveq #sfx_Spring,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Spring),d0 + jsr (Play_SFX).l rts ; End of function sub_890D8 @@ -187275,10 +187008,12 @@ ObjDat3_8913C: dc.l Map_Clamer dc.b 8 dc.b 9 dc.b $98 -ChildObjDat_89148:dc.w 0 +ChildObjDat_89148: + dc.w 0 dc.l loc_8908C dc.w $F8 -ChildObjDat_89150:dc.w 0 +ChildObjDat_89150: + dc.w 0 dc.l loc_86D4A dc.l ObjDat3_8913C dc.l 0 @@ -187287,7 +187022,7 @@ ChildObjDat_89150:dc.w 0 dc.b 2 dc.w $FE00 dc.w 0 -PLCPtr_89168: dc.l ArtUnc_Clamer +PLCPtr_Clamer: dc.l ArtUnc_Clamer dc.l DPLC_Clamer byte_89170: dc.b 1, 1 dc.b 0, $5F @@ -187312,7 +187047,7 @@ byte_89185: dc.b 0, 2 dc.b $F4 ; --------------------------------------------------------------------------- -Obj_CNZBlastoid: +Obj_Sparkle: jsr (Obj_WaitOffscreen).l moveq #0,d0 move.b 5(a0),d0 @@ -187377,8 +187112,8 @@ loc_89224: add.w d0,$14(a0) move.w #$20,$2E(a0) move.l #loc_8924E,$34(a0) - moveq #sfx_Lightning,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Lightning),d0 + jsr (Play_SFX).l tst.b 4(a0) bpl.w locret_891EC lea ChildObjDat_8935A(pc),a2 @@ -187492,7 +187227,7 @@ loc_89328: loc_89334: jmp (MoveSprite2).l ; --------------------------------------------------------------------------- -ObjDat3_8933A: dc.l Map_CNZBlastoid +ObjDat3_8933A: dc.l Map_Sparkle dc.w $A524 dc.w $280 dc.b $C @@ -187509,10 +187244,12 @@ word_8934C: dc.w $280 dc.b 8 dc.b 6 dc.b $98 -ChildObjDat_89352:dc.w 0 +ChildObjDat_89352: + dc.w 0 dc.l loc_89256 dc.w 0 -ChildObjDat_8935A:dc.w 1 +ChildObjDat_8935A: + dc.w 1 dc.l loc_892A0 dc.w 0 byte_89362: dc.b 9, $10 @@ -187652,7 +187389,8 @@ word_89466: dc.w $200 dc.b 4 dc.b 5 dc.b 0 -ChildObjDat_8946C:dc.w 1 +ChildObjDat_8946C: + dc.w 1 dc.l loc_893E8 dc.w $10 dc.l loc_8942E @@ -187933,10 +187671,12 @@ ObjDat3_8971A: dc.l Map_Blaster dc.b 4 dc.b 7 dc.b 0 -ChildObjDat_89726:dc.w 0 +ChildObjDat_89726: + dc.w 0 dc.l loc_89626 dc.w $E5EA -ChildObjDat_8972E:dc.w 0 +ChildObjDat_8972E: + dc.w 0 dc.l loc_86D4A dc.l ObjDat3_8970E dc.l byte_89771 @@ -187945,7 +187685,8 @@ ChildObjDat_8972E:dc.w 0 dc.b $E0 dc.w $FE00 dc.w $FC00 -ChildObjDat_89746:dc.w 0 +ChildObjDat_89746: + dc.w 0 dc.l loc_86D4A dc.l ObjDat3_8971A dc.l byte_89775 @@ -187972,7 +187713,6 @@ byte_89775: dc.b 2, 7 dc.b $A, $FC dc.b 0 Map_Blaster: include "General/Sprites/Blaster/Map - Blaster.asm" - ; --------------------------------------------------------------------------- Obj_TechnoSqueek: @@ -188254,7 +187994,8 @@ word_89B1E: dc.w $280 dc.b 4 dc.b 2 dc.b 0 -ChildObjDat_89B24:dc.w 0 +ChildObjDat_89B24: + dc.w 0 dc.l loc_899B4 dc.w $1404 byte_89B2C: dc.b 0, 0 @@ -188299,8 +188040,8 @@ byte_89B68: dc.b 3, 5 byte_89B73: dc.b 3, 7 dc.b 8, 9 dc.b $FC -Map_TechnoSqueek:include "General/Sprites/Technosqueek/Map - Technosqueek.asm" - +Map_TechnoSqueek: + include "General/Sprites/Technosqueek/Map - Technosqueek.asm" ; --------------------------------------------------------------------------- Obj_FBZEggPrison: @@ -188485,7 +188226,7 @@ loc_89DC4: loc_89DCC: move.w #$FF00|sfx_RingLoss,d0 - jsr (Play_Sound_2).l + jsr (Play_SFX).l lea ChildObjDat_89EF0(pc),a2 jmp CreateChild1_Normal(pc) ; --------------------------------------------------------------------------- @@ -188578,10 +188319,12 @@ ObjDat3_89E9C: dc.l Map_Ring dc.b 8 dc.b 0 dc.b $47 -ChildObjDat_89EA8:dc.w 0 +ChildObjDat_89EA8: + dc.w 0 dc.l loc_89C5C dc.w $DC -ChildObjDat_89EB0:dc.w 4 +ChildObjDat_89EB0: + dc.w 4 dc.l loc_89D78 dc.w $F8 dc.l loc_89D78 @@ -188592,7 +188335,8 @@ ChildObjDat_89EB0:dc.w 4 dc.w $E8F8 dc.l loc_89D78 dc.w $18F8 -ChildObjDat_89ED0:dc.w 4 +ChildObjDat_89ED0: + dc.w 4 dc.l loc_89CE2 dc.w $FC dc.l loc_89CE2 @@ -188603,7 +188347,8 @@ ChildObjDat_89ED0:dc.w 4 dc.w $1CFC dc.l loc_89CE2 dc.w $E4FC -ChildObjDat_89EF0:dc.w 5 +ChildObjDat_89EF0: + dc.w 5 dc.l loc_89D44 dc.w $F8FC dc.l loc_89D44 @@ -188616,12 +188361,14 @@ ChildObjDat_89EF0:dc.w 5 dc.w $18FC dc.l loc_89D44 dc.w $E8FC -ChildObjDat_89F16:dc.w 1 +ChildObjDat_89F16: + dc.w 1 dc.l loc_89650 dc.w $E8FC dc.l loc_89650 dc.w $18FC -ChildObjDat_89F24:dc.w 1 +ChildObjDat_89F24: + dc.w 1 dc.l loc_89A5A dc.w $F8FC dc.l loc_89A5A @@ -189026,8 +188773,8 @@ loc_8A2E2: lea ChildObjDat_8A430(pc),a2 jsr CreateChild6_Simple(pc) jsr Go_Delete_Sprite(pc) - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- word_8A2FC: dc.w $FFD0, $60, $FFC0, $80 @@ -189050,7 +188797,7 @@ loc_8A32A: jmp (Sprite_OnScreen_Test).l ; --------------------------------------------------------------------------- -Obj_BB_1: +Obj_ICZIceBlock: jsr (Obj_WaitOffscreen).l lea ObjDat3_8A3EE(pc),a1 jsr SetUp_ObjAttributes(pc) @@ -189200,11 +188947,14 @@ ObjDat3_8A41E: dc.l Map_ICZPlatforms dc.b $C dc.b $1C dc.b 0 -ChildObjDat_8A42A:dc.w 5 +ChildObjDat_8A42A: + dc.w 5 dc.l loc_8A1D4 -ChildObjDat_8A430:dc.w 8 +ChildObjDat_8A430: + dc.w 8 dc.l loc_8A20C -ChildObjDat_8A436:dc.w 0 +ChildObjDat_8A436: + dc.w 0 dc.l loc_8A304 dc.w $F010 byte_8A43E: dc.b 2, $23 @@ -189332,8 +189082,8 @@ loc_8A540: move.b #$12,5(a0) move.w #$1F,$2E(a0) move.l #loc_8A59A,$34(a0) - moveq #sfx_MetalLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MechaLand),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -189442,7 +189192,8 @@ word_8A632: dc.w $280 dc.b $40 dc.b $D dc.b 0 -ChildObjDat_8A638:dc.w 0 +ChildObjDat_8A638: + dc.w 0 dc.l loc_8A604 dc.w 0 ; --------------------------------------------------------------------------- @@ -189463,8 +189214,8 @@ loc_8A656: clr.w $2E(a0) clr.w $30(a0) clr.b $39(a0) - moveq #sfx_FrostPuff,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FrostPuff),d0 + jsr (Play_SFX).l loc_8A67A: jmp Sprite_CheckDeleteTouch(pc) @@ -189499,8 +189250,8 @@ loc_8A6C2: loc_8A6C6: move.l #loc_8A656,(a0) bclr #1,$38(a0) - moveq #mus_StopSFX,d0 - jsr (Play_Sound).l + moveq #signextendB(mus_StopSFX),d0 + jsr (Play_Music).l jmp Sprite_CheckDeleteTouch(pc) ; --------------------------------------------------------------------------- word_8A6DE: dc.w $40 @@ -189840,7 +189591,6 @@ locret_8AA2E: ; --------------------------------------------------------------------------- word_8AA30: dc.w $FFF0, $20, $FFD8, $50 - ; =============== S U B R O U T I N E ======================================= @@ -189919,22 +189669,28 @@ ObjDat3_8AAB6: dc.l Map_ICZPlatforms dc.b 4 dc.b $C dc.b 0 -ChildObjDat_8AAC2:dc.w 0 +ChildObjDat_8AAC2: + dc.w 0 dc.l loc_8A71C dc.w $C -ChildObjDat_8AACA:dc.w 0 +ChildObjDat_8AACA: + dc.w 0 dc.l loc_8A71C dc.w $F4 -ChildObjDat_8AAD2:dc.w 0 +ChildObjDat_8AAD2: + dc.w 0 dc.l loc_8A748 dc.w $30 -ChildObjDat_8AADA:dc.w 0 +ChildObjDat_8AADA: + dc.w 0 dc.l loc_8A748 dc.w $D0 -ChildObjDat_8AAE2:dc.w 0 +ChildObjDat_8AAE2: + dc.w 0 dc.l loc_8A7AE dc.w 0 -ChildObjDat_8AAEA:dc.w $B +ChildObjDat_8AAEA: + dc.w $B dc.l loc_8A8DC dc.w $F4F8 dc.l loc_8A8DC @@ -190079,8 +189835,8 @@ loc_8AC54: move.l #loc_8ABB0,(a0) bclr #0,$38(a0) move.w #$10,(Screen_shake_flag).w - moveq #sfx_MetalLand,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_MechaLand),d0 + jsr (Play_SFX).l rts ; =============== S U B R O U T I N E ======================================= @@ -190120,8 +189876,8 @@ loc_8AC8E: jsr CreateChild1_Normal(pc) jsr Displace_PlayerOffObject(pc) jsr Go_Delete_Sprite(pc) - moveq #sfx_Collapse,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Collapse),d0 + jsr (Play_SFX).l addq.w #4,sp locret_8ACCC: @@ -190148,10 +189904,12 @@ word_8ACEE: dc.w $280 dc.b $10 dc.b $A dc.b 0 -ChildObjDat_8ACF4:dc.w 2 +ChildObjDat_8ACF4: + dc.w 2 dc.l loc_8AB86 dc.w 0 -ChildObjDat_8ACFC:dc.w 3 +ChildObjDat_8ACFC: + dc.w 3 dc.l loc_8AB86 dc.w 0 ; --------------------------------------------------------------------------- @@ -190692,21 +190450,25 @@ word_8B15E: dc.w $300 dc.b 8 dc.b $27 dc.b 0 -ChildObjDat_8B164:dc.w 2 +ChildObjDat_8B164: + dc.w 2 dc.l loc_8AEA4 dc.w 8 dc.l loc_8AED4 dc.w $1CF8 dc.l loc_8AEEA dc.w 0 -ChildObjDat_8B178:dc.w 7 +ChildObjDat_8B178: + dc.w 7 dc.l loc_8AF3E -ChildObjDat_8B17E:dc.w 1 +ChildObjDat_8B17E: + dc.w 1 dc.l Obj_ICZSnowdust dc.w $1C10 dc.l Obj_ICZSnowdust dc.w $1410 -ChildObjDat_8B18C:dc.w 0 +ChildObjDat_8B18C: + dc.w 0 dc.l Obj_ICZSnowdust dc.w $1C10 ; --------------------------------------------------------------------------- @@ -190747,7 +190509,7 @@ loc_8B1E0: loc_8B1EC: move.l #loc_8B1FA,(a0) - move.b #-$7E,$28(a0) + move.b #$82,$28(a0) rts ; --------------------------------------------------------------------------- @@ -190760,8 +190522,8 @@ loc_8B1FA: clr.b $28(a0) lea ChildObjDat_8B292(pc),a2 jsr CreateChild6_Simple(pc) - moveq #sfx_FloorThump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_FloorThump),d0 + jsr (Play_SFX).l loc_8B224: jmp Sprite_CheckDeleteTouch(pc) @@ -190814,7 +190576,8 @@ ObjDat3_8B286: dc.l Map_ICZPlatforms dc.b 4 dc.b $F dc.b 0 -ChildObjDat_8B292:dc.w $B +ChildObjDat_8B292: + dc.w $B dc.l loc_8B230 dc.w $27 dc.b $F, $27 @@ -190840,7 +190603,7 @@ loc_8B2C8: loc_8B2CC: move.l #loc_8B2EE,(a0) - move.b #-$6E,$28(a0) + move.b #$92,$28(a0) rts ; --------------------------------------------------------------------------- @@ -190885,7 +190648,7 @@ locret_8B32E: ; --------------------------------------------------------------------------- loc_8B330: - move.b #-$68,$28(a0) + move.b #$98,$28(a0) jsr (Add_SpriteToCollisionResponseList).l movea.w $46(a0),a1 btst #7,$2A(a1) @@ -190899,10 +190662,12 @@ ObjDat3_8B350: dc.l Map_ICZWallAndColumn dc.b $10 dc.b 5 dc.b 0 -ChildObjDat_8B35C:dc.w 0 +ChildObjDat_8B35C: + dc.w 0 dc.l loc_8B330 dc.w $C -ChildObjDat_8B364:dc.w 0 +ChildObjDat_8B364: + dc.w 0 dc.l loc_8B330 dc.w $F4 ; --------------------------------------------------------------------------- @@ -190962,8 +190727,8 @@ loc_8B3D2: loc_8B41A: lea ChildObjDat_8B480(pc),a2 jsr CreateChild1_Normal(pc) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l jsr (Go_Delete_Sprite).l locret_8B430: @@ -191001,7 +190766,8 @@ word_8B478: dc.w $C3B6 dc.b $20 dc.b $12 dc.b 0 -ChildObjDat_8B480:dc.w $B +ChildObjDat_8B480: + dc.w $B dc.l loc_8B432 dc.w $F8 dc.l loc_8B432 @@ -191062,8 +190828,8 @@ loc_8B512: lea ChildObjDat_8B54A(pc),a2 jsr CreateChild6_Simple(pc) jsr Go_Delete_Sprite(pc) - moveq #sfx_IceSpikes,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_IceSpikes),d0 + jsr (Play_SFX).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- word_8B52C: dc.w Player_1 @@ -191083,11 +190849,12 @@ ObjDat3_8B53E: dc.l Map_ICZPlatforms dc.b $10 dc.b 4 dc.b $D7 -ChildObjDat_8B54A:dc.w $B +ChildObjDat_8B54A: + dc.w $B dc.l loc_8B230 ; --------------------------------------------------------------------------- -Obj_ICZ_SnowPile: +Obj_ICZSnowPile: jsr Obj_WaitOffscreen(pc) moveq #0,d0 move.b $2C(a0),d0 @@ -191398,7 +191165,8 @@ word_8B844: dc.w $43B6 dc.b 8 dc.b 9 dc.b 0 -ChildObjDat_8B84C:dc.w 5 +ChildObjDat_8B84C: + dc.w 5 dc.l loc_8B768 dc.w $F8F8 dc.l loc_8B768 @@ -191411,12 +191179,14 @@ ChildObjDat_8B84C:dc.w 5 dc.w $800 dc.l loc_8B768 dc.w $1800 -ChildObjDat_8B872:dc.w 1 +ChildObjDat_8B872: + dc.w 1 dc.l loc_8B768 dc.w $F8 dc.l loc_8B768 dc.w 8 -ChildObjDat_8B880:dc.w 3 +ChildObjDat_8B880: + dc.w 3 dc.l loc_8B768 dc.w $F8F8 dc.l loc_8B768 @@ -191427,7 +191197,7 @@ ChildObjDat_8B880:dc.w 3 dc.w $808 ; --------------------------------------------------------------------------- -Obj_ICZ_TensionPlatform: +Obj_ICZTensionPlatform: lea ObjDat3_8BABC(pc),a1 jsr SetUp_ObjAttributes(pc) move.l #loc_8B8B6,(a0) @@ -191711,7 +191481,8 @@ word_8BAC8: dc.w $43B6 dc.b $40 dc.b 8 dc.b 0 -ChildObjDat_8BAD0:dc.w 1 +ChildObjDat_8BAD0: + dc.w 1 dc.l loc_8B8C2 dc.w $C800 dc.l loc_8B8C2 @@ -191724,7 +191495,7 @@ Obj_Penguinator: move.b 5(a0),d0 move.w off_8BAFE(pc,d0.w),d1 jsr off_8BAFE(pc,d1.w) - lea DPLCPtr_8BE02(pc),a2 + lea DPLCPtr_Penguinator(pc),a2 jsr Perform_DPLC(pc) jmp Sprite_CheckDeleteTouchSlotted(pc) ; --------------------------------------------------------------------------- @@ -192001,8 +191772,8 @@ sub_8BDC2: move.w $2E(a0),d0 andi.w #3,d0 bne.s locret_8BD6A - moveq #sfx_SlideSkidQuiet,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SlideSkidQuiet),d0 + jsr (Play_SFX).l lea ChildObjDat_8BDFA(pc),a2 jmp CreateChild1_Normal(pc) ; End of function sub_8BDC2 @@ -192025,10 +191796,12 @@ ObjDat3_8BDEE: dc.l Map_ICZSnowdust dc.b $18 dc.b 0 dc.b 0 -ChildObjDat_8BDFA:dc.w 0 +ChildObjDat_8BDFA: + dc.w 0 dc.l Obj_ICZSnowdust dc.w $C -DPLCPtr_8BE02: dc.l ArtUnc_Penguinator +DPLCPtr_Penguinator: + dc.l ArtUnc_Penguinator dc.l DPLC_Penguinator byte_8BE0A: dc.b 7, $10 dc.b 0, 1 @@ -192043,7 +191816,6 @@ byte_8BE16: dc.b 3, 8 dc.b 4, 3 dc.b $F4 byte_8BE1F: dc.b 0, 0, 0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0, $F4, 0 - ; --------------------------------------------------------------------------- Obj_StarPointer: @@ -192194,7 +191966,8 @@ word_8BF9A: dc.w $280 dc.b 8 dc.b 1 dc.b $8B -ChildObjDat_8BFA0:dc.w 3 +ChildObjDat_8BFA0: + dc.w 3 dc.l loc_8BEB0 dc.w 0 byte_8BFA8: dc.b 3, 1, 2, 3, $F4, 0 @@ -192423,8 +192196,8 @@ loc_8C1D8: bne.s locret_8C21C tst.b 4(a0) bpl.s locret_8C21C - moveq #sfx_Projectile,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Projectile),d0 + jsr (Play_SFX).l lea ChildObjDat_8C29E(pc),a2 jsr (CreateChild2_Complex).l movea.w $46(a0),a2 @@ -192505,14 +192278,16 @@ ObjDat3_8C27E: dc.l Map_SnaleBlaster dc.b 4 dc.b 9 dc.b $98 -ChildObjDat_8C28A:dc.w 2 +ChildObjDat_8C28A: + dc.w 2 dc.l loc_8C17C dc.w $F800 dc.l loc_8C17C dc.w $F807 dc.l loc_8C11E dc.w $F804 -ChildObjDat_8C29E:dc.w 0 +ChildObjDat_8C29E: + dc.w 0 dc.l loc_86D4A dc.l ObjDat3_8C27E dc.l 0 @@ -192575,7 +192350,6 @@ Obj_Ribot: jsr off_8C2FA(pc,d1.w) jmp Sprite_CheckDeleteTouch(pc) ; --------------------------------------------------------------------------- - off_8C2FA: dc.w loc_8C2FE-off_8C2FA dc.w loc_8C34E-off_8C2FA ; --------------------------------------------------------------------------- @@ -192900,29 +192674,36 @@ word_8C5DC: dc.w $200 dc.b 4 dc.b 6 dc.b 0 -ChildObjDat_8C5E2:dc.w 1 +ChildObjDat_8C5E2: + dc.w 1 dc.l loc_8C370 dc.w $F40C dc.l loc_8C370 dc.w $C0C -ChildObjDat_8C5F0:dc.w 1 +ChildObjDat_8C5F0: + dc.w 1 dc.l loc_8C370 dc.w $E800 dc.l loc_8C370 dc.w $1800 -ChildObjDat_8C5FE:dc.w 0 +ChildObjDat_8C5FE: + dc.w 0 dc.l loc_8C370 dc.w $F0 -ChildObjDat_8C606:dc.w 2 +ChildObjDat_8C606: + dc.w 2 dc.l loc_8C502 dc.w $F4 -ChildObjDat_8C60E:dc.w 2 +ChildObjDat_8C60E: + dc.w 2 dc.l loc_8C502 dc.w $C00 -ChildObjDat_8C616:dc.w 2 +ChildObjDat_8C616: + dc.w 2 dc.l loc_8C502 dc.w $F400 -ChildObjDat_8C61E:dc.w 2 +ChildObjDat_8C61E: + dc.w 2 dc.l loc_8C502 dc.w 0 byte_8C626: dc.b 7 @@ -193036,7 +192817,8 @@ word_8C6FE: dc.w $280 dc.b 8 dc.b 1 dc.b $8B -ChildObjDat_8C704:dc.w 3 +ChildObjDat_8C704: + dc.w 3 dc.l loc_8C692 dc.w $10 dc.l loc_8C692 @@ -193226,8 +193008,8 @@ loc_8C8C6: jsr (SetUp_ObjAttributes2).l move.l #loc_8C8E6,(a0) move.l #Go_Delete_Sprite,$34(a0) - moveq #sfx_Lazer,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Laser),d0 + jsr (Play_SFX).l loc_8C8E6: addq.w #1,$3A(a0) @@ -193252,16 +193034,20 @@ word_8C906: dc.w $558 dc.b $50 dc.b 0 dc.b $A0 -ChildObjDat_8C90E:dc.w 0 +ChildObjDat_8C90E: + dc.w 0 dc.l loc_8C7DE dc.w $C -ChildObjDat_8C916:dc.w 0 +ChildObjDat_8C916: + dc.w 0 dc.l loc_8C8C6 dc.w $FC54 -ChildObjDat_8C91E:dc.w 0 +ChildObjDat_8C91E: + dc.w 0 dc.l loc_8C8C6 dc.w $454 -ChildObjDat_8C926:dc.w 0 +ChildObjDat_8C926: + dc.w 0 dc.l loc_8C8C6 dc.w $54 byte_8C92E: dc.b 7 @@ -193328,7 +193114,7 @@ Obj_Flybot767: move.b 5(a0),d0 move.w off_8C988(pc,d0.w),d1 jsr off_8C988(pc,d1.w) - lea DPLCPtr_8CB22(pc),a2 + lea DPLCPtr_Flybot767(pc),a2 jsr Perform_DPLC(pc) jmp (Sprite_CheckDeleteTouchSlotted).l ; --------------------------------------------------------------------------- @@ -193474,8 +193260,9 @@ ObjDat4_8CB10: dc.w 2 dc.b $10 dc.b 0 dc.b $1A -DPLCPtr_8CB22: dc.l ArtUnc_Flybot - dc.l DPLC_Flybot +DPLCPtr_Flybot767: + dc.l ArtUnc_Flybot767 + dc.l DPLC_Flybot767 byte_8CB2A: dc.b 4 dc.b 0 dc.b 1 @@ -193522,7 +193309,7 @@ byte_8CB4B: dc.b 3 dc.b 0 ; --------------------------------------------------------------------------- -Obj_C3_1: +Obj_LBZ1Robotnik: cmpi.b #2,(Player_1+character_id).w beq.s loc_8CB90 lea word_8CB96(pc),a1 @@ -193636,7 +193423,7 @@ loc_8CC8C: lea (ArtKosM_LBZMinibossBox).l,a1 move.w #-$7540,d2 jsr (Queue_Kos_Module).l - move.w #$3EA0,(Target_camera_max_X_pos).w + move.w #$3EA0,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jmp (CreateChild6_Simple).l ; --------------------------------------------------------------------------- @@ -193723,14 +193510,14 @@ loc_8CD98: loc_8CD9C: bset #3,$38(a0) - moveq #sfx_BossActivate,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossActivate),d0 + jsr (Play_SFX).l lea ChildObjDat_8D264(pc),a2 jsr (CreateChild1_Normal).l jmp Go_Delete_Sprite_2(pc) ; --------------------------------------------------------------------------- -Obj_C4_1: +Obj_LBZMinibossBox: cmpi.b #2,(Player_1+character_id).w beq.s loc_8CDEA tst.b (_unkFAAB).w @@ -193906,7 +193693,7 @@ word_8CF70: dc.w $7B6, $9C0, $3BA0, $3CA0 dc.w $7B6, $936, $3BC0, $3C80 ; --------------------------------------------------------------------------- -Obj_C5_1: +Obj_LBZMinibossBoxKnux: lea word_8CF70(pc),a1 jsr (Check_CameraInRange).l move.w (a1)+,(Camera_min_Y_pos).w @@ -193937,7 +193724,7 @@ loc_8CFC8: move.l #loc_8D018,(a0) move.w #$1F,$2E(a0) move.w #$A80,d0 - move.w d0,(Target_camera_max_Y_pos).w + move.w d0,(Camera_stored_max_Y_pos).w move.w d0,(Camera_target_max_Y_pos).w jsr (Create_New_Sprite).l bne.s loc_8CFFE @@ -193996,8 +193783,8 @@ locret_8D080: loc_8D082: bset #3,$38(a0) - moveq #sfx_BossActivate,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossActivate),d0 + jsr (Play_SFX).l lea ChildObjDat_8D264(pc),a2 jsr (CreateChild1_Normal).l bne.s loc_8D0AA @@ -194128,8 +193915,8 @@ sub_8D1FC: tst.b $20(a0) bne.s loc_8D21C move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l bset #6,$2A(a0) loc_8D21C: @@ -194164,21 +193951,26 @@ ObjDat3_8D23C: dc.l Map_LBZMinibossBox dc.b 8 dc.b 0 dc.b 0 -ChildObjDat_8D254:dc.w 0 +ChildObjDat_8D254: + dc.w 0 dc.l loc_8CD5C dc.w $34 -ChildObjDat_8D25C:dc.w 9 +ChildObjDat_8D25C: + dc.w 9 dc.l loc_8CE34 dc.w 0 -ChildObjDat_8D264:dc.w 0 +ChildObjDat_8D264: + dc.w 0 dc.l Obj_LBZMiniboss dc.w 0 -ChildObjDat_8D26C:dc.w 1 +ChildObjDat_8D26C: + dc.w 1 dc.l loc_8D046 dc.w $E000 dc.l loc_8D046 dc.w $2000 -ChildObjDat_8D27A:dc.w 4 +ChildObjDat_8D27A: + dc.w 4 dc.l loc_8D0AE byte_8D280: dc.b 0 dc.b 6 @@ -194210,7 +194002,7 @@ byte_8D298: dc.b 0 dc.b $F4 ; --------------------------------------------------------------------------- -Obj_C6_1: +Obj_LBZ2RobotnikShip: move.w a0,(Events_bg+$00).w lea ObjDat3_8D562(pc),a1 jsr (SetUp_ObjAttributes).l @@ -194236,10 +194028,10 @@ loc_8D2B6: move.w #-$100,$1A(a0) move.w #$3F,$2E(a0) move.l #loc_8D344,$34(a0) - moveq #sfx_Rising,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Rising),d0 + jsr (Play_SFX).l st (Anim_Counters+$F).w - move.w #$6000,(Target_camera_max_X_pos).w + move.w #$6000,(Camera_stored_max_X_pos).w lea (Child6_IncLevX).l,a2 jsr (CreateChild6_Simple).l lea (Child1_MakeRoboShipFlame).l,a2 @@ -194307,8 +194099,8 @@ loc_8D3F2: move.l #loc_8D40E,(a0) move.w #-$200,$18(a0) move.w #-$200,$1A(a0) - moveq #sfx_Thump,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Thump),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -194380,7 +194172,7 @@ loc_8D4CC: loc_8D4E4: jsr (Create_New_Sprite).l bne.w locret_8D47A - move.l #Obj_LBZ_FinalBoss1,(a1) + move.l #Obj_LBZFinalBoss1,(a1) move.w #$44A0,$10(a1) move.w #$780,$14(a1) jmp (Go_Delete_Sprite_2).l @@ -194440,7 +194232,7 @@ ObjDat3_8D562: dc.l Map_RobotnikShip dc.b $A dc.b $CA dc.w 0 - dc.l Obj_C6_1 + dc.l Obj_LBZ2RobotnikShip dc.w 0 dc.b 0 dc.b 5 @@ -194565,8 +194357,8 @@ loc_8D67A: loc_8D680: move.l #byte_8D9DD,$30(a0) move.l #loc_8D6AE,$34(a0) - moveq #sfx_SpikeMove,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SpikeMove),d0 + jsr (Play_SFX).l lea ChildObjDat_8D9C8(pc),a2 btst #0,4(a0) beq.s loc_8D6A8 @@ -194733,8 +194525,8 @@ loc_8D846: cmpi.w #$A00,$1A(a0) bge.s loc_8D85E move.w #-$500,$1A(a0) - moveq #sfx_Flipper,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Flipper),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -194816,8 +194608,8 @@ sub_8D8E6: bne.s locret_8D942 move.w a2,$44(a0) move.b #6,5(a0) - moveq #sfx_Flipper,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Flipper),d0 + jsr (Play_SFX).l move.w $18(a0),d0 lsl.w #1,d0 move.w d0,$18(a2) @@ -194855,8 +194647,8 @@ sub_8D94A: move.b #8,5(a0) move.w #0,8(a0) move.l #loc_8D846,$34(a0) - moveq #sfx_Flipper,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Flipper),d0 + jsr (Play_SFX).l bset #1,$2A(a2) move.b #1,$2E(a2) move.b #$1A,$20(a2) @@ -194884,13 +194676,16 @@ word_8D9BA: dc.w $280 dc.b 8 dc.b 5 dc.b $D8 -ChildObjDat_8D9C0:dc.w 0 +ChildObjDat_8D9C0: + dc.w 0 dc.l loc_8D602 dc.w $10 -ChildObjDat_8D9C8:dc.w 0 +ChildObjDat_8D9C8: + dc.w 0 dc.l loc_8D6E6 dc.w $F2F4 -ChildObjDat_8D9D0:dc.w 0 +ChildObjDat_8D9D0: + dc.w 0 dc.l loc_8D6E6 dc.w $EF4 byte_8D9D8: dc.b 2 @@ -194920,7 +194715,6 @@ byte_8D9E7: dc.b 2 dc.b $FC dc.b 0 Map_Madmole: include "General/Sprites/Madmole/Map - Madmole.asm" - ; --------------------------------------------------------------------------- Obj_Mushmeanie: @@ -195122,7 +194916,8 @@ word_8DCD6: dc.w $456D dc.b 8 dc.b 0 dc.b 0 -ChildObjDat_8DCDE:dc.w 0 +ChildObjDat_8DCDE: + dc.w 0 dc.l loc_8DC14 dc.w 0 byte_8DCE6: dc.b 1 @@ -195144,7 +194939,6 @@ byte_8DCED: dc.b 3 dc.b 0 dc.b $F4 Map_Mushmeanie: include "General/Sprites/Mushmeanie/Map - Mushmeanie.asm" - ; --------------------------------------------------------------------------- Obj_Dragonfly: @@ -195391,10 +195185,12 @@ word_8DFA8: dc.w $280 dc.b 4 dc.b 5 dc.b $98 -ChildObjDat_8DFAE:dc.w 0 +ChildObjDat_8DFAE: + dc.w 0 dc.l loc_8DF3C dc.w 0 -ChildObjDat_8DFB6:dc.w 6 +ChildObjDat_8DFB6: + dc.w 6 dc.l loc_8DE26 byte_8DFBC: dc.b 0, 7, 9, 8, 9, $FC byte_8DFC2: dc.b 3 @@ -195422,7 +195218,6 @@ byte_8DFCE: dc.b 3 dc.b 0 dc.b $FC Map_Dragonfly: include "General/Sprites/Dragonfly/Map - Dragonfly.asm" - ; --------------------------------------------------------------------------- Obj_Butterdroid: @@ -195431,7 +195226,7 @@ Obj_Butterdroid: move.b 5(a0),d0 move.w off_8E0C2(pc,d0.w),d1 jsr off_8E0C2(pc,d1.w) - lea DPLCPtr_8E11C(pc),a2 + lea DPLCPtr_Butterdroid(pc),a2 jsr (Perform_DPLC).l jmp (Sprite_CheckDeleteTouchSlotted).l ; --------------------------------------------------------------------------- @@ -195470,7 +195265,8 @@ ObjDat4_8E10A: dc.w 3 dc.b $C dc.b 0 dc.b $17 -DPLCPtr_8E11C: dc.l ArtUnc_Butterdroid +DPLCPtr_Butterdroid: + dc.l ArtUnc_Butterdroid dc.l DPLC_Butterdroid byte_8E124: dc.b 7 dc.b 0 @@ -195482,10 +195278,10 @@ byte_8E124: dc.b 7 dc.b 2 dc.b 1 dc.b $FC -Map_Butterdroid:include "General/Sprites/Butterdroid/Map - Butterdroid.asm" - -DPLC_Butterdroid: include "General/Sprites/Butterdroid/DPLC - Butterdroid.asm" - +Map_Butterdroid: + include "General/Sprites/Butterdroid/Map - Butterdroid.asm" +DPLC_Butterdroid: + include "General/Sprites/Butterdroid/DPLC - Butterdroid.asm" ; --------------------------------------------------------------------------- Obj_Cluckoid: @@ -195494,7 +195290,7 @@ Obj_Cluckoid: move.b 5(a0),d0 move.w off_8E1A2(pc,d0.w),d1 jsr off_8E1A2(pc,d1.w) - lea DPLCPtr_8E410(pc),a2 + lea DPLCPtr_Cluckoid(pc),a2 jsr (Perform_DPLC).l jmp (Sprite_CheckDeleteTouchSlotted).l ; --------------------------------------------------------------------------- @@ -195533,8 +195329,8 @@ loc_8E1E2: blo.s loc_8E202 bset #7,$38(a0) bne.s loc_8E1FA - moveq #sfx_EnemyBreath,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_EnemyBreath),d0 + jsr (Play_SFX).l loc_8E1FA: bsr.w sub_8E37C @@ -195776,12 +195572,15 @@ ObjDat3_8E3F6: dc.l Map_MHZPollen dc.b 8 dc.b 0 dc.b 0 -ChildObjDat_8E402:dc.w 0 +ChildObjDat_8E402: + dc.w 0 dc.l loc_8E2BE dc.w $1C -ChildObjDat_8E40A:dc.w 0 +ChildObjDat_8E40A: + dc.w 0 dc.l loc_8E236 -DPLCPtr_8E410: dc.l ArtUnc_Cluckoid +DPLCPtr_Cluckoid: + dc.l ArtUnc_Cluckoid dc.l DPLC_Cluckoid byte_8E418: dc.b 0 dc.b 7 @@ -195847,12 +195646,12 @@ word_8E438: dc.w $10, $28 dc.w $50, $48 dc.w $60, $48 dc.w $80, $68 -DPLC_Cluckoid: include "General/Sprites/Cluckoid/DPLC - Cluckoid.asm" - -Map_CluckoidArrow: include "General/Sprites/Cluckoid/Map - Cluckoid Arrow.asm" - -Map_Cluckoid: include "General/Sprites/Cluckoid/Map - Cluckoid.asm" - +DPLC_Cluckoid: + include "General/Sprites/Cluckoid/DPLC - Cluckoid.asm" +Map_CluckoidArrow: + include "General/Sprites/Cluckoid/Map - Cluckoid Arrow.asm" +Map_Cluckoid: + include "General/Sprites/Cluckoid/Map - Cluckoid.asm" ; --------------------------------------------------------------------------- Obj_Skorp: @@ -196306,7 +196105,8 @@ word_8EA54: dc.w $180 dc.b $14 dc.b 3 dc.b 0 -ChildObjDat_8EA5A:dc.w 5 +ChildObjDat_8EA5A: + dc.w 5 dc.l loc_8E744 byte_8EA60: dc.b 9, 1, 0, 1, 2, $FC ; --------------------------------------------------------------------------- @@ -196368,8 +196168,8 @@ loc_8EB0A: move.w d1,$18(a0) btst #7,$38(a0) beq.w locret_8EBE0 - moveq #sfx_Splash2,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Splash2),d0 + jsr (Play_SFX).l lea ChildObjDat_8ED74(pc),a2 jmp (CreateChild1_Normal).l ; --------------------------------------------------------------------------- @@ -196387,8 +196187,8 @@ loc_8EB2E: move.l #loc_8EB7E,$34(a0) btst #7,$38(a0) beq.w locret_8EBE0 - moveq #sfx_Splash2,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Splash2),d0 + jsr (Play_SFX).l lea ChildObjDat_8ED74(pc),a2 jmp (CreateChild1_Normal).l ; --------------------------------------------------------------------------- @@ -196575,12 +196375,15 @@ word_8ED60: dc.w $280 dc.b 8 dc.b 1 dc.b 0 -ChildObjDat_8ED66:dc.w 4 +ChildObjDat_8ED66: + dc.w 4 dc.l loc_8EB8E -ChildObjDat_8ED6C:dc.w 7 +ChildObjDat_8ED6C: + dc.w 7 dc.l loc_8EBE2 dc.w $F8 -ChildObjDat_8ED74:dc.w 2 +ChildObjDat_8ED74: + dc.w 2 dc.l loc_8EC74 dc.w 4 dc.l loc_8EC74 @@ -196910,19 +196713,21 @@ ObjDat3_8F066: dc.l Map_Rockn dc.b $10 dc.b 4 dc.b 0 -ChildObjDat_8F072:dc.w 0 +ChildObjDat_8F072: + dc.w 0 dc.l loc_8EF3C dc.w $F8 -ChildObjDat_8F07A:dc.w 0 +ChildObjDat_8F07A: + dc.w 0 dc.l loc_8F00E byte_8F080: dc.b 8, 0, 1, 0, 2, $FC -Map_Rockn:include "General/Sprites/Rockn/Map - Rock'n.asm" +Map_Rockn: include "General/Sprites/Rockn/Map - Rock'n.asm" ; ' <-- lol TextWrangler; it assumes ' is the string delimiter for all assembly files; I don't want ; my screen to be filled with pink ; --------------------------------------------------------------------------- -Obj_SOZ_Ghosts: +Obj_SOZGhosts: move.l #loc_8F0CA,(a0) move.w #$120,$10(a0) move.w #$A0,$14(a0) @@ -196971,7 +196776,7 @@ loc_8F11E: move.b 5(a0),d0 move.w off_8F19A(pc,d0.w),d1 jsr off_8F19A(pc,d1.w) - lea DPLCPtr_8F67A(pc),a2 + lea DPLCPtr_SOZGhosts(pc),a2 jsr (Perform_DPLC).l tst.b 4(a0) bpl.s loc_8F16A @@ -197000,8 +196805,8 @@ loc_8F174: move.l #loc_8F16A,$34(a0) lea byte_8F6BF(pc),a1 jsr (Set_Raw_Animation).l - moveq #sfx_Bouncy,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Bouncy),d0 + jsr (Play_SFX).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- off_8F19A: dc.w loc_8F1AC-off_8F19A @@ -197023,8 +196828,8 @@ loc_8F1AC: move.b (_unkF7C3).w,$42(a0) move.b (_unkFAAD).w,$43(a0) bsr.w sub_8F538 - moveq #sfx_GhostAppear,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_GhostAppear),d0 + jsr (Play_SFX).l loc_8F1DA: jsr (Animate_RawMultiDelay).l @@ -197178,12 +196983,12 @@ loc_8F36E: loc_8F37A: jsr (Animate_RawMultiDelay).l - lea DPLCPtr_8F67A(pc),a2 + lea DPLCPtr_SOZGhosts(pc),a2 jsr (Perform_DPLC).l jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Obj_AB_2: +Obj_SOZGhostCapsuleLoadArt: moveq #0,d0 move.b $2C(a0),d0 movea.l off_8F3BE(pc,d0.w),a1 @@ -197219,7 +197024,7 @@ loc_8F3F0: jmp (LoadEnemyArt).l ; --------------------------------------------------------------------------- -Obj_AC_2_SOZ2_Ghost_Capsule: +Obj_SOZGhostCapsule: lea ObjDat3_8F62E(pc),a1 jsr (SetUp_ObjAttributes).l move.l #loc_89C14,(a0) @@ -197260,7 +197065,7 @@ loc_8F45E: jsr off_8F488(pc,d1.w) tst.b $2C(a0) bne.s loc_8F482 - lea DPLCPtr_8F67A(pc),a2 + lea DPLCPtr_SOZGhosts(pc),a2 jsr (Perform_DPLC).l jmp (Sprite_CheckDeleteSlotted).l ; --------------------------------------------------------------------------- @@ -197457,10 +197262,12 @@ ObjDat3_8F63A: dc.l Map_SOZGhosts dc.b $20 dc.b 0 dc.b 0 -ChildObjDat_8F646:dc.w 0 +ChildObjDat_8F646: + dc.w 0 dc.l loc_8F438 dc.w $DC -ChildObjDat_8F64E:dc.w 5 +ChildObjDat_8F64E: + dc.w 5 dc.l loc_8F45E dc.w $F8FC dc.l loc_8F45E @@ -197473,9 +197280,11 @@ ChildObjDat_8F64E:dc.w 5 dc.w $18FC dc.l loc_8F45E dc.w $E8FC -ChildObjDat_8F674:dc.w 0 +ChildObjDat_8F674: + dc.w 0 dc.l loc_8F11E -DPLCPtr_8F67A: dc.l ArtUnc_SOZGhosts +DPLCPtr_SOZGhosts: + dc.l ArtUnc_SOZGhosts dc.l DPLC_SOZGhosts byte_8F682: dc.b $11, 3 dc.b $11, 3 @@ -197528,7 +197337,6 @@ byte_8F6D4: dc.b 8, 7 dc.b 9, 7 dc.b $F8, $E4 DPLC_SOZGhosts: include "General/Sprites/SOZ Ghosts/DPLC - SOZ Ghosts.asm" - ; --------------------------------------------------------------------------- Obj_Fireworm: @@ -197576,7 +197384,7 @@ loc_8F7A4: move.b 5(a0),d0 move.w off_8F7E0(pc,d0.w),d1 jsr off_8F7E0(pc,d1.w) - lea DPLCPtr_8FA38(pc),a2 + lea DPLCPtr_Fireworm(pc),a2 jsr (Perform_DPLC).l move.w $10(a0),d0 andi.w #-$80,d0 @@ -197799,10 +197607,12 @@ word_8FA08: dc.w $180 dc.b 8 dc.b 3 dc.b $98 -ChildObjDat_8FA0E:dc.w 0 +ChildObjDat_8FA0E: + dc.w 0 dc.l loc_8F7A4 dc.w $F8 -ChildObjDat_8FA16:dc.w 3 +ChildObjDat_8FA16: + dc.w 3 dc.l loc_8F8F0 dc.w 0 dc.l loc_8F8F0 @@ -197811,10 +197621,12 @@ ChildObjDat_8FA16:dc.w 3 dc.w 0 dc.l loc_8F8F0 dc.w 0 -ChildObjDat_8FA30:dc.w 0 +ChildObjDat_8FA30: + dc.w 0 dc.l loc_8F95C dc.w $F2 -DPLCPtr_8FA38: dc.l ArtUnc_Fireworm +DPLCPtr_Fireworm: + dc.l ArtUnc_Fireworm dc.l DPLC_Fireworm byte_8FA40: dc.b 1, 3 dc.b 1, 6 @@ -197831,15 +197643,15 @@ byte_8FA4D: dc.b 3, 7 byte_8FA56: dc.b 3, 4 dc.b 4, 5 dc.b 6, $F4 -Map_FirewormSegments: include "General/Sprites/Fireworm/Map - Fireworm Segments.asm" - -DPLC_Fireworm: include "General/Sprites/Fireworm/DPLC - Fireworm.asm" - -Map_Fireworm: include "General/Sprites/Fireworm/Map - Fireworm.asm" - +Map_FirewormSegments: + include "General/Sprites/Fireworm/Map - Fireworm Segments.asm" +DPLC_Fireworm: + include "General/Sprites/Fireworm/DPLC - Fireworm.asm" +Map_Fireworm: + include "General/Sprites/Fireworm/Map - Fireworm.asm" ; --------------------------------------------------------------------------- -Obj_LRZExplodingRock: +Obj_Iwamodoki: jsr (Obj_WaitOffscreen).l moveq #0,d0 move.b 5(a0),d0 @@ -197930,7 +197742,8 @@ word_8FBD0: dc.w $280 dc.b 4 dc.b 0 dc.b $98 -ChildObjDat_8FBD6:dc.w 3 +ChildObjDat_8FBD6: + dc.w 3 dc.l loc_8FB90 dc.l word_8FBD0 dc.l byte_8FC8B @@ -198016,8 +197829,7 @@ byte_8FC8B: dc.b 0 dc.b 9 dc.b $FC dc.b 0 -Map_Iwamodoki:include "General/Sprites/Iwamodoki/Map - Iwamodoki.asm" - +Map_Iwamodoki: include "General/Sprites/Iwamodoki/Map - Iwamodoki.asm" ; --------------------------------------------------------------------------- Obj_Toxomister: @@ -198217,8 +198029,8 @@ sub_8FF5A: sub_8FF72: - moveq #sfx_EnemyBreath,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_EnemyBreath),d0 + jsr (Play_SFX).l lea ChildObjDat_90040(pc),a2 jsr (CreateChild10_NormalAdjusted).l bne.s locret_8FF8A @@ -198308,10 +198120,12 @@ word_9003A: dc.w 0 dc.b 8 dc.b 2 dc.b 0 -ChildObjDat_90040:dc.w 0 +ChildObjDat_90040: + dc.w 0 dc.l loc_8FDBA dc.w $F408 -ChildObjDat_90048:dc.w 6 +ChildObjDat_90048: + dc.w 6 dc.l loc_8FE8E dc.w $F404 dc.l loc_8FE8E @@ -198353,7 +198167,6 @@ byte_90085: dc.b 7 dc.b $F4 dc.b 0 Map_Toxomister: include "General/Sprites/Toxomister/Map - Toxomister.asm" - ; --------------------------------------------------------------------------- Obj_LRZRockCrusher: @@ -198365,10 +198178,10 @@ Obj_LRZRockCrusher: loc_900FE: jsr (Check_CameraInRange).l move.l #loc_901D0,(a0) - move.w (Camera_min_Y_pos).w,(Target_camera_min_Y_pos).w - move.w (Camera_target_max_Y_pos).w,(Target_camera_max_Y_pos).w - move.w (Camera_min_X_pos).w,(Target_camera_min_X_pos).w - move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w + move.w (Camera_min_Y_pos).w,(Camera_stored_min_Y_pos).w + move.w (Camera_target_max_Y_pos).w,(Camera_stored_max_Y_pos).w + move.w (Camera_min_X_pos).w,(Camera_stored_min_X_pos).w + move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w move.w (a1),$1C(a0) move.w (a1)+,(Camera_max_X_pos).w move.w (a1)+,(Camera_target_max_Y_pos).w @@ -198476,8 +198289,8 @@ locret_9026C: ; --------------------------------------------------------------------------- loc_9026E: - moveq #sfx_BigRumble,d0 - jsr (sub_85E52).l + moveq #signextendB(sfx_BigRumble),d0 + jsr (Play_SFX_Continuous).l moveq #1,d0 bchg #0,$38(a0) beq.s loc_90282 @@ -198511,7 +198324,7 @@ loc_902BE: moveq #0,d0 move.b $2C(a0),d0 move.w word_902EC(pc,d0.w),$3A(a0) - move.w (Target_camera_max_Y_pos).w,(Camera_target_max_Y_pos).w + move.w (Camera_stored_max_Y_pos).w,(Camera_target_max_Y_pos).w lea Child7_ChangeLevSize(pc),a2 jmp (CreateChild7_Normal2).l ; --------------------------------------------------------------------------- @@ -198751,7 +198564,7 @@ loc_9056E: move.w #$860,$14(a1) loc_90592: - move.w (Target_camera_max_Y_pos).w,(Camera_target_max_Y_pos).w + move.w (Camera_stored_max_Y_pos).w,(Camera_target_max_Y_pos).w lea Child7_ChangeLevSize(pc),a2 jsr (CreateChild7_Normal2).l jmp (Delete_Current_Sprite).l @@ -198765,8 +198578,8 @@ sub_905A8: tst.b $20(a0) bne.s loc_905C8 move.b #$20,$20(a0) - moveq #sfx_BossHit,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossHit),d0 + jsr (Play_SFX).l move.b #-1,$29(a0) loc_905C8: @@ -198818,7 +198631,8 @@ ObjDat3_9061A: dc.l Map_LRZRockDebris dc.b 4 dc.b 0 dc.b 0 -ChildObjDat_90626:dc.w 7 +ChildObjDat_90626: + dc.w 7 dc.l loc_9039A dc.w $E41C dc.l loc_9039A @@ -198835,10 +198649,12 @@ ChildObjDat_90626:dc.w 7 dc.w $DCDC dc.l loc_9039A dc.w $24DC -ChildObjDat_90658:dc.w 1 +ChildObjDat_90658: + dc.w 1 dc.l loc_904BA dc.w $C -Child7_ChangeLevSize:dc.w 3 +Child7_ChangeLevSize: + dc.w 3 dc.l Obj_DecLevStartYGradual dc.w 0 dc.l Obj_IncLevEndYGradual @@ -198847,14 +198663,15 @@ Child7_ChangeLevSize:dc.w 3 dc.w 0 dc.l Obj_IncLevEndXGradual dc.w 0 -ChildObjDat_9067A:dc.w 0 - dc.l Obj_8B -Pal_LRZRockCrusher: binclude "Levels/LRZ/Palettes/Rock Crusher.bin" - even - +ChildObjDat_9067A: + dc.w 0 + dc.l Obj_SpriteMask +Pal_LRZRockCrusher: + binclude "Levels/LRZ/Palettes/Rock Crusher.bin" + even ; --------------------------------------------------------------------------- -Obj_B0_2: +Obj_HPZMasterEmerald: lea ObjDat3_90FAC(pc),a1 jsr (SetUp_ObjAttributes).l move.l #loc_90700,(a0) @@ -198919,7 +198736,7 @@ loc_90744: RawAni_90768: dc.b $1D, $1D, $1D, $C, $D, $E, $1D, $F, $10, $11, $1D, $1D ; --------------------------------------------------------------------------- -Obj_B4_2: +Obj_HPZSuperEmerald: lea ObjDat3_90FC0(pc),a1 jsr (SetUp_ObjAttributes).l moveq #0,d0 @@ -198944,7 +198761,7 @@ loc_907A2: loc_907A8: move.l #loc_908DE,(a0) - move.w #-$7B89,$A(a0) + move.w #$8477,$A(a0) bset #0,$38(a0) bsr.w sub_9084E bsr.w sub_90832 @@ -199047,7 +198864,7 @@ loc_90880: beq.s loc_9089E move.l #loc_908DE,(a0) move.b #$1E,$22(a0) - move.w #-$7B89,$A(a0) + move.w #$8477,$A(a0) bra.w loc_908DE ; --------------------------------------------------------------------------- @@ -199058,7 +198875,7 @@ loc_9089E: cmp.b $2C(a0),d0 bne.s loc_908BE move.b #$1E,$22(a0) - move.w #-$7B89,$A(a0) + move.w #$8477,$A(a0) bra.w loc_908DE ; --------------------------------------------------------------------------- @@ -199068,7 +198885,7 @@ loc_908BE: btst #0,(V_int_run_count+3).w beq.s loc_908DE move.b #7,$22(a0) - move.w #-$7C4B,$A(a0) + move.w #$83B5,$A(a0) loc_908DE: move.w #$1B,d1 @@ -199093,8 +198910,8 @@ loc_90920: loc_90926: subq.w #1,$2E(a0) bpl.s loc_9095E - moveq #sfx_EnterSS,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_EnterSS),d0 + jsr (Play_SFX).l move.b $2C(a0),(Current_special_stage).w move.b #1,(Special_bonus_entry_flag).w move.b #$34,(Game_mode).w @@ -199107,14 +198924,14 @@ loc_9095E: jmp (Draw_Sprite).l ; --------------------------------------------------------------------------- -Obj_B5_2: +Obj_HPZSSEntryControl: lea (ArtKosM_HPZSmallEmeralds).l,a1 move.w #-$6A80,d2 jsr (Queue_Kos_Module).l lea (ArtKosM_Teleporter).l,a1 move.w #-$6F00,d2 jsr (Queue_Kos_Module).l - lea (Pal_CutsceneKnux1).l,a1 + lea (Pal_CutsceneKnux).l,a1 cmpi.w #3,(Player_mode).w bne.s loc_90998 lea (Pal_SonicTails).l,a1 @@ -199136,7 +198953,7 @@ loc_909B0: move.l #$6A00660,(Target_palette_line_4+$2).w jsr (Create_New_Sprite).l bne.s loc_909CC - move.l #Obj_B0_2,(a1) + move.l #Obj_HPZMasterEmerald,(a1) loc_909CC: jsr (Create_New_Sprite).l @@ -199154,7 +198971,7 @@ loc_909EA: loc_909F4: jsr (Create_New_Sprite).l - move.l #Obj_B4_2,(a1) + move.l #Obj_HPZSuperEmerald,(a1) move.b d2,$2C(a1) addq.w #1,d2 dbf d3,loc_909F4 @@ -199173,7 +198990,7 @@ loc_90A26: cmp.b (a2)+,d1 bhi.s loc_90A3A jsr (Create_New_Sprite).l - move.l #Obj_B4_2,(a1) + move.l #Obj_HPZSuperEmerald,(a1) move.b d2,$2C(a1) loc_90A3A: @@ -199412,8 +199229,8 @@ loc_90C58: beq.s locret_90CA0 btst #5,$38(a0) beq.s locret_90CA0 - moveq #sfx_EnterSS,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_EnterSS),d0 + jsr (Play_SFX).l move.w #1,(Restart_level_flag).w move.b (Saved2_last_star_post_hit).w,(Last_star_post_hit).w move.w (Saved2_zone_and_act).w,(Current_zone_and_act).w @@ -199459,8 +199276,8 @@ loc_90CF4: move.l #loc_90D30,(a0) move.w #$3F,$2E(a0) move.w #8,(Screen_shake_flag).w - moveq #sfx_BossLazer,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_BossLaser),d0 + jsr (Play_SFX).l loc_90D20: btst #0,(V_int_run_count+3).w @@ -199503,8 +199320,8 @@ loc_90D78: bset #2,4(a0) move.w #-$80,$1A(a0) move.w #$7F,$2E(a0) - moveq #sfx_Signpost,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Signpost),d0 + jsr (Play_SFX).l lea ChildObjDat_90FF0(pc),a2 jsr (CreateChild6_Simple).l @@ -199545,8 +199362,8 @@ loc_90DDC: bset #2,$38(a0) bset #7,$38(a0) bne.s locret_90DFA - moveq #sfx_SuperEmerald,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_SuperEmerald),d0 + jsr (Play_SFX).l locret_90DFA: rts @@ -199648,7 +199465,7 @@ loc_90ED0: addq.b #1,(a1,d0.w) jsr (Create_New_Sprite).l bne.s loc_90EFC - move.l #Obj_B4_2,(a1) + move.l #Obj_HPZSuperEmerald,(a1) move.b $2C(a0),$2C(a1) bset #7,$38(a1) move.w a1,$44(a0) @@ -199767,46 +199584,34 @@ ObjDat3_90FD8: dc.l Map_HPZChaosEmeralds dc.b 4 dc.b 0 dc.b 0 -ChildObjDat_90FE4:dc.w 0 +ChildObjDat_90FE4: + dc.w 0 dc.l loc_90734 word_90FEA: dc.w 0 dc.l loc_90D78 -ChildObjDat_90FF0:dc.w 6 +ChildObjDat_90FF0: + dc.w 6 dc.l loc_90DFC byte_90FF6: dc.b 0, $1D, $1F, $1D, $20, $1D, $21, $1D, $22, $1D, $23, $1D, $24, $1D, $F4, 0 - -Map_HPZEmeraldMisc: include "Levels/HPZ/Misc Object Data/Map - Emerald Misc Art.asm" - -Map_HPZChaosEmeralds: include "Levels/HPZ/Misc Object Data/Map - Chaos Emeralds.asm" - +Map_HPZEmeraldMisc: + include "Levels/HPZ/Misc Object Data/Map - Emerald Misc Art.asm" +Map_HPZChaosEmeralds: + include "Levels/HPZ/Misc Object Data/Map - Chaos Emeralds.asm" off_914CE: dc.l off_914EE dc.w 1 - - ; this data here seems completely broken - dc.b 0 - dc.b $F - dc.b 1 - dc.b 9 - dc.b 2 - dc.b 9 - dc.b 3 - dc.b 7 - dc.b 4 - dc.b 7 - dc.b 5 - dc.b 5 - dc.b 6 - dc.b 5 - dc.b 5 - dc.b 5 - dc.b 4 - dc.b 7 - dc.b 3 - dc.b 7 - dc.b 2 - dc.b 9 - dc.b 1 - dc.b 9 + ; this data here seems completely broken + dc.w $F + dc.w $109 + dc.w $209 + dc.w $307 + dc.w $407 + dc.w $505 + dc.w $605 + dc.w $505 + dc.w $407 + dc.w $307 + dc.w $209 + dc.w $109 dc.w $FFFC off_914EE: dc.w word_914FC-off_914EE dc.w word_91500-off_914EE @@ -200053,8 +199858,8 @@ loc_91778: loc_917A2: move.w d0,$18(a0) - moveq #sfx_Lazer,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Laser),d0 + jsr (Play_SFX).l loc_917AE: jmp (Child_DrawTouch_Sprite).l @@ -200282,18 +200087,21 @@ word_919CA: dc.w $280 dc.b 4 dc.b 7 dc.b 0 -ChildObjDat_919D0:dc.w 1 +ChildObjDat_919D0: + dc.w 1 dc.l loc_916A8 dc.b $F4 dc.b $1C dc.l loc_916EE dc.b $E4 dc.b $FC -ChildObjDat_919DE:dc.w 0 +ChildObjDat_919DE: + dc.w 0 dc.l loc_91756 dc.b $B dc.b $FC -ChildObjDat_919E6:dc.w 0 +ChildObjDat_919E6: + dc.w 0 dc.l loc_917C0 ; --------------------------------------------------------------------------- @@ -200361,8 +200169,8 @@ loc_91A88: loc_91A9A: move.b #4,5(a0) bset #3,$38(a0) - moveq #sfx_Bouncy,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_Bouncy),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -200532,10 +200340,12 @@ word_91C26: dc.w $200 dc.b $10 dc.b 1 dc.b $9A -ChildObjDat_91C2C:dc.w 0 +ChildObjDat_91C2C: + dc.w 0 dc.l loc_91AD2 dc.w $14 -ChildObjDat_91C34:dc.w 0 +ChildObjDat_91C34: + dc.w 0 dc.l loc_91BA8 dc.w 0 ; --------------------------------------------------------------------------- @@ -200583,8 +200393,8 @@ loc_91CA6: move.b #4,5(a0) move.w $3E(a0),$18(a0) move.w $3C(a0),$40(a0) - moveq #sfx_TunnelBooster,d0 - jsr (Play_Sound_2).l + moveq #signextendB(sfx_TunnelBooster),d0 + jsr (Play_SFX).l rts ; --------------------------------------------------------------------------- @@ -200822,7 +200632,8 @@ word_91EE6: dc.w $280 dc.b $80 dc.b 2 dc.b $98 -ChildObjDat_91EEC:dc.w 3 +ChildObjDat_91EEC: + dc.w 3 dc.l loc_91D52 dc.w $14 dc.l loc_91D52 @@ -200850,8 +200661,8 @@ LevelLoadBlock: levartptrs $18, $19, $11, CNZ_8x8_KosM, CNZ_8x8_KosM, CNZ_16x16_Kos, CNZ_16x16_Kos, CNZ_128x128_Kos, CNZ_128x128_Kos ; CARNIVAL NIGHT ZONE ACT 2 levartptrs $1A, $1A, $12, ArtKosM_FBZ, ArtKosM_FBZ, FBZ_16x16_Kos, FBZ_16x16_Kos, FBZ_128x128_Kos, FBZ_128x128_Kos ; FLYING BATTERY ZONE ACT 1 levartptrs $1C, $1C, $13, ArtKosM_FBZ, ArtKosM_FBZ, FBZ_16x16_Kos, FBZ_16x16_Kos, FBZ_128x128_Kos, FBZ_128x128_Kos ; FLYING BATTERY ZONE ACT 2 - levartptrs $1E, $1E, $14, ICZ_8x8_Primary_KosM, ICZ1_8x8_Secondary_KosM, ICZ_16x16_Primary_Kos, ICZ1_16x16_Secondary_Kos, ICZ_128x128_Primary_Kos, ICZ1_128x128_Secondary_Kos ; ICE CAP ZONE ACT 1 - levartptrs $20, $20, $15, ICZ_8x8_Primary_KosM, ICZ2_8x8_Secondary_KosM, ICZ_16x16_Primary_Kos, ICZ2_16x16_Secondary_Kos, ICZ_128x128_Primary_Kos, ICZ2_128x128_Secondary_Kos ; ICE CAP ZONE ACT 2 + levartptrs $1E, $1E, $14, ICZ_8x8_Primary_KosM, ICZ1_8x8_Secondary_KosM, ICZ_16x16_Primary_Kos, ICZ1_16x16_Secondary_Kos, ICZ_128x128_Primary_Kos, ICZ1_128x128_Secondary_Kos ; ICECAP ZONE ACT 1 + levartptrs $20, $20, $15, ICZ_8x8_Primary_KosM, ICZ2_8x8_Secondary_KosM, ICZ_16x16_Primary_Kos, ICZ2_16x16_Secondary_Kos, ICZ_128x128_Primary_Kos, ICZ2_128x128_Secondary_Kos ; ICECAP ZONE ACT 2 levartptrs $22, $22, $16, LBZ_8x8_Primary_KosM, LBZ1_8x8_Secondary_KosM, LBZ_16x16_Primary_Kos, LBZ1_16x16_Secondary_Kos, LBZ1_128x128_Kos, LBZ1_128x128_Kos ; LAUNCH BASE ZONE ACT 1 levartptrs $24, $25, $17, LBZ_8x8_Primary_KosM, LBZ2_8x8_Secondary_KosM, LBZ_16x16_Primary_Kos, LBZ2_16x16_Secondary_Kos, LBZ2_128x128_Kos, LBZ2_128x128_Kos ; LAUNCH BASE ZONE ACT 2 levartptrs $26, $26, $18, ArtKosM_MHZ_Primary, ArtKosM_MHZ_Secondary, MHZ_16x16_Primary_Kos, MHZ_16x16_Secondary_Kos, MHZ_128x128_Primary_Kos, MHZ_128x128_Secondary_Kos ; MUSHROOM HILL ZONE ACT 1 @@ -200894,8 +200705,7 @@ LevelLoadBlock: levartptrs $48, $48, $3F, ArtKosM_HPZ_Primary, ArtKosM_HPZ_Secondary, HPZ_16x16_Primary_Kos, HPZ_16x16_Secondary_Kos, HPZ_128x128_Primary_Kos, HPZ_128x128_Secondary_Kos ; SPECIAL STAGE HUB ; --------------------------------------------------------------------------- - -Offs_PLC: dc.w PLC_00-Offs_PLC ; Unused +Offs_PLC: dc.w PLC_00-Offs_PLC ; Unused dc.w PLC_01-Offs_PLC ; Sonic life icon/universal level graphics dc.w PLC_02-Offs_PLC ; Explosions + Squirrel/Flicky dc.w PLC_03-Offs_PLC ; Game Over text @@ -200917,7 +200727,7 @@ Offs_PLC: dc.w PLC_00-Offs_PLC ; Unused dc.w PLC_12_13-Offs_PLC ; MGZ 1 dc.w PLC_14_15-Offs_PLC ; MGZ 2 dc.w PLC_14_15-Offs_PLC ; MGZ 2 - dc.w PLC_16_17_18_19-Offs_PLC ; CNZ + dc.w PLC_16_17_18_19-Offs_PLC ; CNZ dc.w PLC_16_17_18_19-Offs_PLC dc.w PLC_16_17_18_19-Offs_PLC dc.w PLC_16_17_18_19-Offs_PLC @@ -201023,7 +200833,7 @@ Offs_PLC: dc.w PLC_00-Offs_PLC ; Unused PLC_00: plrlistheader plreq $7D4, ArtNem_SonicLifeIcon ; Unused evidently plreq ArtTile_Ring, ArtNem_RingHUDText - plreq $5E4, ArtNem_EnemyPtsStarPost + plreq ArtTile_StarPost, ArtNem_EnemyPtsStarPost plreq ArtTile_Monitors, ArtNem_Monitors PLC_00_End @@ -201031,11 +200841,11 @@ PLC_01: plrlistheader plreq $7D4, ArtNem_SonicLifeIcon plreq ArtTile_Monitors, ArtNem_Monitors plreq ArtTile_Ring, ArtNem_RingHUDText - plreq $5E4, ArtNem_EnemyPtsStarPost + plreq ArtTile_StarPost, ArtNem_EnemyPtsStarPost PLC_01_End PLC_02: plrlistheader - plreq $5A0, ArtNem_Explosion + plreq ArtTile_Explosion, ArtNem_Explosion plreq $580, ArtNem_Squirrel plreq $592, ArtNem_BlueFlicky PLC_02_End @@ -201052,7 +200862,7 @@ PLC_05: plrlistheader plreq $7D4, ArtNem_KnucklesLifeIcon plreq ArtTile_Monitors, ArtNem_Monitors plreq ArtTile_Ring, ArtNem_RingHUDText - plreq $5E4, ArtNem_EnemyPtsStarPost + plreq ArtTile_StarPost, ArtNem_EnemyPtsStarPost PLC_05_End PLC_06: plrlistheader @@ -201065,7 +200875,7 @@ PLC_07: plrlistheader plreq $7D4, ArtNem_TailsLifeIcon plreq ArtTile_Monitors, ArtNem_Monitors plreq ArtTile_Ring, ArtNem_RingHUDText - plreq $5E4, ArtNem_EnemyPtsStarPost + plreq ArtTile_StarPost, ArtNem_EnemyPtsStarPost PLC_07_End PLC_08: plrlistheader @@ -201327,7 +201137,7 @@ PLC_52: plrlistheader plreq $7D4, ArtNem_MilesLifeIcon plreq ArtTile_Monitors, ArtNem_Monitors plreq ArtTile_Ring, ArtNem_RingHUDText - plreq $5E4, ArtNem_EnemyPtsStarPost + plreq ArtTile_StarPost, ArtNem_EnemyPtsStarPost PLC_52_End PLC_53_Through_5A: plrlistheader @@ -201452,10 +201262,10 @@ off_92A1C: dc.w loc_92A20-off_92A1C loc_92A20: addq.b #2,(Debug_placement_routine).w - move.l $C(a0),(Debug_P1_mappings).w + move.l $C(a0),(Debug_saved_mappings).w cmpi.b #6,5(a0) bhs.s loc_92A38 - move.w $A(a0),(Debug_P2_mappings).w + move.w $A(a0),(Debug_saved_art_tile).w loc_92A38: move.w (Screen_Y_wrap_value).w,d0 @@ -201638,8 +201448,8 @@ loc_92C0C: move.b #-$80,(Update_HUD_ring_count).w move #$2300,sr lea (Player_1).w,a1 - move.l (Debug_P1_mappings).w,$C(a1) - move.w (Debug_P2_mappings).w,$A(a1) + move.l (Debug_saved_mappings).w,$C(a1) + move.w (Debug_saved_art_tile).w,$A(a1) bsr.s sub_92C54 move.b #$13,$1E(a1) move.b #9,$1F(a1) @@ -201692,123 +201502,123 @@ sub_92C88: DebugOffs: include "Levels/Misc/Debug list pointers.asm" Debug_AIZ1: dbglistheader - include "Levels/AIZ/Debug/Act 1.asm" + include "Levels/AIZ/Debug/Act 1.asm" Debug_AIZ1_End Debug_AIZ2: dbglistheader - include "Levels/AIZ/Debug/Act 2.asm" + include "Levels/AIZ/Debug/Act 2.asm" Debug_AIZ2_End Debug_HCZ: dbglistheader - include "Levels/HCZ/Debug/Main.asm" + include "Levels/HCZ/Debug/Main.asm" Debug_HCZ_End Debug_MGZ: dbglistheader - include "Levels/MGZ/Debug/Main.asm" + include "Levels/MGZ/Debug/Main.asm" Debug_MGZ_End Debug_CNZ: dbglistheader - include "Levels/CNZ/Debug/Main.asm" + include "Levels/CNZ/Debug/Main.asm" Debug_CNZ_End Debug_FBZ1: dbglistheader - include "Levels/FBZ/Debug/Act 1.asm" + include "Levels/FBZ/Debug/Act 1.asm" Debug_FBZ1_End Debug_FBZ2: dbglistheader - include "Levels/FBZ/Debug/Act 2.asm" + include "Levels/FBZ/Debug/Act 2.asm" Debug_FBZ2_End Debug_ICZ1: dbglistheader - include "Levels/ICZ/Debug/Act 1.asm" + include "Levels/ICZ/Debug/Act 1.asm" Debug_ICZ1_End Debug_ICZ2: dbglistheader - include "Levels/ICZ/Debug/Act 2.asm" + include "Levels/ICZ/Debug/Act 2.asm" Debug_ICZ2_End Debug_LBZ1: dbglistheader - include "Levels/LBZ/Debug/Act 1.asm" + include "Levels/LBZ/Debug/Act 1.asm" Debug_LBZ1_End Debug_LBZ2: dbglistheader - include "Levels/LBZ/Debug/Act 2.asm" + include "Levels/LBZ/Debug/Act 2.asm" Debug_LBZ2_End Debug_MHZ: dbglistheader - include "Levels/MHZ/Debug/Main.asm" + include "Levels/MHZ/Debug/Main.asm" Debug_MHZ_End Debug_SOZ1: dbglistheader - include "Levels/SOZ/Debug/Act 1.asm" + include "Levels/SOZ/Debug/Act 1.asm" Debug_SOZ1_End Debug_SOZ2: dbglistheader - include "Levels/SOZ/Debug/Act 2.asm" + include "Levels/SOZ/Debug/Act 2.asm" Debug_SOZ2_End Debug_LRZ1: dbglistheader - include "Levels/LRZ/Debug/Act 1.asm" + include "Levels/LRZ/Debug/Act 1.asm" Debug_LRZ1_End Debug_LRZ2: dbglistheader - include "Levels/LRZ/Debug/Act 2.asm" + include "Levels/LRZ/Debug/Act 2.asm" Debug_LRZ2_End Debug_SSZ: dbglistheader - include "Levels/SSZ/Debug/Main.asm" + include "Levels/SSZ/Debug/Main.asm" Debug_SSZ_End Debug_DEZ1: dbglistheader - include "Levels/DEZ/Debug/Act 1.asm" + include "Levels/DEZ/Debug/Act 1.asm" Debug_DEZ1_End Debug_DEZ2: dbglistheader - include "Levels/DEZ/Debug/Act 2.asm" + include "Levels/DEZ/Debug/Act 2.asm" Debug_DEZ2_End Debug_DDZ1: dbglistheader - include "Levels/DDZ/Debug/Main.asm" + include "Levels/DDZ/Debug/Main.asm" Debug_DDZ1_End Debug_DDZ2: dbglistheader - include "Levels/DEZ/Debug/Boss.asm" + include "Levels/DEZ/Debug/Boss.asm" Debug_DDZ2_End Debug_Ending: dbglistheader - include "Levels/SSZ/Debug/Ending.asm" + include "Levels/SSZ/Debug/Ending.asm" Debug_Ending_End Debug_ALZ: dbglistheader - include "Levels/ALZ/Debug/Main.asm" + include "Levels/ALZ/Debug/Main.asm" Debug_ALZ_End Debug_BPZ: dbglistheader - include "Levels/BPZ/Debug/Main.asm" + include "Levels/BPZ/Debug/Main.asm" Debug_BPZ_End Debug_DPZ: dbglistheader - include "Levels/DPZ/Debug/Main.asm" + include "Levels/DPZ/Debug/Main.asm" Debug_DPZ_End Debug_CGZ: dbglistheader - include "Levels/CGZ/Debug/Main.asm" + include "Levels/CGZ/Debug/Main.asm" Debug_CGZ_End Debug_EMZ: dbglistheader - include "Levels/EMZ/Debug/Main.asm" + include "Levels/EMZ/Debug/Main.asm" Debug_EMZ_End Debug_Pachinko_Special: dbglistheader - include "Levels/Pachinko/Debug/Main.asm" + include "Levels/Pachinko/Debug/Main.asm" Debug_Pachinko_Special_End Debug_HPZ: dbglistheader - include "Levels/HPZ/Debug/Main.asm" + include "Levels/HPZ/Debug/Main.asm" Debug_HPZ_End Debug_Gumball_Special: dbglistheader - include "Levels/Gumball/Debug/Main.asm" + include "Levels/Gumball/Debug/Main.asm" Debug_Gumball_Special_End Sprite_Listing3:include "Levels/Misc/Object pointers - SK Set 1.asm" @@ -201821,21 +201631,19 @@ Sprite_ListingK:include "Levels/Misc/Object pointers - SK Set 2.asm" endif AngleArray: binclude "Levels/Misc/angles.bin" - even - + even HeightMaps: binclude "Levels/Misc/Height Maps.bin" - even + even HeightMapsRot: binclude "Levels/Misc/Height Maps Rotated.bin" - even + even - if Sonic3_Complete=0 + if Sonic3_Complete=0 Noninterleaved_Solid_Flag EQU 0 - else + else Noninterleaved_Solid_Flag EQU (1<<31) - endif + endif -SolidIndexes: - dc.l Solid_AIZ1+1+Noninterleaved_Solid_Flag +SolidIndexes: dc.l Solid_AIZ1+1+Noninterleaved_Solid_Flag dc.l Solid_AIZ2+1+Noninterleaved_Solid_Flag dc.l Solid_HCZ1+1+Noninterleaved_Solid_Flag dc.l Solid_HCZ2+1+Noninterleaved_Solid_Flag @@ -201883,562 +201691,597 @@ SolidIndexes: dc.l Solid_HPZ dc.l Solid_HPZ dc.l Solid_HPZ +Solid_FBZ: binclude "Levels/FBZ/Collision/1.bin" + even +Solid_MHZ: binclude "Levels/MHZ/Collision/1.bin" + even +Solid_Unknown: binclude "Levels/Misc/Unknown Collision.bin" + even +Solid_SOZ: binclude "Levels/SOZ/Collision/1.bin" + even +Solid_LRZ1: binclude "Levels/LRZ/Collision/1.bin" + even +Solid_LRZ2: binclude "Levels/LRZ/Collision/2.bin" + even +Solid_SSZ1: binclude "Levels/SSZ/Collision/1.bin" + even +Solid_SSZ2: binclude "Levels/SSZ/Collision/2.bin" + even +Solid_DEZ: binclude "Levels/DEZ/Collision/1.bin" + even +Solid_DDZ: binclude "Levels/DDZ/Collision/1.bin" + even +Solid_Pachinko_Special: + binclude "Levels/Pachinko/Collision/1.bin" + even +Solid_Slots_Special: + binclude "Levels/Slots/Collision/1.bin" + even -Solid_FBZ: binclude "Levels/FBZ/Collision/1.bin" - even -Solid_MHZ: binclude "Levels/MHZ/Collision/1.bin" - even -Solid_Unknown: binclude "Levels/Misc/Unknown Collision.bin" - even -Solid_SOZ: binclude "Levels/SOZ/Collision/1.bin" - even -Solid_LRZ1: binclude "Levels/LRZ/Collision/1.bin" - even -Solid_LRZ2: binclude "Levels/LRZ/Collision/2.bin" - even -Solid_SSZ1: binclude "Levels/SSZ/Collision/1.bin" - even -Solid_SSZ2: binclude "Levels/SSZ/Collision/2.bin" - even -Solid_DEZ: binclude "Levels/DEZ/Collision/1.bin" - even -Solid_DDZ: binclude "Levels/DDZ/Collision/1.bin" - even -Solid_Pachinko_Special: binclude "Levels/Pachinko/Collision/1.bin" - even -Solid_Slots_Special: binclude "Levels/Slots/Collision/1.bin" - even -Solid_LRZBoss: binclude "Levels/LRZ/Collision/3.bin" - even -Solid_HPZ: binclude "Levels/HPZ/Collision/1.bin" - even -LevelPtrs: dc.l Layout_AIZ1 ; 0 - dc.l Layout_AIZ2 ; 1 - dc.l Layout_HCZ1 ; 2 - dc.l Layout_HCZ2 ; 3 - dc.l Layout_MGZ1 ; 4 - dc.l Layout_MGZ2 ; 5 - dc.l Layout_CNZ1 ; 6 - dc.l Layout_CNZ2 ; 7 - dc.l Layout_FBZ1 ; 8 - dc.l Layout_FBZ2 ; 9 - dc.l Layout_ICZ1 ; 10 - dc.l Layout_ICZ2 ; 11 - dc.l Layout_LBZ1 ; 12 - dc.l Layout_LBZ2 ; 13 - dc.l Layout_MHZ1 ; 14 - dc.l Layout_MHZ2 ; 15 - dc.l Layout_SOZ1 ; 16 - dc.l Layout_SOZ2 ; 17 - dc.l Layout_LRZ1 ; 18 - dc.l Layout_LRZ2 ; 19 - dc.l Layout_SSZ1 ; 20 - dc.l Layout_SSZ2 ; 21 - dc.l Layout_DEZ1 ; 22 - dc.l Layout_DEZ2 ; 23 - dc.l Layout_DDZ ; 24 - dc.l Layout_DDZ ; 25 - dc.l Layout_SSZ2 ; 26 - dc.l Layout_SSZ2 ; 27 - dc.l Layout_ALZ ; 28 - dc.l Layout_ALZ ; 29 - dc.l Layout_BPZ ; 30 - dc.l Layout_BPZ ; 31 - dc.l Layout_DPZ ; 32 - dc.l Layout_DPZ ; 33 - dc.l Layout_CGZ ; 34 - dc.l Layout_CGZ ; 35 - dc.l Layout_EMZ ; 36 - dc.l Layout_EMZ ; 37 - dc.l Layout_Gumball_Special; 38 - dc.l Layout_Gumball_Special; 39 - dc.l Layout_Pachinko_Special; 40 - dc.l Layout_Pachinko_Special; 41 - dc.l Layout_Slots_Special; 42 - dc.l Layout_Slots_Special; 43 - dc.l Layout_LRZBoss ; 44 - dc.l Layout_HPZ ; 45 - dc.l Layout_DEZBoss ; 46 - dc.l Layout_HPZ ; 47 +Solid_LRZBoss: binclude "Levels/LRZ/Collision/3.bin" + even +Solid_HPZ: binclude "Levels/HPZ/Collision/1.bin" + even +LevelPtrs: dc.l Layout_AIZ1 + dc.l Layout_AIZ2 + dc.l Layout_HCZ1 + dc.l Layout_HCZ2 + dc.l Layout_MGZ1 + dc.l Layout_MGZ2 + dc.l Layout_CNZ1 + dc.l Layout_CNZ2 + dc.l Layout_FBZ1 + dc.l Layout_FBZ2 + dc.l Layout_ICZ1 + dc.l Layout_ICZ2 + dc.l Layout_LBZ1 + dc.l Layout_LBZ2 + dc.l Layout_MHZ1 + dc.l Layout_MHZ2 + dc.l Layout_SOZ1 + dc.l Layout_SOZ2 + dc.l Layout_LRZ1 + dc.l Layout_LRZ2 + dc.l Layout_SSZ1 + dc.l Layout_SSZ2 + dc.l Layout_DEZ1 + dc.l Layout_DEZ2 + dc.l Layout_DDZ + dc.l Layout_DDZ + dc.l Layout_SSZ2 + dc.l Layout_SSZ2 + dc.l Layout_ALZ + dc.l Layout_ALZ + dc.l Layout_BPZ + dc.l Layout_BPZ + dc.l Layout_DPZ + dc.l Layout_DPZ + dc.l Layout_CGZ + dc.l Layout_CGZ + dc.l Layout_EMZ + dc.l Layout_EMZ + dc.l Layout_Gumball_Special + dc.l Layout_Gumball_Special + dc.l Layout_Pachinko_Special + dc.l Layout_Pachinko_Special + dc.l Layout_Slots_Special + dc.l Layout_Slots_Special + dc.l Layout_LRZBoss + dc.l Layout_HPZ + dc.l Layout_DEZBoss + dc.l Layout_HPZ Layout_FBZ1: binclude "Levels/FBZ/Layout/1.bin" - even + even Layout_FBZ2: binclude "Levels/FBZ/Layout/2.bin" - even + even Layout_MHZ1: binclude "Levels/MHZ/Layout/1.bin" - even + even Layout_MHZ2: binclude "Levels/MHZ/Layout/2.bin" - even + even Layout_SOZ1: binclude "Levels/SOZ/Layout/1.bin" - even + even Layout_SOZ2: binclude "Levels/SOZ/Layout/2.bin" - even + even Layout_LRZ1: binclude "Levels/LRZ/Layout/1.bin" - even + even Layout_LRZ2: binclude "Levels/LRZ/Layout/2.bin" - even + even Layout_SSZ1: binclude "Levels/SSZ/Layout/1.bin" - even + even Layout_SSZ2: binclude "Levels/SSZ/Layout/2.bin" - even + even Layout_DEZ1: binclude "Levels/DEZ/Layout/1.bin" - even + even Layout_DEZ2: binclude "Levels/DEZ/Layout/2.bin" - even + even Layout_DDZ: binclude "Levels/DDZ/Layout/1.bin" - even -Layout_Pachinko_Special:binclude "Levels/Pachinko/Layout/1.bin" - even -Layout_Slots_Special:binclude "Levels/Slots/Layout/1.bin" - even + even +Layout_Pachinko_Special: + binclude "Levels/Pachinko/Layout/1.bin" + even +Layout_Slots_Special: + binclude "Levels/Slots/Layout/1.bin" + even + Layout_LRZBoss: binclude "Levels/LRZ/Layout/3.bin" - even + even Layout_HPZ: binclude "Levels/HPZ/Layout/1.bin" - even - + even Layout_DEZBoss: binclude "Levels/DEZ/Layout/3.bin" - even -MHZ_Custom_Layout:binclude "Levels/MHZ/Layout/3.bin" - even -PalPoint: - include "Levels/Misc/Palette pointers.asm" -Pal_Unknown1: binclude "Levels/Misc/Palettes/Unknown 1.bin" - even - -Pal_Unknown2: binclude "Levels/Misc/Palettes/Unknown 2.bin" - even - -Pal_Unknown3: binclude "Levels/Misc/Palettes/Unknown 3.bin" - even - -Pal_SonicTails: binclude "General/Sprites/Sonic/Palettes/SonicAndTails.bin" - even + even +MHZ_Custom_Layout: + binclude "Levels/MHZ/Layout/3.bin" + even +PalPoint: include "Levels/Misc/Palette pointers.asm" +Pal_S2Sega: binclude "General/Sprites/S2Menu/Palettes/Sega Screen.bin" + even +Pal_S2Title: binclude "General/Sprites/S2Menu/Palettes/Title Screen SK.bin" + even +Pal_S2LevSel: binclude "General/Sprites/S2Menu/Palettes/Proto Level Select SK.bin" + even +Pal_SonicTails: binclude "General/Sprites/Sonic/Palettes/SonicAndTails.bin" + even Pal_S2Menu: binclude "General/Sprites/S2Menu/Palettes/Main.bin" - even - + even Pal_Knuckles: binclude "General/Sprites/Knuckles/Palettes/Main.bin" - even - + even Pal_AIZIntro: binclude "Levels/AIZ/Palettes/Intro.bin" - even - + even Pal_AIZ: binclude "Levels/AIZ/Palettes/Main.bin" - even - + even Pal_AIZFire: binclude "Levels/AIZ/Palettes/Fire.bin" - even - + even Pal_AIZBoss: binclude "Levels/AIZ/Palettes/Boss.bin" - even - + even Pal_AIZ_Water: binclude "Levels/AIZ/Palettes/Water.bin" - even - + even Pal_AIZ2_Water: binclude "Levels/AIZ/Palettes/Act 2 Water.bin" - even - + even Pal_HCZ1: binclude "Levels/HCZ/Palettes/1.bin" - even - + even Pal_HCZ2: binclude "Levels/HCZ/Palettes/2.bin" - even - + even Pal_HCZ1_Water: binclude "Levels/HCZ/Palettes/Act 1 Water.bin" - even - + even Pal_HCZ2_Water: binclude "Levels/HCZ/Palettes/Act 2 Water.bin" - even - + even Pal_MGZ: binclude "Levels/MGZ/Palettes/Main.bin" - even - - + even Pal_CNZ: binclude "Levels/CNZ/Palettes/Main.bin" - even - + even Pal_CNZ_Water: binclude "Levels/CNZ/Palettes/Water.bin" - even - + even Pal_FBZ1: binclude "Levels/FBZ/Palettes/FBZ1.bin" - even - + even Pal_FBZ2: binclude "Levels/FBZ/Palettes/FBZ2.bin" - even - + even Pal_ICZ1: binclude "Levels/ICZ/Palettes/1.bin" - even - + even Pal_ICZ2: binclude "Levels/ICZ/Palettes/2.bin" - even - - + even Pal_ICZ2_Water: binclude "Levels/ICZ/Palettes/Act 2 Water.bin" - even - + even Pal_LBZ1: binclude "Levels/LBZ/Palettes/1.bin" - even - - + even Pal_LBZ2: binclude "Levels/LBZ/Palettes/2.bin" - even - + even Pal_LBZ_Water: binclude "Levels/LBZ/Palettes/Act 2 Water.bin" - even - - + even Pal_LBZ_Water2: binclude "Levels/LBZ/Palettes/Act 2 Water 2.bin" - even - + even Pal_MHZ1: binclude "Levels/MHZ/Palettes/1.bin" - even - + even Pal_MHZ2: binclude "Levels/MHZ/Palettes/2.bin" - even - - + even Pal_SOZ1: binclude "Levels/SOZ/Palettes/1.bin" - even - + even Pal_S0Z2: binclude "Levels/SOZ/Palettes/2.bin" - even - + even Pal_SOZ1_Clone: binclude "Levels/SOZ/Palettes/Act 1 Clone.bin" - even - + even Pal_SOZ2_Extra: binclude "Levels/SOZ/Palettes/Act 2 Extra.bin" - even - + even Pal_LRZ1: binclude "Levels/LRZ/Palettes/1.bin" - even - - + even Pal_LRZ2: binclude "Levels/LRZ/Palettes/2.bin" - even - - + even Pal_SSZ1: binclude "Levels/SSZ/Palettes/1.bin" - even - - + even Pal_SSZ2: binclude "Levels/SSZ/Palettes/2.bin" - even - -Pal_EndingObjects: binclude "General/Ending/Palettes/Objects.bin" - even - - + even +Pal_EndingObjects: + binclude "General/Ending/Palettes/Objects.bin" + even Pal_Ending1: binclude "General/Ending/Palettes/Ending 1.bin" - even - - + even Pal_Ending2: binclude "General/Ending/Palettes/Ending 2.bin" - even - - + even Pal_DEZ1: binclude "Levels/DEZ/Palettes/1.bin" - even - + even Pal_DEZ2: binclude "Levels/DEZ/Palettes/2.bin" - even - + even Pal_DDZ: binclude "Levels/DDZ/Palettes/Main.bin" - even - - + even Pal_ALZ: binclude "Levels/ALZ/Palettes/Main.bin" - even - - + even Pal_BPZ: binclude "Levels/BPZ/Palettes/Main.bin" - even - - + even Pal_DPZ: binclude "Levels/DPZ/Palettes/Main.bin" - even - + even Pal_CGZ: binclude "Levels/CGZ/Palettes/Main.bin" - even - + even Pal_EMZ: binclude "Levels/EMZ/Palettes/Main.bin" - even - -Pal_Gumball_Special:binclude "Levels/Gumball/Palettes/Main.bin" - even - -Pal_Pachinko_Special:binclude "Levels/Pachinko/Palettes/Main.bin" - even - -Pal_Slot_Special:binclude "Levels/Slots/Palettes/Main.bin" - even + even +Pal_Gumball_Special: + binclude "Levels/Gumball/Palettes/Main.bin" + even +Pal_Pachinko_Special: + binclude "Levels/Pachinko/Palettes/Main.bin" + even +Pal_Slot_Special: + binclude "Levels/Slots/Palettes/Main.bin" + even Pal_LRZBoss: binclude "Levels/LRZ/Palettes/Boss Act.bin" - even - + even Pal_HPZ_A: binclude "Levels/HPZ/Palettes/1_A.bin" - even - - + even Pal_HPZ_B: binclude "Levels/HPZ/Palettes/1_B.bin" - even - + even Pal_DEZBoss: binclude "Levels/DEZ/Palettes/Boss.bin" - even - -ArtUnc_AirCountDown:binclude "General/Sprites/Bubbles/Air Countdown.bin" - even - -ArtUnc_SONICMILES:binclude "General/Sprites/S2Menu/SONICMILES.bin" - even - -ArtUnc_SStageSonic:binclude "General/Sprites/Sonic/Art/SStage Sonic.bin" - even -Map_SStageSonic:include "General/Sprites/Sonic/Map - SStage Sonic.asm" - -ArtUnc_SStageKnuckles:binclude "General/Sprites/Knuckles/Art/SStage Knuckles.bin" - even -Map_SStageKnuckles:include "General/Sprites/Knuckles/Map - SStage Knuckles.asm" - -ArtNem_SStageShadow: binclude "General/Special Stage/Nemesis Art/Shadow.bin" - even -ArtNem_GetBlueSpheres: binclude "General/Special Stage/Nemesis Art/Get Blue Spheres.bin" - even -ArtNem_GBSArrow: binclude "General/Special Stage/Nemesis Art/Get Blue Spheres Arrow.bin" - even -ArtNem_SStageDigits: binclude "General/Special Stage/Nemesis Art/Digits.bin" - even -ArtNem_SStageIcons: binclude "General/Special Stage/Nemesis Art/Icons.bin" - even -ArtNem_SStageSphere: binclude "General/Special Stage/Nemesis Art/Sphere.bin" - even -ArtNem_SStageRing: binclude "General/Special Stage/Nemesis Art/Ring.bin" - even -ArtKosM_SStageChaosEmerald:binclude "General/Special Stage/KosinskiM Art/Special Stage Chaos Emerald.bin" - even -ArtKosM_SStageSuperEmerald:binclude "General/Special Stage/KosinskiM Art/Special Stage Super Emerald.bin" - even -MapEni_SStageBG: binclude "General/Special Stage/Enigma Map/BG.bin" - even -ArtNem_SStageBG: binclude "General/Special Stage/Nemesis Art/BG.bin" - even -MapEni_SStageLayout: binclude "General/Special Stage/Enigma Map/Layout.bin" - even -ArtNem_SStageLayout: binclude "General/Special Stage/Nemesis Art/Layout.bin" - even -SStageKos_PerspectiveMaps: binclude "General/Special Stage/Layout/Perspective Maps.bin" - even + even +ArtUnc_AirCountdown: + binclude "General/Sprites/Dash Dust/Air Countdown.bin" + even +ArtUnc_SONICMILES: + binclude "General/Sprites/S2Menu/SONICMILES.bin" + even +ArtUnc_SStageSonic: + binclude "General/Sprites/Sonic/Art/SStage Sonic.bin" + even +Map_SStageSonic: + include "General/Sprites/Sonic/Map - SStage Sonic.asm" + +ArtUnc_SStageKnuckles: + binclude "General/Sprites/Knuckles/Art/SStage Knuckles.bin" + even +Map_SStageKnuckles: + include "General/Sprites/Knuckles/Map - SStage Knuckles.asm" + +ArtNem_SStageShadow: + binclude "General/Special Stage/Nemesis Art/Shadow.bin" + even +ArtNem_GetBlueSpheres: + binclude "General/Special Stage/Nemesis Art/Get Blue Spheres.bin" + even +ArtNem_GBSArrow: + binclude "General/Special Stage/Nemesis Art/Get Blue Spheres Arrow.bin" + even +ArtNem_SStageDigits: + binclude "General/Special Stage/Nemesis Art/Digits.bin" + even +ArtNem_SStageIcons: + binclude "General/Special Stage/Nemesis Art/Icons.bin" + even +ArtNem_SStageSphere: + binclude "General/Special Stage/Nemesis Art/Sphere.bin" + even +ArtNem_SStageRing: + binclude "General/Special Stage/Nemesis Art/Ring.bin" + even +ArtKosM_SStageChaosEmerald: + binclude "General/Special Stage/KosinskiM Art/Special Stage Chaos Emerald.bin" + even +ArtKosM_SStageSuperEmerald: + binclude "General/Special Stage/KosinskiM Art/Special Stage Super Emerald.bin" + even +MapEni_SStageBG: + binclude "General/Special Stage/Enigma Map/BG.bin" + even +ArtNem_SStageBG: + binclude "General/Special Stage/Nemesis Art/BG.bin" + even +MapEni_SStageLayout: + binclude "General/Special Stage/Enigma Map/Layout.bin" + even +ArtNem_SStageLayout: + binclude "General/Special Stage/Nemesis Art/Layout.bin" + even +SStageKos_PerspectiveMaps: + binclude "General/Special Stage/Layout/Perspective Maps.bin" + even if ~~strip_padding cnop0 -$40,$100 endif -ArtUnc_AniFBZ__0: binclude "Levels/FBZ/Animated Tiles/0.bin" - even -ArtUnc_AniFBZ__1: binclude "Levels/FBZ/Animated Tiles/1.bin" - even -ArtUnc_AniFBZ__2: binclude "Levels/FBZ/Animated Tiles/2.bin" - even -ArtUnc_AniFBZ__3: binclude "Levels/FBZ/Animated Tiles/3.bin" - even -ArtUnc_AniFBZ__4: binclude "Levels/FBZ/Animated Tiles/4.bin" - even -ArtUnc_AniMHZ__BG: binclude "Levels/MHZ/Animated Tiles/BG 1.bin" - even -ArtUnc_AniMHZ__BG2: binclude "Levels/MHZ/Animated Tiles/BG 2.bin" - even -ArtUnc_AniMHZ__0: binclude "Levels/MHZ/Animated Tiles/0.bin" - even -ArtUnc_AniMHZ__1: binclude "Levels/MHZ/Animated Tiles/1.bin" - even -ArtUnc_AniMHZ__2: binclude "Levels/MHZ/Animated Tiles/2.bin" - even -ArtUnc_AniMHZ__3: binclude "Levels/MHZ/Animated Tiles/3.bin" - even -ArtUnc_AniSOZ1_BG: binclude "Levels/SOZ/Animated Tiles/Act1 BG 1.bin" - even -ArtUnc_AniSOZ1_BG2: binclude "Levels/SOZ/Animated Tiles/Act1 BG 2.bin" - even -ArtUnc_AniSOZ2_BG: binclude "Levels/SOZ/Animated Tiles/Act2 BG.bin" - even -ArtUnc_AniLRZ__BG: binclude "Levels/LRZ/Animated Tiles/BG 1.bin" - even -ArtUnc_AniLRZ__BG2: binclude "Levels/LRZ/Animated Tiles/BG 2.bin" - even -ArtUnc_AniLRZ1_0: binclude "Levels/LRZ/Animated Tiles/Act1 0.bin" - even -ArtUnc_AniLRZ1_1: binclude "Levels/LRZ/Animated Tiles/Act1 1.bin" - even -ArtUnc_AniLRZ2_0: binclude "Levels/LRZ/Animated Tiles/Act2 0.bin" - even -ArtUnc_AniLRZ2_1: binclude "Levels/LRZ/Animated Tiles/Act2 1.bin" - even -ArtUnc_AniHPZ__0: binclude "Levels/HPZ/Animated Tiles/0.bin" - even -ArtUnc_AniHPZ__1: binclude "Levels/HPZ/Animated Tiles/1.bin" - even -ArtUnc_AniHPZ__2: binclude "Levels/HPZ/Animated Tiles/2.bin" - even -ArtUnc_AniHPZ__3: binclude "Levels/HPZ/Animated Tiles/3.bin" - even -ArtUnc_AniSSZ__0: binclude "Levels/SSZ/Animated Tiles/0.bin" - even -ArtUnc_AniSSZ__1: binclude "Levels/SSZ/Animated Tiles/1.bin" - even -ArtUnc_AniSSZ__2: binclude "Levels/SSZ/Animated Tiles/2.bin" - even -ArtUnc_AniSSZ__3: binclude "Levels/SSZ/Animated Tiles/3.bin" - even -ArtUnc_AniSSZ__4: binclude "Levels/SSZ/Animated Tiles/4.bin" - even -ArtUnc_AniSSZ__5: binclude "Levels/SSZ/Animated Tiles/5.bin" - even -ArtUnc_AniDEZ__0: binclude "Levels/DEZ/Animated Tiles/0.bin" - even -ArtUnc_AniDEZ__1: binclude "Levels/DEZ/Animated Tiles/1.bin" - even -ArtUnc_AniDEZ__2: binclude "Levels/DEZ/Animated Tiles/2.bin" - even -ArtUnc_AniDEZ__3: binclude "Levels/DEZ/Animated Tiles/3.bin" - even -ArtUnc_AniDEZ__4: binclude "Levels/DEZ/Animated Tiles/4.bin" - even -ArtUnc_AniDEZ__5: binclude "Levels/DEZ/Animated Tiles/5.bin" - even -ArtUnc_AniDEZ__6: binclude "Levels/DEZ/Animated Tiles/6.bin" - even -ArtUnc_AniDEZ__7: binclude "Levels/DEZ/Animated Tiles/7.bin" - even -ArtUnc_AniPachinko:binclude "Levels/Pachinko/Animated Tiles/0.bin" - even -ArtNem_S22POptions:binclude "General/Sprites/S2Menu/2P Options.bin" - even - -MapEni_S22POptions:binclude "General/Sprites/S2Menu/Enigma Map/2P Options.bin" - even - -LRZ1_Rock_Placement: dc.w 0, 0, 0 - binclude "Levels/LRZ/Misc/Act 1 Rock Placement.bin" - even - -LRZ2_Rock_Placement: dc.w 0, 0, 0 - binclude "Levels/LRZ/Misc/Act 2 Rock Placement.bin" - even - -Map_SKTitle_SonicFall: include "General/Title/Map - SK Sonic Falling.asm" - even -Map_SKTitle_DeathEgg: include "General/Title/Map - SK Death Egg.asm" - even -Map_SKTitle_Banner: include "General/Title/Map - SK Banner.asm" - even -Map_SKTitle_Mountain: include "General/Title/Map - SK Mountain.asm" - even -MapEni_SKTitle_Sega: binclude "General/Title/Enigma Map/SK SEGA.bin" - even -MapEni_SKTitle_Frame1: binclude "General/Title/Enigma Map/SK SonicKnux Frame 1.bin" - even -MapEni_SKTitle_Frame2: binclude "General/Title/Enigma Map/SK SonicKnux Frame 2.bin" - even -MapEni_SKTitle_Frame3: binclude "General/Title/Enigma Map/SK SonicKnux Frame 3.bin" - even -MapEni_SKTitle_Frame4: binclude "General/Title/Enigma Map/SK SonicKnux Frame 4.bin" - even -MapEni_SKTitle_Background: binclude "General/Title/Enigma Map/SK Background.bin" - even -ArtKos_BigSEGA: binclude "General/Title/Kosinski Art/SK Big SEGA.bin" - even -ArtKos_SKTitleScreenBG: binclude "General/Title/Kosinski Art/SK Screen Background.bin" - even -ArtKosM_SonicKnuxStand: binclude "General/Title/KosinskiM Art/SK Sonic Knuckles.bin" - even -ArtKosM_SonicLand: binclude "General/Title/KosinskiM Art/SK Sonic Land Frames.bin" - even -ArtKos_SKTitle_SonicFall: binclude "General/Title/Kosinski Art/SK Sonic Falling.bin" - even -ArtKos_SKTitle_DeathEgg: binclude "General/Title/Kosinski Art/SK Death Egg.bin" - even -ArtKos_SKTitle_Mountain: binclude "General/Title/Kosinski Art/SK Mountain Sprite.bin" - even -ArtKosM_SKTitle_Banner: binclude "General/Title/KosinskiM Art/SK Banner.bin" - even -ArtKos_SKTitle_SonKnuxHand: binclude "General/Title/Kosinski Art/SK Sonic and Knuckles Hands.bin" - even -ArtKosM_SKTitle_Menu: binclude "General/Title/KosinskiM Art/SK Menu.bin" - even -ArtNem_Title_ANDKnuckles: binclude "General/Title/Nemesis Art/SK ANDKnuckles.bin" - even -ArtKosM_ResultsKNUCKLES: binclude "General/Sprites/Results/Results KNUCKLES.bin" - even -ArtKosM_ResultsGeneral: binclude "General/Sprites/Results/Results General.bin" - even -ArtKosM_TitleCardNum1: binclude "General/Sprites/Title Card/Title Card Number 1.bin" - even - -ArtKosM_TitleCardNum2: binclude "General/Sprites/Title Card/Title Card Number 2.bin" - even - -ArtKosM_TitleCardRedAct: binclude "General/Sprites/Title Card/Title Card Red ACT.bin" - even -ArtKosM_FBZTitleCard: binclude "Levels/FBZ/KosinskiM Art/Title Card.bin" - even -ArtKosM_BonusTitleCard: binclude "General/Sprites/Title Card/Bonus Title Card.bin" - even -ArtNem_BossExplosion: binclude "General/Sprites/Boss Explosion/Boss Explosion.bin" - even - -ArtNem_RobotnikShip: binclude "General/Sprites/Robotnik/Ship.bin" - even - -ArtNem_FBZRobotnikHead: binclude "General/Sprites/Robotnik/FBZ Robotnik Head.bin" - even -ArtNem_FBZRobotnikStand: binclude "General/Sprites/Robotnik/FBZ Robotnik Stand.bin" - even - -ArtNem_FBZRobotnikRun: binclude "General/Sprites/Robotnik/FBZ Robotnik Run.bin" - even - -ArtUnc_SSEntryRing: binclude "General/Sprites/SS Entry/Entry Ring.bin" - even -ArtUnc_SSEntryFlash: binclude "General/Sprites/SS Entry/Entry Flash.bin" - even -ArtKosM_BadnikExplosion: binclude "General/Sprites/SS Entry/Badnik Explosion.bin" - even -ArtNem_FBZMinibossUnused: binclude "Levels/FBZ/Nemesis Art/S3 Miniboss.bin" - even -ArtNem_FBZ2Subboss: binclude "Levels/FBZ/Nemesis Art/Act 2 Subboss.bin" - even - -ArtNem_FBZEndBoss: binclude "Levels/FBZ/Nemesis Art/End Boss.bin" - even -ArtKosM_Blaster: binclude "General/Sprites/Blaster/Blaster.bin" - even -ArtKosM_Technosqueek: binclude "General/Sprites/Technosqueek/Technosqueek.bin" - even -ArtUnc_EndSigns: binclude "General/Sprites/Signpost/End Signs.bin" - even -ArtNem_SignpostStub: binclude "General/Sprites/Signpost/Stub.bin" - even -ArtNem_EggCapsule: binclude "General/Sprites/Robotnik/Egg Capsule.bin" - even - -ArtNem_BlueSphereText: binclude "General/Blue Sphere/Nemesis Art/Large Text.bin" - even - -ArtNem_FBZEndBossFlame: binclude "Levels/FBZ/Nemesis Art/End Boss Flame.bin" - even -ArtKosM_ANDKnuckles:dc.w $4C0 -ArtKos_ANDKnuckles: binclude "General/Title/Kosinski Art/SK ANDKnuckles Subtitle.bin" - even +ArtUnc_AniFBZ__0: + binclude "Levels/FBZ/Animated Tiles/0.bin" + even +ArtUnc_AniFBZ__1: + binclude "Levels/FBZ/Animated Tiles/1.bin" + even +ArtUnc_AniFBZ__2: + binclude "Levels/FBZ/Animated Tiles/2.bin" + even +ArtUnc_AniFBZ__3: + binclude "Levels/FBZ/Animated Tiles/3.bin" + even +ArtUnc_AniFBZ__4: + binclude "Levels/FBZ/Animated Tiles/4.bin" + even +ArtUnc_AniMHZ__BG: + binclude "Levels/MHZ/Animated Tiles/BG 1.bin" + even +ArtUnc_AniMHZ__BG2: + binclude "Levels/MHZ/Animated Tiles/BG 2.bin" + even +ArtUnc_AniMHZ__0: + binclude "Levels/MHZ/Animated Tiles/0.bin" + even +ArtUnc_AniMHZ__1: + binclude "Levels/MHZ/Animated Tiles/1.bin" + even +ArtUnc_AniMHZ__2: + binclude "Levels/MHZ/Animated Tiles/2.bin" + even +ArtUnc_AniMHZ__3: + binclude "Levels/MHZ/Animated Tiles/3.bin" + even +ArtUnc_AniSOZ1_BG: + binclude "Levels/SOZ/Animated Tiles/Act1 BG 1.bin" + even +ArtUnc_AniSOZ1_BG2: + binclude "Levels/SOZ/Animated Tiles/Act1 BG 2.bin" + even +ArtUnc_AniSOZ2_BG: + binclude "Levels/SOZ/Animated Tiles/Act2 BG.bin" + even +ArtUnc_AniLRZ__BG: + binclude "Levels/LRZ/Animated Tiles/BG 1.bin" + even +ArtUnc_AniLRZ__BG2: + binclude "Levels/LRZ/Animated Tiles/BG 2.bin" + even +ArtUnc_AniLRZ1_0: + binclude "Levels/LRZ/Animated Tiles/Act1 0.bin" + even +ArtUnc_AniLRZ1_1: + binclude "Levels/LRZ/Animated Tiles/Act1 1.bin" + even +ArtUnc_AniLRZ2_0: + binclude "Levels/LRZ/Animated Tiles/Act2 0.bin" + even +ArtUnc_AniLRZ2_1: + binclude "Levels/LRZ/Animated Tiles/Act2 1.bin" + even +ArtUnc_AniHPZ__0: + binclude "Levels/HPZ/Animated Tiles/0.bin" + even +ArtUnc_AniHPZ__1: + binclude "Levels/HPZ/Animated Tiles/1.bin" + even +ArtUnc_AniHPZ__2: + binclude "Levels/HPZ/Animated Tiles/2.bin" + even +ArtUnc_AniHPZ__3: + binclude "Levels/HPZ/Animated Tiles/3.bin" + even +ArtUnc_AniSSZ__0: + binclude "Levels/SSZ/Animated Tiles/0.bin" + even +ArtUnc_AniSSZ__1: + binclude "Levels/SSZ/Animated Tiles/1.bin" + even +ArtUnc_AniSSZ__2: + binclude "Levels/SSZ/Animated Tiles/2.bin" + even +ArtUnc_AniSSZ__3: + binclude "Levels/SSZ/Animated Tiles/3.bin" + even +ArtUnc_AniSSZ__4: + binclude "Levels/SSZ/Animated Tiles/4.bin" + even +ArtUnc_AniSSZ__5: + binclude "Levels/SSZ/Animated Tiles/5.bin" + even +ArtUnc_AniDEZ__0: + binclude "Levels/DEZ/Animated Tiles/0.bin" + even +ArtUnc_AniDEZ__1: + binclude "Levels/DEZ/Animated Tiles/1.bin" + even +ArtUnc_AniDEZ__2: + binclude "Levels/DEZ/Animated Tiles/2.bin" + even +ArtUnc_AniDEZ__3: + binclude "Levels/DEZ/Animated Tiles/3.bin" + even +ArtUnc_AniDEZ__4: + binclude "Levels/DEZ/Animated Tiles/4.bin" + even +ArtUnc_AniDEZ__5: + binclude "Levels/DEZ/Animated Tiles/5.bin" + even +ArtUnc_AniDEZ__6: + binclude "Levels/DEZ/Animated Tiles/6.bin" + even +ArtUnc_AniDEZ__7: + binclude "Levels/DEZ/Animated Tiles/7.bin" + even +ArtUnc_AniPachinko: + binclude "Levels/Pachinko/Animated Tiles/0.bin" + even +ArtNem_S22POptions: + binclude "General/Sprites/S2Menu/2P Options.bin" + even +MapEni_S22POptions: + binclude "General/Sprites/S2Menu/Enigma Map/2P Options.bin" + even +LRZ1_Rock_Placement: + dc.w 0, 0, 0 + binclude "Levels/LRZ/Misc/Act 1 Rock Placement.bin" + even +LRZ2_Rock_Placement: + dc.w 0, 0, 0 + binclude "Levels/LRZ/Misc/Act 2 Rock Placement.bin" + even +Map_SKTitle_SonicFall: + include "General/Title/Map - SK Sonic Falling.asm" + even +Map_SKTitle_DeathEgg: + include "General/Title/Map - SK Death Egg.asm" + even +Map_SKTitle_Banner: + include "General/Title/Map - SK Banner.asm" + even +Map_SKTitle_Mountain: + include "General/Title/Map - SK Mountain.asm" + even +MapEni_SKTitle_Sega: + binclude "General/Title/Enigma Map/SK SEGA.bin" + even +MapEni_SKTitle_Frame1: + binclude "General/Title/Enigma Map/SK SonicKnux Frame 1.bin" + even +MapEni_SKTitle_Frame2: + binclude "General/Title/Enigma Map/SK SonicKnux Frame 2.bin" + even +MapEni_SKTitle_Frame3: + binclude "General/Title/Enigma Map/SK SonicKnux Frame 3.bin" + even +MapEni_SKTitle_Frame4: + binclude "General/Title/Enigma Map/SK SonicKnux Frame 4.bin" + even +MapEni_SKTitle_Background: + binclude "General/Title/Enigma Map/SK Background.bin" + even +ArtKos_BigSEGA: + binclude "General/Title/Kosinski Art/SK Big SEGA.bin" + even +ArtKos_SKTitleScreenBG: + binclude "General/Title/Kosinski Art/SK Screen Background.bin" + even +ArtKosM_SonicKnuxStand: + binclude "General/Title/KosinskiM Art/SK Sonic Knuckles.bin" + even +ArtKosM_SonicLand: + binclude "General/Title/KosinskiM Art/SK Sonic Land Frames.bin" + even +ArtKos_SKTitle_SonicFall: + binclude "General/Title/Kosinski Art/SK Sonic Falling.bin" + even +ArtKos_SKTitle_DeathEgg: + binclude "General/Title/Kosinski Art/SK Death Egg.bin" + even +ArtKos_SKTitle_Mountain: + binclude "General/Title/Kosinski Art/SK Mountain Sprite.bin" + even +ArtKosM_SKTitle_Banner: + binclude "General/Title/KosinskiM Art/SK Banner.bin" + even +ArtKos_SKTitle_SonKnuxHand: + binclude "General/Title/Kosinski Art/SK Sonic and Knuckles Hands.bin" + even +ArtKosM_SKTitle_Menu: + binclude "General/Title/KosinskiM Art/SK Menu.bin" + even +ArtNem_Title_ANDKnuckles: + binclude "General/Title/Nemesis Art/SK ANDKnuckles.bin" + even +ArtKosM_ResultsKNUCKLES: + binclude "General/Sprites/Results/Results KNUCKLES.bin" + even +ArtKosM_ResultsGeneral: + binclude "General/Sprites/Results/Results General.bin" + even +ArtKosM_TitleCardNum1: + binclude "General/Sprites/Title Card/Title Card Number 1.bin" + even +ArtKosM_TitleCardNum2: + binclude "General/Sprites/Title Card/Title Card Number 2.bin" + even +ArtKosM_TitleCardRedAct: + binclude "General/Sprites/Title Card/Title Card Red ACT.bin" + even +ArtKosM_FBZTitleCard: + binclude "Levels/FBZ/KosinskiM Art/Title Card.bin" + even +ArtKosM_BonusTitleCard: + binclude "General/Sprites/Title Card/Bonus Title Card.bin" + even +ArtNem_BossExplosion: + binclude "General/Sprites/Boss Explosion/Boss Explosion.bin" + even +ArtNem_RobotnikShip: + binclude "General/Sprites/Robotnik/Ship.bin" + even +ArtNem_FBZRobotnikHead: + binclude "General/Sprites/Robotnik/FBZ Robotnik Head.bin" + even +ArtNem_FBZRobotnikStand: + binclude "General/Sprites/Robotnik/FBZ Robotnik Stand.bin" + even +ArtNem_FBZRobotnikRun: + binclude "General/Sprites/Robotnik/FBZ Robotnik Run.bin" + even +ArtUnc_SSEntryRing: + binclude "General/Sprites/SS Entry/Entry Ring.bin" + even +ArtUnc_SSEntryFlash: + binclude "General/Sprites/SS Entry/Entry Flash.bin" + even +ArtKosM_BadnikExplosion: + binclude "General/Sprites/SS Entry/Badnik Explosion.bin" + even +ArtNem_FBZMinibossUnused: + binclude "Levels/FBZ/Nemesis Art/S3 Miniboss.bin" + even +ArtNem_FBZ2Subboss: + binclude "Levels/FBZ/Nemesis Art/Act 2 Subboss.bin" + even +ArtNem_FBZEndBoss: + binclude "Levels/FBZ/Nemesis Art/End Boss.bin" + even +ArtKosM_Blaster: + binclude "General/Sprites/Blaster/Blaster.bin" + even +ArtKosM_Technosqueek: + binclude "General/Sprites/Technosqueek/Technosqueek.bin" + even +ArtUnc_EndSigns: + binclude "General/Sprites/Signpost/End Signs.bin" + even +ArtNem_SignpostStub: + binclude "General/Sprites/Signpost/Stub.bin" + even +ArtNem_EggCapsule: + binclude "General/Sprites/Robotnik/Egg Capsule.bin" + even +ArtNem_BlueSphereText: + binclude "General/Blue Sphere/Nemesis Art/Large Text.bin" + even +ArtNem_FBZEndBossFlame: + binclude "Levels/FBZ/Nemesis Art/End Boss Flame.bin" + even +ArtKosM_ANDKnuckles: + binclude "General/Ending/KosinskiM Art/ANDKnuckles Subtitle.bin" + even if ~~strip_padding cnop -$600,$1000 endif -ArtNem_Knux_Ending_Pose:binclude "General/Ending/Nemesis Art/Knuckles Ending Pose.bin" - even +ArtNem_KnuxEndPose: + binclude "General/Ending/Nemesis Art/Knuckles Ending Pose.bin" + even if Sonic3_Complete=0 ; Some sprite pointers below point to S2 or S2K data, which we're not dealing with in this disassembly for the time being ; As such, they are intentionally left unlabelled -S2K_Sprite_Lists:dc.l S2KSprite_EHZ1 ; 0 +S2K_Sprite_Lists: + dc.l S2KSprite_EHZ1 ; 0 dc.l S2KSprite_EHZ2 ; 1 dc.l S2KSprite_NULL ; 2 dc.l S2KSprite_NULL ; 3 @@ -202454,374 +202297,481 @@ S2K_Sprite_Lists:dc.l S2KSprite_EHZ1 ; 0 dc.l S2KSprite_WFZ2 ; 13 dc.l S2KSprite_HTZ1 ; 14 dc.l S2KSprite_HTZ2 ; 15 - dc.l $2E8C80 ;byte_2E8C80 ; 16 - dc.l $2E8D94 ;byte_2E8D94 ; 17 + dc.l $2E8C80 ;byte_2E8C80 ; 16 + dc.l $2E8D94 ;byte_2E8D94 ; 17 dc.l S2KSprite_NULL ; 18 dc.l S2KSprite_NULL ; 19 dc.l S2KSprite_OOZ1 ; 20 dc.l S2KSprite_OOZ2 ; 21 dc.l S2KSprite_MCZ1 ; 22 dc.l S2KSprite_MCZ2 ; 23 - dc.l $33F06E ;byte_33F06E ; 24 - dc.l $33F74C ;byte_33F74C ; 25 + dc.l $33F06E ;byte_33F06E ; 24 + dc.l $33F74C ;byte_33F74C ; 25 dc.l S2KSprite_CPZ1 ; 26 dc.l S2KSprite_CPZ2 ; 27 - dc.l $2EB230 ;byte_2EB230 ; 28 - dc.l $2EB254 ;byte_2EB254 ; 29 + dc.l $2EB230 ;byte_2EB230 ; 28 + dc.l $2EB254 ;byte_2EB254 ; 29 dc.l S2KSprite_ARZ1 ; 30 dc.l S2KSprite_ARZ2 ; 31 - dc.l $2EBBDE ;byte_2EBBDE ; 32 - dc.l $2EBD4C ;byte_2EBD4C ; 33 + dc.l $2EBBDE ;byte_2EBBDE ; 32 + dc.l $2EBD4C ;byte_2EBD4C ; 33 dc.w $FFFF, 0, 0 -S2KSprite_EHZ1: binclude "Levels/Misc/S2K Object Pos/EHZ_1.bin" - even -S2KSprite_EHZ2: binclude "Levels/Misc/S2K Object Pos/EHZ_2.bin" - even -S2KSprite_MTZ1: binclude "Levels/Misc/S2K Object Pos/MTZ_1.bin" - even -S2KSprite_MTZ2: binclude "Levels/Misc/S2K Object Pos/MTZ_2.bin" - even -S2KSprite_MTZ3: binclude "Levels/Misc/S2K Object Pos/MTZ_3.bin" - even -S2KSprite_WFZ1: binclude "Levels/Misc/S2K Object Pos/WFZ_1.bin" - even -S2KSprite_WFZ2: binclude "Levels/Misc/S2K Object Pos/WFZ_2.bin" - even -S2KSprite_HTZ1: binclude "Levels/Misc/S2K Object Pos/HTZ_1.bin" - even -S2KSprite_HTZ2: binclude "Levels/Misc/S2K Object Pos/HTZ_2.bin" - even -S2KSprite_OOZ1: binclude "Levels/Misc/S2K Object Pos/OOZ_1.bin" - even -S2KSprite_OOZ2: binclude "Levels/Misc/S2K Object Pos/OOZ_2.bin" - even -S2KSprite_MCZ1: binclude "Levels/Misc/S2K Object Pos/MCZ_1.bin" - even -S2KSprite_MCZ2: binclude "Levels/Misc/S2K Object Pos/MCZ_2.bin" - even -S2KSprite_CPZ1: binclude "Levels/Misc/S2K Object Pos/CPZ_1.bin" - even -S2KSprite_CPZ2: binclude "Levels/Misc/S2K Object Pos/CPZ_2.bin" - even -S2KSprite_ARZ1: binclude "Levels/Misc/S2K Object Pos/ARZ_1.bin" - even -S2KSprite_ARZ2: binclude "Levels/Misc/S2K Object Pos/ARZ_2.bin" - even +S2KSprite_EHZ1: binclude "Levels/Misc/S2K Object Pos/EHZ_1.bin" + even +S2KSprite_EHZ2: binclude "Levels/Misc/S2K Object Pos/EHZ_2.bin" + even +S2KSprite_MTZ1: binclude "Levels/Misc/S2K Object Pos/MTZ_1.bin" + even +S2KSprite_MTZ2: binclude "Levels/Misc/S2K Object Pos/MTZ_2.bin" + even +S2KSprite_MTZ3: binclude "Levels/Misc/S2K Object Pos/MTZ_3.bin" + even +S2KSprite_WFZ1: binclude "Levels/Misc/S2K Object Pos/WFZ_1.bin" + even +S2KSprite_WFZ2: binclude "Levels/Misc/S2K Object Pos/WFZ_2.bin" + even +S2KSprite_HTZ1: binclude "Levels/Misc/S2K Object Pos/HTZ_1.bin" + even +S2KSprite_HTZ2: binclude "Levels/Misc/S2K Object Pos/HTZ_2.bin" + even +S2KSprite_OOZ1: binclude "Levels/Misc/S2K Object Pos/OOZ_1.bin" + even +S2KSprite_OOZ2: binclude "Levels/Misc/S2K Object Pos/OOZ_2.bin" + even +S2KSprite_MCZ1: binclude "Levels/Misc/S2K Object Pos/MCZ_1.bin" + even +S2KSprite_MCZ2: binclude "Levels/Misc/S2K Object Pos/MCZ_2.bin" + even +S2KSprite_CPZ1: binclude "Levels/Misc/S2K Object Pos/CPZ_1.bin" + even +S2KSprite_CPZ2: binclude "Levels/Misc/S2K Object Pos/CPZ_2.bin" + even +S2KSprite_ARZ1: binclude "Levels/Misc/S2K Object Pos/ARZ_1.bin" + even +S2KSprite_ARZ2: binclude "Levels/Misc/S2K Object Pos/ARZ_2.bin" + even S2KSprite_NULL: dc.w $FFFF, 0, 0 endif include "Sound/Flamedriver.asm" - align $8000 ArtUnc_Sonic: binclude "General/Sprites/Sonic/Art/Sonic.bin" - even + even ArtUnc_Knux: binclude "General/Sprites/Knuckles/Art/Knuckles.bin" - even -ArtUnc_Sonic_Extra:binclude "General/Sprites/Sonic/Art/Sonic Extra.bin" - even -ArtUnc_Tails_Extra:binclude "General/Sprites/Tails/Art/Tails Extra.bin" - even + even +ArtUnc_Sonic_Extra: + binclude "General/Sprites/Sonic/Art/Sonic Extra.bin" + even +ArtUnc_Tails_Extra: + binclude "General/Sprites/Tails/Art/Tails Extra.bin" + even Map_Sonic: include "General/Sprites/Sonic/Map - Sonic.asm" - -PLC_Sonic: include "General/Sprites/Sonic/Sonic pattern load cues.asm" - +PLC_Sonic: include "General/Sprites/Sonic/DPLC - Sonic.asm" Map_Tails: include "General/Sprites/Tails/Map - Tails.asm" - -PLC_Tails: include "General/Sprites/Tails/Tails pattern load cues.asm" - +PLC_Tails: include "General/Sprites/Tails/DPLC - Tails.asm" Map_Knuckles: include "General/Sprites/Knuckles/Map - Knuckles.asm" - -PLC_Knuckles: include "General/Sprites/Knuckles/Knuckles pattern load cues.asm" - -ArtKosM_HyperSonicStars:binclude "General/Sprites/Sonic/Art/Hyper Sonic Stars.bin" - even -ArtKosM_SuperTailsBirds:binclude "General/Sprites/Tails/Art/Super Tails birds.bin" - even -ArtNem_FBZMisc: binclude "Levels/FBZ/Nemesis Art/Misc Art 1.bin" - even - -ArtNem_FBZOutdoors: binclude "Levels/FBZ/Nemesis Art/Outdoors.bin" - even -ArtNem_FBZMisc2: binclude "Levels/FBZ/Nemesis Art/Misc Art 2.bin" - even -ArtNem_MHZMisc: binclude "Levels/MHZ/Nemesis Art/Misc Art.bin" - even -ArtNem_SOZMisc: binclude "Levels/SOZ/Nemesis Art/Misc Art.bin" - even - -ArtNem_SOZTile: binclude "Levels/SOZ/Nemesis Art/Tile.bin" - even -ArtNem_SOZ2Extra: binclude "Levels/SOZ/Nemesis Art/Act 2 Extra Art.bin" - even -ArtNem_LRZMisc: binclude "Levels/LRZ/Nemesis Art/Misc Art.bin" - even -ArtNem_LRZSpikes: binclude "Levels/LRZ/Nemesis Art/Spike Crush.bin" - even -ArtNem_LRZBigSpike: binclude "Levels/LRZ/Nemesis Art/Big Spike Ball.bin" - even -ArtNem_LRZ2Misc: binclude "Levels/LRZ/Nemesis Art/Act 2 Misc Art.bin" - even -ArtNem_LRZ2Drum: binclude "Levels/LRZ/Nemesis Art/Act 2 Spinning Drum.bin" - even -ArtNem_SSZMisc: binclude "Levels/SSZ/Nemesis Art/Misc.bin" - even -ArtKosM_SSZSpiralRamp: binclude "Levels/SSZ/KosinskiM Art/Spiral Ramp.bin" - even -ArtNem_DEZMisc: binclude "Levels/DEZ/Nemesis Art/Misc Art.bin" - even - -ArtNem_DEZMiniboss: binclude "Levels/DEZ/Nemesis Art/Miniboss.bin" - even -ArtNem_DEZ2Extra: binclude "Levels/DEZ/Nemesis Art/Act 2 Extra Art.bin" - even -ArtNem_PachinkoMain: binclude "Levels/Pachinko/Nemesis Art/Main.bin" - even -ArtKos_PachinkoBG1: binclude "Levels/Pachinko/Kosinski Art/Animated BG 1.bin" - even -ArtKos_PachinkoBG2: binclude "Levels/Pachinko/Kosinski Art/Animated BG 2.bin" - even -PalKos_Pachinko: binclude "Levels/Pachinko/Palettes/Compressed Pal.bin" - even -ArtNem_SlotsBlocks: binclude "Levels/Slots/Nemesis Art/Blocks.bin" - even -ArtUnc_SlotOptions: binclude "Levels/Slots/Uncompressed Art/Options.bin" - even -ArtKosM_SSZTeleport: binclude "Levels/SSZ/KosinskiM Art/Teleporter Beam.bin" - even -ArtNem_ICZTeleport: binclude "Levels/ICZ/Nemesis Art/Teleporter Beam.bin" - even -ArtKosM_MHZEndBossPillar: binclude "Levels/MHZ/KosinskiM Art/End Boss Pillar.bin" - even -ArtKosM_MHZShipPropeller: binclude "Levels/MHZ/KosinskiM Art/Ship Propeller.bin" - even -ArtKosM_LRZ2DeathEggBG: binclude "Levels/LRZ/KosinskiM Art/BG Death Egg.bin" - even -ArtUnc_DEZFBLaser: binclude "Levels/DEZ/Uncompressed Art/Final Boss Laser.bin" - even - -ArtKos_SaveScreen:binclude "General/Save Menu/Kosinski Art/SK Extra.bin" - even -ArtKosM_SSResultsSUPER: binclude "General/Special Stage/KosinskiM Art/SSResults SUPER.bin" - even -ArtKosM_SSResultsSUPERk: binclude "General/Special Stage/KosinskiM Art/SSResults SUPER (K).bin" - even -ArtKosM_SSResultsHYPER: binclude "General/Special Stage/KosinskiM Art/SSResults HYPER.bin" - even -ArtKosM_SSResultsHYPERk: binclude "General/Special Stage/KosinskiM Art/SSResults HYPER (K).bin" - even -ArtKosM_ResultsSONIC: binclude "General/Sprites/Results/Results SONIC.bin" - even -ArtKosM_SSResults: dc.w $12A0 -ArtKos_SSResultsGeneral: binclude "General/Special Stage/Kosinski Art/SSResults General.bin" - even -ArtKos_SSResultsTKIcons: binclude "General/Special Stage/Kosinski Art/SSResults Tails Knuckles Icons.bin" - even -ArtKosM_TitleCardSKZone:binclude "General/Sprites/Title Card/Title Card SK Zone.bin" - even -ArtKosM_TitleCardS3KZone:binclude "General/Sprites/Title Card/Title Card S3K Zone.bin" - even -ArtKosM_MHZTitleCard:binclude "Levels/MHZ/KosinskiM Art/Title Card.bin" - even -ArtKosM_SOZTitleCard:binclude "Levels/SOZ/KosinskiM Art/Title Card.bin" - even -ArtKosM_LRZTitleCard:binclude "Levels/LRZ/KosinskiM Art/Title Card.bin" - even -ArtKosM_SSZTitleCard:binclude "Levels/SSZ/KosinskiM Art/Title Card.bin" - even -ArtKosM_DEZTitleCard:binclude "Levels/DEZ/KosinskiM Art/Title Card.bin" - even -ArtKosM_DDZTitleCard:binclude "Levels/DDZ/KosinskiM Art/Title Card.bin" - even -ArtKosM_HPZTitleCard:binclude "Levels/HPZ/KosinskiM Art/Title Card.bin" - even -ArtKos_SaveScreenSKZone: binclude "General/Save Menu/Kosinski Art/SK Zone Art.bin" - even -ArtKos_SaveScreenPortrait: binclude "General/Save Menu/Kosinski Art/Portraits.bin" - even +PLC_Knuckles: include "General/Sprites/Knuckles/DPLC - Knuckles.asm" +ArtKosM_HyperSonicStars: + binclude "General/Sprites/Sonic/Art/Hyper Sonic Stars.bin" + even +ArtKosM_SuperTailsBirds: + binclude "General/Sprites/Tails/Art/Super Tails birds.bin" + even +ArtNem_FBZMisc: + binclude "Levels/FBZ/Nemesis Art/Misc Art 1.bin" + even +ArtNem_FBZOutdoors: + binclude "Levels/FBZ/Nemesis Art/Outdoors.bin" + even +ArtNem_FBZMisc2: + binclude "Levels/FBZ/Nemesis Art/Misc Art 2.bin" + even +ArtNem_MHZMisc: + binclude "Levels/MHZ/Nemesis Art/Misc Art.bin" + even +ArtNem_SOZMisc: + binclude "Levels/SOZ/Nemesis Art/Misc Art.bin" + even +ArtNem_SOZTile: + binclude "Levels/SOZ/Nemesis Art/Tile.bin" + even +ArtNem_SOZ2Extra: + binclude "Levels/SOZ/Nemesis Art/Act 2 Extra Art.bin" + even +ArtNem_LRZMisc: + binclude "Levels/LRZ/Nemesis Art/Misc Art.bin" + even +ArtNem_LRZSpikes: + binclude "Levels/LRZ/Nemesis Art/Spike Crush.bin" + even +ArtNem_LRZBigSpike: + binclude "Levels/LRZ/Nemesis Art/Big Spike Ball.bin" + even +ArtNem_LRZ2Misc: + binclude "Levels/LRZ/Nemesis Art/Act 2 Misc Art.bin" + even +ArtNem_LRZ2Drum: + binclude "Levels/LRZ/Nemesis Art/Act 2 Spinning Drum.bin" + even +ArtNem_SSZMisc: + binclude "Levels/SSZ/Nemesis Art/Misc.bin" + even +ArtKosM_SSZSpiralRamp: + binclude "Levels/SSZ/KosinskiM Art/Spiral Ramp.bin" + even +ArtNem_DEZMisc: + binclude "Levels/DEZ/Nemesis Art/Misc Art.bin" + even +ArtNem_DEZMiniboss: + binclude "Levels/DEZ/Nemesis Art/Miniboss.bin" + even +ArtNem_DEZ2Extra: + binclude "Levels/DEZ/Nemesis Art/Act 2 Extra Art.bin" + even +ArtNem_PachinkoMain: + binclude "Levels/Pachinko/Nemesis Art/Main.bin" + even +ArtKos_PachinkoBG1: + binclude "Levels/Pachinko/Kosinski Art/Animated BG 1.bin" + even +ArtKos_PachinkoBG2: + binclude "Levels/Pachinko/Kosinski Art/Animated BG 2.bin" + even +PalKos_Pachinko: + binclude "Levels/Pachinko/Palettes/Compressed Pal.bin" + even +ArtNem_SlotsBlocks: + binclude "Levels/Slots/Nemesis Art/Blocks.bin" + even +ArtUnc_SlotOptions: + binclude "Levels/Slots/Uncompressed Art/Options.bin" + even +ArtKosM_SSZTeleport: + binclude "Levels/SSZ/KosinskiM Art/Teleporter Beam.bin" + even +ArtNem_ICZTeleport: + binclude "Levels/ICZ/Nemesis Art/Teleporter Beam.bin" + even +ArtKosM_MHZEndBossPillar: + binclude "Levels/MHZ/KosinskiM Art/End Boss Pillar.bin" + even +ArtKosM_MHZShipPropeller: + binclude "Levels/MHZ/KosinskiM Art/Ship Propeller.bin" + even +ArtKosM_LRZ2DeathEggBG: + binclude "Levels/LRZ/KosinskiM Art/BG Death Egg.bin" + even +ArtUnc_DEZFBLaser: + binclude "Levels/DEZ/Uncompressed Art/Final Boss Laser.bin" + even +ArtKos_SaveScreen: + binclude "General/Save Menu/Kosinski Art/SK Extra.bin" + even +ArtKosM_SSResultsSUPER: + binclude "General/Special Stage/KosinskiM Art/SSResults SUPER.bin" + even +ArtKosM_SSResultsSUPERk: + binclude "General/Special Stage/KosinskiM Art/SSResults SUPER (K).bin" + even +ArtKosM_SSResultsHYPER: + binclude "General/Special Stage/KosinskiM Art/SSResults HYPER.bin" + even +ArtKosM_SSResultsHYPERk: + binclude "General/Special Stage/KosinskiM Art/SSResults HYPER (K).bin" + even +ArtKosM_ResultsSONIC: + binclude "General/Sprites/Results/Results SONIC.bin" + even +ArtKosM_SSResults: + dc.w $12A0 +ArtKos_SSResultsGeneral: + binclude "General/Special Stage/Kosinski Art/SSResults General.bin" +ArtKos_SSResultsTKIcons: + binclude "General/Special Stage/Kosinski Art/SSResults Tails Knuckles Icons.bin" + even +ArtKosM_TitleCardSKZone: + binclude "General/Sprites/Title Card/Title Card SK Zone.bin" + even +ArtKosM_TitleCardS3KZone: + binclude "General/Sprites/Title Card/Title Card S3K Zone.bin" + even +ArtKosM_MHZTitleCard: + binclude "Levels/MHZ/KosinskiM Art/Title Card.bin" + even +ArtKosM_SOZTitleCard: + binclude "Levels/SOZ/KosinskiM Art/Title Card.bin" + even +ArtKosM_LRZTitleCard: + binclude "Levels/LRZ/KosinskiM Art/Title Card.bin" + even +ArtKosM_SSZTitleCard: + binclude "Levels/SSZ/KosinskiM Art/Title Card.bin" + even +ArtKosM_DEZTitleCard: + binclude "Levels/DEZ/KosinskiM Art/Title Card.bin" + even +ArtKosM_DDZTitleCard: + binclude "Levels/DDZ/KosinskiM Art/Title Card.bin" + even +ArtKosM_HPZTitleCard: + binclude "Levels/HPZ/KosinskiM Art/Title Card.bin" + even +ArtKos_SaveScreenSKZone: + binclude "General/Save Menu/Kosinski Art/SK Zone Art.bin" + even +ArtKos_SaveScreenPortrait: + binclude "General/Save Menu/Kosinski Art/Portraits.bin" + even DemoDat_MHZ: binclude "Levels/MHZ/Demodata/1.bin" - even - + even DemoDat_FBZ: binclude "Levels/FBZ/Demodata/1.bin" - even - + even DemoDat_SOZ: binclude "Levels/SOZ/Demodata/1.bin" - even - -DemoDat_SpecialStage: binclude "General/Special Stage/Demodata/1.bin" - even -ArtKosM_EggRoboHead:dc.w $400 - even -ArtKos_EggRoboHead: binclude "General/Sprites/Robotnik/Egg Robo Head.bin" - even -ArtNem_EggRoboRun: binclude "General/Sprites/Robotnik/Egg Robo Run.bin" - even -ArtNem_EggRoboStand: binclude "General/Sprites/Robotnik/Egg Robo Stand.bin" - even -ArtKosM_KnuxFinalBossCrane: binclude "General/Sprites/Robotnik/Robotnik Ship Crane.bin" - even -ArtKosM_IslandLiftGfx: binclude "General/Ending/KosinskiM Art/Island Lift Animated Tiles.bin" - even -ArtKosM_EndingAnimals: binclude "General/Ending/KosinskiM Art/Pelican and Dolphin.bin" - even -ArtKosM_EggRoboSKEnding: binclude "General/Ending/KosinskiM Art/Egg Robo.bin" - even -ArtKosM_NormalSonicEndPose: binclude "General/Ending/KosinskiM Art/Normal Sonic Ending Pose.bin" - even -ArtKosM_SuperSonicEndPose: binclude "General/Ending/KosinskiM Art/Super Sonic Ending Pose.bin" - even -ArtKosM_SonicPlaneEnding: binclude "General/Ending/KosinskiM Art/Sonic Plane Ending.bin" - even -ArtKosM_RobotnikSmug: dc.w $7A0 -ArtKos_RobotnikSmug: binclude "General/Ending/Kosinski Art/Robotnik Standing Smug.bin" - even -ArtKosM_SonicPlane: binclude "General/Ending/KosinskiM Art/Sonic Plane.bin" - even -ArtKosM_KnuxEnding: binclude "General/Sprites/Knuckles/Cutscene/Knuckles Ending Cutscene.bin" - even -ArtKosM_SKPoseBanner: dc.w $900 -ArtKos_SKPoseBanner: binclude "General/Ending/Kosinski Art/Sonic Knuckles Pose Banner.bin" - even -ArtKosM_S3PoseBanner: binclude "General/Ending/KosinskiM Art/Sonic 3 Pose Banner.bin" - even -ArtUnc_KnuxIntroLay: binclude "General/Sprites/Knuckles/Cutscene/Intro Laying.bin" - even -ArtKosM_KnuxIntroBomb: binclude "General/Sprites/Knuckles/Cutscene/Knuckles Intro Bomb.bin" - even -ArtKosM_FBZExitHall: binclude "Levels/FBZ/KosinskiM Art/Exit Hall.bin" - even -ArtKosM_FBZMiniboss: binclude "Levels/FBZ/KosinskiM Art/Miniboss.bin" - even -ArtKosM_FBZCloud: binclude "Levels/FBZ/KosinskiM Art/Cloud.bin" - even -ArtKosM_FBZBossPillar: binclude "Levels/FBZ/KosinskiM Art/Before Boss Pillar.bin" - even -ArtKosM_FBZExitDoor: binclude "Levels/FBZ/KosinskiM Art/Exit Door.bin" - even -ArtNem_FBZEggCapsule: binclude "Levels/FBZ/Nemesis Art/Egg Capsule.bin" - even - -ArtKosM_FBZButton: binclude "Levels/FBZ/KosinskiM Art/Button.bin" - even -ArtKosM_Madmole: binclude "General/Sprites/Madmole/Madmole.bin" - even - -ArtKosM_Mushmeanie: binclude "General/Sprites/Mushmeanie/Mushmeanie.bin" - even - -ArtKosM_Dragonfly: binclude "General/Sprites/Dragonfly/Dragonfly.bin" - even - -ArtKosM_CluckoidArrow: binclude "General/Sprites/Cluckoid/Cluckoid Arrow.bin" - even -ArtUnc_Butterdroid: binclude "General/Sprites/Butterdroid/Butterdroid.bin" - even -ArtUnc_Cluckoid: binclude "General/Sprites/Cluckoid/Cluckoid.bin" - even -ArtKosM_MHZMiniboss: binclude "Levels/MHZ/KosinskiM Art/Miniboss.bin" - even -ArtKosM_MHZMinibossLog: binclude "Levels/MHZ/KosinskiM Art/Miniboss Log.bin" - even -ArtKosM_MHZEndBossSpikes: binclude "Levels/MHZ/KosinskiM Art/End Boss Spikes.bin" - even -ArtKosM_MHZKnuxPeer: binclude "General/Sprites/Knuckles/Cutscene/Knuckles Peering.bin" - even -ArtUnc_MHZKnuxPress: binclude "General/Sprites/Knuckles/Cutscene/MHZ2 Press.bin" - even -ArtKosM_MHZKnuxSwitch: binclude "General/Sprites/Knuckles/Cutscene/Knuckles MHZ Switch.bin" - even -ArtKosM_MHZEndBoss: binclude "Levels/MHZ/KosinskiM Art/End Boss.bin" - even -ArtKosM_Skorp:binclude "General/Sprites/Skorp/Skorp.bin" - even -ArtKosM_Sandworm:binclude "General/Sprites/Sandworm/Sandworm.bin" - even -ArtKosM_Rockn:binclude "General/Sprites/Rockn/Rock'n.bin" - even -ArtUnc_SOZGhosts: binclude "General/Sprites/SOZ Ghosts/SOZ Ghosts.bin" - even -ArtKosM_SOZMiniboss: binclude "Levels/SOZ/KosinskiM Art/Miniboss.bin" - even -ArtKosM_SOZSand: binclude "Levels/SOZ/KosinskiM Art/Sand Particles.bin" - even -ArtKosM_SOZEndBoss: binclude "Levels/SOZ/KosinskiM Art/End Boss.bin" - even -ArtUnc_Fireworm: binclude "General/Sprites/Fireworm/Fireworm.bin" - even -ArtKosM_FirewormSegments:binclude "General/Sprites/Fireworm/Fireworm Segments.bin" - even -ArtKosM_Iwamodoki:binclude "General/Sprites/Iwamodoki/Iwamodoki.bin" - even -ArtKosM_Toxomister:binclude "General/Sprites/Toxomister/Toxomister.bin" - even -ArtKosM_LRZRockCrusher: binclude "Levels/LRZ/KosinskiM Art/Rock Crusher.bin" - even -ArtKosM_LRZMiniboss: binclude "Levels/LRZ/KosinskiM Art/Miniboss.bin" - even -ArtKosM_LRZ3Autoscroll: binclude "Levels/LRZ/KosinskiM Art/Autoscroll.bin" - even -ArtKosM_LRZ3DeathEggFlash: binclude "Levels/LRZ/KosinskiM Art/Death Egg Flash.bin" - even -ArtKosM_LRZ3PlatformDebris: binclude "Levels/LRZ/KosinskiM Art/Platform Debris.bin" - even -ArtKosM_LRZEndBoss: binclude "Levels/LRZ/KosinskiM Art/End Boss.bin" - even -ArtKosM_LRZKnuxBoulder: binclude "Levels/LRZ/KosinskiM Art/Knuckles Boulder.bin" - even -ArtUnc_HPZKnucklesGrab: binclude "General/Sprites/Knuckles/Cutscene/HPZ Emerald Grab.bin" - even -ArtKosM_HPZKnuxDizzy: binclude "Levels/HPZ/KosinskiM Art/Knuckles Dizzy Stars.bin" - even -ArtNem_HPZEmeraldMisc: binclude "Levels/HPZ/Nemesis Art/Emerald Misc Art.bin" - even -ArtNem_HPZGrayEmerald: binclude "Levels/HPZ/Nemesis Art/Gray Emerald.bin" - even -ArtKosM_Teleporter:binclude "General/Sprites/Teleporter/Teleporter.bin" - even - -ArtKosM_HPZSmallEmeralds: binclude "Levels/HPZ/KosinskiM Art/Special Stage Emeralds.bin" - even -ArtUnc_MechaSonic: binclude "General/Sprites/Mecha Sonic/Mecha Sonic.bin" - even -ArtKosM_EggRoboBadnik:binclude "General/Sprites/Egg Robo Badnik/Egg Robo Badnik.bin" - even - -ArtScaled_EggRoboFly: binclude "General/Sprites/Robotnik/Egg Robo Fly Scaled.bin" - even -ArtKosM_MechaSonicHead: binclude "General/Sprites/Mecha Sonic/Mecha Sonic Head.bin" - even -ArtUnc_SSZDeathEggCloud: binclude "General/Sprites/SSZ Death Egg Cloud/SSZ Death Egg Cloud.bin" - even -ArtKosM_SSZDeathEggSmall: binclude "Levels/SSZ/KosinskiM Art/Death Egg Small.bin" - even -ArtUnc_SSZKnucklesTired: binclude "General/Sprites/Knuckles/Cutscene/SSZ Tired.bin" - even -ArtKosM_SSZGHZMisc: binclude "Levels/SSZ/KosinskiM Art/GHZ Ball and Chain.bin" - even -ArtKosM_SSZMTZOrbs: binclude "Levels/SSZ/KosinskiM Art/MTZ Orbs.bin" - even -ArtKosM_MechaSonicExtra: binclude "General/Sprites/Mecha Sonic/Mecha Sonic Extra Art.bin" - even -ArtKosM_HPZMasterEmerald: dc.w $880 - even -ArtKos_HPZMasterEmerald: binclude "Levels/HPZ/Kosinski Art/Master Emerald.bin" - even -ArtKosM_Spikebonker:binclude "General/Sprites/Spikebonker/Spikebonker.bin" - even -ArtKosM_Chainspike:binclude "General/Sprites/Chainspike/Chainspike.bin" - even -ArtKosM_DEZMinibossMisc: binclude "Levels/DEZ/KosinskiM Art/Miniboss Misc Art.bin" - even -ArtKosM_DEZEndBoss: binclude "Levels/DEZ/KosinskiM Art/End Boss.bin" - even -ArtKosM_DEZFinalBossMisc: binclude "Levels/DEZ/KosinskiM Art/Final Boss Misc Art.bin" - even -ArtKosM_MasterEmerald: binclude "General/Sprites/Master Emerald/Master Emerald.bin" - even -ArtKosM_DEZFinalBossDebris: binclude "Levels/DEZ/KosinskiM Art/Final Boss Debris.bin" - even -ArtKosM_DDZMisc: binclude "Levels/DDZ/KosinskiM Art/Misc Art.bin" - even + even +DemoDat_SpecialStage: + binclude "General/Special Stage/Demodata/1.bin" + even +ArtKosM_EggRoboHead: + binclude "General/Sprites/Robotnik/Egg Robo Head.bin" + even +ArtNem_EggRoboRun: + binclude "General/Sprites/Robotnik/Egg Robo Run.bin" + even +ArtNem_EggRoboStand: + binclude "General/Sprites/Robotnik/Egg Robo Stand.bin" + even +ArtKosM_KnuxFinalBossCrane: + binclude "General/Sprites/Robotnik/Robotnik Ship Crane.bin" + even +ArtKosM_IslandLiftGfx: + binclude "General/Ending/KosinskiM Art/Island Lift Animated Tiles.bin" + even +ArtKosM_EndingAnimals: + binclude "General/Ending/KosinskiM Art/Pelican and Dolphin.bin" + even +ArtKosM_EggRoboSKEnding: + binclude "General/Ending/KosinskiM Art/Egg Robo.bin" + even +ArtKosM_SonicEndPose: + binclude "General/Ending/KosinskiM Art/Sonic Ending Pose.bin" + even +ArtKosM_SuperSonicEndPose: + binclude "General/Ending/KosinskiM Art/Super Sonic Ending Pose.bin" + even +ArtKosM_SonicPlaneEnding: + binclude "General/Ending/KosinskiM Art/Sonic Plane Ending.bin" + even +ArtKosM_RobotnikSmug: + binclude "General/Ending/KosinskiM Art/Robotnik Standing Smug.bin" + even +ArtKosM_SonicPlane: + binclude "General/Ending/KosinskiM Art/Sonic Plane.bin" + even +ArtKosM_KnuxEnding: + binclude "General/Sprites/Knuckles/Cutscene/Knuckles Ending Cutscene.bin" + even +ArtKosM_SKPoseBanner: + binclude "General/Ending/KosinskiM Art/Sonic Knuckles Pose Banner.bin" + even +ArtKosM_S3PoseBanner: + binclude "General/Ending/KosinskiM Art/Sonic 3 Pose Banner.bin" + even +ArtUnc_KnuxIntroLay: + binclude "General/Sprites/Knuckles/Cutscene/Intro Laying.bin" + even +ArtKosM_KnuxIntroBomb: + binclude "General/Sprites/Knuckles/Cutscene/Knuckles Intro Bomb.bin" + even +ArtKosM_FBZExitHall: + binclude "Levels/FBZ/KosinskiM Art/Exit Hall.bin" + even +ArtKosM_FBZMiniboss: + binclude "Levels/FBZ/KosinskiM Art/Miniboss.bin" + even +ArtKosM_FBZCloud: + binclude "Levels/FBZ/KosinskiM Art/Cloud.bin" + even +ArtKosM_FBZBossPillar: + binclude "Levels/FBZ/KosinskiM Art/Before Boss Pillar.bin" + even +ArtKosM_FBZExitDoor: + binclude "Levels/FBZ/KosinskiM Art/Exit Door.bin" + even +ArtNem_FBZEggCapsule: + binclude "Levels/FBZ/Nemesis Art/Egg Capsule.bin" + even +ArtKosM_FBZButton: + binclude "Levels/FBZ/KosinskiM Art/Button.bin" + even +ArtKosM_Madmole: + binclude "General/Sprites/Madmole/Madmole.bin" + even +ArtKosM_Mushmeanie: + binclude "General/Sprites/Mushmeanie/Mushmeanie.bin" + even +ArtKosM_Dragonfly: + binclude "General/Sprites/Dragonfly/Dragonfly.bin" + even +ArtKosM_CluckoidArrow: + binclude "General/Sprites/Cluckoid/Cluckoid Arrow.bin" + even +ArtUnc_Butterdroid: + binclude "General/Sprites/Butterdroid/Butterdroid.bin" + even +ArtUnc_Cluckoid: + binclude "General/Sprites/Cluckoid/Cluckoid.bin" + even +ArtKosM_MHZMiniboss: + binclude "Levels/MHZ/KosinskiM Art/Miniboss.bin" + even +ArtKosM_MHZMinibossLog: + binclude "Levels/MHZ/KosinskiM Art/Miniboss Log.bin" + even +ArtKosM_MHZEndBossSpikes: + binclude "Levels/MHZ/KosinskiM Art/End Boss Spikes.bin" + even +ArtKosM_MHZKnuxPeer: + binclude "General/Sprites/Knuckles/Cutscene/Knuckles Peering.bin" + even +ArtUnc_MHZKnuxPress: + binclude "General/Sprites/Knuckles/Cutscene/MHZ2 Press.bin" + even +ArtKosM_MHZKnuxSwitch: + binclude "General/Sprites/Knuckles/Cutscene/Knuckles MHZ Switch.bin" + even +ArtKosM_MHZEndBoss: + binclude "Levels/MHZ/KosinskiM Art/End Boss.bin" + even +ArtKosM_Skorp: + binclude "General/Sprites/Skorp/Skorp.bin" + even +ArtKosM_Sandworm: + binclude "General/Sprites/Sandworm/Sandworm.bin" + even +ArtKosM_Rockn: + binclude "General/Sprites/Rockn/Rock'n.bin" + even +ArtUnc_SOZGhosts: + binclude "General/Sprites/SOZ Ghosts/SOZ Ghosts.bin" + even +ArtKosM_SOZMiniboss: + binclude "Levels/SOZ/KosinskiM Art/Miniboss.bin" + even +ArtKosM_SOZSand: + binclude "Levels/SOZ/KosinskiM Art/Sand Particles.bin" + even +ArtKosM_SOZEndBoss: + binclude "Levels/SOZ/KosinskiM Art/End Boss.bin" + even +ArtUnc_Fireworm: + binclude "General/Sprites/Fireworm/Fireworm.bin" + even +ArtKosM_FirewormSegments: + binclude "General/Sprites/Fireworm/Fireworm Segments.bin" + even +ArtKosM_Iwamodoki: + binclude "General/Sprites/Iwamodoki/Iwamodoki.bin" + even +ArtKosM_Toxomister: + binclude "General/Sprites/Toxomister/Toxomister.bin" + even +ArtKosM_LRZRockCrusher: + binclude "Levels/LRZ/KosinskiM Art/Rock Crusher.bin" + even +ArtKosM_LRZMiniboss: + binclude "Levels/LRZ/KosinskiM Art/Miniboss.bin" + even +ArtKosM_LRZ3Autoscroll: + binclude "Levels/LRZ/KosinskiM Art/Autoscroll.bin" + even +ArtKosM_LRZ3DeathEggFlash: + binclude "Levels/LRZ/KosinskiM Art/Death Egg Flash.bin" + even +ArtKosM_LRZ3PlatformDebris: + binclude "Levels/LRZ/KosinskiM Art/Platform Debris.bin" + even +ArtKosM_LRZEndBoss: + binclude "Levels/LRZ/KosinskiM Art/End Boss.bin" + even +ArtKosM_LRZKnuxBoulder: + binclude "Levels/LRZ/KosinskiM Art/Knuckles Boulder.bin" + even +ArtUnc_HPZKnucklesGrab: + binclude "General/Sprites/Knuckles/Cutscene/HPZ Emerald Grab.bin" + even +ArtKosM_HPZKnuxDizzy: + binclude "Levels/HPZ/KosinskiM Art/Knuckles Dizzy Stars.bin" + even +ArtNem_HPZEmeraldMisc: + binclude "Levels/HPZ/Nemesis Art/Emerald Misc Art.bin" + even +ArtNem_HPZGrayEmerald: + binclude "Levels/HPZ/Nemesis Art/Gray Emerald.bin" + even +ArtKosM_Teleporter: + binclude "General/Sprites/Teleporter/Teleporter.bin" + even +ArtKosM_HPZSmallEmeralds: + binclude "Levels/HPZ/KosinskiM Art/Special Stage Emeralds.bin" + even +ArtUnc_MechaSonic: + binclude "General/Sprites/Mecha Sonic/Mecha Sonic.bin" + even +ArtKosM_EggRoboBadnik: + binclude "General/Sprites/Egg Robo Badnik/Egg Robo Badnik.bin" + even +ArtScaled_EggRoboFly: + binclude "General/Sprites/Robotnik/Egg Robo Fly Scaled.bin" + even +ArtKosM_MechaSonicHead: + binclude "General/Sprites/Mecha Sonic/Mecha Sonic Head.bin" + even +ArtUnc_SSZDeathEggCloud: + binclude "General/Sprites/SSZ Death Egg Cloud/SSZ Death Egg Cloud.bin" + even +ArtKosM_SSZDeathEggSmall: + binclude "Levels/SSZ/KosinskiM Art/Death Egg Small.bin" + even +ArtUnc_SSZKnucklesTired: + binclude "General/Sprites/Knuckles/Cutscene/SSZ Tired.bin" + even +ArtKosM_SSZGHZMisc: + binclude "Levels/SSZ/KosinskiM Art/GHZ Ball and Chain.bin" + even +ArtKosM_SSZMTZOrbs: + binclude "Levels/SSZ/KosinskiM Art/MTZ Orbs.bin" + even +ArtKosM_MechaSonicExtra: + binclude "General/Sprites/Mecha Sonic/Mecha Sonic Extra Art.bin" + even +ArtKosM_EndingMasterEmerald: + binclude "General/Ending/KosinskiM Art/Master Emerald.bin" + even +ArtKosM_Spikebonker: + binclude "General/Sprites/Spikebonker/Spikebonker.bin" + even +ArtKosM_Chainspike: + binclude "General/Sprites/Chainspike/Chainspike.bin" + even +ArtKosM_DEZMinibossMisc: + binclude "Levels/DEZ/KosinskiM Art/Miniboss Misc Art.bin" + even +ArtKosM_DEZEndBoss: + binclude "Levels/DEZ/KosinskiM Art/End Boss.bin" + even +ArtKosM_DEZFinalBossMisc: + binclude "Levels/DEZ/KosinskiM Art/Final Boss Misc Art.bin" + even +ArtKosM_BossMasterEmerald: + binclude "General/Sprites/Master Emerald/Master Emerald.bin" + even +ArtKosM_DEZFinalBossDebris: + binclude "Levels/DEZ/KosinskiM Art/Final Boss Debris.bin" + even +ArtKosM_DDZMisc: + binclude "Levels/DDZ/KosinskiM Art/Misc Art.bin" + even AngleLookup_1: dc.b 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5 dc.b 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, $A, $A dc.b $A, $A, $A, $A, $B, $B, $B, $B, $B, $B, $B, $B, $B, $C, $C, $C, $C, $C, $C, $C @@ -202834,349 +202784,423 @@ AngleLookup_3: dc.b 0, 1, 2, 3, 4, 4, 5, 6, 7, 8, 9, $A, dc.b $11, $12, $13, $13, $14, $15, $15, $16, $17, $18, $18, $19, $19, $1A, $1B, $1B, $1C, $1C, $1D, $1D dc.b $1E, $1E, $1F, $1F, $20, $20, $21, $21, $21, $22, $22, $22, $22, $23, $23, $23, $23, $23, $24, $24 dc.b $24, $24, $24, $24 - even -Map_Spikebonker:include "General/Sprites/Spikebonker/Map - Spikebonker.asm" - -Map_Chainspike: include "General/Sprites/Chainspike/Map - Chainspike.asm" - -Map_EggRobo: include "General/Sprites/Robotnik/Map - Eggrobo.asm" - -Map_DEZMiniboss: include "Levels/DEZ/Misc Object Data/Map - Miniboss.asm" - -Map_MechaSonic: include "General/Sprites/Mecha Sonic/Map - Mecha Sonic.asm" - -Map_MechaSonicExtra: include "General/Sprites/Mecha Sonic/Map - Mecha Sonic Extra.asm" - -DPLC_MechaSonic: include "General/Sprites/Mecha Sonic/DPLC - Mecha Sonic.asm" - -Map_SpriteMask: include "General/Sprites/Level Misc/Map - Sprite Mask.asm" - -Map_DEZEndBoss: include "Levels/DEZ/Misc Object Data/Map - End Boss.asm" - -Map_MHZEndBoss: include "Levels/MHZ/Misc Object Data/Map - End Boss.asm" - -Map_MHZMiniboss: include "Levels/MHZ/Misc Object Data/Map - Miniboss.asm" - -Map_MHZMinibossTree: include "Levels/MHZ/Misc Object Data/Map - Miniboss Tree.asm" - -Map_MHZMinibossLog: include "Levels/MHZ/Misc Object Data/Map - Miniboss Log.asm" - -Map_EggRoboStand: include "General/Sprites/Robotnik/Map - Egg Robo Stand.asm" - -Map_EggRoboRun: include "General/Sprites/Robotnik/Map - Egg Robo Run.asm" - -Map_Skorp: include "General/Sprites/Skorp/Map - Skorp.asm" - -Map_Sandworm: include "General/Sprites/Sandworm/Map - Sandworm.asm" - -Map_LRZRockCrusher: include "Levels/LRZ/Misc Object Data/Map - Rock Crusher.asm" - -Map_SSZMTZOrbs: include "Levels/SSZ/Misc Object Data/Map - MTZ Orbs.asm" - -Map_SSZGHZMisc: include "Levels/SSZ/Misc Object Data/Map - GHZ Misc.asm" - -Map_LRZMiniboss: include "Levels/LRZ/Misc Object Data/Map - Miniboss.asm" - -Map_FBZEggCapsule: include "Levels/FBZ/Misc Object Data/Map - Egg Capsule.asm" - -Map_SOZGhosts: include "General/Sprites/SOZ Ghosts/Map - SOZ Ghosts.asm" - -Map_LRZEndBoss: include "Levels/LRZ/Misc Object Data/Map - End Boss.asm" - -Map_LRZ3Platform: include "Levels/LRZ/Misc Object Data/Map - Act 3 Platform.asm" - -Map_LRZ3Autoscroll: include "Levels/LRZ/Misc Object Data/Map - Act 3 Autoscroll.asm" - -Map_LRZ3DeathEggFlash: include "Levels/LRZ/Misc Object Data/Map - Act 3 Death Egg Flash.asm" - -Map_LRZ3Debris: include "Levels/LRZ/Misc Object Data/Map - Act 3 Platform Debris.asm" - -Map_DEZFinalBossMisc: include "Levels/DEZ/Misc Object Data/Map - Final Boss Misc.asm" - -Map_BossMasterEmerald: include "Levels/DEZ/Misc Object Data/Map - Final Boss Master Emerald.asm" - -Map_DEZFinalBossDebris: include "Levels/DEZ/Misc Object Data/Map - Final Boss Debris.asm" - even -ArtKosM_StarPost_Stars1:binclude "General/Sprites/Starpost/Starpost Stars 1.bin" - even -ArtKosM_StarPostStars2:binclude "General/Sprites/Starpost/Starpost Stars 2.bin" - even -ArtKosM_StarPostStars3:binclude "General/Sprites/Starpost/Starpost Stars 3.bin" - even -MapEni_BlueSphereTitleFG:binclude "General/Blue Sphere/Enigma Map/Title FG.bin" - even -ArtKos_BlueSphereChar: binclude "General/Blue Sphere/Kosinski Art/Characters.bin" - even -Map_BlueSphereCharSprite: include "General/Blue Sphere/Map - Character Sprites.asm" - even -ArtKos_BlueSphereCharSprite: binclude "General/Blue Sphere/Kosinski Art/Character Sprites.bin" - even -ArtKos_BlueSphereNormalText: binclude "General/Blue Sphere/Kosinski Art/Normal Text.bin" - even -MapEni_BlueSphereTitleBG: binclude "General/Blue Sphere/Enigma Map/Title BG.bin" - even - -ArtNem_BlueSphereSKLogo: binclude "General/Blue Sphere/Nemesis Art/SK Logo.bin" - even - -ArtNem_BlueSphereTails: binclude "General/Blue Sphere/Nemesis Art/Tails Pose.bin" - even -ArtNem_MilesLifeIcon: binclude "General/Sprites/HUD Icon/Miles Life Icon.bin" - even -ArtUnc_Invincibility: binclude "General/Sprites/Shields/Invincibility.bin" - even - -ArtUnc_DashDust:binclude "General/Sprites/Dash Dust/Dash Dust.bin" - even - -ArtUnc_SuperSonic_Stars:binclude "General/Sprites/Shields/Super Sonic Stars.bin" - even - -ArtUnc_InstaShield:binclude "General/Sprites/Shields/Insta-Shield.bin" - even -ArtUnc_FireShield:binclude "General/Sprites/Shields/Fire Shield.bin" - even -ArtUnc_LightningShield:binclude "General/Sprites/Shields/Lightning Shield.bin" - even - -ArtUnc_Obj_Lightning_Shield_Sparks: - binclude "General/Sprites/Shields/Sparks.bin" -ArtUnc_Obj_Lightning_Shield_Sparks_end - even - -ArtUnc_BubbleShield:binclude "General/Sprites/Shields/Bubble Shield.bin" - even -ArtNem_GrayButton:binclude "General/Sprites/Buttons/Gray Button.bin" - even - -ArtNem_DiagonalSpring: binclude "General/Sprites/Level Misc/Diagonal Spring.bin" - even - -ArtNem_SonicLifeIcon:binclude "General/Sprites/HUD Icon/Sonic life icon.bin" - even - -ArtNem_KnucklesLifeIcon:binclude "General/Sprites/HUD Icon/Knuckles life icon.bin" - even -ArtNem_Monitors:binclude "General/Sprites/Monitors/Monitors.bin" - even - -ArtNem_S2Signpost: binclude "General/Sprites/S2Menu/Signpost.bin" - even -ArtNem_Bubbles: binclude "General/Sprites/Bubbles/Bubbles.bin" - even - -ArtNem_GameOver: binclude "General/Sprites/Game Over/GameOver.bin" - even -ArtNem_Explosion:binclude "General/Sprites/Enemy Misc/Explosion.bin" - even -ArtNem_ContinueTails:binclude "General/Sprites/S2Menu/Tails Continue Sprites.bin" - even -ArtNem_MiniSonic:binclude "General/Sprites/S2Menu/Sonic Continue Icon.bin" - even - -ArtNem_SpikesSprings: binclude "General/Sprites/Level Misc/SpikesSprings.bin" - even - -ArtNem_RingHUDText: binclude "General/Sprites/Ring/RingHUDText.bin" - even - -ArtNem_EnemyPtsStarPost:binclude "General/Sprites/Enemy Misc/EnemyPtsStarpost.bin" - even - -ArtNem_Seal: binclude "General/Sprites/Animals/Seal.bin" - even -ArtNem_Pig: binclude "General/Sprites/Animals/Pig.bin" - even - -ArtNem_BlueFlicky: binclude "General/Sprites/Animals/Blue Flicky.bin" - even - -ArtNem_Chicken: binclude "General/Sprites/Animals/Chicken.bin" - even - -ArtNem_Penguin: binclude "General/Sprites/Animals/Penguin.bin" - even -ArtNem_Squirrel: binclude "General/Sprites/Animals/Squirrel.bin" - even - -ArtNem_Rabbit: binclude "General/Sprites/Animals/Rabbit.bin" - even - -ArtNem_BonusStage: binclude "General/Sprites/Bonus/Bonus Stage.bin" - even + even +Map_Spikebonker: + include "General/Sprites/Spikebonker/Map - Spikebonker.asm" +Map_Chainspike: + include "General/Sprites/Chainspike/Map - Chainspike.asm" +Map_EggRobo: + include "General/Sprites/Robotnik/Map - Eggrobo.asm" +Map_DEZMiniboss: + include "Levels/DEZ/Misc Object Data/Map - Miniboss.asm" +Map_MechaSonic: + include "General/Sprites/Mecha Sonic/Map - Mecha Sonic.asm" +Map_MechaSonicExtra: + include "General/Sprites/Mecha Sonic/Map - Mecha Sonic Extra.asm" +DPLC_MechaSonic: + include "General/Sprites/Mecha Sonic/DPLC - Mecha Sonic.asm" +Map_SpriteMask: + include "General/Sprites/Level Misc/Map - Sprite Mask.asm" +Map_DEZEndBoss: + include "Levels/DEZ/Misc Object Data/Map - End Boss.asm" +Map_MHZEndBoss: + include "Levels/MHZ/Misc Object Data/Map - End Boss.asm" +Map_MHZMiniboss: + include "Levels/MHZ/Misc Object Data/Map - Miniboss.asm" +Map_MHZMinibossTree: + include "Levels/MHZ/Misc Object Data/Map - Miniboss Tree.asm" +Map_MHZMinibossLog: + include "Levels/MHZ/Misc Object Data/Map - Miniboss Log.asm" +Map_EggRoboStand: + include "General/Sprites/Robotnik/Map - Egg Robo Stand.asm" +Map_EggRoboRun: + include "General/Sprites/Robotnik/Map - Egg Robo Run.asm" +Map_Skorp: + include "General/Sprites/Skorp/Map - Skorp.asm" +Map_Sandworm: + include "General/Sprites/Sandworm/Map - Sandworm.asm" +Map_LRZRockCrusher: + include "Levels/LRZ/Misc Object Data/Map - Rock Crusher.asm" +Map_SSZMTZOrbs: + include "Levels/SSZ/Misc Object Data/Map - MTZ Orbs.asm" +Map_SSZGHZMisc: + include "Levels/SSZ/Misc Object Data/Map - GHZ Misc.asm" +Map_LRZMiniboss: + include "Levels/LRZ/Misc Object Data/Map - Miniboss.asm" +Map_FBZEggCapsule: + include "Levels/FBZ/Misc Object Data/Map - Egg Capsule.asm" +Map_SOZGhosts: + include "General/Sprites/SOZ Ghosts/Map - SOZ Ghosts.asm" +Map_LRZEndBoss: + include "Levels/LRZ/Misc Object Data/Map - End Boss.asm" +Map_LRZ3Platform: + include "Levels/LRZ/Misc Object Data/Map - Act 3 Platform.asm" +Map_LRZ3Autoscroll: + include "Levels/LRZ/Misc Object Data/Map - Act 3 Autoscroll.asm" +Map_LRZ3DeathEggFlash: + include "Levels/LRZ/Misc Object Data/Map - Act 3 Death Egg Flash.asm" +Map_LRZ3Debris: + include "Levels/LRZ/Misc Object Data/Map - Act 3 Platform Debris.asm" +Map_DEZFinalBossMisc: + include "Levels/DEZ/Misc Object Data/Map - Final Boss Misc.asm" +Map_BossMasterEmerald: + include "Levels/DEZ/Misc Object Data/Map - Final Boss Master Emerald.asm" +Map_DEZFinalBossDebris: + include "Levels/DEZ/Misc Object Data/Map - Final Boss Debris.asm" + even +ArtKosM_StarPost_Stars1: + binclude "General/Sprites/Starpost/Starpost Stars 1.bin" + even +ArtKosM_StarPostStars2: + binclude "General/Sprites/Starpost/Starpost Stars 2.bin" + even +ArtKosM_StarPostStars3: + binclude "General/Sprites/Starpost/Starpost Stars 3.bin" + even +MapEni_BlueSphereTitleFG: + binclude "General/Blue Sphere/Enigma Map/Title FG.bin" + even +ArtKos_BlueSphereChar: + binclude "General/Blue Sphere/Kosinski Art/Characters.bin" + even +Map_BlueSphereCharSprite: + include "General/Blue Sphere/Map - Character Sprites.asm" + even +ArtKos_BlueSphereCharSprite: + binclude "General/Blue Sphere/Kosinski Art/Character Sprites.bin" + even +ArtKos_BlueSphereNormalText: + binclude "General/Blue Sphere/Kosinski Art/Normal Text.bin" + even +MapEni_BlueSphereTitleBG: + binclude "General/Blue Sphere/Enigma Map/Title BG.bin" + even +ArtNem_BlueSphereSKLogo: + binclude "General/Blue Sphere/Nemesis Art/SK Logo.bin" + even +ArtNem_BlueSphereTails: + binclude "General/Blue Sphere/Nemesis Art/Tails Pose.bin" + even +ArtNem_MilesLifeIcon: + binclude "General/Sprites/HUD Icon/Miles Life Icon.bin" + even +ArtUnc_Invincibility: + binclude "General/Sprites/Shields/Invincibility.bin" + even +ArtUnc_DashDust: + binclude "General/Sprites/Dash Dust/Dash Dust.bin" + even +ArtUnc_SuperSonic_Stars: + binclude "General/Sprites/Shields/Super Sonic Stars.bin" + even +ArtUnc_InstaShield: + binclude "General/Sprites/Shields/Insta-Shield.bin" + even +ArtUnc_FireShield: + binclude "General/Sprites/Shields/Fire Shield.bin" + even +ArtUnc_LightningShield: + binclude "General/Sprites/Shields/Lightning Shield.bin" + even +ArtUnc_LightningShield_Sparks: + binclude "General/Sprites/Shields/Sparks.bin" +ArtUnc_LightningShield_Sparks_end: + even +ArtUnc_BubbleShield: + binclude "General/Sprites/Shields/Bubble Shield.bin" + even +ArtNem_GrayButton: + binclude "General/Sprites/Buttons/Gray Button.bin" + even +ArtNem_DiagonalSpring: + binclude "General/Sprites/Level Misc/Diagonal Spring.bin" + even +ArtNem_SonicLifeIcon: + binclude "General/Sprites/HUD Icon/Sonic Life icon.bin" + even +ArtNem_KnucklesLifeIcon: + binclude "General/Sprites/HUD Icon/Knuckles Life icon.bin" + even +ArtNem_Monitors: + binclude "General/Sprites/Monitors/Monitors.bin" + even +ArtNem_S2Signpost: + binclude "General/Sprites/S2Menu/Signpost.bin" + even +ArtNem_Bubbles: + binclude "General/Sprites/Bubbles/Bubbles.bin" + even +ArtNem_GameOver: + binclude "General/Sprites/Game Over/GameOver.bin" + even +ArtNem_Explosion: + binclude "General/Sprites/Enemy Misc/Explosion.bin" + even +ArtNem_ContinueTails: + binclude "General/Sprites/S2Menu/Tails Continue Sprites.bin" + even +ArtNem_MiniSonic: + binclude "General/Sprites/S2Menu/Sonic Continue Icon.bin" + even +ArtNem_SpikesSprings: + binclude "General/Sprites/Level Misc/SpikesSprings.bin" + even +ArtNem_RingHUDText: + binclude "General/Sprites/Ring/RingHUDText.bin" + even +ArtNem_EnemyPtsStarPost: + binclude "General/Sprites/Enemy Misc/EnemyPtsStarpost.bin" + even +ArtNem_Seal: + binclude "General/Sprites/Animals/Seal.bin" + even +ArtNem_Pig: + binclude "General/Sprites/Animals/Pig.bin" + even +ArtNem_BlueFlicky: + binclude "General/Sprites/Animals/Blue Flicky.bin" + even +ArtNem_Chicken: + binclude "General/Sprites/Animals/Chicken.bin" + even +ArtNem_Penguin: + binclude "General/Sprites/Animals/Penguin.bin" + even +ArtNem_Squirrel: + binclude "General/Sprites/Animals/Squirrel.bin" + even +ArtNem_Rabbit: + binclude "General/Sprites/Animals/Rabbit.bin" + even +ArtNem_BonusStage: + binclude "General/Sprites/Bonus/Bonus Stage.bin" + even if ~~strip_padding align $100 endif -FBZ_16x16_Kos: binclude "Levels/FBZ/Blocks/Primary.bin" - even -ArtKosM_FBZ: binclude "Levels/FBZ/Tiles/Primary.bin" - even -FBZ_128x128_Kos:binclude "Levels/FBZ/Chunks/Primary.bin" - even - -MHZ_16x16_Primary_Kos:binclude "Levels/MHZ/Blocks/Primary.bin" - even -ArtKosM_MHZ_Primary:binclude "Levels/MHZ/Tiles/Primary.bin" - even -MHZ_128x128_Primary_Kos:binclude "Levels/MHZ/Chunks/Primary.bin" - even -MHZ_16x16_Secondary_Kos:binclude "Levels/MHZ/Blocks/Secondary.bin" - even -ArtKosM_MHZ_Secondary:binclude "Levels/MHZ/Tiles/Secondary.bin" - even -MHZ_128x128_Secondary_Kos:binclude "Levels/MHZ/Chunks/Secondary.bin" - even -MHZ_16x16_Custom_Kos:binclude "Levels/MHZ/Blocks/Custom.bin" - even -ArtKosM_MHZ_Custom: binclude "Levels/MHZ/Tiles/Custom.bin" - even -MHZ_128x128_Custom_Kos:binclude "Levels/MHZ/Chunks/Custom.bin" - even - -SOZ_16x16_Primary_Kos:binclude "Levels/SOZ/Blocks/Primary.bin" - even -ArtKosM_SOZ_Primary:binclude "Levels/SOZ/Tiles/Primary.bin" - even +FBZ_16x16_Kos: + binclude "Levels/FBZ/Blocks/Primary.bin" + even +ArtKosM_FBZ: + binclude "Levels/FBZ/Tiles/Primary.bin" + even +FBZ_128x128_Kos: + binclude "Levels/FBZ/Chunks/Primary.bin" + even +MHZ_16x16_Primary_Kos: + binclude "Levels/MHZ/Blocks/Primary.bin" + even +ArtKosM_MHZ_Primary: + binclude "Levels/MHZ/Tiles/Primary.bin" + even +MHZ_128x128_Primary_Kos: + binclude "Levels/MHZ/Chunks/Primary.bin" + even +MHZ_16x16_Secondary_Kos: + binclude "Levels/MHZ/Blocks/Secondary.bin" + even +ArtKosM_MHZ_Secondary: + binclude "Levels/MHZ/Tiles/Secondary.bin" + even +MHZ_128x128_Secondary_Kos: + binclude "Levels/MHZ/Chunks/Secondary.bin" + even +MHZ_16x16_Custom_Kos: + binclude "Levels/MHZ/Blocks/Custom.bin" + even +ArtKosM_MHZ_Custom: + binclude "Levels/MHZ/Tiles/Custom.bin" + even +MHZ_128x128_Custom_Kos: + binclude "Levels/MHZ/Chunks/Custom.bin" + even +SOZ_16x16_Primary_Kos: + binclude "Levels/SOZ/Blocks/Primary.bin" + even +ArtKosM_SOZ_Primary: + binclude "Levels/SOZ/Tiles/Primary.bin" + even SOZ_128x128_Kos:binclude "Levels/SOZ/Chunks/Primary.bin" - even - -SOZ1_16x16_Secondary_Kos:binclude "Levels/SOZ/Blocks/Act 1 Secondary.bin" - even -ArtKosM_SOZ1_Secondary:binclude "Levels/SOZ/Tiles/Act 1 Secondary.bin" - even -SOZ_128x128_Unused_Kos:binclude "Levels/SOZ/Chunks/Unused.bin" ; This is in the same spot Act 1 Secondary chunks go - even -SOZ1_16x16_Custom_Kos:binclude "Levels/SOZ/Blocks/Act 1 Custom.bin" - even -ArtKosM_SOZ1_Custom:binclude "Levels/SOZ/Tiles/Act 1 Custom.bin" - even - -SOZ2_16x16_Secondary_Kos:binclude "Levels/SOZ/Blocks/Act 2 Secondary.bin" - even -ArtKosM_SOZ2_Secondary:binclude "Levels/SOZ/Tiles/Act 2 Secondary.bin" - even -SOZ_128x128_Unused2_Kos:binclude "Levels/SOZ/Chunks/Unused2.bin" ; This is in the same spot Act 2 Secondary chunks go - even -SOZ2_16x16_Custom_Kos:binclude "Levels/SOZ/Blocks/Act 2 Custom.bin" - even -ArtKosM_SOZ2_Custom:binclude "Levels/SOZ/Tiles/Act 2 Custom.bin" - even - -LRZ_16x16_Primary_Kos:binclude "Levels/LRZ/Blocks/Primary.bin" - even -ArtKosM_LRZ_Primary:binclude "Levels/LRZ/Tiles/Primary.bin" - even -LRZ_128x128_Primary_Kos:binclude "Levels/LRZ/Chunks/Primary.bin" - even -LRZ1_16x16_Secondary_Kos:binclude "Levels/LRZ/Blocks/Act 1 Secondary.bin" - even -ArtKosM_LRZ1_Secondary:binclude "Levels/LRZ/Tiles/Act 1 Secondary.bin" - even -LRZ1_128x128_Secondary_Kos:binclude "Levels/LRZ/Chunks/Act 1 Secondary.bin" - even - -LRZ2_16x16_Secondary_Kos:binclude "Levels/LRZ/Blocks/Act 2 Secondary.bin" - even -ArtKosM_LRZ2_Secondary:binclude "Levels/LRZ/Tiles/Act 2 Secondary.bin" - even -LRZ2_128x128_Secondary_Kos:binclude "Levels/LRZ/Chunks/Act 2 Secondary.bin" - even - -HPZ_16x16_Primary_Kos:binclude "Levels/HPZ/Blocks/Primary.bin" - even -ArtKosM_HPZ_Primary:binclude "Levels/HPZ/Tiles/Primary.bin" - even -HPZ_128x128_Primary_Kos:binclude "Levels/HPZ/Chunks/Primary.bin" - even - -LRZ3_16x16_Secondary_Kos:binclude "Levels/LRZ/Blocks/Act 3 Secondary.bin" - even -ArtKosM_LRZ3_Secondary:binclude "Levels/LRZ/Tiles/Boss Secondary.bin" - even -LRZ3_128x128_Secondary_Kos:binclude "Levels/LRZ/Chunks/Act 3 Secondary.bin" - even - -HPZ_16x16_Secondary_Kos:binclude "Levels/HPZ/Blocks/Secondary.bin" - even -ArtKosM_HPZ_Secondary:binclude "Levels/HPZ/Tiles/Secondary.bin" - even -HPZ_128x128_Secondary_Kos:binclude "Levels/HPZ/Chunks/Secondary.bin" - even - -SSZ1_16x16_Primary_Kos:binclude "Levels/SSZ/Blocks/Act 1 Primary.bin" - even -ArtKosM_SSZ1_Primary:binclude "Levels/SSZ/Tiles/Act 1 Primary.bin" - even - -SSZ1_128x128_Primary_Kos:binclude "Levels/SSZ/Chunks/Act 1 Primary.bin" - even -SSZ1_16x16_Secondary_Kos:binclude "Levels/SSZ/Blocks/Act 1 Secondary.bin" - even -ArtKosM_SSZ1_Secondary:binclude "Levels/SSZ/Tiles/Act 1 Secondary.bin" - even - -SSZ1_128x128_Secondary_Kos:binclude "Levels/SSZ/Chunks/Act 1 Secondary.bin" - even -SSZ1_16x16_Custom_Kos:binclude "Levels/SSZ/Blocks/Act 1 Custom.bin" - even -ArtKosM_SSZ1_Custom:binclude "Levels/SSZ/Tiles/Act 1 Custom.bin" - even -SSZ1_128x128_Custom_Kos:binclude "Levels/SSZ/Chunks/Act 1 Custom.bin" - even - -SSZ2_16x16_Kos: binclude "Levels/SSZ/Blocks/Act 2.bin" - even -ArtKosM_SSZ2: binclude "Levels/SSZ/Tiles/Act 2.bin" - even -SSZ2_128x128_Kos:binclude "Levels/SSZ/Chunks/Act 2.bin" - even - -DEZ_16x16_Primary_Kos:binclude "Levels/DEZ/Blocks/Primary.bin" - even -ArtKosM_DEZ_Primary:binclude "Levels/DEZ/Tiles/Primary.bin" - even -DEZ_128x128_Kos:binclude "Levels/DEZ/Chunks/Primary.bin" - even - -DEZ1_16x16_Secondary_Kos:binclude "Levels/DEZ/Blocks/Act 1 Secondary.bin" - even -ArtKosM_DEZ1_Secondary:binclude "Levels/DEZ/Tiles/Act 1 Secondary.bin" - even - -DEZ2_16x16_Secondary_Kos:binclude "Levels/DEZ/Blocks/Act 2 Secondary.bin" - even -ArtKosM_DEZ2_Secondary:binclude "Levels/DEZ/Tiles/Act 2 Secondary.bin" - even - -DEZ3_16x16_Kos: binclude "Levels/DEZ/Blocks/Act 3.bin" - even -ArtKosM_DEZ3: binclude "Levels/DEZ/Tiles/Final Boss Act.bin" - even -DEZ3_128x128_Kos:binclude "Levels/DEZ/Chunks/Act 3.bin" - even - -DDZ_16x16_Kos: binclude "Levels/DDZ/Blocks/Primary.bin" - even -ArtKosM_DDZ: binclude "Levels/DDZ/Tiles/Primary.bin" - even -DDZ_128x128_Kos:binclude "Levels/DDZ/Chunks/Primary.bin" - even - -Pachinko_16x16_Kos:binclude "Levels/Pachinko/Blocks/Primary.bin" - even -ArtKosM_Pachinko:binclude "Levels/Pachinko/Tiles/Pachinko.bin" - even -Pachinko_128x128_Kos:binclude "Levels/Pachinko/Chunks/Primary.bin" - even - -Slots_16x16_Kos:binclude "Levels/Slots/Blocks/Primary.bin" - even -ArtKosM_Slots: binclude "Levels/Slots/Tiles/Slots.bin" - even -Slots_128x128_Kos:binclude "Levels/Slots/Chunks/Primary.bin" - even + even +SOZ1_16x16_Secondary_Kos: + binclude "Levels/SOZ/Blocks/Act 1 Secondary.bin" + even +ArtKosM_SOZ1_Secondary: + binclude "Levels/SOZ/Tiles/Act 1 Secondary.bin" + even +SOZ_128x128_Unused_Kos: + binclude "Levels/SOZ/Chunks/Unused.bin" ; This is in the same spot Act 1 Secondary chunks go + even +SOZ1_16x16_Custom_Kos: + binclude "Levels/SOZ/Blocks/Act 1 Custom.bin" + even +ArtKosM_SOZ1_Custom: + binclude "Levels/SOZ/Tiles/Act 1 Custom.bin" + even +SOZ2_16x16_Secondary_Kos: + binclude "Levels/SOZ/Blocks/Act 2 Secondary.bin" + even +ArtKosM_SOZ2_Secondary: + binclude "Levels/SOZ/Tiles/Act 2 Secondary.bin" + even +SOZ_128x128_Unused2_Kos: + binclude "Levels/SOZ/Chunks/Unused2.bin" ; This is in the same spot Act 2 Secondary chunks go + even +SOZ2_16x16_Custom_Kos: + binclude "Levels/SOZ/Blocks/Act 2 Custom.bin" + even +ArtKosM_SOZ2_Custom: + binclude "Levels/SOZ/Tiles/Act 2 Custom.bin" + even +LRZ_16x16_Primary_Kos: + binclude "Levels/LRZ/Blocks/Primary.bin" + even +ArtKosM_LRZ_Primary: + binclude "Levels/LRZ/Tiles/Primary.bin" + even +LRZ_128x128_Primary_Kos: + binclude "Levels/LRZ/Chunks/Primary.bin" + even +LRZ1_16x16_Secondary_Kos: + binclude "Levels/LRZ/Blocks/Act 1 Secondary.bin" + even +ArtKosM_LRZ1_Secondary: + binclude "Levels/LRZ/Tiles/Act 1 Secondary.bin" + even +LRZ1_128x128_Secondary_Kos: + binclude "Levels/LRZ/Chunks/Act 1 Secondary.bin" + even +LRZ2_16x16_Secondary_Kos: + binclude "Levels/LRZ/Blocks/Act 2 Secondary.bin" + even +ArtKosM_LRZ2_Secondary: + binclude "Levels/LRZ/Tiles/Act 2 Secondary.bin" + even +LRZ2_128x128_Secondary_Kos: + binclude "Levels/LRZ/Chunks/Act 2 Secondary.bin" + even +HPZ_16x16_Primary_Kos: + binclude "Levels/HPZ/Blocks/Primary.bin" + even +ArtKosM_HPZ_Primary: + binclude "Levels/HPZ/Tiles/Primary.bin" + even +HPZ_128x128_Primary_Kos: + binclude "Levels/HPZ/Chunks/Primary.bin" + even +LRZ3_16x16_Secondary_Kos: + binclude "Levels/LRZ/Blocks/Act 3 Secondary.bin" + even +ArtKosM_LRZ3_Secondary: + binclude "Levels/LRZ/Tiles/Boss Secondary.bin" + even +LRZ3_128x128_Secondary_Kos: + binclude "Levels/LRZ/Chunks/Act 3 Secondary.bin" + even +HPZ_16x16_Secondary_Kos: + binclude "Levels/HPZ/Blocks/Secondary.bin" + even +ArtKosM_HPZ_Secondary: + binclude "Levels/HPZ/Tiles/Secondary.bin" + even +HPZ_128x128_Secondary_Kos: + binclude "Levels/HPZ/Chunks/Secondary.bin" + even +SSZ1_16x16_Primary_Kos: + binclude "Levels/SSZ/Blocks/Act 1 Primary.bin" + even +ArtKosM_SSZ1_Primary: + binclude "Levels/SSZ/Tiles/Act 1 Primary.bin" + even +SSZ1_128x128_Primary_Kos: + binclude "Levels/SSZ/Chunks/Act 1 Primary.bin" + even +SSZ1_16x16_Secondary_Kos: + binclude "Levels/SSZ/Blocks/Act 1 Secondary.bin" + even +ArtKosM_SSZ1_Secondary: + binclude "Levels/SSZ/Tiles/Act 1 Secondary.bin" + even +SSZ1_128x128_Secondary_Kos: + binclude "Levels/SSZ/Chunks/Act 1 Secondary.bin" + even +SSZ1_16x16_Custom_Kos: + binclude "Levels/SSZ/Blocks/Act 1 Custom.bin" + even +ArtKosM_SSZ1_Custom: + binclude "Levels/SSZ/Tiles/Act 1 Custom.bin" + even +SSZ1_128x128_Custom_Kos: + binclude "Levels/SSZ/Chunks/Act 1 Custom.bin" + even +SSZ2_16x16_Kos: + binclude "Levels/SSZ/Blocks/Act 2.bin" + even +ArtKosM_SSZ2: + binclude "Levels/SSZ/Tiles/Act 2.bin" + even +SSZ2_128x128_Kos: + binclude "Levels/SSZ/Chunks/Act 2.bin" + even +DEZ_16x16_Primary_Kos: + binclude "Levels/DEZ/Blocks/Primary.bin" + even +ArtKosM_DEZ_Primary: + binclude "Levels/DEZ/Tiles/Primary.bin" + even +DEZ_128x128_Kos: + binclude "Levels/DEZ/Chunks/Primary.bin" + even +DEZ1_16x16_Secondary_Kos: + binclude "Levels/DEZ/Blocks/Act 1 Secondary.bin" + even +ArtKosM_DEZ1_Secondary: + binclude "Levels/DEZ/Tiles/Act 1 Secondary.bin" + even +DEZ2_16x16_Secondary_Kos: + binclude "Levels/DEZ/Blocks/Act 2 Secondary.bin" + even +ArtKosM_DEZ2_Secondary: + binclude "Levels/DEZ/Tiles/Act 2 Secondary.bin" + even +DEZ3_16x16_Kos: + binclude "Levels/DEZ/Blocks/Act 3.bin" + even +ArtKosM_DEZ3: + binclude "Levels/DEZ/Tiles/Final Boss Act.bin" + even +DEZ3_128x128_Kos: + binclude "Levels/DEZ/Chunks/Act 3.bin" + even +DDZ_16x16_Kos: + binclude "Levels/DDZ/Blocks/Primary.bin" + even +ArtKosM_DDZ: + binclude "Levels/DDZ/Tiles/Primary.bin" + even +DDZ_128x128_Kos: + binclude "Levels/DDZ/Chunks/Primary.bin" + even +Pachinko_16x16_Kos: + binclude "Levels/Pachinko/Blocks/Primary.bin" + even +ArtKosM_Pachinko: + binclude "Levels/Pachinko/Tiles/Pachinko.bin" + even +Pachinko_128x128_Kos: + binclude "Levels/Pachinko/Chunks/Primary.bin" + even +Slots_16x16_Kos: + binclude "Levels/Slots/Blocks/Primary.bin" + even +ArtKosM_Slots: + binclude "Levels/Slots/Tiles/Slots.bin" + even +Slots_128x128_Kos: + binclude "Levels/Slots/Chunks/Primary.bin" + even if ~~strip_padding align $100 @@ -203184,9 +203208,10 @@ Slots_128x128_Kos:binclude "Levels/Slots/Chunks/Primary.bin" even endif -Character_Speeds: dc.w $600, $10, $20, 0 ; Sonic - dc.w $4C0, $1C, $70, 0 ; Tails - dc.w $580, $10, $200, 0 ; Knuckles +Character_Speeds: + dc.w $600, $10, $20, 0 ; Sonic + dc.w $4C0, $1C, $70, 0 ; Tails + dc.w $580, $10, $200, 0 ; Knuckles Sonic_Start_Locations: binclude "Levels/AIZ/Start Location/Sonic/1.bin" binclude "Levels/AIZ/Start Location/Sonic/2.bin" @@ -203381,7 +203406,7 @@ RingLocPtrs: dc.l AIZ1_Rings dc.l HPZ_Rings dc.l DEZ3_Rings dc.l DEZ3_Rings -AutoTunnel_Data: dc.l AutoTunnel_00 +AutoTunnel_Data:dc.l AutoTunnel_00 dc.l AutoTunnel_01_02 dc.l AutoTunnel_01_02 dc.l AutoTunnel_03 @@ -203413,7 +203438,8 @@ AutoTunnel_Data: dc.l AutoTunnel_00 dc.l SpriteTerminatB dc.l SpriteTerminatB dc.l SpriteTerminatB -FBZSnakePlatform_Data: dc.l word_1EE2D4 +FBZSnakePlatform_Data: + dc.l word_1EE2D4 dc.l word_1EE2E4 dc.l word_1EE2F4 dc.l word_1EE310 @@ -203472,64 +203498,61 @@ DEZTunnelPaths: dc.l word_1FB49E SSCompressedLayoutPtrs: dc.l SSLayoutData1_Kos dc.l SSLayoutData2_Kos -SlotBonusLayout: - binclude "Levels/Slots/SSLayout/Bonus Player Start.bin" - even +SlotBonusLayout:binclude "Levels/Slots/SSLayout/Bonus Player Start.bin" + even binclude "Levels/Slots/SSLayout/Bonus Layout.bin" - even - + even byte_1E4484: dc.b 1, 3, 1, 3, 8, 3, 8, 5, 1, 3, 6, 4, 1, 7, 6, 5, 8, 6, 4, 3 dc.b 4, 3, 4, 5, 8, 4, 5, 3, 7, 3, 8, 3, 6, 5, 6, 7, 4, 3, 7, 5 dc.b 6, 4, 6, 4, 7, 3, 3, 5, 4, 3, 4, 6, 3, 4, 3, 7, 4, 3, 4, 3 dc.b 4, 3, 4, 3 byte_1E44C4: dc.b $50, $32, $28, $23, $23, $1E, $1E, $14, $14, $A, $A, $A, $A, 5, 5, 5 - SpriteTerminat1:dc.w $FFFF, 0, 0 AIZ1_Sprites: binclude "Levels/AIZ/Object Pos/1.bin" - even + even AIZ2_Sprites: binclude "Levels/AIZ/Object Pos/2.bin" - even + even AIZ1_Rings: binclude "Levels/AIZ/Ring Pos/1.bin" - even + even AIZ2_Rings: binclude "Levels/AIZ/Ring Pos/2.bin" - even + even SpriteTerminat2:dc.w $FFFF, 0, 0 HCZ1_Sprites: binclude "Levels/HCZ/Object Pos/1.bin" - even + even HCZ2_Sprites: binclude "Levels/HCZ/Object Pos/2.bin" - even + even HCZ1_Rings: binclude "Levels/HCZ/Ring Pos/1.bin" - even + even HCZ2_Rings: binclude "Levels/HCZ/Ring Pos/2.bin" - even + even SpriteTerminat3:dc.w $FFFF, 0, 0 MGZ1_Sprites: binclude "Levels/MGZ/Object Pos/1.bin" - even + even MGZ1_Rings: binclude "Levels/MGZ/Ring Pos/1.bin" - even + even SpriteTerminat4:dc.w $FFFF, 0, 0 MGZ2_Sprites: binclude "Levels/MGZ/Object Pos/2.bin" - even + even MGZ2_Rings: binclude "Levels/MGZ/Ring Pos/2.bin" - even + even SpriteTerminat5:dc.w $FFFF, 0, 0 CNZ1_Sprites: binclude "Levels/CNZ/Object Pos/1.bin" - even + even CNZ2_Sprites: binclude "Levels/CNZ/Object Pos/2.bin" - even + even CNZ1_Rings: binclude "Levels/CNZ/Ring Pos/1.bin" - even + even CNZ2_Rings: binclude "Levels/CNZ/Ring Pos/2.bin" - even + even SpriteTerminat6:dc.w $FFFF, 0, 0 FBZ1_Sprites: binclude "Levels/FBZ/Object Pos/1.bin" - even + even FBZ2_Sprites: binclude "Levels/FBZ/Object Pos/2.bin" - even + even FBZ1_Rings: binclude "Levels/FBZ/Ring Pos/1.bin" - even + even FBZ2_Rings: binclude "Levels/FBZ/Ring Pos/2.bin" - even + even word_1EE2D4: dc.w $10F1 dc.w $118C dc.w $118C @@ -203652,27 +203675,28 @@ word_1EE398: dc.w $1D79 dc.w 0 SpriteTerminat7:dc.w $FFFF, 0, 0 ICZ1_Sprites: binclude "Levels/ICZ/Object Pos/1.bin" - even + even ICZ2_Sprites: binclude "Levels/ICZ/Object Pos/2.bin" - even + even ICZ1_Rings: binclude "Levels/ICZ/Ring Pos/1.bin" - even + even ICZ2_Rings: binclude "Levels/ICZ/Ring Pos/2.bin" - even + even SpriteTerminat8:dc.w $FFFF, 0, 0 LBZ1_Sprites: binclude "Levels/LBZ/Object Pos/1.bin" - even + even LBZ2_Sprites: binclude "Levels/LBZ/Object Pos/2.bin" - even + even LBZ1_Rings: binclude "Levels/LBZ/Ring Pos/1.bin" - even + even LBZ2_Rings: binclude "Levels/LBZ/Ring Pos/2.bin" - even + even AutoTunnel_00: dc.w $C dc.w $F60, $578 dc.w $F60, $548 dc.w $F60, $378 -AutoTunnel_01_02: dc.w $38 +AutoTunnel_01_02: + dc.w $38 dc.w $D40, $770 dc.w $D48, $770 dc.w $D50, $770 @@ -204044,22 +204068,22 @@ AutoTunnel_14: dc.w $28 dc.w $36A8, $7F0 SpriteTerminat9:dc.w $FFFF, 0, 0 MHZ1_Sprites: binclude "Levels/MHZ/Object Pos/1.bin" - even + even MHZ2_Sprites: binclude "Levels/MHZ/Object Pos/2.bin" - even + even MHZ1_Rings: binclude "Levels/MHZ/Ring Pos/1.bin" - even + even MHZ2_Rings: binclude "Levels/MHZ/Ring Pos/2.bin" - even + even SpriteTerminatA:dc.w $FFFF, 0, 0 SOZ1_Sprites: binclude "Levels/SOZ/Object Pos/1.bin" - even + even SOZ2_Sprites: binclude "Levels/SOZ/Object Pos/2.bin" - even + even SOZ1_Rings: binclude "Levels/SOZ/Ring Pos/1.bin" - even + even SOZ2_Rings: binclude "Levels/SOZ/Ring Pos/2.bin" - even + even word_1F6C70: dc.w $A68, $13A0 dc.w $D00, $FFFF word_1F6C78: dc.w $A70, $19C0 @@ -204186,31 +204210,31 @@ AutoTunnel_19: dc.w $30, $3A38 dc.w $1F0 SpriteTerminatB:dc.w $FFFF, 0, 0 LRZ1_Sprites: binclude "Levels/LRZ/Object Pos/1.bin" - even + even LRZ2_Sprites: binclude "Levels/LRZ/Object Pos/2.bin" - even + even LRZ1_Rings: binclude "Levels/LRZ/Ring Pos/1.bin" - even + even LRZ2_Rings: binclude "Levels/LRZ/Ring Pos/2.bin" - even + even SpriteTerminatC:dc.w $FFFF, 0, 0 SSZ1_Sprites: binclude "Levels/SSZ/Object Pos/1.bin" - even + even SSZ2_SPrites: binclude "Levels/SSZ/Object Pos/2.bin" - even + even SSZ1_Rings: binclude "Levels/SSZ/Ring Pos/1.bin" - even + even SSZ2_Rings: binclude "Levels/SSZ/Ring Pos/2.bin" - even + even SpriteTerminatD:dc.w $FFFF, 0, 0 DEZ1_Sprites: binclude "Levels/DEZ/Object Pos/1.bin" - even + even DEZ2_Sprites: binclude "Levels/DEZ/Object Pos/2.bin" - even + even DEZ1_Rings: binclude "Levels/DEZ/Ring Pos/1.bin" - even + even DEZ2_Rings: binclude "Levels/DEZ/Ring Pos/2.bin" - even + even word_1FB49E: dc.w $1E dc.w $1B80, $331 dc.w $1BD8, $328 @@ -204366,78 +204390,81 @@ word_1FB6CE: dc.w 9 dc.w $24D8, $638 SpriteTerminatE:dc.w $FFFF, 0, 0 DDZ1_Sprites: binclude "Levels/DDZ/Object Pos/1.bin" - even + even DDZ2_Sprites: binclude "Levels/DDZ/Object Pos/2.bin" - even + even DDZ1_Rings: binclude "Levels/DDZ/Ring Pos/1.bin" - even + even DDZ2_Rings: binclude "Levels/DDZ/Ring Pos/2.bin" - even + even SpriteTerminatF:dc.w $FFFF, 0, 0 Ending_Sprites: binclude "Levels/SSZ/Object Pos/Ending.bin" - even + even Ending_Rings: binclude "Levels/SSZ/Ring Pos/Ending.bin" - even + even SpriteTerminatG:dc.w $FFFF, 0, 0 ALZ_Sprites: binclude "Levels/ALZ/Object Pos/1.bin" - even + even ALZ_Rings: binclude "Levels/ALZ/Ring Pos/1.bin" - even + even SpriteTerminatH:dc.w $FFFF, 0, 0 BPZ_Sprites: binclude "Levels/BPZ/Object Pos/1.bin" - even + even BPZ_Rings: binclude "Levels/BPZ/Ring Pos/1.bin" - even + even SpriteTerminatI:dc.w $FFFF, 0, 0 DPZ_Sprites: binclude "Levels/DPZ/Object Pos/1.bin" - even + even DPZ_Rings: binclude "Levels/DPZ/Ring Pos/1.bin" - even + even SpriteTerminatJ:dc.w $FFFF, 0, 0 CGZ_Sprites: binclude "Levels/CGZ/Object Pos/1.bin" - even + even CGZ_Rings: binclude "Levels/CGZ/Ring Pos/1.bin" - even + even SpriteTerminatK:dc.w $FFFF, 0, 0 EMZ_Sprites: binclude "Levels/EMZ/Object Pos/1.bin" - even + even EMZ_Rings: binclude "Levels/EMZ/Ring Pos/1.bin" - even + even SpriteTerminatL:dc.w $FFFF, 0, 0 Gumball_Sprites:binclude "Levels/Gumball/Object Pos/1.bin" - even + even Gumball_Rings: binclude "Levels/Gumball/Ring Pos/1.bin" - even + even SpriteTerminatM:dc.w $FFFF, 0, 0 -Pachinko_Sprites:binclude "Levels/Pachinko/Object Pos/1.bin" - even +Pachinko_Sprites: + binclude "Levels/Pachinko/Object Pos/1.bin" + even Pachinko_Rings: binclude "Levels/Pachinko/Ring Pos/1.bin" - even + even SpriteTerminatN:dc.w $FFFF, 0, 0 Slots_Sprites: binclude "Levels/Slots/Object Pos/1.bin" - even + even Slots_Rings: binclude "Levels/Slots/Ring Pos/1.bin" - even + even SpriteTerminatO:dc.w $FFFF, 0, 0 LRZ3_Sprites: binclude "Levels/LRZ/Object Pos/3.bin" - even + even HPZ_Sprites: binclude "Levels/HPZ/Object Pos/1.bin" - even + even LRZ3_Rings: binclude "Levels/LRZ/Ring Pos/3.bin" - even + even HPZ_Rings: binclude "Levels/HPZ/Ring Pos/1.bin" - even + even SpriteTerminatP:dc.w $FFFF, 0, 0 DEZ3_Sprites: binclude "Levels/DEZ/Object Pos/3.bin" - even + even HPZMini_Sprites:binclude "Levels/HPZ/Object Pos/Mini.bin" - even + even DEZ3_Rings: binclude "Levels/DEZ/Ring Pos/3.bin" - even -SSLayoutData1_Kos: binclude "General/Special Stage/Layout/SK Set 1.bin" - even -SSLayoutData2_Kos: binclude "General/Special Stage/Layout/SK Set 2.bin" - even + even +SSLayoutData1_Kos: + binclude "General/Special Stage/Layout/SK Set 1.bin" + even +SSLayoutData2_Kos: + binclude "General/Special Stage/Layout/SK Set 2.bin" + even ; AS would automatically strip this padding if we didn't specifically declare one byte at the end if ~~strip_padding && (*)&(*-1) @@ -204447,12 +204474,13 @@ SSLayoutData2_Kos: binclude "General/Special Stage/Layout/SK Set 2.bin" even endif -EndOfROM: if Sonic3_Complete=0 +EndOfROM: org $200000 ; needed if you want to combine the ROM with Sonic 3 or Sonic 2 and the UPMEM include "Lockon S3/LockOn Pointers.asm" else include "Lockon S3/LockOn Data.asm" +EndOfROM: endif END diff --git a/sonic3k.constants.asm b/sonic3k.constants.asm index c059b9e0..2b8935bd 100644 --- a/sonic3k.constants.asm +++ b/sonic3k.constants.asm @@ -189,9 +189,9 @@ Status_BublShield = 6 ; --------------------------------------------------------------------------- ; Elemental Shield DPLC variables -LastLoadedDPLC = $34 -Art_Address = $38 -DPLC_Address = $3C +shield_prev_frame = $34 +shield_art = $38 +shield_plc = $3C ; --------------------------------------------------------------------------- ; Address equates @@ -245,8 +245,8 @@ Chunk_table ds.b $8000 ; chunk (128x128) definitions, $80 bytes per definitio Level_layout_header ds.b 8 ; first word = chunks per FG row, second word = chunks per BG row, third word = FG rows, fourth word = BG rows Level_layout_main ds.b $FF8 ; $40 word-sized line pointers followed by actual layout data Object_respawn_table_2 := Level_layout_header+$400; $200 bytes ; respawn table used by glowing spheres bonus stage, because... Reasons? -Ring_status_table_2 := Level_layout_header+$600; $400 bytes ; rinng status table used by glowing spheres bonus stage, because... Reasons? -Block_table ds.b $1800 ; block (16x16) definitions, 8 bytes per definition, spece for $300 blocks +Ring_status_table_2 := Level_layout_header+$600; $400 bytes ; ring status table used by glowing spheres bonus stage, because... Reasons? +Block_table ds.b $1800 ; block (16x16) definitions, 8 bytes per definition, space for $300 blocks SStage_collision_response_list := Block_table+$1400 ; $100 bytes ; sprite collision list during a special stage SStage_unkA500 := Block_table+$1500 ; unknown special stage array SStage_unkA600 := Block_table+$1600 ; unknown special stage array @@ -289,13 +289,13 @@ Pos_table_P2 ds.b $100 ; used by Player 2 in competition mode Pos_table ds.b $100 ; Competition_saved_data ds.b $54 ; saved data from Competition Mode ds.b $C ; unused -Save_pointer := * ; pointer to the active save slot in 1 player mode - ds.l 1 ; Sonic 3 has a different address... So uh... Yes +Save_pointer := * ; S3 uses a different address + ds.l 1 ; pointer to the active save slot in 1 player mode ds.w 1 ; unused Emerald_flicker_flag ds.w 1 ; controls the emerald flicker in save screen and special stage results. ds.b $44 ; unused -Saved_data := * ; saved data from 1 player mode - ds.b $54 ; Sonic 3 has a different address... So uh... Yes +Saved_data := * ; S3 uses a different address + ds.b $54 ; saved data from 1 player mode Ring_status_table ds.b $400 ; 1 word per ring Object_respawn_table ds.b $300 ; 1 byte per object, every object in the level gets an entry @@ -343,11 +343,18 @@ Apparent_zone_and_act = * Apparent_zone ds.b 1 ; always equal to actual zone Apparent_act ds.b 1 ; for example, after AIZ gets burnt, this indicates act 1 even though it's actually act 2 Palette_fade_timer ds.w 1 ; the palette gets faded in until this timer expires -_unkEE52 ds.l 1 ; something to do with competition mode -_unkEE56 ds.l 1 ; something to do with competition mode. Wiki said this was to do with demos, but I doubt that's the case -_unkEE5A ds.b 1 +Competition_time_record ds.l 1 ; player 1's recorded time for the current run, to be displayed in menus and the result screen +Competition_time_record_minute = Competition_time_record+1 +Competition_time_record_second = Competition_time_record+2 +Competition_time_record_frame = Competition_time_record+3 +Competition_time_record_P2 ds.l 1 ; player 2's recorded time for the current run, to be displayed in menus and the result screen +Competition_time_record_minute_P2 = Competition_time_record_P2+1 +Competition_time_record_second_P2 = Competition_time_record_P2+2 +Competition_time_record_frame_P2 = Competition_time_record_P2+3 +Competition_time_attack_new_top_record ds.b 1 ; signifies new time records in time attack mode. set: no new records, clear: 1st place, $1: 2nd place, $2: 3rd place record. ds.b 1 ; unused -_unkEE5C ds.w 1 +Competition_lap_count ds.b 1 ; number of laps that player 1 has completed +Competition_lap_count_2P ds.b 1 ; number of laps that player 2 has completed Act3_flag ds.b 1 ; set when entering LRZ 3 or DEZ 3 directly from previous act. Prevents title card from loading ds.b 1 ; unused Camera_X_pos_P2 ds.l 1 @@ -427,7 +434,7 @@ Not_ghost_flag ds.b 1 ; set if Player 2 in competition mode isn't a ghost of Competition_menu_zone ds.b 1 ; competition mode zone id. This is different from the zone order in game Dataselect_entry ds.b 1 ; the selected save entry in data select menu. This includes no save and delete options, too Dataselect_nosave_player ds.w 1 ; Player mode for NO SAVE option in data select menu -Competition_menu_monitors ds.b 1 ; 0 = Enabled, FF = Disabled +Competition_menu_items ds.b 1 ; 0 = Enabled, FF = Disabled ds.b 1 ; unused Demo_start_button ds.b 1 ; keeps track of whether controller 1 has pressed the start button. May be used by the demo data itself ds.b 1 ; unused @@ -516,7 +523,7 @@ Mean_water_level ds.w 1 ; the steady central value of the water level Target_water_level ds.w 1 Water_speed ds.b 1 ; this is added to or subtracted from Mean_water_level every frame till it reaches Target_water_level Water_entered_counter ds.b 1 ; incremented when entering and exiting water, read by the the floating AIZ spike log, cleared on level initialisation and dynamic events of certain levels -Water_full_screen_flag ds.b 1 ; set if water covers the entire screen (i.e. the underwater pallete should be DMAed during V-int rather than the normal palette) +Water_full_screen_flag ds.b 1 ; set if water covers the entire screen (i.e. the underwater palette should be DMAed during V-int rather than the normal palette) Do_Updates_in_H_int ds.b 1 ; if this is set Do_Updates will be called from H-int instead of V-int Palette_cycle_counters ds.b $C ; various counters and variables for palette cycles Palette_frame ds.w 1 @@ -565,8 +572,8 @@ Tails_CPU_flight_timer ds.w 1 ; counts up while Tails is respawning, when it Tails_CPU_routine ds.w 1 ; Tails' current AI routine in a Sonic and Tails game Tails_CPU_target_X ds.w 1 ; Tails' target x-position Tails_CPU_target_Y ds.w 1 ; Tails' target y-position -_unkF70E ds.b 1 -_unkF70F ds.b 1 +Tails_CPU_auto_fly_timer ds.b 1 ; counts up until AI Tails automatically flies up to maintain altitude, while grabbing Sonic in Marble Garden Act 2's boss +Tails_CPU_auto_jump_flag ds.b 1 ; set to #1 when AI Tails needs to jump of his own accord, regardless of whether Sonic jumped or not Rings_manager_routine ds.b 1 Level_started_flag ds.b 1 _unkF712 ds.b $1C ; ??? ; unknown object respawn table @@ -587,7 +594,7 @@ Ctrl_1_pressed_title ds.b 1 _unkF74A ds.b 1 _unkF74B ds.b 1 _unkF74C ds.w 1 -_unkF74E ds.b 1 +Gliding_collision_flags ds.b 1 Disable_wall_grab ds.b 1 ; if set, disables Knuckles wall grab ds.b $10 ; unused Max_speed ds.w 1 @@ -596,9 +603,9 @@ Deceleration ds.w 1 Player_prev_frame ds.b 1 ; used by DPLC routines to detect whether a DMA transfer is required ds.b 1 ; unused Primary_Angle ds.b 1 - ds.b 1 ; unused +Primary_Angle_save ds.b 1 ; Used in FindFloor/FindWall Secondary_Angle ds.b 1 - ds.b 1 ; unused +Secondary_Angle_save ds.b 1 ; Used in FindFloor/FindWall Object_load_routine ds.b 1 ; routine counter for the object loading manager ds.b 1 ; unused @@ -654,10 +661,10 @@ _unkFA8A ds.w 1 _unkFA8C ds.w 1 ; unused? _unkFA8E ds.w 1 _unkFA90 ds.w 1 -Target_camera_max_X_pos ds.w 1 ; the target camera maximum x-position -Target_camera_min_X_pos ds.w 1 ; the target camera minimum x-position -Target_camera_min_Y_pos ds.w 1 ; the target camera minimum y-position -Target_camera_max_Y_pos ds.w 1 ; the target camera maximum y-position +Camera_stored_max_X_pos ds.w 1 ; the target camera maximum x-position +Camera_stored_min_X_pos ds.w 1 ; the target camera minimum x-position +Camera_stored_min_Y_pos ds.w 1 ; the target camera minimum y-position +Camera_stored_max_Y_pos ds.w 1 ; the target camera maximum y-position Slotted_object_bits ds.w 1 ; bits to determine which slots are used for slotted objects ds.b 6 ; unused _unkFAA2 ds.b 1 @@ -695,13 +702,13 @@ Pal_fade_delay2 ds.w 1 ; timer for palette fade from white routine ds.b $A ; unused Palette_rotation_custom ds.l 1 ; custom routine for palette rotation scripts Palette_rotation_data ds.w 9 ; data used by palette rotation scripts. Last word must always be 0 -_unkFAF0 ds.w 1 +SSZ_MTZ_boss_X_pos ds.w 1 ; horizontal position of the Metropolis Zone boss in Sky Sanctuary ds.w 1 ; unused -_unkFAF4 ds.w 1 +SSZ_MTZ_boss_Y_pos ds.w 1 ; vertical position of the Metropolis Zone boss in Sky Sanctuary ds.w 1 ; unused -_unkFAF8 ds.w 1 -_unkFAFA ds.w 1 -_unkFAFC ds.w 1 +SSZ_MTZ_boss_X_vel ds.w 1 ; horizontal velocity of the Metropolis Zone boss in Sky Sanctuary +SSZ_MTZ_boss_Y_vel ds.w 1 ; vertical velocity of the Metropolis Zone boss in Sky Sanctuary +SSZ_MTZ_boss_laser_timer ds.w 1 ; counts down until a laser is fired in Sky Sanctuary's Metropolis boss fight ds.w 1 ; unused DMA_queue ds.w $12*7 ; stores all the VDP commands necessary to initiate a DMA transfer @@ -793,16 +800,15 @@ LRZ_rocks_addr_front ds.l 1 ; the address inside the lrz rocks data of the fi LRZ_rocks_addr_back ds.l 1 ; the address inside the lrz rocks data of the first rock whose X pos is >= Camera_X_pos_coarse - $80 Oscillating_table ds.b $42 ; various oscillating variables Oscillating_table_end = * ; end of oscillating data array -_unkFEB0 ds.b 1 -_unkFEB1 ds.b 1 +Slot_machine_goal_frame_timer ds.b 1 +Slot_machine_goal_frame ds.b 1 Rings_frame_timer ds.b 1 Rings_frame ds.b 1 -_unkFEB4 ds.b 1 -_unkFEB5 ds.b 1 +Slot_machine_peppermint_frame_timer ds.b 1 +Slot_machine_peppermint_frame ds.b 1 Ring_spill_anim_counter ds.b 1 Ring_spill_anim_frame ds.b 1 -Ring_spill_anim_accum ds.b 1 - ds.b 1 ; unused +Ring_spill_anim_accum ds.w 1 AIZ_vine_angle ds.w 1 ; controls the angle of AIZ giant vines ds.w 1 ; unused _unkFEBE ds.b 1 ; unused @@ -811,24 +817,26 @@ Max_speed_P2 ds.w 1 Acceleration_P2 ds.w 1 Deceleration_P2 ds.w 1 Life_count_P2 ds.b 1 ; left over from Sonic 2 -_unkFEC7 ds.b 1 ; used in competition mode +Update_HUD_timer_P2 ds.b 1 ; used in competition mode Total_ring_count ds.w 1 ; left over from Sonic 2 Total_ring_count_P2 ds.w 1 ; left over from Sonic 2 Monitors_broken ds.w 1 ; left over from Sonic 2. Apparently Sonic 3 developers liked copypasting, since gaining a life from rings also increments this counter Monitors_broken_P2 ds.w 1 ; left over from Sonic 2 Ring_count_P2 ds.w 1 ; left over from Sonic 2 -Timer_P2 ds.l 1 ; left over from Sonic 2 -Timer_minute_P2 = Timer_P2+1 ; left over from Sonic 2 +Timer_P2 ds.l 1 ; used in competition mode +Timer_minute_P2 = Timer_P2+1 +Timer_second_P2 = Timer_P2+2 +Timer_frame_P2 = Timer_P2+3 ; the second gets incremented when this reaches 60 Score_P2 ds.l 1 ; left over from Sonic 2 -_unkFEDA ds.b 1 +Competition_total_laps ds.b 1 ; total number of laps in competition mode (typically 5) ds.b 1 ; unused -_unkFEDC ds.b 1 -_unkFEDD ds.b 1 -_unkFEDE ds.b 1 ; unused +Competition_current_lap ds.b 1 ; current lap number for player 1 in competition mode +Competition_current_lap_2P ds.b 1 ; current lap number for player 2 in competition mode +Loser_time_left ds.b 1 ; left over from Sonic 2 ds.b $23 ; unused Results_screen_2P ds.w 1 ; left over from Sonic 2 Perfect_rings_left ds.w 1 ; left over from Sonic 2 -_unkFF06 ds.w 1 ; uknown +_unkFF06 ds.w 1 ; unknown Player_mode ds.w 1 ; 0 = Sonic and Tails, 1 = Sonic alone, 2 = Tails alone, 3 = Knuckles alone Player_option ds.w 1 ; option selected on level select, data select screen or Sonic & Knuckles title screen ds.w 1 ; unused @@ -856,12 +864,13 @@ Sound_test_sound ds.w 1 Title_screen_option ds.b 1 ds.b 1 ; unused _tempFF88 ds.w 1 ; this is used in Sonic 3 Alone, but unused in Sonic & Knuckles and Sonic 3 Complete -Competition_mode_monitors ds.b 1 ; 0 = Enabled, FF = Disabled. -Competition_mode_type ds.b 1 ; 0 = grand prix, 3 = match race, -1 = time attack +Competition_settings = * ; both items and game type +Competition_items ds.b 1 ; 0 = Enabled, FF = Disabled. +Competition_type ds.b 1 ; 0 = grand prix, 3 = match race, -1 = time attack _tempFF8C ds.b 1 ; this is used in Sonic 3 Alone, but unused in Sonic & Knuckles and Sonic 3 Complete ds.b 1 ; unused Total_bonus_countup ds.w 1 ; the total points to be added due to various bonuses this frame in the end of level results screen -Level_music ds.w 1 +Current_music ds.w 1 Collected_special_ring_array ds.l 1 ; each bit indicates a special stage entry ring in the current zone Saved2_status_secondary ds.b 1 Respawn_table_keep ds.b 1 ; if set, respawn table is not reset during level load @@ -878,9 +887,9 @@ Blue_spheres_current_level ds.l 1 ; number shown at the top of the full game m Blue_spheres_option ds.b 1 ; 0 = level, 1 = start, 2 = code Blue_spheres_progress_flag ds.b 1 ; 0 = normal, -1 = disabled (single stage mode or using a code from single stage mode) Blue_spheres_difficulty ds.b 1 ; value currently displayed -Blue_spheres_target_difficulty ds.b 1 ; byte ; value read from the layout +Blue_spheres_target_difficulty ds.b 1 ; value read from the layout SK_alone_flag ds.w 1 ; -1 if Sonic 3 isn't locked on -Emerald_count = * ; both chaos and super emeralds +Emerald_counts = * ; both chaos and super emeralds Chaos_emerald_count ds.b 1 Super_emerald_count ds.b 1 Collected_emeralds_array ds.b 7 ; 1 byte per emerald, 0 = not collected, 1 = chaos emerald collected, 2 = grey super emerald, 3 = super emerald collected @@ -895,54 +904,56 @@ Title_anim_frame ds.b 1 ; title animation frame number Next_extra_life_score ds.l 1 Next_extra_life_score_P2 ds.l 1 ; left over from Sonic 2 ds.w 1 ; unused -Debug_P1_mappings ds.l 1 ; player 1 mappings while in debug mode -Debug_P2_mappings ds.w 1 ; long! ; player 2 mappings while in debug mode -Demo_mode_flag := * - ds.w 1 ; Sonic 3 has a different address... So uh... Yes -Next_demo_number := * - ds.w 1 ; Sonic 3 has a different address... So uh... Yes -Blue_spheres_stage_flag := * ; set if a Blue Sphere special stage is being run - ds.b 1 ; Sonic 3 has a different address... So uh... Yes +Debug_saved_mappings ds.l 1 ; player 1 mappings before entering debug mode +Debug_saved_art_tile ds.w 1 ; player 1 art_tile before entering debug mode +Demo_mode_flag := * ; S3 uses a different address + ds.w 1 +Next_demo_number := * ; S3 uses a different address + ds.w 1 +Blue_spheres_stage_flag := * ; S3 uses a different address + ds.b 1 ; set if a Blue Sphere special stage is being run ds.b 1 ; unused -V_blank_cycles := * ; the number of cycles between V-blanks - ds.w 1 ; Sonic 3 has a different address... So uh... Yes -Graphics_flags := * ; bit 7 set := English system, bit 6 set := PAL system - ds.b 1 ; Sonic 3 has a different address... So uh... Yes +V_blank_cycles := * ; S3 uses a different address + ds.w 1 ; the number of cycles between V-blanks +Graphics_flags := * ; S3 uses a different address + ds.b 1 ; bit 7 set = English system, bit 6 set = PAL system ds.b 1 ; unused -Debug_mode_flag := * - ds.w 1 ; Sonic 3 has a different address... So uh... Yes +Debug_mode_flag := * ; S3 uses a different address + ds.w 1 ds.l 1 ; unused -Level_select_flag := * - ds.b 1 ; Sonic 3 has a different address... So uh... Yes -Slow_motion_flag := * - ds.b 1 ; Sonic 3 has a different address... So uh... Yes -Debug_cheat_flag := * ; set if the debug cheat's been entered - ds.w 1 ; Sonic 3 has a different address... So uh... Yes -Level_select_cheat_counter := * ; progress entering level select cheat, unused - ds.w 1 ; Sonic 3 has a different address... So uh... Yes -Debug_mode_cheat_counter := * ; progress entering debug mode cheat, unused - ds.w 1 ; Sonic 3 has a different address... So uh... Yes -Competition_mode := * - ds.w 1 ; Sonic 3 has a different address... So uh... Yes -P1_character := * ; 0 := Sonic, 1 := Tails, 2 := Knuckles - ds.b 1 ; Sonic 3 has a different address... So uh... Yes -P2_character := * - ds.b 1 ; Sonic 3 has a different address... So uh... Yes +Level_select_flag := * ; S3 uses a different address + ds.b 1 +Slow_motion_flag := * ; S3 uses a different address + ds.b 1 +Debug_cheat_flag := * ; S3 uses a different address + ds.w 1 ; set if the debug cheat's been entered +Level_select_cheat_counter := * ; S3 uses a different address + ds.w 1 ; progress entering level select cheat, unused +Debug_mode_cheat_counter := * ; S3 uses a different address + ds.w 1 ; progress entering debug mode cheat, unused +Competition_mode := * ; S3 uses a different address + ds.w 1 +P1_character := * ; S3 uses a different address + ds.b 1 ; 0 = Sonic, 1 = Tails, 2 = Knuckles +P2_character := * ; S3 uses a different address + ds.b 1 ds.l 1 ; unused -V_int_jump := * ; contains an instruction to jump to the V-int handler - ds.b 6 ; Sonic 3 has a different address... So uh... Yes +V_int_jump := * ; S3 uses a different address + ds.b 6 ; contains an instruction to jump to the V-int handler V_int_addr := V_int_jump+2 ; long -H_int_jump := * ; contains an instruction to jump to the H-int handler - ds.b 6 ; Sonic 3 has a different address... So uh... Yes +H_int_jump := * ; S3 uses a different address + ds.b 6 ; contains an instruction to jump to the H-int handler H_int_addr := H_int_jump+2 ; long -Checksum_string := * ; set to 'SM&K' once the checksum routine has run - ds.l 1 ; Sonic 3 has a different address... So uh... Yes +Checksum_string := * ; S3 uses a different address + ds.l 1 ; set to Ref_Checksum_String once the checksum routine has run +Ref_Checksum_String := 'SM&K' .check = (*)&$FFFFFF if (.check>0)&(.check<$FF0000) fatal "Sonic & Knuckles RAM definitions are too large by $\{*} bytes!" endif + dephase ; extra Special Stage variables phase Pos_table_P2 @@ -974,7 +985,7 @@ Special_stage_prev_Y_pos ds.w 1 Special_stage_spheres_left ds.w 1 Special_stage_ring_count ds.w 1 Special_stage_sphere_HUD_flag ds.b 1 -Special_stage_extra_life_flags ds.b 1 ; byte ; when bit 7 is set, the ring HUD is updated +Special_stage_extra_life_flags ds.b 1 ; when bit 7 is set, the ring HUD is updated Special_stage_rate_timer ds.w 1 ; when this reaches 0, the special stage speeds up Special_stage_jumping_P2 ds.b 1 ; $80 = normal jump, $81 = spring ds.b 1 ; unused @@ -987,8 +998,8 @@ Special_stage_emerald_timer ds.b 1 ; counts down when the emerald appears, whe Special_stage_interact ds.w 1 ; address of the last bumper touched, or the emerald at the end of the stage Special_stage_started ds.b 1 ; set when the player begins moving at the start of the stage ds.b $2F ; unused -SStage_extra_sprites := * ; some extra sprite info for special stages - ds.b $70 ; Sonic 3 has a different address... So uh... Yes +SStage_extra_sprites := * ; S3 uses a different address + ds.b $70 ; some extra sprite info for special stages dephase ; --------------------------------------------------------------------------- ; Art tile stuff @@ -1025,6 +1036,8 @@ ArtTile_ArtKos_Save_Extra = $0454 ; Universal (used on all standard levels). ArtTile_Monitors = $04C4 ArtTile_CutsceneKnux = $04DA +ArtTile_Explosion = $05A0 +ArtTile_StarPost = $05E4 ArtTile_Player_1 = $0680 ArtTile_Player_2 = $06A0 ArtTile_Player_2_Tail = $06B0 @@ -1044,16 +1057,17 @@ mus_Stop ds.b 1 ; $E2 - stop music and sound effects mus_MutePSG ds.b 1 ; $E3 - mute all PSG channels mus_StopSFX ds.b 1 ; $E4 - stop all sound effects mus_FadeOut2 ds.b 1 ; $E5 - fade out music (duplicate) -Mus__EndCmd = * ; next ID after last sound command +mus__EndCmd = * ; next ID after last sound command -mus_FA = $FA ; $FA - ??? +mus_S2SEGA = $FA ; $FA - SEGA sound ID in Sonic 2 mus_StopSEGA = $FE ; $FE - Stop SEGA sound mus_SEGA = $FF ; $FF - Play SEGA sound + dephase ; --------------------------------------------------------------------------- ; Music ID's list. These do not affect the sound driver, be careful. phase $01 -Mus__First = * ; ID of the first music +mus__First = * ; ID of the first music mus_AIZ1 ds.b 1 ; $01 mus_AIZ2 ds.b 1 ; $02 mus_HCZ1 ds.b 1 ; $03 @@ -1073,16 +1087,16 @@ mus_MHZ2 ds.b 1 ; $10 mus_SOZ1 ds.b 1 ; $11 mus_SOZ2 ds.b 1 ; $12 mus_LRZ1 ds.b 1 ; $13 -mus_HPZ ds.b 1 ; $14 +mus_LRZ2 ds.b 1 ; $14 mus_SSZ ds.b 1 ; $15 mus_DEZ1 ds.b 1 ; $16 mus_DEZ2 ds.b 1 ; $17 mus_MinibossK ds.b 1 ; $18 mus_EndBoss ds.b 1 ; $19 mus_DDZ ds.b 1 ; $1A -mus_MagneticOrbs ds.b 1 ; $1B +mus_Pachinko ds.b 1 ; $1B mus_SpecialStage ds.b 1 ; $1C -mus_SlotMachine ds.b 1 ; $1D +mus_Slots ds.b 1 ; $1D mus_Gumball ds.b 1 ; $1E mus_Knuckles ds.b 1 ; $1F mus_ALZ ds.b 1 ; $20 @@ -1106,6 +1120,7 @@ mus_Drowning ds.b 1 ; $31 mus_Ending ds.b 1 ; $32 mus_CreditsK ds.b 1 ; $DC - Can also be treated as SFX? Mus__End = * ; next ID after last music + dephase ; --------------------------------------------------------------------------- ; Sound effect ID's list. These do not affect the sound driver, be careful. @@ -1126,12 +1141,12 @@ sfx_Break ds.b 1 ; $3D sfx_FireShield ds.b 1 ; $3E sfx_BubbleShield ds.b 1 ; $3F sfx_UnknownShield ds.b 1 ; $40 -sfx_ElectricShield ds.b 1 ; $41 +sfx_LightningShield ds.b 1 ; $41 sfx_InstaAttack ds.b 1 ; $42 sfx_FireAttack ds.b 1 ; $43 sfx_BubbleAttack ds.b 1 ; $44 sfx_ElectricAttack ds.b 1 ; $45 -sfx_SuperAlt ds.b 1 ; $46 +sfx_Whistle ds.b 1 ; $46 sfx_SandwallRise ds.b 1 ; $47 sfx_Blast ds.b 1 ; $48 sfx_Thump ds.b 1 ; $49 @@ -1145,7 +1160,7 @@ sfx_BossActivate ds.b 1 ; $50 sfx_MissileThrow ds.b 1 ; $51 sfx_SpikeMove ds.b 1 ; $52 sfx_Charging ds.b 1 ; $53 -sfx_BossLazer ds.b 1 ; $54 +sfx_BossLaser ds.b 1 ; $54 sfx_BlockConveyor ds.b 1 ; $55 sfx_FlipBridge ds.b 1 ; $56 sfx_Geyser ds.b 1 ; $57 @@ -1153,9 +1168,9 @@ sfx_FanLatch ds.b 1 ; $58 sfx_Collapse ds.b 1 ; $59 sfx_UnknownCharge ds.b 1 ; $5A sfx_Switch ds.b 1 ; $5B -sfx_MetalSpark ds.b 1 ; $5C +sfx_MechaSpark ds.b 1 ; $5C sfx_FloorThump ds.b 1 ; $5D -sfx_Lazer ds.b 1 ; $5E +sfx_Laser ds.b 1 ; $5E sfx_Crash ds.b 1 ; $5F sfx_BossZoom ds.b 1 ; $60 sfx_BossHitFloor ds.b 1 ; $61 @@ -1211,7 +1226,7 @@ sfx_GhostAppear ds.b 1 ; $92 sfx_BossRecovery ds.b 1 ; $93 sfx_ChainTick ds.b 1 ; $94 sfx_BossHand ds.b 1 ; $95 -sfx_MetalLand ds.b 1 ; $96 +sfx_MechaLand ds.b 1 ; $96 sfx_EnemyBreath ds.b 1 ; $97 sfx_BossProjectile ds.b 1 ; $98 sfx_UnknownPlink ds.b 1 ; $99 @@ -1225,7 +1240,7 @@ sfx_MissileShoot ds.b 1 ; $A0 sfx_UnknownOminous ds.b 1 ; $A1 sfx_FloorLauncher ds.b 1 ; $A2 sfx_GravityLift ds.b 1 ; $A3 -sfx_MetalTransform ds.b 1 ; $A4 +sfx_MechaTransform ds.b 1 ; $A4 sfx_UnknownRise ds.b 1 ; $A5 sfx_LaunchGrab ds.b 1 ; $A6 sfx_LaunchReady ds.b 1 ; $A7 @@ -1252,7 +1267,7 @@ sfx_FlyTired ds.b 1 ; $BB sfx__FirstContinuous = * ; ID of the first continuous sound effect sfx_SlideSkidLoud ds.b 1 ; $BC sfx_LargeShip ds.b 1 ; $BD -sfx_EggmanSiren ds.b 1 ; $BE +sfx_RobotnikSiren ds.b 1 ; $BE sfx_BossRotate ds.b 1 ; $BF sfx_FanBig ds.b 1 ; $C0 sfx_FanSmall ds.b 1 ; $C1 @@ -1283,7 +1298,7 @@ sfx_MagneticSpike ds.b 1 ; $D9 sfx_LeafBlower ds.b 1 ; $DA sfx_WaterSkid ds.b 1 ; $DB ds.b 3 ; unused SFX slots, the driver will happily play them though -sfx__End = * ; next ID after the last sound effect +sfx_End = * ; next ID after the last sound effect dephase !org 0 ; make sure we reset the ROM position to 0 diff --git a/sonic3k.macros.asm b/sonic3k.macros.asm index 69dad9b7..81de2d4c 100644 --- a/sonic3k.macros.asm +++ b/sonic3k.macros.asm @@ -235,6 +235,14 @@ palscriptdata macro frames, data dc.w .framec endm +; macro to define a palette script data from an external file +palscriptfile macro frames, data +.framec := frames-1 + shift + binclude ALLARGS + dc.w .framec + endm + ; macro to repeat script from start palscriptrept macro header dc.w -4 diff --git a/sonic3k.macrosetup.asm b/sonic3k.macrosetup.asm index fb2c284e..f2354ab1 100644 --- a/sonic3k.macrosetup.asm +++ b/sonic3k.macrosetup.asm @@ -87,3 +87,8 @@ tracenum := (tracenum+1) endif endm tracenum := 0 + +bit function nBits,1<<(nBits-1) +signmask function val,nBits,-((-(val&bit(nBits)))&bit(nBits)) +signextend function val,nBits,(val+signmask(val,nBits))!signmask(val,nBits) +signextendB function val,signextend(val,8)