Skip to content

Commit

Permalink
Beta Level Order Mod (RetroKoH)
Browse files Browse the repository at this point in the history
  • Loading branch information
RetroKoH committed Sep 4, 2024
1 parent 89f05bd commit c38f62d
Show file tree
Hide file tree
Showing 8 changed files with 22,430 additions and 22,330 deletions.
5 changes: 5 additions & 0 deletions Assets/Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,11 @@
Credit: Ikey Ilex
Function: Gives Sonic a more saturated color palette. From the Tom Payne archives. Also seen in Crackers and Sonic CD.
Date: 2024-09-04

## Beta Level Order
Credit: RetroKoH
Function: If toggled on, lets you play the game in the original intended order
Date: 2024-09-04

# Under-the-Hood Optimizations/Overhauls
These are larger-scale changes to one or more aspects of the engine that cannot be toggled on/off.
Expand Down
3 changes: 2 additions & 1 deletion Mods.asm
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,10 @@ SuperMod: = 1

; ----- GAMEPLAY TWEAKS ----------------------------------------------------------

; Name: Beta Level Order (Coming Soon)
; Name: Beta Level Order
; Credit: RetroKoH
; Function: Toggles level order between Beta and Final
BetaLevelOrder: = 1 ; if set to 1, Level Order is that seen in the beta level select

; Name: Disable Speed Caps
; Credit: Mercury (Ground/Air), RetroKoH (Applied to Devon's Rolling Speed Cap Fix)
Expand Down
Binary file modified S1Fixed.bin
Binary file not shown.
Binary file modified S1Fixed.debug.bin
Binary file not shown.
40 changes: 40 additions & 0 deletions _incObj/3A Got Through Card.asm
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,45 @@ Got_Display2:
; Level order array
; ---------------------------------------------------------------------------
LevelOrder:
if BetaLevelOrder=1
; Green Hill Zone
dc.b id_GHZ, 1 ; Act 1
dc.b id_GHZ, 2 ; Act 2
dc.b id_LZ, 0 ; Act 3
dc.b 0, 0

; Labyrinth Zone
dc.b id_LZ, 1 ; Act 1
dc.b id_LZ, 2 ; Act 2
dc.b id_MZ, 0 ; Act 3
dc.b id_SBZ, 2 ; Scrap Brain Zone Act 3

; Marble Zone
dc.b id_MZ, 1 ; Act 1
dc.b id_MZ, 2 ; Act 2
dc.b id_SLZ, 0 ; Act 3
dc.b 0, 0

; Star Light Zone
dc.b id_SLZ, 1 ; Act 1
dc.b id_SLZ, 2 ; Act 2
dc.b id_SYZ, 0 ; Act 3
dc.b 0, 0

; Spring Yard Zone
dc.b id_SYZ, 1 ; Act 1
dc.b id_SYZ, 2 ; Act 2
dc.b id_SBZ, 0 ; Act 3
dc.b 0, 0

; Scrap Brain Zone
dc.b id_SBZ, 1 ; Act 1
dc.b id_LZ, 3 ; Act 2
dc.b 0, 0 ; Final Zone
dc.b 0, 0
even
zonewarning LevelOrder,8
else
; Green Hill Zone
dc.b id_GHZ, 1 ; Act 1
dc.b id_GHZ, 2 ; Act 2
Expand Down Expand Up @@ -264,6 +303,7 @@ LevelOrder:
dc.b 0, 0
even
zonewarning LevelOrder,8
endif
; ===========================================================================

Got_Move2: ; Routine $E
Expand Down
56 changes: 53 additions & 3 deletions sonic.asm
Original file line number Diff line number Diff line change
Expand Up @@ -1822,7 +1822,30 @@ LevSel_Credits:
; Level select - level pointers
; ---------------------------------------------------------------------------
LevSel_Ptrs:
; correct level order
if BetaLevelOrder=1
dc.b id_GHZ, 0
dc.b id_GHZ, 1
dc.b id_GHZ, 2
dc.b id_LZ, 0
dc.b id_LZ, 1
dc.b id_LZ, 2
dc.b id_MZ, 0
dc.b id_MZ, 1
dc.b id_MZ, 2
dc.b id_SLZ, 0
dc.b id_SLZ, 1
dc.b id_SLZ, 2
dc.b id_SYZ, 0
dc.b id_SYZ, 1
dc.b id_SYZ, 2
dc.b id_SBZ, 0
dc.b id_SBZ, 1
dc.b id_LZ, 3
dc.b id_SBZ, 2
dc.b id_SS, 0 ; Special Stage
dc.w $8000 ; Sound Test
even
else
dc.b id_GHZ, 0
dc.b id_GHZ, 1
dc.b id_GHZ, 2
Expand All @@ -1845,6 +1868,7 @@ LevSel_Ptrs:
dc.b id_SS, 0 ; Special Stage
dc.w $8000 ; Sound Test
even
endif
; ===========================================================================

LevSel_Level:
Expand Down Expand Up @@ -2184,6 +2208,30 @@ LevSel_CharOk:
; Level select menu text -- Soulless Sentinel Level Select ASCII Mod
; ---------------------------------------------------------------------------
LevelMenuText:
if BetaLevelOrder=1
dc.b "GREEN HILL ZONE STAGE 1"
dc.b " STAGE 2"
dc.b " STAGE 3"
dc.b "LABYRINTH ZONE STAGE 1"
dc.b " STAGE 2"
dc.b " STAGE 3"
dc.b "MARBLE ZONE STAGE 1"
dc.b " STAGE 2"
dc.b " STAGE 3"
dc.b "STAR LIGHT ZONE STAGE 1"
dc.b " STAGE 2"
dc.b " STAGE 3"
dc.b "SPRING YARD ZONE STAGE 1"
dc.b " STAGE 2"
dc.b " STAGE 3"
dc.b "SCRAP BRAIN ZONE STAGE 1"
dc.b " STAGE 2"
dc.b " STAGE 3"
dc.b "FINAL ZONE "
dc.b "SPECIAL STAGE "
dc.b "SOUND SELECT "
even
else
dc.b "GREEN HILL ZONE STAGE 1"
dc.b " STAGE 2"
dc.b " STAGE 3"
Expand All @@ -2206,6 +2254,7 @@ LevelMenuText:
dc.b "SPECIAL STAGE "
dc.b "SOUND SELECT "
even
endif
; ---------------------------------------------------------------------------
; Music playlist
; ---------------------------------------------------------------------------
Expand Down Expand Up @@ -2653,7 +2702,8 @@ ColIndexLoad:
; ---------------------------------------------------------------------------
; Collision index pointers
; ---------------------------------------------------------------------------
ColPointers: dc.l Col_GHZ_1 ; MJ: each zone now has two entries
ColPointers:
dc.l Col_GHZ_1 ; MJ: each zone now has two entries
dc.l Col_GHZ_2
dc.l Col_LZ_1
dc.l Col_LZ_2
Expand Down Expand Up @@ -3743,7 +3793,7 @@ EndingDemoLoad:
move.w (v_creditsnum).w,d0
andi.w #$F,d0
add.w d0,d0
move.w EndDemo_Levels(pc,d0.w),d0 ; load level array
move.w EndDemo_Levels(pc,d0.w),d0 ; load level array
move.w d0,(v_zone).w ; set level from level array
addq.w #1,(v_creditsnum).w
cmpi.w #9,(v_creditsnum).w ; have credits finished?
Expand Down
Loading

1 comment on commit c38f62d

@RetroKoH
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Documented under Elective Mods in the wiki: Wiki Page

Please sign in to comment.