diff options
Diffstat (limited to 'engine')
-rw-r--r-- | engine/events/elevator.asm | 6 | ||||
-rw-r--r-- | engine/events/misc_scripts.asm | 6 | ||||
-rw-r--r-- | engine/events/misc_scripts_2.asm | 4 | ||||
-rw-r--r-- | engine/events/mom_phone.asm | 12 | ||||
-rw-r--r-- | engine/events/overworld.asm | 2 | ||||
-rw-r--r-- | engine/events/poisonstep.asm | 24 | ||||
-rw-r--r-- | engine/events/pokecenter_pc.asm | 8 | ||||
-rw-r--r-- | engine/gfx/color.asm | 2 | ||||
-rw-r--r-- | engine/items/items.asm | 4 | ||||
-rw-r--r-- | engine/items/mart.asm | 28 | ||||
-rw-r--r-- | engine/menus/intro_menu.asm | 2 | ||||
-rw-r--r-- | engine/overworld/events.asm | 26 | ||||
-rw-r--r-- | engine/overworld/player_movement.asm | 16 | ||||
-rw-r--r-- | engine/overworld/player_object.asm | 2 | ||||
-rw-r--r-- | engine/overworld/scripting.asm | 8 | ||||
-rw-r--r-- | engine/phone/phone.asm | 43 |
16 files changed, 98 insertions, 95 deletions
diff --git a/engine/events/elevator.asm b/engine/events/elevator.asm index 1f8c902ca..71b25bef7 100644 --- a/engine/events/elevator.asm +++ b/engine/events/elevator.asm @@ -28,7 +28,7 @@ Elevator:: .LoadFloors: ld de, wCurElevator - ld bc, 4 + ld bc, wElevatorDataEnd - wElevatorData ld hl, wElevatorPointer ld a, [hli] ld h, [hl] @@ -104,12 +104,12 @@ Elevator_GoToFloor: ld l, a inc hl pop af - ld bc, 4 + ld bc, wElevatorDataEnd - wElevatorData call AddNTimes inc hl ld de, wBackupWarpNumber ld a, [wElevatorPointerBank] - ld bc, 3 + ld bc, wElevatorDataEnd - wElevatorData - 1 call FarCopyBytes ret diff --git a/engine/events/misc_scripts.asm b/engine/events/misc_scripts.asm index e2ea5439a..653a9eb35 100644 --- a/engine/events/misc_scripts.asm +++ b/engine/events/misc_scripts.asm @@ -40,14 +40,14 @@ FindItemInBallScript:: .TryReceiveItem: xor a ld [wScriptVar], a - ld a, [wEngineBuffer1] + ld a, [wItemBallItemID] ld [wNamedObjectIndexBuffer], a call GetItemName ld hl, wStringBuffer3 call CopyName2 - ld a, [wEngineBuffer1] + ld a, [wItemBallItemID] ld [wCurItem], a - ld a, [wCurFruit] + ld a, [wItemBallQuantity] ld [wItemQuantityChangeBuffer], a ld hl, wNumItems call ReceiveItem diff --git a/engine/events/misc_scripts_2.asm b/engine/events/misc_scripts_2.asm index 4fececa48..36e4172a7 100644 --- a/engine/events/misc_scripts_2.asm +++ b/engine/events/misc_scripts_2.asm @@ -12,7 +12,7 @@ RepelWoreOffScript:: HiddenItemScript:: opentext - readmem wEngineBuffer3 + readmem wHiddenItemID getitemname STRING_BUFFER_3, USE_SCRIPT_VAR writetext .found_text giveitem ITEM_FROM_MEM @@ -42,7 +42,7 @@ HiddenItemScript:: text_end SetMemEvent: - ld hl, wEngineBuffer1 + ld hl, wHiddenItemEvent ld a, [hli] ld d, [hl] ld e, a diff --git a/engine/events/mom_phone.asm b/engine/events/mom_phone.asm index 35269b3e5..052082395 100644 --- a/engine/events/mom_phone.asm +++ b/engine/events/mom_phone.asm @@ -39,13 +39,13 @@ MomTriesToBuySomething:: .ok ld a, PHONE_MOM ld [wCurCaller], a - ld bc, wEngineBuffer2 - ld hl, 0 + ld bc, wCallerContact + ld hl, PHONE_CONTACT_TRAINER_CLASS add hl, bc - ld [hl], 0 + ld [hl], TRAINER_NONE inc hl - ld [hl], 1 - ld hl, wPhoneScriptPointer - wEngineBuffer2 + ld [hl], PHONE_MOM + ld hl, PHONE_CONTACT_SCRIPT2_BANK add hl, bc ld a, BANK(Mom_GetScriptPointer) ld [hli], a @@ -147,7 +147,7 @@ Mom_GiveItemOrDoll: ld [wCurItem], a ld a, 1 ld [wItemQuantityChangeBuffer], a - ld hl, wPCItems + ld hl, wNumPCItems call ReceiveItem ret diff --git a/engine/events/overworld.asm b/engine/events/overworld.asm index 2e98dcc6c..788b0eb92 100644 --- a/engine/events/overworld.asm +++ b/engine/events/overworld.asm @@ -500,7 +500,7 @@ TrySurfOW:: jr z, .quit ; Must be facing water. - ld a, [wEngineBuffer1] + ld a, [wFacingTileID] call GetTileCollision cp WATERTILE jr nz, .quit diff --git a/engine/events/poisonstep.asm b/engine/events/poisonstep.asm index 6d4106a43..70da92f13 100644 --- a/engine/events/poisonstep.asm +++ b/engine/events/poisonstep.asm @@ -4,29 +4,29 @@ DoPoisonStep:: jr z, .no_faint xor a - ld c, 7 - ld hl, wEngineBuffer1 -.loop_clearEngineBuffer1 + ld c, wPoisonStepDataEnd - wPoisonStepData + ld hl, wPoisonStepData +.loop_clearPoisonStepData ld [hli], a dec c - jr nz, .loop_clearEngineBuffer1 + jr nz, .loop_clearPoisonStepData xor a ld [wCurPartyMon], a .loop_check_poison call .DamageMonIfPoisoned jr nc, .not_poisoned -; the output flag is stored in c, copy it to the ([wCurPartyMon] + 2)nd EngineBuffer -; and set the corresponding flag in wEngineBuffer1 +; the output flag is stored in c, copy it to [wPoisonStepPartyFlags + [wCurPartyMon]] +; and set the corresponding flag in wPoisonStepFlagSum ld a, [wCurPartyMon] ld e, a ld d, 0 - ld hl, wEngineBuffer2 + ld hl, wPoisonStepPartyFlags add hl, de ld [hl], c - ld a, [wEngineBuffer1] + ld a, [wPoisonStepFlagSum] or c - ld [wEngineBuffer1], a + ld [wPoisonStepFlagSum], a .not_poisoned ld a, [wPartyCount] @@ -35,10 +35,10 @@ DoPoisonStep:: cp [hl] jr nz, .loop_check_poison - ld a, [wEngineBuffer1] + ld a, [wPoisonStepFlagSum] and %10 jr nz, .someone_has_fainted - ld a, [wEngineBuffer1] + ld a, [wPoisonStepFlagSum] and %01 jr z, .no_faint call .PlayPoisonSFX @@ -120,7 +120,7 @@ DoPoisonStep:: .CheckWhitedOut: xor a ld [wCurPartyMon], a - ld de, wEngineBuffer2 + ld de, wPoisonStepPartyFlags .party_loop push de ld a, [de] diff --git a/engine/events/pokecenter_pc.asm b/engine/events/pokecenter_pc.asm index 3dc02372d..767495592 100644 --- a/engine/events/pokecenter_pc.asm +++ b/engine/events/pokecenter_pc.asm @@ -354,7 +354,7 @@ PlayerWithdrawItemMenu: ld [wItemQuantityChangeBuffer], a ld a, [wBuffer2] ld [wCurItemQuantity], a - ld hl, wPCItems + ld hl, wNumPCItems call TossItem predef PartyMonItemName ld hl, .WithdrewText @@ -390,7 +390,7 @@ PlayerTossItemMenu: .loop call PCItemsJoypad jr c, .quit - ld de, wPCItems + ld de, wNumPCItems farcall TossItemFromPC jr .loop @@ -509,7 +509,7 @@ PlayerDepositItemMenu: ld [wBuffer1], a ld a, [wCurItemQuantity] ld [wBuffer2], a - ld hl, wPCItems + ld hl, wNumPCItems call ReceiveItem jr nc, .NoRoomInPC ld a, [wBuffer1] @@ -628,7 +628,7 @@ PCItemsJoypad: db SCROLLINGMENU_ENABLE_SELECT | SCROLLINGMENU_ENABLE_FUNCTION3 | SCROLLINGMENU_DISPLAY_ARROWS ; flags db 4, 8 ; rows/cols? db 2 ; horizontal spacing? - dbw 0, wPCItems + dbw 0, wNumPCItems dba PlaceMenuItemName dba PlaceMenuItemQuantity dba UpdateItemDescription diff --git a/engine/gfx/color.asm b/engine/gfx/color.asm index 57ea26102..ec500e85f 100644 --- a/engine/gfx/color.asm +++ b/engine/gfx/color.asm @@ -1091,7 +1091,7 @@ SGBBorder_MorePalPushing: jr nz, .loop ld bc, $140 call CopyData - ld bc, Start + ld bc, $100 call ClearBytes ld bc, 16 palettes call CopyData diff --git a/engine/items/items.asm b/engine/items/items.asm index 28c79f4cc..ef0f10dda 100644 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -145,10 +145,10 @@ GetPocketCapacity: .not_bag ld c, MAX_PC_ITEMS ld a, e - cp LOW(wPCItems) + cp LOW(wNumPCItems) jr nz, .not_pc ld a, d - cp HIGH(wPCItems) + cp HIGH(wNumPCItems) ret z .not_pc diff --git a/engine/items/mart.asm b/engine/items/mart.asm index 59fe89dc9..ef06c4d11 100644 --- a/engine/items/mart.asm +++ b/engine/items/mart.asm @@ -9,9 +9,9 @@ OpenMartDialog:: call GetMart ld a, c - ld [wEngineBuffer1], a + ld [wMartType], a call LoadMartPointer - ld a, [wEngineBuffer1] + ld a, [wMartType] ld hl, .dialogs rst JumpTable ret @@ -24,10 +24,10 @@ OpenMartDialog:: dw RooftopSale MartDialog: - ld a, 0 - ld [wEngineBuffer1], a + ld a, MARTTYPE_STANDARD + ld [wMartType], a xor a ; STANDARDMART_HOWMAYIHELPYOU - ld [wEngineBuffer5], a + ld [wMartJumptableIndex], a call StandardMart ret @@ -105,8 +105,8 @@ LoadMartPointer: xor a ld bc, wCurMartEnd - wCurMart call ByteFill - xor a - ld [wEngineBuffer5], a + xor a ; STANDARDMART_HOWMAYIHELPYOU + ld [wMartJumptableIndex], a ld [wBargainShopFlags], a ld [wFacingDirection], a ret @@ -138,13 +138,15 @@ GetMart: const STANDARDMART_QUIT ; 4 const STANDARDMART_ANYTHINGELSE ; 5 +STANDARDMART_EXIT EQU -1 + StandardMart: .loop - ld a, [wEngineBuffer5] + ld a, [wMartJumptableIndex] ld hl, .MartFunctions rst JumpTable - ld [wEngineBuffer5], a - cp -1 + ld [wMartJumptableIndex], a + cp STANDARDMART_EXIT jr nz, .loop ret @@ -202,7 +204,7 @@ StandardMart: call ExitMenu ld hl, Text_Mart_ComeAgain call MartTextBox - ld a, -1 + ld a, STANDARDMART_EXIT ret .AnythingElse: @@ -346,7 +348,7 @@ BuyMenu: LoadBuyMenuText: ; load text from a nested table -; which table is in wEngineBuffer1 +; which table is in wMartType ; which entry is in register a push af call GetMartDialogGroup ; gets a pointer from GetMartDialogGroup.MartTextFunctionPointers @@ -376,7 +378,7 @@ MartAskPurchaseQuantity: jp RooftopSaleAskPurchaseQuantity GetMartDialogGroup: - ld a, [wEngineBuffer1] + ld a, [wMartType] ld e, a ld d, 0 ld hl, .MartTextFunctionPointers diff --git a/engine/menus/intro_menu.asm b/engine/menus/intro_menu.asm index f6be52c52..c7c3058d1 100644 --- a/engine/menus/intro_menu.asm +++ b/engine/menus/intro_menu.asm @@ -151,7 +151,7 @@ _ResetWRAM: ld hl, wNumBalls call .InitList - ld hl, wPCItems + ld hl, wNumPCItems call .InitList xor a diff --git a/engine/overworld/events.asm b/engine/overworld/events.asm index a84d72db4..b3efa9d86 100644 --- a/engine/overworld/events.asm +++ b/engine/overworld/events.asm @@ -602,8 +602,8 @@ TryObjectEvent: ld h, [hl] ld l, a call GetMapScriptsBank - ld de, wEngineBuffer1 - ld bc, 2 + ld de, wItemBallData + ld bc, wItemBallDataEnd - wItemBallData call FarCopyBytes ld a, PLAYEREVENT_ITEMBALL scf @@ -638,7 +638,7 @@ TryBGEvent: ret .is_bg_event: - ld a, [wEngineBuffer3] + ld a, [wCurBGEventType] ld hl, .bg_events rst JumpTable ret @@ -675,7 +675,7 @@ TryBGEvent: .read call PlayTalkObject - ld hl, wEngineBuffer4 + ld hl, wCurBGEventScriptAddr ld a, [hli] ld h, [hl] ld l, a @@ -689,8 +689,8 @@ TryBGEvent: jp nz, .dontread call PlayTalkObject call GetMapScriptsBank - ld de, wEngineBuffer1 - ld bc, 3 + ld de, wHiddenItemData + ld bc, wHiddenItemDataEnd - wHiddenItemData call FarCopyBytes ld a, BANK(HiddenItemScript) ld hl, HiddenItemScript @@ -702,8 +702,8 @@ TryBGEvent: call CheckBGEventFlag jr nz, .dontread call GetMapScriptsBank - ld de, wEngineBuffer1 - ld bc, 3 + ld de, wHiddenItemData + ld bc, wHiddenItemDataEnd - wHiddenItemData call FarCopyBytes jr .dontread @@ -734,7 +734,7 @@ TryBGEvent: ret CheckBGEventFlag: - ld hl, wEngineBuffer4 + ld hl, wCurBGEventScriptAddr ld a, [hli] ld h, [hl] ld l, a @@ -1076,7 +1076,7 @@ LoadScriptBDE:: TryTileCollisionEvent:: call GetFacingTileCoord - ld [wEngineBuffer1], a + ld [wFacingTileID], a ld c, a farcall CheckFacingTileForStdScript jr c, .done @@ -1087,21 +1087,21 @@ TryTileCollisionEvent:: jr .done .whirlpool - ld a, [wEngineBuffer1] + ld a, [wFacingTileID] call CheckWhirlpoolTile jr nz, .waterfall farcall TryWhirlpoolOW jr .done .waterfall - ld a, [wEngineBuffer1] + ld a, [wFacingTileID] call CheckWaterfallTile jr nz, .headbutt farcall TryWaterfallOW jr .done .headbutt - ld a, [wEngineBuffer1] + ld a, [wFacingTileID] call CheckHeadbuttTreeTile jr nz, .surf farcall TryHeadbuttOW diff --git a/engine/overworld/player_movement.asm b/engine/overworld/player_movement.asm index e8f45d913..09d6b47de 100644 --- a/engine/overworld/player_movement.asm +++ b/engine/overworld/player_movement.asm @@ -4,7 +4,7 @@ DoPlayerMovement:: ld a, movement_step_sleep ld [wMovementAnimation], a xor a - ld [wd041], a + ld [wWalkingIntoEdgeWarp], a call .TranslateIntoMovement ld c, a ld a, [wMovementAnimation] @@ -98,7 +98,7 @@ DoPlayerMovement:: jr z, .Standing ; Walking into an edge warp won't bump. - ld a, [wEngineBuffer4] + ld a, [wWalkingIntoEdgeWarp] and a jr nz, .CantMove call .BumpSound @@ -321,17 +321,17 @@ DoPlayerMovement:: .TrySurf: call .CheckSurfPerms - ld [wd040], a + ld [wWalkingIntoLand], a jr c, .surf_bump call .CheckNPC - ld [wd03f], a + ld [wWalkingIntoNPC], a and a jr z, .surf_bump cp 2 jr z, .surf_bump - ld a, [wd040] + ld a, [wWalkingIntoLand] and a jr nz, .ExitWater @@ -395,7 +395,7 @@ DoPlayerMovement:: .CheckWarp: ; Bug: Since no case is made for STANDING here, it will check ; [.edgewarps + $ff]. This resolves to $3e at $8035a. -; This causes wd041 to be nonzero when standing on tile $3e, +; This causes wWalkingIntoEdgeWarp to be nonzero when standing on tile $3e, ; making bumps silent. ld a, [wWalkingDirection] @@ -409,8 +409,8 @@ DoPlayerMovement:: cp [hl] jr nz, .not_warp - ld a, 1 - ld [wd041], a + ld a, TRUE + ld [wWalkingIntoEdgeWarp], a ld a, [wWalkingDirection] ; This is in the wrong place. cp STANDING diff --git a/engine/overworld/player_object.asm b/engine/overworld/player_object.asm index 4cdbaa313..9f1b13dd9 100644 --- a/engine/overworld/player_object.asm +++ b/engine/overworld/player_object.asm @@ -518,7 +518,7 @@ TrainerWalkToPlayer: call InitMovementBuffer ld a, movement_step_sleep call AppendToMovementBuffer - ld a, [wd03f] + ld a, [wWalkingIntoNPC] dec a jr z, .TerminateStep ldh a, [hLastTalked] diff --git a/engine/overworld/scripting.asm b/engine/overworld/scripting.asm index a836bfe94..c622dc9db 100644 --- a/engine/overworld/scripting.asm +++ b/engine/overworld/scripting.asm @@ -637,7 +637,7 @@ PocketIsFullText: Script_pokemart: ; script command 0x94 -; parameters: dialog_id, mart_id +; parameters: mart_type, mart_id call GetScriptByte ld c, a @@ -765,7 +765,7 @@ Script_trainertext: ld a, [hli] ld h, [hl] ld l, a - ld a, [wEngineBuffer1] + ld a, [wSeenTrainerBank] ld b, a call MapTextbox ret @@ -777,7 +777,7 @@ Script_scripttalkafter: ld a, [hli] ld h, [hl] ld l, a - ld a, [wEngineBuffer1] + ld a, [wSeenTrainerBank] ld b, a jp ScriptJump @@ -787,7 +787,7 @@ Script_trainerflagaction: xor a ld [wScriptVar], a - ld hl, wd041 + ld hl, wTempTrainerEventFlag ld e, [hl] inc hl ld d, [hl] diff --git a/engine/phone/phone.asm b/engine/phone/phone.asm index c4c47d171..9582b5921 100644 --- a/engine/phone/phone.asm +++ b/engine/phone/phone.asm @@ -163,12 +163,13 @@ CheckPhoneContactTimeOfDay: ChooseRandomCaller: ; If no one is available to call, don't return anything. - ld a, [wEngineBuffer3] + ld a, [wNumAvailableCallers] and a jr z, .NothingToSample -; Sample a random number between 0 and 31. +; Store the number of available callers in c. ld c, a +; Sample a random number between 0 and 31. call Random ldh a, [hRandomAdd] swap a @@ -178,7 +179,7 @@ ChooseRandomCaller: ; Return the caller ID you just sampled. ld c, a ld b, 0 - ld hl, wEngineBuffer4 + ld hl, wAvailableCallers add hl, bc ld a, [hl] scf @@ -191,23 +192,23 @@ ChooseRandomCaller: GetAvailableCallers: farcall CheckTime ld a, c - ld [wEngineBuffer1], a - ld hl, wEngineBuffer3 - ld bc, 11 + ld [wCheckedTime], a + ld hl, wNumAvailableCallers + ld bc, CONTACT_LIST_SIZE + 1 xor a call ByteFill ld de, wPhoneList ld a, CONTACT_LIST_SIZE .loop - ld [wEngineBuffer2], a + ld [wPhoneListIndex], a ld a, [de] and a jr z, .not_good_for_call ld hl, PhoneContacts + PHONE_CONTACT_SCRIPT2_TIME - ld bc, PHONE_TABLE_WIDTH + ld bc, PHONE_CONTACT_SIZE call AddNTimes - ld a, [wEngineBuffer1] + ld a, [wCheckedTime] and [hl] jr z, .not_good_for_call ld bc, PHONE_CONTACT_MAP_GROUP - PHONE_CONTACT_SCRIPT2_TIME @@ -220,18 +221,18 @@ GetAvailableCallers: cp [hl] jr z, .not_good_for_call .different_map - ld a, [wEngineBuffer3] + ld a, [wNumAvailableCallers] ld c, a ld b, $0 inc a - ld [wEngineBuffer3], a - ld hl, wEngineBuffer4 + ld [wNumAvailableCallers], a + ld hl, wAvailableCallers add hl, bc ld a, [de] ld [hl], a .not_good_for_call inc de - ld a, [wEngineBuffer2] + ld a, [wPhoneListIndex] dec a jr nz, .loop ret @@ -261,7 +262,7 @@ CheckSpecialPhoneCall:: push hl call LoadCallerScript pop hl - ld de, wPhoneScriptPointer + ld de, wCallerContact + PHONE_CONTACT_SCRIPT2_BANK ld a, [hli] ld [de], a inc de @@ -323,7 +324,7 @@ Function90199: ld a, b ld [wCurCaller], a ld hl, PhoneContacts - ld bc, PHONE_TABLE_WIDTH + ld bc, PHONE_CONTACT_SIZE call AddNTimes ld d, h ld e, l @@ -398,13 +399,13 @@ LoadCallerScript: .actualcaller ld hl, PhoneContacts - ld bc, 12 + ld bc, PHONE_CONTACT_SIZE ld a, e call AddNTimes ld a, BANK(PhoneContacts) .proceed - ld de, wEngineBuffer2 - ld bc, 12 + ld de, wCallerContact + ld bc, PHONE_CONTACT_SIZE call FarCopyBytes ret @@ -422,7 +423,7 @@ WrongNumber: Script_ReceivePhoneCall: refreshscreen callasm RingTwice_StartCall - memcall wPhoneScriptPointer + memcall wCallerContact + PHONE_CONTACT_SCRIPT2_BANK waitbutton callasm HangUp closetext @@ -620,7 +621,7 @@ CheckCanDeletePhoneNumber: GetCallerTrainerClass: push hl ld hl, PhoneContacts + PHONE_CONTACT_TRAINER_CLASS - ld bc, PHONE_TABLE_WIDTH + ld bc, PHONE_CONTACT_SIZE call AddNTimes ld a, [hli] ld b, [hl] @@ -687,7 +688,7 @@ GetCallerLocation: push de ld a, [wCurCaller] ld hl, PhoneContacts + PHONE_CONTACT_MAP_GROUP - ld bc, PHONE_TABLE_WIDTH + ld bc, PHONE_CONTACT_SIZE call AddNTimes ld b, [hl] inc hl |