More battle tower shenanigans

This commit is contained in:
PikalaxALT 2015-12-08 16:06:13 -05:00
parent 0549e3413f
commit 5b7fc7b0fa
10 changed files with 359 additions and 224 deletions

View File

@ -753,7 +753,7 @@ LoadNote: ; e83d1
ld hl, Channel1Field0x22 - Channel1
add hl, bc
sub [hl]
jr nc, .asm_e8420
jr nc, .greater_than
; ????
ld hl, Channel1Flags3 - Channel1
add hl, bc
@ -779,9 +779,9 @@ LoadNote: ; e83d1
ld a, [hl]
sub d
ld d, a
jr .asm_e843e
jr .resume
.asm_e8420
.greater_than
; ????
ld hl, Channel1Flags3 - Channel1
add hl, bc
@ -806,7 +806,7 @@ LoadNote: ; e83d1
add hl, bc
sub [hl]
ld d, a
.asm_e843e
.resume
push bc
ld hl, wc297
ld b, 0; loop count
@ -1419,19 +1419,19 @@ MusicCommands: ; e8720
dw Music_ToggleSFX ;
dw MusicE0 ;
dw Music_Vibrato ; vibrato
dw MusicE2 ;
dw MusicE2 ; unused
dw Music_ToggleNoise ; music noise sampling
dw Music_Panning ; force panning
dw Music_Volume ; volume
dw Music_Tone ; tune
dw MusicE7 ;
dw MusicE8 ;
dw Music_GlobalTempo ; global tempo
dw MusicE7 ; unused
dw MusicE8 ; unused
dw Music_TempoRelative ; global tempo
dw Music_RestartChannel ; restart current channel from header
dw Music_NewSong ; new song
dw Music_SFXPriorityOn ; sfx priority on
dw Music_SFXPriorityOff ; sfx priority off
dw MusicEE ;
dw MusicEE ; unused
dw Music_StereoPanning ; stereo panning
dw Music_SFXToggleNoise ; sfx noise sampling
dw MusicF1 ; nothing
@ -1442,7 +1442,7 @@ MusicCommands: ; e8720
dw MusicF6 ; nothing
dw MusicF7 ; nothing
dw MusicF8 ; nothing
dw MusicF9 ;
dw MusicF9 ; unused
dw Music_SetCondition ;
dw Music_JumpIf ;
dw Music_JumpChannel ; jump
@ -1847,7 +1847,7 @@ Music_Tone: ; e88e4
; e88f7
MusicE7: ; e88f7
; shrug
; unused
; params: 1
ld hl, Channel1Flags2 - Channel1
add hl, bc
@ -1884,7 +1884,7 @@ MusicDE: ; e8906
; e891e
MusicE8: ; e891e
; shrug
; unused
; params: 1
ld hl, Channel1Flags2 - Channel1
add hl, bc
@ -2106,7 +2106,7 @@ Music_Volume: ; e89d2
; e89e1
Music_GlobalTempo: ; e89e1
Music_TempoRelative: ; e89e1
; set global tempo to current channel tempo +- param
; params: 1 signed
call GetMusicByte
@ -2304,7 +2304,7 @@ SetNoteDuration: ; e8a8d
ld a, [hl]
; multiply NoteLength by delay units
ld l, 0; just multiply
call MultiplySimple
call .Multiply
ld a, l ; % $100
; store Tempo in de
ld hl, Channel1Tempo - Channel1
@ -2317,7 +2317,7 @@ SetNoteDuration: ; e8a8d
add hl, bc
ld l, [hl]
; multiply Tempo by last result (NoteLength * delay % $100)
call MultiplySimple
call .Multiply
; copy result to de
ld e, l
ld d, h
@ -2333,7 +2333,7 @@ SetNoteDuration: ; e8a8d
; e8ab8
MultiplySimple: ; e8ab8
.Multiply: ; e8ab8
; multiplies a and de
; adds the result to l
; stores the result in hl
@ -2363,31 +2363,31 @@ SetGlobalTempo: ; e8ac7
cp CHAN5
jr nc, .sfxchannels
ld bc, Channel1
call SetTempo
call Tempo
ld bc, Channel2
call SetTempo
call Tempo
ld bc, Channel3
call SetTempo
call Tempo
ld bc, Channel4
call SetTempo
call Tempo
jr .end
.sfxchannels
ld bc, Channel5
call SetTempo
call Tempo
ld bc, Channel6
call SetTempo
call Tempo
ld bc, Channel7
call SetTempo
call Tempo
ld bc, Channel8
call SetTempo
call Tempo
.end
pop bc ; restore current channel
ret
; e8b03
SetTempo: ; e8b03
Tempo: ; e8b03
; input:
; de: note length
; update Tempo

View File

