diff options
| author | PikalaxALT <PikalaxALT@gmail.com> | 2015-10-11 12:15:03 -0400 |
|---|---|---|
| committer | PikalaxALT <PikalaxALT@gmail.com> | 2015-10-11 12:26:39 -0400 |
| commit | 327faac497b4195dbf1d3c8dbfeb2adcda9deb27 (patch) | |
| tree | c081ba04287f441383f32d18ee0bd2ecafbfc184 /event | |
| parent | d42330ed8b591db79c43ef680edc5965d6a7b14b (diff) | |
Magikarp functions moved to event/magikarp.asm
Diffstat (limited to 'event')
| -rw-r--r-- | event/magikarp.asm | 345 | ||||
| -rw-r--r-- | event/mom.asm | 750 |
2 files changed, 1095 insertions, 0 deletions
diff --git a/event/magikarp.asm b/event/magikarp.asm new file mode 100644 index 000000000..4f759d655 --- /dev/null +++ b/event/magikarp.asm @@ -0,0 +1,345 @@ + + +Special_CheckMagikarpLength: ; fbb32 + ; Returns 3 if you select a Magikarp that beats the previous record. + ; Returns 2 if you select a Magikarp, but the current record is longer. + ; Returns 1 if you press B in the Pokemon selection menu. + ; Returns 0 if the Pokemon you select is not a Magikarp. + + ; Let's start by selecting a Magikarp. + callba SelectMonFromParty + jr c, .declined + ld a, [CurPartySpecies] + cp MAGIKARP + jr nz, .not_magikarp + + ; Now let's compute its length based on its DVs and ID. + ld a, [CurPartyMon] + ld hl, PartyMon1Species + ld bc, PartyMon2 - PartyMon1 + call AddNTimes + push hl + ld bc, MON_DVS + add hl, bc + ld d, h + ld e, l + pop hl + ld bc, MON_ID + add hl, bc + ld b, h + ld c, l + call CalcMagikarpLength + call PrintMagikarpLength + callba MagikarpLength_Mobile + ld hl, .MeasureItText + call PrintText + + ; Did we beat the record? + ld hl, Buffer1 + ld de, wBestMagikarpLengthFeet + ld c, 2 + call StringCmp + jr nc, .not_long_enough + + ; NEW RECORD!!! Let's save that. + ld hl, Buffer1 + ld de, wBestMagikarpLengthFeet + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + inc de + ld a, [CurPartyMon] + ld hl, PartyMonOT + call SkipNames + call CopyBytes + ld a, 3 + ld [ScriptVar], a + ret + +.not_long_enough + ld a, 2 + ld [ScriptVar], a + ret + +.declined + ld a, 1 + ld [ScriptVar], a + ret + +.not_magikarp + xor a + ld [ScriptVar], a + ret +; fbba9 + +.MeasureItText: ; 0xfbba9 + ; Let me measure that MAGIKARP. …Hm, it measures @ . + text_jump UnknownText_0x1c1203 + db "@" +; 0xfbbae + +Magikarp_LoadFeetInchesChars: ; fbbae + ld hl, VTiles2 + "<FOOT>" * $10 + ld de, .feetinchchars + lb bc, BANK(.feetinchchars), 2 + call Request2bpp + ret +; fbbbb + +.feetinchchars: ; fbbb +INCBIN "gfx/unknown/0fbbbb.2bpp" +; fbbdb + +PrintMagikarpLength: ; fbbdb + call Magikarp_LoadFeetInchesChars + ld hl, StringBuffer1 + ld de, Buffer1 + lb bc, PRINTNUM_RIGHTALIGN | 1, 2 + call PrintNum + ld [hl], "<FOOT>" + inc hl + ld de, Buffer2 + lb bc, PRINTNUM_RIGHTALIGN | 1, 2 + call PrintNum + ld [hl], "<INCH>" + inc hl + ld [hl], "@" + ret +; fbbfc + +CalcMagikarpLength: ; fbbfc +; Return Magikarp's length (in mm) at MagikarpLength (big endian). +; +; input: +; de: EnemyMonDVs +; bc: PlayerID + +; This function is poorly commented. + +; In short, it generates a value between 190 and 1786 using +; a Magikarp's DVs and its trainer ID. This value is further +; filtered in LoadEnemyMon to make longer Magikarp even rarer. + +; The value is generated from a lookup table. +; The index is determined by the dv xored with the player's trainer id. + +; bc = rrc(dv[0]) ++ rrc(dv[1]) ^ rrc(id) + +; if bc < 10: [MagikarpLength] = c + 190 +; if bc >= $ff00: [MagikarpLength] = c + 1370 +; else: [MagikarpLength] = z * 100 + (bc - x) / y + +; X, Y, and Z depend on the value of b as follows: + +; if b = 0: x = 310, y = 2, z = 3 +; if b = 1: x = 710, y = 4, z = 4 +; if b = 2-9: x = 2710, y = 20, z = 5 +; if b = 10-29: x = 7710, y = 50, z = 6 +; if b = 30-68: x = 17710, y = 100, z = 7 +; if b = 69-126: x = 32710, y = 150, z = 8 +; if b = 127-185: x = 47710, y = 150, z = 9 +; if b = 186-224: x = 57710, y = 100, z = 10 +; if b = 225-243: x = 62710, y = 50, z = 11 +; if b = 244-251: x = 64710, y = 20, z = 12 +; if b = 252-253: x = 65210, y = 5, z = 13 +; if b = 254: x = 65410, y = 2, z = 14 + + + ; bc = rrc(dv[0]) ++ rrc(dv[1]) ^ rrc(id) + + ; id + ld h, b + ld l, c + ld a, [hli] + ld b, a + ld c, [hl] + rrc b + rrc c + + ; dv + ld a, [de] + inc de + rrca + rrca + xor b + ld b, a + + ld a, [de] + rrca + rrca + xor c + ld c, a + + ; if bc < 10: + ; de = bc + 190 + ; break + + ld a, b + and a + jr nz, .no + ld a, c + cp 10 + jr nc, .no + + ld hl, 190 + add hl, bc + ld d, h + ld e, l + jr .done + +.no + + ld hl, .Lengths + ld a, 2 + ld [wd265], a + +.read + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + call .BCLessThanDE + jr nc, .next + + ; c = (bc - de) / [hl] + call .BCMinusDE + ld a, b + ld [hDividend + 0], a + ld a, c + ld [hDividend + 1], a + ld a, [hl] + ld [hDivisor], a + ld b, 2 + call Divide + ld a, [hQuotient + 2] + ld c, a + + ; de = c + 100 * (2 + i) + xor a + ld [hMultiplicand + 0], a + ld [hMultiplicand + 1], a + ld a, 100 + ld [hMultiplicand + 2], a + ld a, [wd265] + ld [hMultiplier], a + call Multiply + ld b, 0 + ld a, [hProduct + 3] + add c + ld e, a + ld a, [hProduct + 2] + adc b + ld d, a + jr .done + +.next + inc hl ; align to next triplet + ld a, [wd265] + inc a + ld [wd265], a + cp 16 + jr c, .read + + call .BCMinusDE + ld hl, 1600 + add hl, bc + ld d, h + ld e, l + +.done + ; hl = de * 10 + ld h, d + ld l, e +rept 2 + add hl, hl +endr + add hl, de + add hl, hl + + ; hl = hl / 254 + ld de, -254 + ld a, -1 +.div_254 + inc a + add hl, de + jr c, .div_254 + + ; d, e = hl / 12, hl % 12 + ld d, 0 +.mod_12 + cp 12 + jr c, .ok + sub 12 + inc d + jr .mod_12 +.ok + ld e, a + + ld hl, MagikarpLength + ld [hl], d + inc hl + ld [hl], e + ret +; fbc9a + +.BCLessThanDE: ; fbc9a +; Intention: Return bc < de. +; Reality: Return b < d. + ld a, b + cp d + ret c + ret nc ; whoops + ld a, c + cp e + ret +; fbca1 + +.BCMinusDE: ; fbca1 +; bc -= de + ld a, c + sub e + ld c, a + ld a, b + sbc d + ld b, a + ret +; fbca8 + +.Lengths: ; fbca8 +; ????, divisor + dwb 110, 1 + dwb 310, 2 + dwb 710, 4 + dwb 2710, 20 + dwb 7710, 50 + dwb 17710, 100 + dwb 32710, 150 + dwb 47710, 150 + dwb 57710, 100 + dwb 62710, 50 + dwb 64710, 20 + dwb 65210, 5 + dwb 65410, 2 + dwb 65510, 1 ; not used +; fbcd2 + + + +Special_MagikarpHouseSign: ; fbcd2 + ld a, [wBestMagikarpLengthFeet] + ld [Buffer1], a + ld a, [wBestMagikarpLengthInches] + ld [Buffer2], a + call PrintMagikarpLength + ld hl, .CurrentRecordtext + call PrintText + ret +; fbce8 + +.CurrentRecordtext: ; 0xfbce8 + ; "CURRENT RECORD" + text_jump UnknownText_0x1c123a + db "@" +; 0xfbced diff --git a/event/mom.asm b/event/mom.asm new file mode 100644 index 000000000..f6bccdc28 --- /dev/null +++ b/event/mom.asm @@ -0,0 +1,750 @@ +Special_BankOfMom: ; 16218 + ld a, [$ffaa] + push af + ld a, $1 + ld [$ffaa], a + xor a + ld [wcf63], a +.asm_16223 + ld a, [wcf63] + bit 7, a + jr nz, .asm_1622f + call Function16233 + jr .asm_16223 + +.asm_1622f + pop af + ld [$ffaa], a + ret +; 16233 + +Function16233: ; 16233 + ld a, [wcf63] + ld e, a + ld d, 0 + ld hl, Jumptable_16242 +rept 2 + add hl, de +endr + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 16242 + +Jumptable_16242: ; 16242 + dw Function16254 + dw Function1626a + dw Function16290 + dw Function162a8 + dw Function162e0 + dw Function16373 + dw Function16406 + dw Function1642d + dw Function16433 +; 16254 + +Function16254: ; 16254 + ld a, [wd854] + bit 7, a + jr nz, .asm_16264 + set 7, a + ld [wd854], a + ld a, $1 + jr .asm_16266 + +.asm_16264 + ld a, $2 + +.asm_16266 + ld [wcf63], a + ret +; 1626a + +Function1626a: ; 1626a + ld hl, UnknownText_0x16649 + call PrintText + call YesNoBox + jr c, .asm_1627f + ld hl, UnknownText_0x1664e + call PrintText + ld a, $81 + jr .asm_16281 + +.asm_1627f + ld a, $80 + +.asm_16281 + ld [wd854], a + ld hl, UnknownText_0x16653 + call PrintText + ld a, $8 + ld [wcf63], a + ret +; 16290 + +Function16290: ; 16290 + ld hl, UnknownText_0x16658 + call PrintText + call YesNoBox + jr c, .asm_1629f + ld a, $3 + jr .asm_162a4 + +.asm_1629f + call DSTChecks + ld a, $7 + +.asm_162a4 + ld [wcf63], a + ret +; 162a8 + +Function162a8: ; 162a8 + ld hl, UnknownText_0x1665d + call PrintText + call Function1d6e + ld hl, MenuDataHeader_0x166b5 + call CopyMenuDataHeader + call InterpretMenu2 + call WriteBackup + jr c, .asm_162ce + ld a, [wcfa9] + cp $1 + jr z, .asm_162d2 + cp $2 + jr z, .asm_162d6 + cp $3 + jr z, .asm_162da + +.asm_162ce + ld a, $7 + jr .asm_162dc + +.asm_162d2 + ld a, $5 + jr .asm_162dc + +.asm_162d6 + ld a, $4 + jr .asm_162dc + +.asm_162da + ld a, $6 + +.asm_162dc + ld [wcf63], a + ret +; 162e0 + +Function162e0: ; 162e0 + ld hl, UnknownText_0x16662 + call PrintText + xor a + ld hl, StringBuffer2 +rept 2 + ld [hli], a +endr + ld [hl], a + ld a, $5 + ld [wcf64], a + call Function1d6e + call Function16517 + call Function1656b + call Function16571 + call WriteBackup + jr c, .asm_1636d + ld hl, StringBuffer2 + ld a, [hli] + or [hl] + inc hl + or [hl] + jr z, .asm_1636d + ld de, Money + ld bc, StringBuffer2 + callba CheckMoney + jr c, .asm_1635f + ld hl, StringBuffer2 + ld de, StringBuffer2 + 3 + ld bc, $0003 + call CopyBytes + ld bc, wd851 + ld de, StringBuffer2 + callba GiveMoney + jr c, .asm_16366 + ld bc, StringBuffer2 + 3 + ld de, Money + callba TakeMoney + ld hl, StringBuffer2 + ld de, wd851 + ld bc, $0003 + call CopyBytes + ld de, SFX_TRANSACTION + call PlaySFX + call WaitSFX + ld hl, UnknownText_0x1668a + call PrintText + ld a, $8 + jr .asm_1636f + +.asm_1635f + ld hl, UnknownText_0x1667b + call PrintText + ret + +.asm_16366 + ld hl, UnknownText_0x16680 + call PrintText + ret + +.asm_1636d + ld a, $7 + +.asm_1636f + ld [wcf63], a + ret +; 16373 + +Function16373: ; 16373 + ld hl, UnknownText_0x16667 + call PrintText + xor a + ld hl, StringBuffer2 +rept 2 + ld [hli], a +endr + ld [hl], a + ld a, $5 + ld [wcf64], a + call Function1d6e + call Function16512 + call Function1656b + call Function16571 + call WriteBackup + jr c, .asm_16400 + ld hl, StringBuffer2 + ld a, [hli] + or [hl] + inc hl + or [hl] + jr z, .asm_16400 + ld hl, StringBuffer2 + ld de, StringBuffer2 + 3 + ld bc, 3 + call CopyBytes + ld de, wd851 + ld bc, StringBuffer2 + callba CheckMoney + jr c, .asm_163f2 + ld bc, Money + ld de, StringBuffer2 + callba GiveMoney + jr c, .asm_163f9 + ld bc, StringBuffer2 + 3 + ld de, wd851 + callba TakeMoney + ld hl, StringBuffer2 + ld de, Money + ld bc, 3 + call CopyBytes + ld de, SFX_TRANSACTION + call PlaySFX + call WaitSFX + ld hl, UnknownText_0x1668f + call PrintText + ld a, $8 + jr .asm_16402 + +.asm_163f2 + ld hl, UnknownText_0x16671 + call PrintText + ret + +.asm_163f9 + ld hl, UnknownText_0x16676 + call PrintText + ret + +.asm_16400 + ld a, 7 + +.asm_16402 + ld [wcf63], a + ret +; 16406 + +Function16406: ; 16406 + ld hl, UnknownText_0x1666c + call PrintText + call YesNoBox + jr c, .asm_16422 + ld a, $81 + ld [wd854], a + ld hl, UnknownText_0x16685 + call PrintText + ld a, $8 + ld [wcf63], a + ret + +.asm_16422 + ld a, $80 + ld [wd854], a + ld a, $7 + ld [wcf63], a + ret +; 1642d + +Function1642d: ; 1642d + ld hl, UnknownText_0x16694 + call PrintText + +Function16433: ; 16433 + ld hl, wcf63 + set 7, [hl] + ret +; 16439 + +DSTChecks: ; 16439 +; check the time; avoid changing DST if doing so would change the current day + ld a, [wDST] + bit 7, a + ld a, [hHours] + jr z, .asm_16447 + and a ; within one hour of 00:00? + jr z, .LostBooklet + jr .loop + +.asm_16447 + cp 23 ; within one hour of 23:00? + jr nz, .loop + ; fallthrough + +.LostBooklet + call Function164ea + bccoord 1, 14 + ld hl, UnknownText_0x164f4 + call PlaceWholeStringInBoxAtOnce + call YesNoBox + ret c + call Function164ea + bccoord 1, 14 + ld hl, LostInstructionBookletText + call PlaceWholeStringInBoxAtOnce + ret + +.loop + call Function164ea + bccoord 1, 14 + ld a, [wDST] + bit 7, a + jr z, .asm_16497 + ld hl, UnknownText_0x16508 + call PlaceWholeStringInBoxAtOnce + call YesNoBox + ret c + ld a, [wDST] + res 7, a + ld [wDST], a + call Function164d1 + call Function164ea + bccoord 1, 14 + ld hl, UnknownText_0x1650d + call PlaceWholeStringInBoxAtOnce + ret + +.asm_16497 + ld hl, UnknownText_0x164fe + call PlaceWholeStringInBoxAtOnce + call YesNoBox + ret c + ld a, [wDST] + set 7, a + ld [wDST], a + call Function164b9 + call Function164ea + bccoord 1, 14 + ld hl, UnknownText_0x16503 + call PlaceWholeStringInBoxAtOnce + ret +; 164b9 + +Function164b9: ; 164b9 + ld a, [StartHour] + add 1 + sub 24 + jr nc, .asm_164c4 + add 24 +.asm_164c4 + ld [StartHour], a + ccf + ld a, [StartDay] + adc 0 + ld [StartDay], a + ret +; 164d1 + +Function164d1: ; 164d1 + ld a, [StartHour] + sub 1 + jr nc, .asm_164da + add 24 +.asm_164da + ld [StartHour], a + ld a, [StartDay] + sbc 0 + jr nc, .asm_164e6 + add 7 +.asm_164e6 + ld [StartDay], a + ret +; 164ea + +Function164ea: ; 164ea + hlcoord 1, 14 + ld bc, $0312 + call ClearBox + ret +; 164f4 + +UnknownText_0x164f4: ; 0x164f4 + ; Do you want to adjust your clock for Daylight Saving Time? + text_jump UnknownText_0x1c6095 + db "@" +; 0x164f9 + +LostInstructionBookletText: ; 0x164f9 + ; I lost the instruction booklet for the POKéGEAR. + ; Come back again in a while. + text_jump UnknownText_0x1c60d1 + db "@" +; 0x164fe + +UnknownText_0x164fe: ; 0x164fe + ; Do you want to switch to Daylight Saving Time? + text_jump UnknownText_0x1c6000 + db "@" +; 0x16503 + +UnknownText_0x16503: ; 0x16503 + ; I set the clock forward by one hour. + text_jump UnknownText_0x1c6030 + db "@" +; 0x16508 + +UnknownText_0x16508: ; 0x16508 + ; Is Daylight Saving Time over? + text_jump UnknownText_0x1c6056 + db "@" +; 0x1650d + +UnknownText_0x1650d: ; 0x1650d + ; I put the clock back one hour. + text_jump UnknownText_0x1c6075 + db "@" +; 0x16512 + +Function16512: ; 16512 + ld de, String_1669f + jr Function1651a + +Function16517: ; 16517 + ld de, String_166a8 + +Function1651a: ; 1651a + push de + xor a + ld [hBGMapMode], a + hlcoord 0, 0 + lb bc, 6, 18 + call TextBox + hlcoord 1, 2 + ld de, String_16699 + call PlaceString + hlcoord 12, 2 + ld de, wd851 + lb bc, PRINTNUM_MONEY | 3, 6 + call PrintNum + hlcoord 1, 4 + ld de, String_166b0 + call PlaceString + hlcoord 12, 4 + ld de, Money + lb bc, PRINTNUM_MONEY | 3, 6 + call PrintNum + hlcoord 1, 6 + pop de + call PlaceString + hlcoord 12, 6 + ld de, StringBuffer2 + lb bc, PRINTNUM_MONEY | PRINTNUM_LEADINGZEROS | 3, 6 + call PrintNum + call UpdateSprites + call Function3238 + ret +; 1656b + +Function1656b: ; 1656b + ld c, 10 + call DelayFrames + ret +; 16571 + +Function16571: ; 16571 +.loop + call Functiona57 + ld hl, hJoyPressed + ld a, [hl] + and B_BUTTON + jr nz, .pressedB + ld a, [hl] + and A_BUTTON + jr nz, .pressedA + call .dpadaction + xor a + ld [hBGMapMode], a + hlcoord 12, 6 + ld bc, 7 + ld a, " " + call ByteFill + hlcoord 12, 6 + ld de, StringBuffer2 + lb bc, PRINTNUM_MONEY | PRINTNUM_LEADINGZEROS | 3, 6 + call PrintNum + ld a, [$ff9b] + and $10 + jr nz, .skip + hlcoord 13, 6 + ld a, [wMomBankDigitCursorPosition] + ld c, a + ld b, 0 + add hl, bc + ld [hl], " " + +.skip + call WaitBGMap + jr .loop + +.pressedB + scf + ret + +.pressedA + and a + ret +; 165b9 + +.dpadaction: ; 165b9 + ld hl, hJoyLast + ld a, [hl] + and D_UP + jr nz, .incrementdigit + ld a, [hl] + and D_DOWN + jr nz, .decrementdigit + ld a, [hl] + and D_LEFT + jr nz, .movecursorleft + ld a, [hl] + and D_RIGHT + jr nz, .movecursorright + and a + ret + +.movecursorleft + ld hl, wMomBankDigitCursorPosition + ld a, [hl] + and a + ret z + dec [hl] + ret + +.movecursorright + ld hl, wMomBankDigitCursorPosition + ld a, [hl] + cp 5 + ret nc + inc [hl] + ret + +.incrementdigit + ld hl, .DigitQuantities + call .getdigitquantity + ld c, l + ld b, h + ld de, StringBuffer2 + callba GiveMoney + ret + +.decrementdigit + ld hl, .DigitQuantities + call .getdigitquantity + ld c, l + ld b, h + ld de, StringBuffer2 + callba TakeMoney + ret +; 16607 + +.getdigitquantity: ; 16607 + ld a, [wMomBankDigitCursorPosition] + push de + ld e, a + ld d, 0 +rept 3 + add hl, de +endr + pop de + ret +; 16613 + +.DigitQuantities: ; 16613 + dt 100000 + dt 10000 + dt 1000 + dt 100 + dt 10 + dt 1 + + dt 100000 + dt 10000 + dt 1000 + dt 100 + dt 10 + dt 1 + + dt 900000 + dt 90000 + dt 9000 + dt 900 + dt 90 + dt 9 +; 16649 + +UnknownText_0x16649: ; 0x16649 + ; Wow, that's a cute #MON. Where did you get it? … So, you're leaving on an adventure… OK! I'll help too. But what can I do for you? I know! I'll save money for you. On a long journey, money's important. Do you want me to save your money? + text_jump UnknownText_0x1bd77f + db "@" +; 0x1664e + +UnknownText_0x1664e: ; 0x1664e + ; OK, I'll take care of your money. + text_jump UnknownText_0x1bd868 + db "@" +; 0x16653 + +UnknownText_0x16653: ; 0x16653 + ; Be careful. #MON are your friends. You need to work as a team. Now, go on! + text_jump UnknownText_0x1bd88e + db "@" +; 0x16658 + +UnknownText_0x16658: ; 0x16658 + ; Hi! Welcome home! You're trying very hard, I see. I've kept your room tidy. Or is this about your money? + text_jump UnknownText_0x1bd8da + db "@" +; 0x1665d + +UnknownText_0x1665d: ; 0x1665d + ; What do you want to do? + text_jump UnknownText_0x1bd942 + db "@" +; 0x16662 + +UnknownText_0x16662: ; 0x16662 + ; How much do you want to save? + text_jump UnknownText_0x1bd95b + db "@" +; 0x16667 + +UnknownText_0x16667: ; 0x16667 + ; How much do you want to take? + text_jump UnknownText_0x1bd97a + db "@" +; 0x1666c + +UnknownText_0x1666c: ; 0x1666c + ; Do you want to save some money? + text_jump UnknownText_0x1bd999 + db "@" +; 0x16671 + +UnknownText_0x16671: ; 0x16671 + ; You haven't saved that much. + text_jump UnknownText_0x1bd9ba + db "@" +; 0x16676 + +UnknownText_0x16676: ; 0x16676 + ; You can't take that much. + text_jump UnknownText_0x1bd9d7 + db "@" +; 0x1667b + +UnknownText_0x1667b: ; 0x1667b + ; You don't have that much. + text_jump UnknownText_0x1bd9f1 + db "@" +; 0x16680 + +UnknownText_0x16680: ; 0x16680 + ; You can't save that much. + text_jump UnknownText_0x1bda0b + db "@" +; 0x16685 + +UnknownText_0x16685: ; 0x16685 + ; OK, I'll save your money. Trust me! , stick with it! + text_jump UnknownText_0x1bda25 + db "@" +; 0x1668a + +UnknownText_0x1668a: ; 0x1668a + ; Your money's safe here! Get going! + text_jump UnknownText_0x1bda5b + db "@" +; 0x1668f + +UnknownText_0x1668f: ; 0x1668f + ; , don't give up! + text_jump UnknownText_0x1bda7e + db "@" +; 0x16694 + +UnknownText_0x16694: ; 0x16694 + ; Just do what you can. + text_jump UnknownText_0x1bda90 + db "@" +; 0x16699 + +String_16699: ; 16699 + db "SAVED@" +; 1669f + +String_1669f: ; 1669f + db "WITHDRAW@" +; 166a8 + +String_166a8: ; 166a8 + db "DEPOSIT@" +; 166b0 + +String_166b0: ; 166b0 + db "HELD@" +; 166b5 + +MenuDataHeader_0x166b5: ; 0x166b5 + db $40 ; flags + db 00, 00 ; start coords + db 10, 10 ; end coords + dw MenuData2_0x166bd + db 1 ; default option +; 0x166bd + +MenuData2_0x166bd: ; 0x166bd + db $80 ; flags + db 4 ; items + db "GET@" + db "SAVE@" + db "CHANGE@" + db "CANCEL@" +; 0x166d6 |
