Skip to content

Commit

Permalink
Merge pull request #4 from ShadowSpeedrun/Beta5
Browse files Browse the repository at this point in the history
Beta5
  • Loading branch information
BlazinZzetti committed Apr 16, 2023
2 parents 5813edd + d79ede4 commit 4a50d11
Show file tree
Hide file tree
Showing 187 changed files with 1,788 additions and 1,603 deletions.
23 changes: 7 additions & 16 deletions ASM Changes/DontStopTimeInCheckpoint.asm
Original file line number Diff line number Diff line change
@@ -1,46 +1,37 @@
#To be inserted at 80337030
;DontStopTimeInCheckpoint.asm

;Original Code
;cmplwi r0, 0

;Adding code "around" original code
;to add new functionality.

Start:
;Load value of "In Checkpoint" into r16
lis r16, 0x8057
li r17, 0x7777
addi r17, r17, 0x6130
or r18, r16, r17
lhz r16, 0(r18)
lis r18, 0x8057
ori r18, r18, 0xD8A6
lhz r18, 0(r18)

;If "In Checkpoint" is 1, exit code.
cmplwi r16, 0
cmplwi r18, 0
bne- Exit

;r0 is the value of "Stop Time and Shadow" (8057D768)
;This being 1 means the game is trying to pause.

;We need to clean up but also...
;If r0 is 0, we can leave normally.
;If r0 is 1, we need also need to 80337048.
;If r0 is 1, we need also need to 0x80337048.

;Run Original code for compare.
cmplwi r0, 0
bne- loc_0x28
bne- LeaveToOtherCode
b Exit

loc_0x28:
LeaveToOtherCode:
lis r18, 0x8033
ori r18, r18, 0x7048
mtlr r18
li r16, 0x0
li r17, 0x0
li r18, 0x0
blr

Exit:
li r16, 0x0
li r17, 0x0
li r18, 0x0
18 changes: 18 additions & 0 deletions ASM Changes/DontUpdateExpertProgressInSelectMode.asm
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#To be inserted at 80204e60
;DontUpdateExpertProgressInSelectMode.asm

Start:
;Load Flag for Select Mode
lis r18, 0x8057
ori r18, r18, 0xD8FE
lhz r18, 0(r18)
;If flag is on, do not save update Expert Progress.
cmpwi r18, 1
beq End
;Original Code
stw r0, 0x006C (r30)

End:
li r18, 0
89 changes: 89 additions & 0 deletions ASM Changes/DpadUpSelectModeLevelEnter.asm
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
#To be inserted at 80206334
;DpadUpSelectModeLevelEnter.asm

Start:
;Check if we are running from the select mode screen
lis r18, 0x8058
ori r18, r18, 0x3ACC
lwz r16, 0(r18)
cmpwi r16, 6
bne Exit
;Set from Select Mode Flag to 1
li r16, 1
lis r18, 0x8057
ori r18, r18, 0xD8FE
sth r16, 0(r18)

;Check for Player Input Dpad Up
;No Dpad Up = No need to run code.
lis r18, 0x8056
ori r18, r18, 0xED4C
lwz r18, 0(r18)
andi. r18, r18, 0x40
cmpwi r18, 0x40
bne DisableEggIL

;Load the value of "Level Boss Selected" into r18.(80584568)
;Do not modify settings if this is 1.
lis r18, 0x8058
ori r18, r18, 0x4568
lbz r18, 0(r18)
cmpwi r18, 1
beq DisableEggIL

;Load the value of "Final Boss Selected" into r18.(80584570)
lis r18, 0x8058
ori r18, r18, 0x4570
lbz r18, 0(r18)
cmpwi r18, 1
beq CheckForEggDealer

;Not a boss, is a level, set expert and continue.
;Set Expert Enable To 1
li r3, 0x1
b DisableEggIL

CheckForEggDealer:
;Get the Final Boss Position (r18)
lis r18, 0x8058
ori r18, r18, 0x456C
lwz r18, 0(r18)

;Only enable if boss is Egg Dealer
cmplwi r18, 0x3
beq EnableEggIL
cmplwi r18, 0x4
beq EnableEggIL
cmplwi r18, 0x5
beq EnableEggIL
cmplwi r18, 0x6
beq EnableEggIL
b DisableEggIL

LoadEggDealerILFlag:
;Load "Egg Dealer IL Flag" Address into r18.
lis r18, 0x8057
ori r18, r18, 0xD928
blr

EnableEggIL:
;Set "Egg Dealer IL Flag" to true.
bl LoadEggDealerILFlag
li r19, 0x1
sth r19, 0(r18)
b Exit
DisableEggIL:
;Set "Egg Dealer IL Flag" to False.
bl LoadEggDealerILFlag
li r19, 0x0
sth r19, 0(r18)

Exit:
;Original Code?
stb r3, 89(r31)
li r3, 0x0
li r18, 0x0
li r19, 0x0

22 changes: 22 additions & 0 deletions ASM Changes/ExpertSelectModeLives.asm
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#To be inserted at 8016f014
;ExpertSelectModeLives.asm

Start:
;Load Flag for Select Mode
lis r18, 0x8057
ori r18, r18, 0xD8FE
lhz r18, 0(r18)
;If Flag is on, set lives to 99.
cmpwi r18, 1
beq SelectModeLives
;Original Code
lwz r0, 0x00A0 (r3)
b Exit

SelectModeLives:
li r0, 99

Exit:
li r18, 0
18 changes: 18 additions & 0 deletions ASM Changes/ExpertSelectModePreventLivesSave.asm
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#To be inserted at 801e33bc
;ExpertSelectModePreventLivesSave.asm

Start:
;Load flag for Select Mode
lis r18, 0x8057
ori r18, r18, 0xD8FE
lhz r18, 0(r18)
;If flag is on, dont save lives.
cmpwi r18, 1
beq End
;Original Code
stw r0, 0x00A0 (r31)

End:
li r18, 0x0
18 changes: 18 additions & 0 deletions ASM Changes/ExpertSelectModePreventLivesSave2.asm
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#To be inserted at 80204e74
;ExpertSelectModePreventLivesSave2.asm

Start:
;Load Flag for Select Mode
lis r18, 0x8057
ori r18, r18, 0xD8FE
lhz r18, 0(r18)
;If the Flag is on, dont save lives.
cmpwi r18, 1
beq End

;Original Code
stw r0, 0x0070 (r30)

End:
li r18, 0x0

0 comments on commit 4a50d11

Please sign in to comment.