@ -2,7 +2,7 @@
const BATTLETOWERACTION_00
const BATTLETOWERACTION_01
const BATTLETOWERACTION_02
const BATTLETOWERACTION_03
const BATTLETOWERACTION_SAVE_AND_QUIT
const BATTLETOWERACTION_CHALLENGECANCELED
const BATTLETOWERACTION_05
const BATTLETOWERACTION_06 ; reset stuff in SRAM bank 5
@ -13,7 +13,7 @@
const BATTLETOWERACTION_CHECKMOBILEEVENT
const BATTLETOWERACTION_0C ; more time stuff in SRAM bank 5
const BATTLETOWERACTION_0D ; more time stuff in SRAM bank 5
const BATTLETOWERACTION_0E ; egg ticket
const BATTLETOWERACTION_EGGTICKET ; egg ticket
const BATTLETOWERACTION_0F ; check w3_d090
const BATTLETOWERACTION_10 ; jumptable based on 5:a800
const BATTLETOWERACTION_11 ; store 0 in 5:aa8d
@ -26,11 +26,11 @@
const BATTLETOWERACTION_18 ; level check
const BATTLETOWERACTION_19 ; ubers check
const BATTLETOWERACTION_RESETDATA ; clear data
const BATTLETOWERACTION_1B ; give reward
const BATTLETOWERACTION_GIVEREWARD ; give reward
const BATTLETOWERACTION_1C ; set won challenge
const BATTLETOWERACTION_1D ; set received reward
const BATTLETOWERACTION_1E ; save options
const BATTLETOWERACTION_CHOOSEREWARD
const BATTLETOWERACTION_CHOOSEREWARD ; save options
const BATTLETOWERACTION_SAVEOPTIONS
BATTLETOWER_NO_CHALLENGE EQU 0
BATTLETOWER_SAVED_AND_LEFT EQU 1

View File

@ -175,7 +175,7 @@ SpecialsPointers:: ; c029
add_special SpecialBeastsCheck
add_special SpecialMonCheck
add_special Special_SetPlayerPalette
add_special Function170bd2
add_special ret_170bd2
add_special Mobile_SelectThreeMons
add_special Function1037eb
add_special Function10383c

View File

@ -135,9 +135,9 @@ unknownmusic0xe8: macro
db \1 ; unknown
endm
enum globaltempo_cmd
globaltempo: macro
db globaltempo_cmd
enum tempo_relative_cmd
tempo_relative: macro
db tempo_relative_cmd
bigdw \1 ; value
endm

View File

@ -97,7 +97,7 @@ Script_ChoseChallenge: ; 0x9e40f
writetext Text_RightThisWayToYourBattleRoom
waitbutton
closetext
writebyte BATTLETOWERACTION_1E
writebyte BATTLETOWERACTION_CHOOSEREWARD
special BattleTowerAction
jump Script_WalkToBattleTowerElevator
@ -124,7 +124,7 @@ Script_WalkToBattleTowerElevator:
Script_GivePlayerHisPrize: ; 0x9e47a
writebyte BATTLETOWERACTION_1C
special BattleTowerAction
writebyte BATTLETOWERACTION_1B
writebyte BATTLETOWERACTION_GIVEREWARD
special BattleTowerAction
if_equal POTION, Script_YourPackIsStuffedFull
itemtotext $0, $1

View File

@ -24,7 +24,7 @@ Script_BattleRoom: ; 0x9f421
applymovement PLAYER, MovementData_BattleTowerBattleRoomPlayerWalksIn
; beat all 7 opponents in a row
Script_BattleRoomLoop: ; 0x9f425
writebyte $2
writebyte BATTLETOWERBATTLEROOM_YOUNGSTER
special Function_LoadOpponentTrainerAndPokemonsWithOTSprite
appear BATTLETOWERBATTLEROOM_YOUNGSTER
warpsound
@ -71,9 +71,9 @@ Script_DontBattleNextOpponent: ; 0x9f483
iffalse Script_DontSaveAndEndTheSession
writebyte BATTLETOWERACTION_SAVELEVELGROUP ; save level group
special BattleTowerAction
writebyte BATTLETOWERACTION_CHOOSEREWARD ; choose reward
writebyte BATTLETOWERACTION_SAVEOPTIONS ; choose reward
special BattleTowerAction
writebyte BATTLETOWERACTION_03 ; quicksave
writebyte BATTLETOWERACTION_SAVE_AND_QUIT ; quicksave
special BattleTowerAction
playsound SFX_SAVE
waitsfx

View File

