summaryrefslogtreecommitdiff
path: root/engine/scripting.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/scripting.asm')
-rw-r--r--engine/scripting.asm506
1 files changed, 257 insertions, 249 deletions
diff --git a/engine/scripting.asm b/engine/scripting.asm
index 3012d14b3..709a75c25 100644
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -1,9 +1,9 @@
; Event scripting commands.
-Function96c56:: ; 96c56
+EnableScriptMode:: ; 96c56
push af
- ld a, 1
+ ld a, SCRIPT_READ
ld [ScriptMode], a
pop af
ret
@@ -346,7 +346,7 @@ JumpTextFacePlayerScript: ; 0x96e79
faceplayer
JumpTextScript: ; 0x96e7a
loadfont
- repeattext $ff, $ff
+ repeattext -1, -1
closetext
loadmovesprites
end
@@ -385,7 +385,7 @@ Script_2writetext: ; 0x96e9b
ld h, a
ld a, [ScriptBank]
ld b, a
- call Function269a
+ call MapTextbox
ret
; 0x96eab
@@ -400,7 +400,7 @@ Script_3writetext: ; 0x96eab
ld l, a
call GetScriptByte
ld h, a
- call Function269a
+ call MapTextbox
ret
; 0x96ebb
@@ -414,27 +414,27 @@ Script_repeattext: ; 0x96ebb
ld l, a
call GetScriptByte
ld h, a
- cp $ff
- jr nz, .asm_96ed8 ; 0x96ec5 $11
+ cp -1
+ jr nz, .done ; 0x96ec5 $11
ld a, l
- cp $ff
- jr nz, .asm_96ed8 ; 0x96eca $c
+ cp -1
+ jr nz, .done ; 0x96eca $c
ld hl, wd44e
ld a, [hli]
ld b, a
ld a, [hli]
ld h, [hl]
ld l, a
- call Function269a
+ call MapTextbox
ret
-.asm_96ed8
+.done
ret
; 0x96ed9
Script_closetext: ; 0x96ed9
; script command 0x54
- jp Functiona46
+ jp CloseText
; 0x96edc
Script_keeptextopen: ; 0x96edc
@@ -445,7 +445,7 @@ Script_keeptextopen: ; 0x96edc
ld a, $1
ld [$ffd8], a
call WaitBGMap
- call Functionaaf
+ call KeepTextOpen
pop af
ld [$ffd8], a
ret
@@ -456,9 +456,9 @@ Script_yesorno: ; 0x96eed
call YesNoBox
ld a, 0
- jr c, .asm_96ef6 ; 0x96ef2 $2
+ jr c, .no ; 0x96ef2 $2
ld a, 1
-.asm_96ef6
+.no
ld [ScriptVar], a
ret
; 0x96efa
@@ -474,16 +474,16 @@ Script_loadmenudata: ; 0x96efa
ld h, a
ld de, LoadMenuDataHeader
ld a, [ScriptBank]
- call Function26b7
- call Function1ad2
+ call Call_a_de
+ call DrawOnMap
ret
; 0x96f0f
Script_writebackup: ; 0x96f0f
; script command 0x50
- call Function1c17
- call Function1ad2
+ call WriteBackup
+ call DrawOnMap
ret
; 0x96f16
@@ -498,14 +498,14 @@ Script_pokepic: ; 0x96f16
ld a, [ScriptVar]
.ok
ld [CurPartySpecies], a
- callba Function244e3
+ callba Pokepic
ret
; 0x96f29
Script_pokepicyesorno: ; 0x96f29
; script command 0x57
- callba Function24528
+ callba PokepicYesOrNo
ret
; 0x96f30
@@ -513,7 +513,7 @@ Script_interpretmenu2: ; 0x96f30
; script command 0x59
ld a, [ScriptBank]
- ld hl, Function1d81
+ ld hl, InterpretMenu2
rst FarCall
ld a, [wcfa9]
jr nc, .ok
@@ -527,7 +527,7 @@ Script_interpretmenu: ; 0x96f41
; script command 0x58
ld a, [ScriptBank]
- ld hl, Function202a
+ ld hl, InterpretMenu
rst FarCall
ld a, [wcf88]
jr nc, .ok
@@ -543,10 +543,10 @@ Script_storetext: ; 0x96f52
; pointer (PointerLabelBeforeBank)
; memory (SingleByteParam)
- call Function106c
+ call SetUpTextBox
call GetScriptByte
ld c, a
- callba Function11c000
+ callba StoreText
ret
; 0x96f60
@@ -559,8 +559,8 @@ Script_verbosegiveitem: ; 0x96f60
call Script_giveitem
call CurItemName
ld de, StringBuffer1
- ld a, $1
- call Function976c8
+ ld a, 1
+ call CopyConvertedText
ld b, BANK(GiveItemScript)
ld de, GiveItemScript
jp ScriptCall
@@ -600,26 +600,26 @@ Script_verbosegiveitem2: ; 0x96f8e
; var (SingleByteParam)
call GetScriptByte
- cp $ff
+ cp -1
jr nz, .ok
ld a, [ScriptVar]
.ok
ld [CurItem], a
call GetScriptByte
- call Function9769e
+ call GetVarAction
ld a, [de]
ld [wd10c], a
ld hl, NumItems
call ReceiveItem
- ld a, $1
+ ld a, 1
jr c, .ok2
xor a
.ok2
ld [ScriptVar], a
call CurItemName
ld de, StringBuffer1
- ld a, $1
- call Function976c8
+ ld a, 1
+ call CopyConvertedText
ld b, BANK(GiveItemScript)
ld de, GiveItemScript
jp ScriptCall
@@ -632,7 +632,7 @@ Script_itemnotify: ; 0x96fc6
call CurItemName
ld b, BANK(PutItemInPocketText)
ld hl, PutItemInPocketText
- call Function269a
+ call MapTextbox
ret
; 0x96fd5
@@ -643,7 +643,7 @@ Script_pocketisfull: ; 0x96fd5
call CurItemName
ld b, BANK(PocketIsFullText)
ld hl, PocketIsFullText
- call Function269a
+ call MapTextbox
ret
; 0x96fe4
@@ -746,7 +746,7 @@ Script_elevator: ; 0x9707c
ld d, a
ld a, [ScriptBank]
ld b, a
- callba Function1342d
+ callba Elevator
ret c
ld a, $1
ld [ScriptVar], a
@@ -775,14 +775,14 @@ Script_phonecall: ; 0x970a4
ld d, a
ld a, [ScriptBank]
ld b, a
- callba Function9029a
+ callba PhoneCall
ret
; 0x970b7
Script_hangup: ; 0x970b7
; script command 0x99
- callba Function902eb
+ callba HangUp
ret
; 0x970be
@@ -792,20 +792,20 @@ Script_askforphonenumber: ; 0x970be
; number (SingleByteParam)
call YesNoBox
- jr c, .asm_970d6 ; 0x970c1 $13
+ jr c, .refused ; 0x970c1 $13
call GetScriptByte
ld c, a
- callba Function90000
- jr c, .asm_970d2 ; 0x970cd $3
+ callba AddPhoneNumber
+ jr c, .phonefull ; 0x970cd $3
xor a
- jr .asm_970db ; 0x970d0 $9
-.asm_970d2
- ld a, $1
- jr .asm_970db ; 0x970d4 $5
-.asm_970d6
+ jr .done ; 0x970d0 $9
+.phonefull
+ ld a, 1
+ jr .done ; 0x970d4 $5
+.refused
call GetScriptByte
- ld a, $2
-.asm_970db
+ ld a, 2
+.done
ld [ScriptVar], a
ret
; 0x970df
@@ -817,7 +817,7 @@ Script_describedecoration: ; 0x970df
call GetScriptByte
ld b, a
- callba Function26f59
+ callba DescribeDecoration
ld h, d
ld l, e
jp ScriptJump
@@ -848,7 +848,7 @@ Script_loadwilddata: ; 0x970fc
ld d, a
call GetScriptByte
ld e, a
- callba Functionc403
+ callba LoadWildData
ret
; 0x9710f
@@ -859,16 +859,17 @@ Script_trainertext: ; 0x9710f
call GetScriptByte
ld c, a
- ld b, $0
+ ld b, 0
ld hl, WalkingX
+rept 2
add hl, bc
- add hl, bc
+endr
ld a, [hli]
ld h, [hl]
ld l, a
ld a, [EngineBuffer1]
ld b, a
- call Function269a
+ call MapTextbox
ret
; 0x97125
@@ -901,7 +902,7 @@ Script_trainerstatus: ; 0x97132
ld a, c
and a
ret z
- ld a, $1
+ ld a, 1
ld [ScriptVar], a
ret
; 0x9714c
@@ -912,12 +913,12 @@ Script_winlosstext: ; 0x9714c
; win_text_pointer (TextPointerLabelParam)
; loss_text_pointer (TextPointerLabelParam)
- ld hl, WalkingTile
+ ld hl, wWinTextPointer ; d047
call GetScriptByte
ld [hli], a
call GetScriptByte
ld [hli], a
- ld hl, wd048 + 1
+ ld hl, wLossTextPointer ; d049; this is unnecessary
call GetScriptByte
ld [hli], a
call GetScriptByte
@@ -937,7 +938,7 @@ Script_talkaftercancel: ; 0x97163
Script_talkaftercheck: ; 0x9716b
; script command 0x67
- ld a, $1
+ ld a, 1
ld [ScriptVar], a
ld a, [wd04d]
and a
@@ -1042,7 +1043,7 @@ Script_cry: ; 0x971d1
ret
; 0x971e3
-Function971e3: ; 0x971e3
+GetScriptPerson: ; 0x971e3
and a
ret z
cp $fe
@@ -1057,7 +1058,7 @@ Script_setlasttalked: ; 0x971ea
; person (SingleByteParam)
call GetScriptByte
- call Function971e3
+ call GetScriptPerson
ld [$ffe0], a
ret
; 0x971f3
@@ -1069,17 +1070,17 @@ Script_applymovement: ; 0x971f3
; data (MovementPointerLabelParam)
call GetScriptByte
- call Function971e3
+ call GetScriptPerson
ld c, a
; 971fa
-Function971fa: ; 971fa
+ApplyMovement: ; 971fa
push bc
ld a, c
- callba Function585c
+ callba SetFlagsForMovement_1
pop bc
push bc
- call Function97221
+ call SetFlagsForMovement_2
pop bc
call GetScriptByte
ld l, a
@@ -1087,7 +1088,7 @@ Function971fa: ; 971fa
ld h, a
ld a, [ScriptBank]
ld b, a
- call Function26c7
+ call GetMovementData
ret c
ld a, SCRIPT_WAIT_MOVEMENT
ld [ScriptMode], a
@@ -1095,8 +1096,8 @@ Function971fa: ; 971fa
ret
; 0x97221
-Function97221: ; 0x97221
- callba Function5897
+SetFlagsForMovement_2: ; 0x97221
+ callba _SetFlagsForMovement_2
ret
; 0x97228
@@ -1107,7 +1108,7 @@ Script_applymovement2: ; 0x97228
ld a, [$ffe0]
ld c, a
- jp Function971fa
+ jp ApplyMovement
; 0x9722e
Script_faceplayer: ; 0x9722e
@@ -1119,14 +1120,15 @@ Script_faceplayer: ; 0x9722e
ld d, $0
ld a, [$ffe0]
ld e, a
- callba Function8417
+ callba GetRelativeFacing
ld a, d
+rept 2
add a
- add a
+endr
ld e, a
ld a, [$ffe0]
ld d, a
- call Function9728b
+ call ApplyPersonFacing
ret
; 0x97248
@@ -1137,29 +1139,30 @@ Script_faceperson: ; 0x97248
; person2 (SingleByteParam)
call GetScriptByte
- call Function971e3
+ call GetScriptPerson
cp $fe
jr c, .asm_97254 ; 0x97250 $2
ld a, [$ffe0]
.asm_97254
ld e, a
call GetScriptByte
- call Function971e3
+ call GetScriptPerson
cp $fe
jr nz, .asm_97261 ; 0x9725d $2
ld a, [$ffe0]
.asm_97261
ld d, a
push de
- callba Function8417
+ callba GetRelativeFacing
pop bc
ret c
ld a, d
+rept 2
add a
- add a
+endr
ld e, a
ld d, c
- call Function9728b
+ call ApplyPersonFacing
ret
; 0x97274
@@ -1170,47 +1173,48 @@ Script_spriteface: ; 0x97274
; facing (SingleByteParam)
call GetScriptByte
- call Function971e3
+ call GetScriptPerson
cp $fe
jr nz, .asm_97280 ; 0x9727c $2
ld a, [$ffe0]
.asm_97280
ld d, a
call GetScriptByte
+rept 2
add a
- add a
+endr
ld e, a
- call Function9728b
+ call ApplyPersonFacing
ret
; 0x9728b
-Function9728b: ; 0x9728b
+ApplyPersonFacing: ; 0x9728b
ld a, d
push de
call Function18de
- jr c, .asm_972b9 ; 0x97290 $27
- ld hl, $0000
+ jr c, .not_visible ; 0x97290 $27
+ ld hl, OBJECT_SPRITE
add hl, bc
ld a, [hl]
push bc
call Function1836
pop bc
- jr c, .asm_972b9 ; 0x9729c $1b
- ld hl, $0004
+ jr c, .not_visible ; 0x9729c $1b
+ ld hl, OBJECT_04
add hl, bc
bit 2, [hl]
- jr nz, .asm_972b9 ; 0x972a4 $13
+ jr nz, .not_visible ; 0x972a4 $13
pop de
ld a, e
- call Function1af8
+ call SetSpriteDirection
ld hl, VramState
bit 6, [hl]
jr nz, .asm_972b5 ; 0x972b0 $3
call Function972bc
.asm_972b5
- call Function1ad2
+ call DrawOnMap
ret
-.asm_972b9
+.not_visible
pop de
scf
ret
@@ -1252,11 +1256,11 @@ Script_appear: ; 0x972dd
; person (SingleByteParam)
call GetScriptByte
- call Function971e3
- call Function1956
+ call GetScriptPerson
+ call _CopyObjectStruct
ld a, [$ffaf]
- ld b, $0
- call Function9730b
+ ld b, 0 ; clear
+ call ApplyEventActionAppearDisappear
ret
; 0x972ee
@@ -1266,36 +1270,36 @@ Script_disappear: ; 0x972ee
; person (SingleByteParam)
call GetScriptByte
- call Function971e3
- cp $fe
- jr nz, .asm_972fa ; 0x972f6 $2
+ call GetScriptPerson
+ cp -2
+ jr nz, .skip ; 0x972f6 $2
ld a, [$ffe0]
-.asm_972fa
- call Function199f
+.skip
+ call DeleteObjectStruct
ld a, [$ffaf]
- ld b, $1
- call Function9730b
- callba Function5920
+ ld b, 1 ; set
+ call ApplyEventActionAppearDisappear
+ callba RefreshMapAppearDisappear
ret
; 0x9730b
-Function9730b: ; 0x9730b
+ApplyEventActionAppearDisappear: ; 0x9730b
push bc
call GetMapObject
- ld hl, $000c
+ ld hl, MAPOBJECT_EVENT_FLAG
add hl, bc
pop bc
ld e, [hl]
inc hl
ld d, [hl]
- ld a, $ff
+ ld a, -1
cp e
- jr nz, .asm_97321 ; 0x9731a $5
+ jr nz, .okay ; 0x9731a $5
cp d
- jr nz, .asm_97321 ; 0x9731d $2
+ jr nz, .okay ; 0x9731d $2
xor a
ret
-.asm_97321
+.okay
call EventFlagAction
ret
; 0x97325
@@ -1307,10 +1311,10 @@ Script_follow: ; 0x97325
; person1 (SingleByteParam)
call GetScriptByte
- call Function971e3
+ call GetScriptPerson
ld b, a
call GetScriptByte
- call Function971e3
+ call GetScriptPerson
ld c, a
callba Function5803
ret
@@ -1331,7 +1335,7 @@ Script_moveperson: ; 0x97341
; y (SingleByteParam)
call GetScriptByte
- call Function971e3
+ call GetScriptPerson
ld b, a
call GetScriptByte
add $4
@@ -1349,7 +1353,7 @@ Script_writepersonxy: ; 0x9735b
; person (SingleByteParam)
call GetScriptByte
- call Function971e3
+ call GetScriptPerson
cp $fe
jr nz, .asm_97367 ; 0x97363 $2
ld a, [$ffe0]
@@ -1366,10 +1370,10 @@ Script_follownotexact: ; 0x9736f
; person1 (SingleByteParam)
call GetScriptByte
- call Function971e3
+ call GetScriptPerson
ld b, a
call GetScriptByte
- call Function971e3
+ call GetScriptPerson
ld c, a
callba Function839e
ret
@@ -1400,7 +1404,7 @@ Script_showemote: ; 0x97396
call GetScriptByte
ld [ScriptVar], a
call GetScriptByte
- call Function971e3
+ call GetScriptPerson
cp $fe
jr z, .asm_973a8 ; 0x973a4 $2
ld [$ffe0], a
@@ -1525,7 +1529,7 @@ Script_loadtrainer: ; 0x97424
Script_startbattle: ; 0x97436
; script command 0x5f
- call Function2879
+ call BufferScreen
predef StartBattle
ld a, [wd0ee]
and $3f
@@ -1540,7 +1544,7 @@ Script_catchtutorial: ; 0x97447
call GetScriptByte
ld [BattleType], a
- call Function2879
+ call BufferScreen
callba Function4e554
jp Script_reloadmap
; 0x97459
@@ -1582,7 +1586,7 @@ Script_reloadmap: ; 0x97491
ld a, $f3
ld [$ff9f], a
ld a, $1
- call Function261b
+ call LoadMapStatus
call StopScript
ret
; 0x974a2
@@ -1638,9 +1642,9 @@ ScriptCall: ; 0x974cb
inc [hl]
ld d, $0
ld hl, wd43d
+rept 3
add hl, de
- add hl, de
- add hl, de
+endr
pop de
ld a, [ScriptBank]
ld [hli], a
@@ -1811,9 +1815,9 @@ StdScript: ; 0x9757b
call GetScriptByte
ld d, a
ld hl, StdScripts
+rept 3
add hl, de
- add hl, de
- add hl, de
+endr
ld a, BANK(StdScripts)
call GetFarByte
ld b, a
@@ -1858,7 +1862,7 @@ Script_priorityjump: ; 0x975aa
Script_checktriggers: ; 0x975c2
; script command 0x13
- call Function211b
+ call CheckTriggers
jr z, .asm_975cb ; 0x975c5 $4
ld [ScriptVar], a
ret
@@ -2051,7 +2055,7 @@ Script_checkcode: ; 0x9767d
; variable_id (SingleByteParam)
call GetScriptByte
- call Function9769e
+ call GetVarAction
ld a, [de]
ld [ScriptVar], a
ret
@@ -2063,7 +2067,7 @@ Script_writevarcode: ; 0x97688
; variable_id (SingleByteParam)
call GetScriptByte
- call Function9769e
+ call GetVarAction
ld a, [ScriptVar]
ld [de], a
ret
@@ -2076,15 +2080,15 @@ Script_writecode: ; 0x97693
; value (SingleByteParam)
call GetScriptByte
- call Function9769e
+ call GetVarAction
call GetScriptByte
ld [de], a
ret
; 0x9769e
-Function9769e: ; 0x9769e
+GetVarAction: ; 0x9769e
ld c, a
- callba Function80648
+ callba _GetVarAction
ret
; 0x976a6
@@ -2103,28 +2107,28 @@ Version: ; 976ad
Script_pokenamemem: ; 0x976ae
; script command 0x40
; parameters:
-; pokemon (PokemonParam)
+; pokemon (PokemonParam); leave $0 to draw from script var
; memory (SingleByteParam)
call GetScriptByte
and a
- jr nz, .asm_976b7 ; 0x976b2 $3
+ jr nz, .gotit ; 0x976b2 $3
ld a, [ScriptVar]
-.asm_976b7
+.gotit
ld [wd265], a
call GetPokemonName
ld de, StringBuffer1
-Unknown_976c0: ; 0x976c0
+ConvertMemToText: ; 0x976c0
call GetScriptByte
cp 3
jr c, .ok
xor a
.ok
-Function976c8: ; 976c8
+CopyConvertedText: ; 976c8
ld hl, StringBuffer3
- ld bc, 19
+ ld bc, StringBuffer4 - StringBuffer3
call AddNTimes
call CopyName2
ret
@@ -2138,13 +2142,13 @@ Script_itemtotext: ; 0x976d5
call GetScriptByte
and a
- jr nz, .asm_976de ; 0x976d9 $3
+ jr nz, .ok ; 0x976d9 $3
ld a, [ScriptVar]
-.asm_976de
+.ok
ld [wd265], a
call GetItemName
ld de, StringBuffer1
- jr Unknown_976c0 ; 0x976e7 $d7
+ jr ConvertMemToText ; 0x976e7 $d7
; 0x976e9
Script_mapnametotext: ; 0x976e9
@@ -2158,11 +2162,11 @@ Script_mapnametotext: ; 0x976e9
ld c, a
call GetWorldMapLocation
-Unknown_976f4: ; 0x976f4
+ConvertLandmarkToText: ; 0x976f4
ld e, a
callba GetLandmarkName
ld de, StringBuffer1
- jp Unknown_976c0
+ jp ConvertMemToText
; 0x97701
Script_displaylocation: ; 0x97701
@@ -2172,7 +2176,7 @@ Script_displaylocation: ; 0x97701
; memory (SingleByteParam)
call GetScriptByte
- jr Unknown_976f4 ; 0x97704 $ee
+ jr ConvertLandmarkToText ; 0x97704 $ee
; 0x97706
Script_trainertotext: ; 0x97706
@@ -2186,8 +2190,8 @@ Script_trainertotext: ; 0x97706
ld c, a
call GetScriptByte
ld b, a
- callba Function3994c
- jr Unknown_976c0 ; 0x97714 $aa
+ callba GetTrainerName
+ jr ConvertMemToText ; 0x97714 $aa
; 0x97716
Script_name: ; 0x97716
@@ -2200,12 +2204,12 @@ Script_name: ; 0x97716
call GetScriptByte
ld [wcf61], a
-Unknown_9771c: ; 0x9771c
+ContinueToGetName: ; 0x9771c
call GetScriptByte
ld [CurSpecies], a
call GetName
ld de, StringBuffer1
- jp Unknown_976c0
+ jp ConvertMemToText
; 0x9772b
Script_trainerclassname: ; 0x9772b
@@ -2216,7 +2220,7 @@ Script_trainerclassname: ; 0x9772b
ld a, TRAINER_NAME
ld [wcf61], a
- jr Unknown_9771c ; 0x97730 $ea
+ jr ContinueToGetName ; 0x97730 $ea
; 0x97732
Script_readmoney: ; 0x97732
@@ -2225,13 +2229,13 @@ Script_readmoney: ; 0x97732
; account (SingleByteParam)
; memory (SingleByteParam)
- call Function97771
- call Function97861
+ call ResetStringBuffer1
+ call GetMoneyAccount
ld hl, StringBuffer1
ld bc, $4306
call PrintNum
ld de, StringBuffer1
- jp Unknown_976c0
+ jp ConvertMemToText
; 0x97747
Script_readcoins: ; 0x97747
@@ -2239,13 +2243,13 @@ Script_readcoins: ; 0x97747
; parameters:
; memory (SingleByteParam)
- call Function97771
+ call ResetStringBuffer1
ld hl, StringBuffer1
ld de, Coins
ld bc, $4206
call PrintNum
ld de, StringBuffer1
- jp Unknown_976c0
+ jp ConvertMemToText
; 0x9775c
Script_RAM2MEM: ; 0x9775c
@@ -2253,18 +2257,18 @@ Script_RAM2MEM: ; 0x9775c
; parameters:
; memory (SingleByteParam)
- call Function97771
+ call ResetStringBuffer1
ld de, ScriptVar
ld hl, StringBuffer1
ld bc, $4103
call PrintNum
ld de, StringBuffer1
- jp Unknown_976c0
+ jp ConvertMemToText
; 0x97771
-Function97771: ; 0x97771
+ResetStringBuffer1: ; 0x97771
ld hl, StringBuffer1
- ld bc, $000b
+ ld bc, NAME_LENGTH
ld a, "@"
call ByteFill
ret
@@ -2284,7 +2288,7 @@ Script_stringtotext: ; 0x9777d
ld hl, CopyName1
rst FarCall
ld de, StringBuffer2
- jp Unknown_976c0
+ jp ConvertMemToText
; 0x97792
Script_givepokeitem: ; 0x97792
@@ -2301,12 +2305,12 @@ Script_givepokeitem: ; 0x97792
ld b, a
push bc
inc hl
- ld bc, $0020
+ ld bc, MAIL_MAX_LENGTH
ld de, wd002
ld a, [ScriptBank]
call FarCopyBytes
pop bc
- callba Function446cc
+ callba GivePokeItem
ret
; 0x977b7
@@ -2332,20 +2336,20 @@ Script_giveitem: ; 0x977ca
; quantity (SingleByteParam)
call GetScriptByte
- cp $ff
- jr nz, .asm_977d4 ; 0x977cf $3
+ cp -1
+ jr nz, .ok ; 0x977cf $3
ld a, [ScriptVar]
-.asm_977d4
+.ok
ld [CurItem], a
call GetScriptByte
ld [wd10c], a
ld hl, NumItems
call ReceiveItem
- jr nc, .asm_977eb ; 0x977e3 $6
+ jr nc, .full ; 0x977e3 $6
ld a, $1
ld [ScriptVar], a
ret
-.asm_977eb
+.full
xor a
ld [ScriptVar], a
ret
@@ -2396,9 +2400,9 @@ Script_givemoney: ; 0x97829
; account (SingleByteParam)
; money (MoneyByteParam)
- call Function97861
- call Function9786d
- callba Function15fd7
+ call GetMoneyAccount
+ call LoadMoneyAmountToMem
+ callba GiveMoney
ret
; 0x97836
@@ -2408,9 +2412,9 @@ Script_takemoney: ; 0x97836
; account (SingleByteParam)
; money (MoneyByteParam)
- call Function97861
- call Function9786d
- callba Function15ffa
+ call GetMoneyAccount
+ call LoadMoneyAmountToMem
+ callba TakeMoney
ret
; 0x97843
@@ -2420,12 +2424,12 @@ Script_checkmoney: ; 0x97843
; account (SingleByteParam)
; money (MoneyByteParam)
- call Function97861
- call Function9786d
- callba Function1600b
+ call GetMoneyAccount
+ call LoadMoneyAmountToMem
+ callba CheckMoney
; 0x9784f
-Unknown_9784f: ; 0x9784f
+CheckMoneyAction: ; 0x9784f
jr c, .two
jr z, .one
ld a, 0
@@ -2440,7 +2444,7 @@ Unknown_9784f: ; 0x9784f
ret
; 0x97861
-Function97861: ; 0x97861
+GetMoneyAccount: ; 0x97861
call GetScriptByte
and a
ld de, Money
@@ -2449,8 +2453,8 @@ Function97861: ; 0x97861
ret
; 0x9786d
-Function9786d: ; 0x9786d
- ld bc, $ffc3
+LoadMoneyAmountToMem: ; 0x9786d
+ ld bc, hMoneyTemp
push bc
call GetScriptByte
ld [bc], a
@@ -2469,8 +2473,8 @@ Script_givecoins: ; 0x97881
; parameters:
; coins (CoinByteParam)
- call Function978a0
- callba Function1606f
+ call LoadCoinAmountToMem
+ callba GiveCoins
ret
; 0x9788b
@@ -2479,8 +2483,8 @@ Script_takecoins: ; 0x9788b
; parameters:
; coins (CoinByteParam)
- call Function978a0
- callba Function1608f
+ call LoadCoinAmountToMem
+ callba TakeCoins
ret
; 0x97895
@@ -2489,17 +2493,17 @@ Script_checkcoins: ; 0x97895
; parameters:
; coins (CoinByteParam)
- call Function978a0
- callba Function160a1
- jr Unknown_9784f
+ call LoadCoinAmountToMem
+ callba CheckCoins
+ jr CheckMoneyAction
; 978a0
-Function978a0: ; 978a0
+LoadCoinAmountToMem: ; 978a0
call GetScriptByte
ld [$ffc4], a
call GetScriptByte
- ld [$ffc3], a
- ld bc, $ffc3
+ ld [hMoneyTemp], a
+ ld bc, hMoneyTemp
ret
; 0x978ae
@@ -2510,7 +2514,7 @@ Script_checktime: ; 0x978ae
xor a
ld [ScriptVar], a
- callba Functionc000
+ callba CheckTime
call GetScriptByte
and c
ret z
@@ -2545,7 +2549,7 @@ Script_addcellnum: ; 0x978da
ld [ScriptVar], a
call GetScriptByte
ld c, a
- callba Function90000
+ callba AddPhoneNumber
ret nc
ld a, $1
ld [ScriptVar], a
@@ -2561,7 +2565,7 @@ Script_delcellnum: ; 0x978ef
ld [ScriptVar], a
call GetScriptByte
ld c, a
- callba Function9000f
+ callba DelCellNum
ret nc
ld a, $1
ld [ScriptVar], a
@@ -2572,12 +2576,13 @@ Script_checkcellnum: ; 0x97904
; script command 0x2a
; parameters:
; person (SingleByteParam)
+; returns false if the cell number is not in your phone
xor a
ld [ScriptVar], a
call GetScriptByte
ld c, a
- callba Function90019
+ callba CheckCellNum
ret nc
ld a, $1
ld [ScriptVar], a
@@ -2590,16 +2595,17 @@ Script_specialphonecall: ; 0x97919
; call_id (MultiByteParam)
call GetScriptByte
- ld [wdc31], a
+ ld [wSpecialPhoneCallID], a
call GetScriptByte
- ld [wdc31 + 1], a
+ ld [wSpecialPhoneCallID + 1], a
ret
; 0x97926
Script_checkphonecall: ; 0x97926
; script command 0x9d
+; returns false if no special phone call is stored
- ld a, [wdc31]
+ ld a, [wSpecialPhoneCallID]
and a
jr z, .ok
ld a, 1
@@ -2637,7 +2643,7 @@ Script_givepoke: ; 0x97932
call GetScriptByte
call GetScriptByte
.ok
- callba Functione277
+ callba GivePoke
ld a, b
ld [ScriptVar], a
ret
@@ -2648,6 +2654,7 @@ Script_giveegg: ; 0x97968
; parameters:
; pkmn (PokemonParam)
; level (DecimalParam)
+; if no room in the party, return 0 in ScriptVar; else, return 2
xor a
ld [ScriptVar], a
@@ -2658,7 +2665,7 @@ Script_giveegg: ; 0x97968
ld [CurPartyLevel], a
callba GiveEgg
ret nc
- ld a, $2
+ ld a, 2
ld [ScriptVar], a
ret
; 0x97988
@@ -2672,7 +2679,7 @@ Script_setevent: ; 0x97988
ld e, a
call GetScriptByte
ld d, a
- ld b, $1
+ ld b, SET_FLAG
call EventFlagAction
ret
; 0x97996
@@ -2686,7 +2693,7 @@ Script_clearevent: ; 0x97996
ld e, a
call GetScriptByte
ld d, a
- ld b, $0
+ ld b, RESET_FLAG
call EventFlagAction
ret
; 0x979a4
@@ -2700,13 +2707,13 @@ Script_checkevent: ; 0x979a4
ld e, a
call GetScriptByte
ld d, a
- ld b, $2
+ ld b, CHECK_FLAG
call EventFlagAction
ld a, c
and a
- jr z, .asm_979b7 ; 0x979b3 $2
- ld a, $1
-.asm_979b7
+ jr z, .false ; 0x979b3 $2
+ ld a, 1
+.false
ld [ScriptVar], a
ret
; 0x979bb
@@ -2720,8 +2727,8 @@ Script_setflag: ; 0x979bb
ld e, a
call GetScriptByte
ld d, a
- ld b, $1
- call Function979ee
+ ld b, 1 ; set
+ call _EngineFlagAction
ret
; 0x979c9
@@ -2734,8 +2741,8 @@ Script_clearflag: ; 0x979c9
ld e, a
call GetScriptByte
ld d, a
- ld b, $0
- call Function979ee
+ ld b, 0 ; clear
+ call _EngineFlagAction
ret
; 0x979d7
@@ -2748,18 +2755,18 @@ Script_checkflag: ; 0x979d7
ld e, a
call GetScriptByte
ld d, a
- ld b, $2
- call Function979ee
+ ld b, 2 ; check
+ call _EngineFlagAction
ld a, c
and a
- jr z, .asm_979ea ; 0x979e6 $2
- ld a, $1
-.asm_979ea
+ jr z, .false ; 0x979e6 $2
+ ld a, 1
+.false
ld [ScriptVar], a
ret
; 0x979ee
-Function979ee: ; 0x979ee
+_EngineFlagAction: ; 0x979ee
callba EngineFlagAction
ret
; 0x979f5
@@ -2808,7 +2815,7 @@ Script_warpfacing: ; 0x97a0e
set 5, a
or c
ld [wd45b], a
-; 0x97a1d
+; fall through
Script_warp: ; 0x97a1d
; script command 0x3c
@@ -2818,9 +2825,10 @@ Script_warp: ; 0x97a1d
; x (SingleByteParam)
; y (SingleByteParam)
+; This seems to be some sort of error handling case.
call GetScriptByte
and a
- jr z, .asm_97a4a ; 0x97a21 $27
+ jr z, .not_ok ; 0x97a21 $27
ld [MapGroup], a
call GetScriptByte
ld [MapNumber], a
@@ -2828,24 +2836,24 @@ Script_warp: ; 0x97a1d
ld [XCoord], a
call GetScriptByte
ld [YCoord], a
- ld a, $ff
+ ld a, -1
ld [wd001], a
- ld a, $f1
+ ld a, -15
ld [$ff9f], a
- ld a, $1
- call Function261b
+ ld a, 1
+ call LoadMapStatus
call StopScript
ret
-.asm_97a4a
+.not_ok
call GetScriptByte
call GetScriptByte
call GetScriptByte
- ld a, $ff
+ ld a, -1
ld [wd001], a
- ld a, $fb
+ ld a, -5
ld [$ff9f], a
- ld a, $1
- call Function261b
+ ld a, 1
+ call LoadMapStatus
call StopScript
ret
; 0x97a65
@@ -2882,7 +2890,7 @@ Script_blackoutmod: ; 0x97a78
Script_reloadmapmusic: ; 0x97a85
; script command 0x83
- ld a, $1
+ ld a, 1
ld [wc2c1], a
ret
; 0x97a8b
@@ -2913,7 +2921,7 @@ Script_delcmdqueue: ; 0x97a9e
ld b, a
callba Function97e5c
ret c
- ld a, $1
+ ld a, 1
ld [ScriptVar], a
ret
; 0x97ab3
@@ -2929,8 +2937,8 @@ Script_changemap: ; 0x97ab3
ld [MapBlockDataPointer], a
call GetScriptByte
ld [MapBlockDataPointer + 1], a
- call Function24e4
- call Function2879
+ call ChangeMap
+ call BufferScreen
ret
; 0x97acc
@@ -2942,15 +2950,15 @@ Script_changeblock: ; 0x97acc
; block (SingleByteParam)
call GetScriptByte
- add $4
+ add 4
ld d, a
call GetScriptByte
- add $4
+ add 4
ld e, a
- call Function2a66
+ call GetBlockLocation
call GetScriptByte
ld [hl], a
- call Function2879
+ call BufferScreen
ret
; 0x97ae3
@@ -2962,7 +2970,7 @@ Script_reloadmappart:: ; 0x97ae3
call Function2173
call Function2914
callba Function104061
- call Function1ad2
+ call DrawOnMap
ret
; 0x97af6
@@ -2971,12 +2979,12 @@ Script_warpcheck: ; 0x97af6
call Function224a
ret nc
- callba Function966d0
+ callba SetAll_ScriptFlags3
ret
; 0x97b01
Function97b01: ; 0x97b01
- callba Function966d0
+ callba SetAll_ScriptFlags3
ret
; 0x97b08
@@ -2987,8 +2995,8 @@ Script_newloadmap: ; 0x97b08
call GetScriptByte
ld [$ff9f], a
- ld a, $1
- call Function261b
+ ld a, 1
+ call LoadMapStatus
call StopScript
ret
; 0x97b16
@@ -3064,14 +3072,14 @@ Script_pause: ; 0x97b47
call GetScriptByte
and a
- jr z, .asm_97b50 ; 0x97b4b $3
+ jr z, .loop ; 0x97b4b $3
ld [ScriptDelay], a
-.asm_97b50
+.loop
ld c, 2
call DelayFrames
ld hl, ScriptDelay
dec [hl]
- jr nz, .asm_97b50 ; 0x97b59 $f5
+ jr nz, .loop ; 0x97b59 $f5
ret
; 0x97b5c
@@ -3082,9 +3090,9 @@ Script_deactivatefacing: ; 0x97b5c
call GetScriptByte
and a
- jr z, .asm_97b65 ; 0x97b60 $3
+ jr z, .no_time ; 0x97b60 $3
ld [ScriptDelay], a
-.asm_97b65
+.no_time
ld a, SCRIPT_WAIT
ld [ScriptMode], a
call StopScript
@@ -3104,9 +3112,9 @@ Script_end: ; 0x97b74
; script command 0x91
call ExitScriptSubroutine
- jr c, .asm_97b7a
+ jr c, .resume
ret
-.asm_97b7a
+.resume
xor a
ld [ScriptRunning], a
ld a, SCRIPT_OFF
@@ -3121,8 +3129,8 @@ Script_return: ; 0x97b8c
; script command 0x90
call ExitScriptSubroutine
- jr c, .asm_97b91
-.asm_97b91
+ jr c, .dummy
+.dummy
ld hl, ScriptFlags
res 0, [hl]
call StopScript
@@ -3135,17 +3143,17 @@ ExitScriptSubroutine: ; 0x97b9a
ld hl, wd43c
ld a, [hl]
and a
- jr z, .asm_97bbe ; 0x97b9f $1d
+ jr z, .done ; 0x97b9f $1d
dec [hl]
ld e, [hl]
ld d, $0
ld hl, wd43d
- add hl, de
- add hl, de
- add hl, de
+rept 3
+ add hl,de
+endr
ld a, [hli]
ld b, a
- and $7f
+ and " "
ld [ScriptBank], a
ld a, [hli]
ld e, a
@@ -3155,7 +3163,7 @@ ExitScriptSubroutine: ; 0x97b9a
ld [ScriptPos + 1], a
and a
ret
-.asm_97bbe
+.done
scf
ret
; 0x97bc0
@@ -3196,7 +3204,7 @@ Script_credits: ; 0x97bf3
DisplayCredits:
call Script_resetfuncs
ld a, $3
- call Function261b
+ call LoadMapStatus
call StopScript
ret
; 0x97c051
@@ -3208,13 +3216,13 @@ Script_wait: ; 0x97c05
push bc
call GetScriptByte
-.asm_97c09
+.loop
push af
ld c, 6
call DelayFrames
pop af
dec a
- jr nz, .asm_97c09 ; 0x97c11 $f6
+ jr nz, .loop ; 0x97c11 $f6
pop bc
ret
; 0x97c15
@@ -3229,7 +3237,7 @@ Script_unknown0xa9: ; 0x97c15
; 0x97c20
-Function97c20: ; 97c20
+Function97c20: ; 97c20 unreferenced
ld a, [.byte]
ld [ScriptVar], a
ret