diff options
| author | entrpntr <entrpntr@gmail.com> | 2020-03-17 16:20:00 -0400 |
|---|---|---|
| committer | entrpntr <entrpntr@gmail.com> | 2020-03-17 16:20:00 -0400 |
| commit | e67786a7a26ae7531301e928870b204043fb8a6a (patch) | |
| tree | 579c9e876fa2cd46c13ecceed0e8f0358e347131 /engine/overworld | |
| parent | c248b30aa7487b51a9182a833b1db29f14a7267c (diff) | |
Cleanup of files for banks $02 and $03 for main.asm.
Diffstat (limited to 'engine/overworld')
| -rwxr-xr-x | engine/overworld/variables.asm | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/engine/overworld/variables.asm b/engine/overworld/variables.asm new file mode 100755 index 00000000..7e6906ee --- /dev/null +++ b/engine/overworld/variables.asm @@ -0,0 +1,119 @@ +GetVarAction_:: + ld a, c + cp NUM_VARS + jr c, .valid + xor a +.valid + ld c, a + ld b, 0 + ld hl, .VarActionTable + add hl, bc + add hl, bc + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld b, [hl] + ld a, b + and RETVAR_EXECUTE + jr nz, .call + ld a, b + and RETVAR_ADDR_DE + ret nz + ld a, [de] + jr .loadstringbuffer2 + +.call + call _de_ + ret + +.loadstringbuffer2 + ld de, wStringBuffer2 + ld [de], a + ret + +.VarActionTable: + dwb wStringBuffer2, RETVAR_STRBUF2 + dwb wPartyCount, RETVAR_STRBUF2 + dwb .BattleResult, RETVAR_EXECUTE + dwb wBattleType, RETVAR_ADDR_DE + dwb wTimeOfDay, RETVAR_STRBUF2 + dwb .CountCaughtMons, RETVAR_EXECUTE + dwb .CountSeenMons, RETVAR_EXECUTE + dwb .CountBadges, RETVAR_EXECUTE + dwb wPlayerState, RETVAR_ADDR_DE + dwb .PlayerFacing, RETVAR_EXECUTE + dwb hHours, RETVAR_STRBUF2 + dwb .DayOfWeek, RETVAR_EXECUTE + dwb wMapGroup, RETVAR_STRBUF2 + dwb wMapNumber, RETVAR_STRBUF2 + dwb .UnownCaught, RETVAR_EXECUTE + dwb wPermission, RETVAR_STRBUF2 + dwb .BoxFreeSpace, RETVAR_EXECUTE + dwb wBugContestMinsRemaining, RETVAR_STRBUF2 + dwb wXCoord, RETVAR_STRBUF2 + dwb wYCoord, RETVAR_STRBUF2 + dwb wSpecialPhoneCallID, RETVAR_STRBUF2 + dwb 0, 0 + +.CountCaughtMons: ; 41cf +; Caught mons. + ld hl, wPokedexCaught + ld b, $20 + call CountSetBits + ld a, [wd151] + jp .loadstringbuffer2 + +.CountSeenMons: ; 41dd +; Seen mons. + ld hl, wPokedexSeen + ld b, $20 + call CountSetBits + ld a, [wd151] + jp .loadstringbuffer2 + +.CountBadges: ; 41eb +; Number of owned badges. + ld hl, wBadges + ld b, 2 + call CountSetBits + ld a, [wd151] + jp .loadstringbuffer2 + +.PlayerFacing: ; 41f9 +; The direction the player is facing. + ld a, [wPlayerDirection] + and $c + rrca + rrca + jp .loadstringbuffer2 + +.DayOfWeek: ; 4203 +; The day of the week. + call GetWeekday + jp .loadstringbuffer2 + +.UnownCaught: ; 4209 +; Number of unique Unown caught. + call CountUnown ; gold: c5ac | silver: c5aa + ld a, b + jp .loadstringbuffer2 + +.BoxFreeSpace: ; 4210 +; Remaining slots in the current box. + ld a, BANK(sBoxCount) + call OpenSRAM + ld hl, sBoxCount + ld a, MONS_PER_BOX + sub [hl] + ld b, a + call CloseSRAM + ld a, b + jp .loadstringbuffer2 + +.BattleResult: ; 4223 + ld a, [wBattleResult] + and $7f + jp .loadstringbuffer2 +; 422b |