@ -1,11 +1,11 @@
Function1700b0: ; 1700b0
call Bank5c_ClearJumptableRAM
call InitBattleTowerChallengeRAM
callba Function118121
ret
; 1700ba
Function1700ba: ; 1700ba
call Bank5c_ClearJumptableRAM
call InitBattleTowerChallengeRAM
callba Function11811a
ret
; 1700c4
@ -53,7 +53,7 @@ Function1700c4: ; 1700c4
; 170114
Function170114: ; 170114
call Bank5c_ClearJumptableRAM
call InitBattleTowerChallengeRAM
call Function170121
callba Function11805f
ret
@ -64,7 +64,7 @@ Function170121: ; 170121
call GetSRAMBank
ld hl, $a948
ld de, wMisc
ld bc, $00f6
ld bc, $00f6 ; 246
call CopyBytes
call CloseSRAM
call Function170c8b
@ -183,7 +183,7 @@ Function170139: ; 170139
BattleTowerBattle: ; 170215
xor a
ld [wcf63], a
ld [wBattleTowerBattleEnded], a
call _BattleTowerBattle
ret
; 17021d
@ -192,10 +192,10 @@ EmptySpecial_17021d: ; 17021d
ret
; 17021e
Bank5c_ClearJumptableRAM: ; 17021e
InitBattleTowerChallengeRAM: ; 17021e
xor a
ld [wcf63], a
ld [wcf64], a
ld [wBattleTowerBattleEnded], a
ld [wNrOfBeatenBattleTowerTrainers], a
ld [wcf65], a
ld [wcf66], a
ret
@ -205,14 +205,14 @@ _BattleTowerBattle: ; 17022c
.loop
call .do_jumptable
call DelayFrame
ld a, [wcf63]
ld a, [wBattleTowerBattleEnded]
cp $1
jr nz, .loop
ret
; 17023a
.do_jumptable: ; 17023a
ld a, [wcf63]
ld a, [wBattleTowerBattleEnded]
ld e, a
ld d, 0
ld hl, .jumptable
@ -259,10 +259,10 @@ RunBattleTowerTrainer: ; 17024d
ld a, BANK(sNrOfBeatenBattleTowerTrainers)
call GetSRAMBank
ld a, [sNrOfBeatenBattleTowerTrainers]
ld [wNrOfBeatenBattleTowerTrainers], a ; wcf64
ld [wNrOfBeatenBattleTowerTrainers], a
call CloseSRAM
ld hl, StringBuffer3
ld a, [wNrOfBeatenBattleTowerTrainers] ; wcf64
ld a, [wNrOfBeatenBattleTowerTrainers]
add "1"
ld [hli], a
ld a, "@"
@ -274,7 +274,7 @@ RunBattleTowerTrainer: ; 17024d
pop af
ld [Options], a
ld a, $1
ld [wcf63], a
ld [wBattleTowerBattleEnded], a
ret
@ -661,7 +661,7 @@ Function1704e1: ; 1704e1
; unreferenced special
call SpeechTextBox
call FadeToMenu
call Bank5c_ClearJumptableRAM
call InitBattleTowerChallengeRAM
call .JumptableLoop
call CloseSubmenu
ret
@ -758,20 +758,20 @@ endr
ret
.pressed_up
ld a, [wcf64]
ld a, [wNrOfBeatenBattleTowerTrainers]
and a
ret z
sub 15
ld [wcf64], a
ld [wNrOfBeatenBattleTowerTrainers], a
call .PlaceTextItems
ret
.pressed_down
ld a, [wcf64]
ld a, [wNrOfBeatenBattleTowerTrainers]
cp 60
ret z
add 15
ld [wcf64], a
ld [wNrOfBeatenBattleTowerTrainers], a
call .PlaceTextItems
ret
@ -834,7 +834,7 @@ endr
ld a, $50
ld [wcd4e], a
ld hl, wMisc
ld a, [wcf64]
ld a, [wNrOfBeatenBattleTowerTrainers]
ld c, a
xor a
ld b, a
@ -916,7 +916,7 @@ endr
; 17065d
.PlaceUpDownArrows: ; 17065d
ld a, [wcf64]
ld a, [wNrOfBeatenBattleTowerTrainers]
and a
jr z, .nope
hlcoord 18, 5
@ -924,7 +924,7 @@ endr
ld [hl], a
.nope
ld a, [wcf64]
ld a, [wNrOfBeatenBattleTowerTrainers]
cp 60
ret z
hlcoord 18, 16
@ -984,11 +984,11 @@ endr
dw Function170ae8 ; 0x18
dw Function170b16 ; 0x19
dw ResetBattleTowerTrainersSRAM ; 0x1a
dw Function1706ee ; 0x1b
dw BattleTower_GiveReward ; 0x1b
dw Function17071b ; 0x1c
dw Function170729 ; 0x1d
dw BattleTower_RandomlyChooseReward ; 0x1e
dw Function170737 ; 0x1f
dw BattleTower_SaveOptions ; 0x1f
; Reset the save memory for BattleTower-Trainers (Counter and all 7 TrainerBytes)
@ -1008,7 +1008,7 @@ ResetBattleTowerTrainersSRAM: ; 1706d6 (5c:46d6) BattleTowerAction $1a
ret
Function1706ee: ; 1706ee (5c:46ee) BattleTowerAction $1b
BattleTower_GiveReward: ; 1706ee (5c:46ee) BattleTowerAction $1b
ld a, BANK(sBattleTowerReward)
call GetSRAMBank
@ -1053,11 +1053,11 @@ Function170729: ; 170729 (5c:4729) BattleTowerAction $1d
call CloseSRAM
ret
Function170737: ; 170737 (5c:4737) BattleTowerAction $1e
BattleTower_SaveOptions: ; 170737 (5c:4737) BattleTowerAction $1f
callba SaveOptions
ret
BattleTower_RandomlyChooseReward: ; 17073e (5c:473e) BattleTowerAction $1f
BattleTower_RandomlyChooseReward: ; 17073e (5c:473e) BattleTowerAction $1e
; Generate a random stat boosting item.
.loop
call Random
@ -1646,3 +1646,134 @@ Function170b16: ; 170b16 (5c:4b16) BattleTowerAction $19
call CloseSRAM
ld [ScriptVar], a
ret
Function_LoadOpponentTrainerAndPokemonsWithOTSprite: ; 0x170b44
callba Function_LoadOpponentTrainerAndPokemons
ld a, [rSVBK]
push af
ld a, $3
ld [rSVBK], a
ld hl, BT_OTTrainerClass
ld a, [hl]
dec a
ld c, a
ld b, $0
pop af
ld [rSVBK], a
ld hl, .Sprites
add hl, bc
ld a, [hl]
ld [wBTTempOTSprite], a
; Load sprite of the opponent trainer
; because s/he is chosen randomly and appears out of nowhere
ld a, [ScriptVar]
dec a
sla a
ld e, a
sla a
sla a
sla a
ld c, a
ld b, 0
ld d, 0
ld hl, MapObjects
add hl, bc
inc hl
ld a, [wBTTempOTSprite]
ld [hl], a
ld hl, UsedSprites
add hl, de
ld [hli], a
ld [hUsedSpriteIndex], a
ld a, [hl]
ld [hUsedSpriteTile], a
callba GetUsedSprite
ret
; 170b90
.Sprites:
db SPRITE_FALKNER
db SPRITE_WHITNEY
db SPRITE_BUGSY
db SPRITE_MORTY
db SPRITE_PRYCE
db SPRITE_JASMINE
db SPRITE_CHUCK
db SPRITE_CLAIR
db SPRITE_SILVER
db SPRITE_OAK
db SPRITE_WILL
db SPRITE_CHRIS
db SPRITE_BRUNO
db SPRITE_KAREN
db SPRITE_KOGA
db SPRITE_LANCE
db SPRITE_BROCK
db SPRITE_MISTY
db SPRITE_SURGE
db SPRITE_SCIENTIST
db SPRITE_ERIKA
db SPRITE_YOUNGSTER
db SPRITE_YOUNGSTER
db SPRITE_YOUNGSTER
db SPRITE_LASS
db SPRITE_JANINE
db SPRITE_COOLTRAINER_M
db SPRITE_COOLTRAINER_F
db SPRITE_BUENA
db SPRITE_SUPER_NERD
db SPRITE_ROCKET
db SPRITE_GENTLEMAN
db SPRITE_BUENA
db SPRITE_TEACHER
db SPRITE_SABRINA
db SPRITE_BUG_CATCHER
db SPRITE_FISHER
db SPRITE_SUPER_NERD
db SPRITE_COOLTRAINER_F
db SPRITE_SAILOR
db SPRITE_SUPER_NERD
db SPRITE_BLUE
db SPRITE_ROCKER
db SPRITE_POKEFAN_M
db SPRITE_BIKER
db SPRITE_BLAINE
db SPRITE_PHARMACIST
db SPRITE_FISHER
db SPRITE_SUPER_NERD
db SPRITE_BLACK_BELT
db SPRITE_ROCKET
db SPRITE_YOUNGSTER
db SPRITE_LASS
db SPRITE_YOUNGSTER
db SPRITE_ROCKET_GIRL
db SPRITE_SAGE
db SPRITE_GRANNY
db SPRITE_ROCKER
db SPRITE_POKEFAN_M
db SPRITE_KIMONO_GIRL
db SPRITE_TWIN
db SPRITE_POKEFAN_F
db SPRITE_RED
db SPRITE_BLUE
db SPRITE_OFFICER
db SPRITE_ROCKET_GIRL
ret_170bd2: ; 170bd2
ret
; 170bd3
SpecialCheckForBattleTowerRules: ; 170bd3
callba CheckForBattleTowerRules
jr c, .asm_170bde
xor a
jr .asm_170be0
.asm_170bde
ld a, $1
.asm_170be0
ld [ScriptVar], a
ret
; 170be4

View File

@ -1071,7 +1071,7 @@ Function11878d: ; 11878d (46:478d)
set 0, [hl]
ld a, $6
ld [rSVBK], a
ld de, UnknBGPals
ld de, w3_d000
ld bc, $1000
ld a, [hl]
sla a
@ -1466,7 +1466,7 @@ Function118a65: ; 118a65
ld de, wcc60
ld bc, $80
call CopyBytes
ld de, UnknBGPals
ld de, w3_d000
ld bc, $1000
jp Function118b10
; 118a7a
@ -1476,7 +1476,7 @@ Function118a7a: ; 118a7a
ld de, wcc60
ld bc, $80
call CopyBytes
ld de, UnknBGPals
ld de, w3_d000
ld bc, $1000
jp Function118b10
; 118a8f
@ -1486,7 +1486,7 @@ Function118a8f: ; 118a8f
ld de, wcc60
ld bc, $80
call CopyBytes
ld de, UnknBGPals
ld de, w3_d000
ld bc, $1000
jp Function118b10
; 118aa4
@ -1498,7 +1498,7 @@ Function118aa4: ; 118aa4
call CopyBytes
ld a, $5
ld [rSVBK], a
ld de, LYOverrides
ld de, w3_d100
ld bc, $e00
jr Function118b10
; 118abc
@ -1508,7 +1508,7 @@ Function118abc: ; 118abc (46:4abc)
ld de, wcc60
ld bc, $80
call CopyBytes
ld de, UnknBGPals
ld de, w3_d000
ld bc, $1000
jr Function118b10
; 118ad0 (46:4ad0)
@ -1518,7 +1518,7 @@ Function118ad0:
ld de, wcc60
ld bc, $80
call CopyBytes
ld de, UnknBGPals
ld de, w3_d000
ld bc, $1000
jr Function118b10
@ -1663,7 +1663,8 @@ IndexDownloadURL: ; 0x118ce5
Function118d35: ; 118d35
ld hl, LYOverridesBackup
; unreferenced
ld hl, $d200
ld a, [wcd38]
and a
jr nz, .asm_118d6e
@ -1739,7 +1740,7 @@ asm_118d9f
ld [wcd3b], a
.asm_118db7
ld hl, $d800
ld hl, w3_d800
ld a, $8
ld [hli], a
ld a, $c6
@ -1760,7 +1761,7 @@ asm_118d9f
call Function119ec2
ld a, $40
ld [wcd89], a
ld hl, $d800
ld hl, w3_d800
ld de, $de00
ld bc, $0200
ld a, $2c
@ -1894,7 +1895,7 @@ Function118e92: ; 118e92
ld de, wcc60
call Function1191ad
ret c
ld de, $d800
ld de, w3_d800
ld bc, $0800
jp Function118b10
; 118eb0
@ -2105,7 +2106,7 @@ Function119009:
ld a, $40
ld [wcd89], a
ld hl, wc314 + 48 + 2
ld de, UnknBGPals
ld de, w3_d000
ld bc, $1000
ld a, $2c
jp Function119e2b
@ -2119,9 +2120,9 @@ Function119054: ; 119054
ld e, a
ld a, [wcd50]
ld d, a
ld a, [UnknBGPals]
ld a, [w3_d000]
ld c, a
ld a, [wd001]
ld a, [w3_d000 + 1]
ld b, a
call Function119192
ret c
@ -2131,9 +2132,9 @@ Function119054: ; 119054
ld a, $6
ld [rSVBK], a
ld hl, wd002
ld a, [UnknBGPals]
ld a, [w3_d000]
ld c, a
ld a, [wd001]
ld a, [w3_d000 + 1]
ld b, a
call Function119192
ret c
@ -2178,7 +2179,7 @@ Function1190d0: ; 1190d0
ld de, wcc60
call Function1191ad
ret c
ld de, UnknBGPals
ld de, w3_d000
ld bc, $1000
jp Function118b10
; 1190ec
@ -2198,9 +2199,9 @@ Function1190ec: ; 1190ec
call CloseSRAM
ld a, $6
call GetSRAMBank
ld a, [UnknBGPals]
ld a, [w3_d000]
ld c, a
ld a, [wd001]
ld a, [w3_d000 + 1]
ld b, a
ld hl, wd002
ld de, $a000
@ -2211,9 +2212,9 @@ Function1190ec: ; 1190ec
jr z, .asm_11913e
ld a, $6
ld [rSVBK], a
ld a, [UnknBGPals]
ld a, [w3_d000]
ld c, a
ld a, [wd001]
ld a, [w3_d000 + 1]
ld b, a
ld hl, wd002
call Function119192
@ -2330,7 +2331,7 @@ Function1191ad: ; 1191ad
; 1191d3
Function1191d3: ; 1191d3
ld hl, wd102
ld hl, w3_d100 + 2
ld a, l
ld [wcd53], a
ld a, h
@ -2678,7 +2679,7 @@ Function1193fb:
ld a, $8
ld [wcd3c], a
call Function119ed8
ld de, UnknBGPals
ld de, w3_d000
ld bc, $1000
jp Function118b10
; 119413
@ -2686,9 +2687,9 @@ Function1193fb:
Function119413: ; 119413
ld a, $6
call GetSRAMBank
ld a, [UnknBGPals]
ld a, [w3_d000]
ld c, a
ld a, [wd001]
ld a, [w3_d000 + 1]
ld b, a
rept 2
dec bc
@ -2707,7 +2708,7 @@ endr
ld [rSVBK], a
ld a, [wd000]
ld c, a
ld a, [wd001]
ld a, [w3_d000 + 1]
ld b, a
ld hl, wd002
call Function119192
@ -3043,7 +3044,7 @@ Function119648: ; 119648 (46:5648)
ld [wcd3c], a
call Function119ed8
call Function118b24
ld de, UnknBGPals
ld de, w3_d000
ld bc, $1000
ld a, $2a
jp Function119e2b
@ -3338,7 +3339,7 @@ Function1197dc:
xor a
ld [de], a
call Function118b24
ld de, UnknBGPals
ld de, w3_d000
ld bc, $1000
ld a, $2a
jp Function119e2b
@ -3459,7 +3460,7 @@ Function1198f7:
ret nz
ld hl, $c608 + 2
call Function119940
ld hl, $d800
ld hl, w3_d800
ld a, $c608 % $100
ld [hli], a
ld a, $c608 / $100
@ -3480,7 +3481,7 @@ Function1198f7:
call Function119ec2
ld a, $40
ld [wcd89], a
ld hl, $d800
ld hl, w3_d800
ld de, $de00
ld bc, $0200
ld a, $2c
@ -3536,15 +3537,15 @@ Function119973: ; 119973
ld [wcf64], a
xor a
ld [wcf65], a
ld [StringBuffer2 + 10], a
ld de, UnknBGPals
ld [w3_d090], a
ld de, w3_d000
ld a, $20
jp Function119e2b
; 119987
Function119987: ; 119987
ld hl, wd001
ld a, [UnknBGPals]
ld hl, w3_d000 + 1
ld a, [w3_d000]
or [hl]
jr z, .asm_1199a0
ld a, [wcf64]
@ -3556,7 +3557,7 @@ Function119987: ; 119987
jp Function119e2b
.asm_1199a0
ld a, [StringBuffer2 + 10]
ld a, [w3_d090]
and a
jr z, .asm_1199ae
ld a, $16
@ -3590,7 +3591,7 @@ Function1199ca: ; 1199ca
ld l, a
ld a, [wcf65]
ld h, a
ld de, LYOverrides
ld de, w3_d100
ld bc, $0700
ld a, $28
jp Function119e2b
@ -3694,27 +3695,27 @@ Function1199e2: ; 1199e2
jp Function119b45
.asm_119aaf
ld a, [StringBuffer2 + 10]
ld a, [w3_d090]
and a
jr nz, .asm_119aa7
ld a, [wd000 + $895]
ld a, [w3_d895]
sub $30
ld [StringBuffer2 + 10], a
ld [w3_d090], a
ld a, [wcf64]
ld [StringBuffer2 + 11], a
ld [w3_d090 + 1], a
ld a, [wcf65]
ld [StringBuffer2 + 12], a
ld [w3_d090 + 2], a
Function119ac9:
ld a, [UnknBGPals]
ld a, [w3_d000]
ld l, a
ld a, [wd001]
ld a, [w3_d000 + 1]
ld h, a
dec hl
ld a, l
ld [UnknBGPals], a
ld [w3_d000], a
ld a, h
ld [wd001], a
ld [w3_d000 + 1], a
ld a, [wcf64]
ld l, a
ld a, [wcf65]
@ -3738,7 +3739,7 @@ Function119b0d: ; 119b0d
ld a, $8
ld [wcd3c], a
call Function119ed8
ld a, [StringBuffer2 + 10]
ld a, [w3_d090]
cp $1
jr z, .asm_119b23
ld a, $19
@ -3748,19 +3749,19 @@ Function119b0d: ; 119b0d
.asm_119b23
ld a, $10
ld [wcd89], a
ld a, [StringBuffer2 + 11]
ld a, [w3_d090 + 1]
ld l, a
ld a, [StringBuffer2 + 12]
ld a, [w3_d090 + 2]
ld h, a
ld de, LYOverrides
ld de, w3_d100
ld bc, $0700
ld a, $24
jp Function119e2b
Function119b3b:
ld a, [StringBuffer2 + 11]
ld a, [w3_d090 + 1]
ld l, a
ld a, [StringBuffer2 + 12]
ld a, [w3_d090 + 2]
ld h, a
jr asm_119b4d
@ -3776,7 +3777,7 @@ asm_119b4d
; 119b52
Function119b52: ; 119b52
ld a, [StringBuffer2 + 10]
ld a, [w3_d090]
cp $1
jr nz, .asm_119b66
ld a, $5
@ -3791,19 +3792,19 @@ Function119b52: ; 119b52
; 119b6b
Function119b6b: ; 119b6b
ld a, [StringBuffer2 + 10]
ld a, [w3_d090]
cp $1
jr z, .asm_119b75
jp Function119e2e
.asm_119b75
ld a, [LYOverrides]
ld a, [w3_d100]
ld b, a
ld a, [wd101]
ld a, [w3_d100 + 1]
or b
jr z, .asm_119be3
ld hl, $d800
ld de, wd102
ld hl, w3_d800
ld de, w3_d100 + 2
.asm_119b85
ld a, [de]
inc de
@ -3887,7 +3888,7 @@ endr
ld [$a800], a
call CloseSRAM
xor a
ld [StringBuffer2 + 10], a
ld [w3_d090], a
ret
.asm_119bfa
@ -3896,10 +3897,10 @@ endr
cp $d
jr nz, .asm_119b93
ld a, l
cp (wd000 + $800 + $69) % $100
cp (w3_d869) % $100
jr nz, .asm_119be3
ld a, h
cp (wd000 + $800 + $69) / $100
cp (w3_d869) / $100
jr nz, .asm_119be3
ld a, $5
call GetSRAMBank
@ -3907,14 +3908,14 @@ endr
ld [$b090], a
ld a, [wcf65]
ld [$b091], a
ld hl, $d800
ld hl, w3_d800
ld de, $b023
ld bc, $0069
call CopyBytes
ld a, $3
ld [$a800], a
call CloseSRAM
ld hl, $d800
ld hl, w3_d800
ld de, $c608
ld bc, $0069
call CopyBytes
@ -3953,7 +3954,7 @@ Function119c3e: ; 119c3e
ld [$a800], a
call CloseSRAM
xor a
ld [StringBuffer2 + 10], a
ld [w3_d090], a
scf
ret
@ -4212,7 +4213,7 @@ Unknown_119e40:
Function119e4f: ; 119e4f
push bc
ld hl, LYOverrides
ld hl, w3_d100
ld a, [hli]
ld c, a
ld a, [hli]
@ -4531,7 +4532,7 @@ Function11a00e: ; 11a00e
ld a, $3
ld [rSVBK], a
ld hl, $c608
ld de, $d800
ld de, w3_d800
ld bc, $00f6
call CopyBytes
ld a, $1
@ -4541,7 +4542,7 @@ Function11a00e: ; 11a00e
call Function11a9ce
ld a, $3
ld [rSVBK], a
ld hl, $d800
ld hl, w3_d800
ld de, $c608
ld bc, $00f6
call CopyBytes
@ -6978,16 +6979,69 @@ Function11b31b: ; 11b31b
; 11b350
Unknown_11b350:
db $1a, $5e, $1a, $66, $1a, $6e, $1a, $76, $1a, $7e, $1a, $86, $1a, $8e
db $22, $5e, $22, $66, $22, $6e, $22, $76, $22, $7e, $22, $86, $22, $8e
db $ff
dbpixel 3, 11, 2, 6
dbpixel 3, 12, 2, 6
dbpixel 3, 13, 2, 6
dbpixel 3, 14, 2, 6
dbpixel 3, 15, 2, 6
dbpixel 3, 16, 2, 6
dbpixel 3, 17, 2, 6
dbpixel 4, 11, 2, 6
dbpixel 4, 12, 2, 6
dbpixel 4, 13, 2, 6
dbpixel 4, 14, 2, 6
dbpixel 4, 15, 2, 6
dbpixel 4, 16, 2, 6
dbpixel 4, 17, 2, 6
db -1
Unknown_11b36d:
db $30, $31, $31, $31, $31, $31, $32, $40, $41, $41, $41, $41, $41, $42
db $30
db $31
db $31
db $31
db $31
db $31
db $32
db $40
db $41
db $41
db $41
db $41
db $41
db $42
Unknown_11b37b:
db $30, $31, $31, $39, $39, $39, $39, $40, $41, $41, $39, $39, $39, $39
db $30
db $31
db $31
db $39
db $39
db $39
db $39
db $40
db $41
db $41
db $39
db $39
db $39
db $39
Unknown_11b389:
db $39, $39, $39, $39, $39, $39, $39, $39, $39, $39, $39, $39, $39, $39
db $39
db $39
db $39
db $39
db $39
db $39
db $39
db $39
db $39
db $39
db $39
db $39
db $39
db $39
Function11b397: ; 11b397
ld de, Sprites
@ -6999,12 +7053,14 @@ Function11b397: ; 11b397
and $7
swap a
add [hl]
inc hl
inc hl ; 1
ld [de], a
inc de
ld a, [hli]
ld a, [hli] ; 2
ld [de], a
inc de
ld a, [bc]
inc bc
ld [de], a
@ -7355,7 +7411,7 @@ Function11b570: ; 11b570
Function11b585: ; 11b585
ld a, $3
ld [rSVBK], a
ld hl, $d800
ld hl, w3_d800
ld de, $c608
ld bc, $008f
call CopyBytes
@ -7482,7 +7538,7 @@ Function11b66d: ; 11b66d
push af
ld a, $3
ld [rSVBK], a
ld a, [StringBuffer2 + 10]
ld a, [w3_d090]
ld b, a
pop af
ld [rSVBK], a
@ -7506,7 +7562,7 @@ Function11b66d: ; 11b66d
ld a, $3
ld [rSVBK], a
ld a, $2
ld [StringBuffer2 + 10], a
ld [w3_d090], a
pop af
ld [rSVBK], a

View File

@ -34,6 +34,7 @@ Function170000: ; 170000
ld bc, $008f
call CopyBytes
ret
; 17005a
Function17005a: ; 17005a
@ -71,85 +72,11 @@ Function17005a: ; 17005a
ld [wc74e], a
call CloseSRAM
ret
; 1700b0
INCLUDE "misc/battle_tower_5c.asm"
Function_LoadOpponentTrainerAndPokemonsWithOTSprite: ; 0x170b44
callba Function_LoadOpponentTrainerAndPokemons
ld a, [rSVBK]
push af
ld a, $3
ld [rSVBK], a
ld hl, wd10a
ld a, [hl]
dec a
ld c, a
ld b, $0
pop af
ld [rSVBK], a
ld hl, Unknown_170b90
add hl, bc
ld a, [hl]
ld [wcd49], a
; Load sprite of the opponent trainer
; because s/he is chosen randomly and appears out of nowhere
ld a, [ScriptVar]
dec a
sla a
ld e, a
sla a
sla a
sla a
ld c, a
ld b, $0
ld d, $0
ld hl, MapObjects
add hl, bc
inc hl
ld a, [wcd49]
ld [hl], a
ld hl, UsedSprites
add hl, de
ld [hli], a
ld [hUsedSpriteIndex], a
ld a, [hl]
ld [hUsedSpriteTile], a
callba GetUsedSprite
ret
; 170b90
Unknown_170b90:
db $12, $13, $14, $15, $18, $17
db $16, $19, $04, $05, $11, $01
db $1c, $1b, $21, $1e, $1a, $1d
db $1f, $3c, $20, $27, $27, $27
db $28, $0a, $23, $24, $2a, $2b
db $35, $40, $2a, $29, $22, $25
db $3a, $2b, $24, $49, $2b, $07
db $2c, $2d, $4a, $0d, $4b, $3a
db $2b, $41, $35, $27, $28, $27
db $36, $3e, $30, $2c, $2d, $3d
db $26, $2e, $06, $07, $43, $36
Function170bd2: ; 170bd2
ret
; 170bd3
SpecialCheckForBattleTowerRules: ; 170bd3
callba CheckForBattleTowerRules
jr c, .asm_170bde
xor a
jr .asm_170be0
.asm_170bde
ld a, $1
.asm_170be0
ld [ScriptVar], a
ret
; 170be4
Function170be4: ; 170be4
ld a, $5
call GetSRAMBank
@ -159,6 +86,7 @@ Function170be4: ; 170be4
call ByteFill
call CloseSRAM
ret
; 170bf7
Clears5_a89a: ; 170bf7
@ -170,6 +98,7 @@ Clears5_a89a: ; 170bf7
ld [hl], a
call CloseSRAM
ret
; 170c06
Function170c06: ; 170c06
@ -275,6 +204,7 @@ endr
ld [hl], a
call CloseSRAM
ret
; 170c8b
Function170c8b: ; 170c8b
@ -287,6 +217,7 @@ Function170c8b: ; 170c8b
dec b
jr nz, .asm_170c90
ret
; 170c98
CheckBTMonMovesForErrors: ; 170c98
@ -330,6 +261,7 @@ CheckBTMonMovesForErrors: ; 170c98
dec c
jr nz, .loop
ret
; 170cc6
Function170cc6: ; 170cc6
@ -338,7 +270,7 @@ Function170cc6: ; 170cc6
ld a, $6
ld [rSVBK], a
ld hl, LZ_170d16
ld de, wd000
ld de, wBackupTilemap
call Decompress
ld a, $1
ld [rVBK], a
@ -358,6 +290,7 @@ Function170cc6: ; 170cc6
pop af
ld [rSVBK], a
ret
; 170d02
Function170d02: ; 170d02
@ -370,6 +303,7 @@ Function170d02: ; 170d02
xor a
ld [rVBK], a
ret
; 170d16
LZ_170d16:
@ -417,15 +351,16 @@ Function1719ed: ; 1719ed (5c:59ed)
ret
Function171a11: ; 171a11 (5c:5a11)
.loop
call JoyTextDelay
ld a, [wcd49]
bit 7, a
jr nz, .asm_171a2c
jr nz, .done
call Function171a36
callba PlaySpriteAnimations
callba ReloadMapPart
jr Function171a11
.asm_171a2c
jr .loop
.done
callba ClearSpriteAnims
call ClearSprites
ret
@ -465,6 +400,7 @@ Function171a5d: ; 171a5d (5c:5a5d)
bit 0, a
ret nz
jp Function171c66
.asm_171a6a
ld a, $0
call Function3e32
@ -492,6 +428,7 @@ Function171a95: ; 171a95 (5c:5a95)
ld de, String_171aa7
call PlaceString
jp Function171c66
; 171aa7 (5c:5aa7)
String_171aa7: ; 171aa7
@ -626,6 +563,7 @@ Function171b9f: ; 171b9f (5c:5b9f)
ld a, $80
ld [wcd49], a
ret
asm_171ba5: ; 171ba5 (5c:5ba5)
ld a, [wcd4a]
and a
@ -633,6 +571,7 @@ asm_171ba5: ; 171ba5 (5c:5ba5)
dec a
ld [wcd4a], a
ret
asm_171baf: ; 171baf (5c:5baf)
ld a, [wcd4b]
ld c, a
@ -729,6 +668,7 @@ Function171c66: ; 171c66 (5c:5c66)
ld hl, wcd49
inc [hl]
ret
; 171c6b (5c:5c6b)
MenuDataHeader_171c6b: ; 171c6b
@ -807,6 +747,7 @@ endr
hlcoord 3, 16
ld de, String_172e3f
jp PlaceString
.asm_171d16
ld hl, Tilemap_1725f9
decoord 0, 7
@ -841,6 +782,7 @@ Function171d2b: ; 171d2b (5c:5d2b)
ld de, String_172e58
call PlaceString
ret
; 171d71 (5c:5d71)
Palette_171d71:
@ -931,6 +873,7 @@ Function172e78: ; 172e78 (5c:6e78)
ld bc, $168
call CopyBytes
ret
; 172eb9 (5c:6eb9)
Function172eb9:
@ -950,6 +893,7 @@ Function172eb9:
pop af
ld [rSVBK], a
ret
; 172edf (5c:6edf)
Palette_172edf:

View File

@ -213,7 +213,7 @@ wCurTrackDuty:: ds 1
wCurTrackIntensity:: ds 1
wCurTrackFrequency:: dw
wc296:: ds 1 ; used only in an unused function
wc297:: ds 1
wc297:: ds 1 ; used in MusicE0 and LoadNote
CurMusicByte:: ; c298
ds 1
@ -306,7 +306,7 @@ wc2be:: ds 1
CurSFX:: ; c2bf
; id of sfx currently playing
ds 1
wc2c0::
wMapMusic:: ; c2c0
ds 1
@ -1257,6 +1257,7 @@ wcd47:: ds 1
BGMapPalBuffer:: ; cd48
ds 1 ; 40
wBTTempOTSprite::
wcd49:: ds 1
wcd4a:: ds 1
wcd4b:: ds 1
@ -1365,6 +1366,7 @@ CurMove::
wNamedObjectTypeBuffer:: ds 1
ds 1
wJumptableIndex::
wBattleTowerBattleEnded::
wcf63:: ds 1
wNrOfBeatenBattleTowerTrainers::
wMomBankDigitCursorPosition::
@ -3039,7 +3041,9 @@ w3_d742:: battle_tower_struct w3_d742
ds -$22
wBTChoiceOfLvlGroup::
w3_d800:: ds $400
w3_d800:: ds $69
w3_d869:: ds $2c
w3_d895:: ds $36b
w3_dc00:: ds $168
w3_dd68:: ds $294
w3_dffc:: ds 4