trade animation

This commit is contained in:
PikalaxALT
2015-11-23 00:21:21 -05:00
parent 8740fc6e87
commit 58020fb5f6
23 changed files with 4123 additions and 3888 deletions

View File

@@ -2547,41 +2547,41 @@ String_e36f1: ; e36f1
; e36f9
Functione36f9: ; e36f9 (38:76f9)
ld hl, MenuDataHeader_0xe377b
ld hl, .MenuDataHeader
call LoadMenuDataHeader
call InterpretMenu2
call ExitMenu
ret c
ld a, [MenuSelection2]
cp $1
jr z, .asm_e3734
jr z, .Switch
cp $2
jr z, .asm_e3745
jr z, .Name
cp $3
jr z, .asm_e3717
jr z, .Print
and a
ret
.asm_e3717
.Print
call GetBoxCount
and a
jr z, .asm_e372f
jr z, .EmptyBox
ld e, l
ld d, h
ld a, [MenuSelection]
dec a
ld c, a
callba Function844bc
callba PrintPCBox
call Functione35e2
and a
ret
.asm_e372f
.EmptyBox
call Functione37be
and a
ret
.asm_e3734
.Switch
ld a, [MenuSelection]
dec a
ld e, a
@@ -2591,8 +2591,8 @@ Functione36f9: ; e36f9 (38:76f9)
callba ChangeBoxSaveGame
ret
.asm_e3745
ld b, $4
.Name
ld b, $4 ; box
ld de, wd002
callba NamingScreen
call ClearTileMap
@@ -2616,15 +2616,15 @@ Functione36f9: ; e36f9 (38:76f9)
hlcoord 11, 7 ; XXX
MenuDataHeader_0xe377b: ; 0xe377b
.MenuDataHeader: ; 0xe377b
db $40 ; flags
db 04, 11 ; start coords
db 13, 19 ; end coords
dw MenuData2_0xe3783
dw .MenuData2
db 1 ; default option
; 0xe3783
MenuData2_0xe3783: ; 0xe3783
.MenuData2: ; 0xe3783
db $80 ; flags
db 4 ; items
db "SWITCH@"

File diff suppressed because it is too large Load Diff

View File

@@ -489,7 +489,7 @@ Function4484a: ; 0x4484a
ld a, BANK(sMailboxCount)
call GetSRAMBank
pop af
ld hl, sMailbox1MailType
ld hl, sMailbox1Type
ld bc, MAIL_STRUCT_LENGTH
call AddNTimes
ld a, [hl]

View File

@@ -161,9 +161,9 @@ Function49da4: ; 49da4
cp $1
ld a, $1
ret nz
ld a, BANK(s0_abe5)
ld a, BANK(sNumDailyMysteryGiftPartnerIDs)
call GetSRAMBank
ld a, [s0_abe5]
ld a, [sNumDailyMysteryGiftPartnerIDs]
cp $ff
call CloseSRAM
jr nz, .done

1702
engine/mysterygift.asm Executable file

File diff suppressed because it is too large Load Diff

View File

@@ -18,10 +18,14 @@ TRADE_WRONG EQU 2
TRADE_COMPLETE EQU 3
TRADE_AFTER EQU 4
TRADE_EITHER_GENDER EQU 0
TRADE_MALE_ONLY EQU 1
TRADE_FEMALE_ONLY EQU 2
NPCTrade:: ; fcba8
ld a, e
ld [wJumptableIndex], a
call Functionfcc59
call Trade_GetDialog
ld b, CHECK_FLAG
call TradeFlagAction
ld a, TRADE_AFTER
@@ -57,8 +61,8 @@ NPCTrade:: ; fcba8
ld hl, ConnectLinkCableText
call PrintText
call Functionfcc63
call Functionfcc07
call DoNPCTrade
call .TradeAnimation
call GetTradeMonNames
ld hl, TradedForText
@@ -73,13 +77,13 @@ NPCTrade:: ; fcba8
ret
; fcc07
Functionfcc07: ; fcc07
.TradeAnimation: ; fcc07
call DisableSpriteUpdates
ld a, [wJumptableIndex]
push af
ld a, [wcf64]
push af
predef Function28f24
predef TradeAnimation
pop af
ld [wcf64], a
pop af
@@ -118,7 +122,7 @@ CheckTradeGender: ; fcc23
; fcc4a
TradeFlagAction: ; fcc4a
ld hl, wd960
ld hl, wTradeFlags
ld a, [wJumptableIndex]
ld c, a
predef FlagPredef
@@ -127,7 +131,7 @@ TradeFlagAction: ; fcc4a
ret
; fcc59
Functionfcc59: ; fcc59
Trade_GetDialog: ; fcc59
ld e, TRADE_DIALOG
call GetTradeAttribute
ld a, [hl]
@@ -135,74 +139,74 @@ Functionfcc59: ; fcc59
ret
; fcc63
Functionfcc63: ; fcc63
DoNPCTrade: ; fcc63
ld e, TRADE_GIVEMON
call GetTradeAttribute
ld a, [hl]
ld [wc6d0], a
ld [wPlayerTrademonSpecies], a
ld e, TRADE_GETMON
call GetTradeAttribute
ld a, [hl]
ld [wc702], a
ld [wOTTrademonSpecies], a
ld a, [wc6d0]
ld de, wc6d1
call Functionfcde8
call Functionfcdf4
ld a, [wPlayerTrademonSpecies]
ld de, wPlayerTrademonSpeciesName
call GetTradeMonName
call CopyTradeName
ld a, [wc702]
ld de, wc703
call Functionfcde8
call Functionfcdf4
ld a, [wOTTrademonSpecies]
ld de, wOTTrademonSpeciesName
call GetTradeMonName
call CopyTradeName
ld hl, PartyMonOT
ld bc, NAME_LENGTH
call Functionfcdd7
ld de, wc6f2
call Functionfcdf4
call Trade_GetAttributeOfCurrentPartymon
ld de, wPlayerTrademonOTName
call CopyTradeName
ld hl, PlayerName
ld de, wc6e7
call Functionfcdf4
ld de, wPlayerTrademonSenderName
call CopyTradeName
ld hl, PartyMon1ID
ld bc, PARTYMON_STRUCT_LENGTH
call Functionfcdd7
ld de, wc6ff
call Functionfce0f
call Trade_GetAttributeOfCurrentPartymon
ld de, wPlayerTrademonID
call Trade_CopyTwoBytes
ld hl, PartyMon1DVs
ld bc, PARTYMON_STRUCT_LENGTH
call Functionfcdd7
ld de, wc6fd
call Functionfce0f
call Trade_GetAttributeOfCurrentPartymon
ld de, wPlayerTrademonDVs
call Trade_CopyTwoBytes
ld hl, PartyMon1Species
ld bc, PARTYMON_STRUCT_LENGTH
call Functionfcdd7
call Trade_GetAttributeOfCurrentPartymon
ld b, h
ld c, l
callba GetCaughtGender
ld a, c
ld [wc701], a
ld [wPlayerTrademonCaughtData], a
ld e, TRADE_DIALOG
call GetTradeAttribute
ld a, [hl]
cp TRADE_COMPLETE
cp 3
ld a, 1
jr c, .asm_fcce6
jr c, .okay
ld a, 2
.asm_fcce6
ld [wEnemyCharging], a
.okay
ld [wOTTrademonCaughtData], a
ld hl, PartyMon1Level
ld bc, PARTYMON_STRUCT_LENGTH
call Functionfcdd7
call Trade_GetAttributeOfCurrentPartymon
ld a, [hl]
ld [CurPartyLevel], a
ld a, [wc702]
ld a, [wOTTrademonSpecies]
ld [CurPartySpecies], a
xor a
ld [MonType], a
@@ -214,66 +218,66 @@ Functionfcc63: ; fcc63
call GetTradeAttribute
ld a, [hl]
cp TRADE_COMPLETE
ld b, 0
ld b, RESET_FLAG
jr c, .asm_fcd1c
ld b, 1
ld b, SET_FLAG
.asm_fcd1c
callba SetGiftPartyMonCaughtData
ld e, TRADE_NICK
call GetTradeAttribute
ld de, wc70e
call Functionfcdf4
ld de, wOTTrademonNickname
call CopyTradeName
ld hl, PartyMonNicknames
ld bc, PKMN_NAME_LENGTH
call Functionfcdde
ld hl, wc70e
call Functionfcdf4
call Trade_GetAttributeOfLastPartymon
ld hl, wOTTrademonNickname
call CopyTradeName
ld e, TRADE_OT_NAME
call GetTradeAttribute
push hl
ld de, wc724
call Functionfcdf4
ld de, wOTTrademonOTName
call CopyTradeName
pop hl
ld de, wc719
call Functionfcdf4
ld de, wOTTrademonSenderName
call CopyTradeName
ld hl, PartyMonOT
ld bc, NAME_LENGTH
call Functionfcdde
ld hl, wc724
call Functionfcdf4
call Trade_GetAttributeOfLastPartymon
ld hl, wOTTrademonOTName
call CopyTradeName
ld e, TRADE_DVS
call GetTradeAttribute
ld de, wEnemyTrappingMove
call Functionfce0f
ld de, wOTTrademonDVs
call Trade_CopyTwoBytes
ld hl, PartyMon1DVs
ld bc, PARTYMON_STRUCT_LENGTH
call Functionfcdde
ld hl, wEnemyTrappingMove
call Functionfce0f
call Trade_GetAttributeOfLastPartymon
ld hl, wOTTrademonDVs
call Trade_CopyTwoBytes
ld e, TRADE_OT_ID
call GetTradeAttribute
ld de, wPlayerCharging
call Functionfce15
ld de, wOTTrademonID + 1
call Trade_CopyTwoBytesReverseEndian
ld hl, PartyMon1ID
ld bc, PARTYMON_STRUCT_LENGTH
call Functionfcdde
ld hl, wEnemyWrapCount
call Functionfce0f
call Trade_GetAttributeOfLastPartymon
ld hl, wOTTrademonID
call Trade_CopyTwoBytes
ld e, TRADE_ITEM
call GetTradeAttribute
push hl
ld hl, PartyMon1Item
ld bc, PARTYMON_STRUCT_LENGTH
call Functionfcdde
call Trade_GetAttributeOfLastPartymon
pop hl
ld a, [hl]
ld [de], a
@@ -315,13 +319,13 @@ endr
ret
; 0xfcdd7
Functionfcdd7: ; fcdd7
Trade_GetAttributeOfCurrentPartymon: ; fcdd7
ld a, [CurPartyMon]
call AddNTimes
ret
; fcdde
Functionfcdde: ; fcdde
Trade_GetAttributeOfLastPartymon: ; fcdde
ld a, [PartyCount]
dec a
call AddNTimes
@@ -330,7 +334,7 @@ Functionfcdde: ; fcdde
ret
; fcde8
Functionfcde8: ; fcde8
GetTradeMonName: ; fcde8
push de
ld [wd265], a
call GetBasePokemonName
@@ -339,29 +343,31 @@ Functionfcde8: ; fcde8
ret
; fcdf4
Functionfcdf4: ; fcdf4
CopyTradeName: ; fcdf4
ld bc, NAME_LENGTH
call CopyBytes
ret
; fcdfb
Functionfcdfb: ; fcdfb
; unreferenced
ld bc, 4
call CopyBytes
ld a, $50
ld a, "@"
ld [de], a
ret
; fce05
Functionfce05: ; fce05
; unreferenced
ld bc, 3
call CopyBytes
ld a, $50
ld a, "@"
ld [de], a
ret
; fce0f
Functionfce0f: ; fce0f
Trade_CopyTwoBytes: ; fce0f
ld a, [hli]
ld [de], a
inc de
@@ -370,7 +376,7 @@ Functionfce0f: ; fce0f
ret
; fce15
Functionfce15: ; fce15
Trade_CopyTwoBytesReverseEndian: ; fce15
ld a, [hli]
ld [de], a
dec de
@@ -383,18 +389,18 @@ GetTradeMonNames: ; fce1b
ld e, TRADE_GETMON
call GetTradeAttribute
ld a, [hl]
call Functionfcde8
call GetTradeMonName
ld de, StringBuffer2
call Functionfcdf4
call CopyTradeName
ld e, TRADE_GIVEMON
call GetTradeAttribute
ld a, [hl]
call Functionfcde8
call GetTradeMonName
ld de, wd050
call Functionfcdf4
call CopyTradeName
ld hl, StringBuffer1
.loop
@@ -423,13 +429,22 @@ GetTradeMonNames: ; fce1b
NPCTrades: ; fce58
db 0, ABRA, MACHOP, "MUSCLE@@@@@", $37, $66, GOLD_BERRY, $54, $92, "MIKE@@@@@@@", 0, 0
db 0, BELLSPROUT, ONIX, "ROCKY@@@@@@", $96, $66, BITTER_BERRY, $1e, $bf, "KYLE@@@@@@@", 0, 0
db 1, KRABBY, VOLTORB, "VOLTY@@@@@@", $98, $88, PRZCUREBERRY, $05, $72, "TIM@@@@@@@@", 0, 0
db 3, DRAGONAIR, DODRIO, "DORIS@@@@@@", $77, $66, SMOKE_BALL, $1b, $01, "EMY@@@@@@@@", 2, 0
db 2, HAUNTER, XATU, "PAUL@@@@@@@", $96, $86, MYSTERYBERRY, $00, $3d, "CHRIS@@@@@@", 0, 0
db 3, CHANSEY, AERODACTYL, "AEROY@@@@@@", $96, $66, GOLD_BERRY, $7b, $67, "KIM@@@@@@@@", 0, 0
db 0, DUGTRIO, MAGNETON, "MAGGIE@@@@@", $96, $66, METAL_COAT, $a2, $c3, "FOREST@@@@@", 0, 0
npctrade: MACRO
db \1, \2, \3, \4
dw \5
db \6
dw \7
db \8, \9, 0
ENDM
npctrade 0, ABRA, MACHOP, "MUSCLE@@@@@", $6637, GOLD_BERRY, $9254, "MIKE@@@@@@@", TRADE_EITHER_GENDER
npctrade 0, BELLSPROUT, ONIX, "ROCKY@@@@@@", $6696, BITTER_BERRY, $bf1e, "KYLE@@@@@@@", TRADE_EITHER_GENDER
npctrade 1, KRABBY, VOLTORB, "VOLTY@@@@@@", $8898, PRZCUREBERRY, $7205, "TIM@@@@@@@@", TRADE_EITHER_GENDER
npctrade 3, DRAGONAIR, DODRIO, "DORIS@@@@@@", $6677, SMOKE_BALL, $011b, "EMY@@@@@@@@", TRADE_FEMALE_ONLY
npctrade 2, HAUNTER, XATU, "PAUL@@@@@@@", $8696, MYSTERYBERRY, $3d00, "CHRIS@@@@@@", TRADE_EITHER_GENDER
npctrade 3, CHANSEY, AERODACTYL, "AEROY@@@@@@", $6696, GOLD_BERRY, $677b, "KIM@@@@@@@@", TRADE_EITHER_GENDER
npctrade 0, DUGTRIO, MAGNETON, "MAGGIE@@@@@", $6696, METAL_COAT, $c3a2, "FOREST@@@@@", TRADE_EITHER_GENDER
; fcf38

View File

@@ -476,7 +476,7 @@ Function4034f: ; 4034f
push af
ld a, [wJumptableIndex]
push af
callba Function8442c
callba PrintDexEntry
pop af
ld [wJumptableIndex], a
pop af

View File

@@ -59,8 +59,8 @@ PredefPointers:: ; 856b
add_predef LearnLevelMoves
add_predef FillMoves
add_predef EvolveAfterBattle
add_predef Function28f63
add_predef Function28f24
add_predef TradeAnimationPlayer2
add_predef TradeAnimation
add_predef CopyPkmnToTempMon
add_predef ListMoves ; $20
add_predef PlaceNonFaintStatus

View File

@@ -653,7 +653,7 @@ Function84425: ; 84425
ret
; 8442c
Function8442c: ; 8442c
PrintDexEntry: ; 8442c
ld a, [wcf65]
push af
ld hl, VTiles1
@@ -661,7 +661,7 @@ Function8442c: ; 8442c
lb bc, BANK(FontInversed), $80
call Request1bpp
xor a
ld [$ffac], a
ld [hPrinter], a
call Function8474c
ld a, [rIE]
push af
@@ -720,7 +720,7 @@ Function8442c: ; 8442c
ret
; 844bc
Function844bc: ; 844bc (21:44bc)
PrintPCBox: ; 844bc (21:44bc)
ld a, [wcf65]
push af
ld a, $9
@@ -728,13 +728,13 @@ Function844bc: ; 844bc (21:44bc)
ld a, e
ld [wd004], a
ld a, d
ld [StartFlypoint], a
ld [wd005], a
ld a, b
ld [EndFlypoint], a
ld [wd006], a
ld a, c
ld [MovementBuffer], a
ld [wd007], a
xor a
ld [$ffac], a
ld [hPrinter], a
ld [wd003], a
call Function8474c
ld a, [rIE]
@@ -801,11 +801,11 @@ Function84559: ; 84559 (21:4559)
call Function843f0
ret
Function84560: ; 84560
PrintUnownStamp: ; 84560
ld a, [wcf65]
push af
xor a
ld [$ffac], a
ld [hPrinter], a
call Function8474c
ld a, [rIE]
push af
@@ -861,7 +861,7 @@ Function84560: ; 84560
ret
; 845d4
Function845d4: ; 845d4
PrintMail: ; 845d4
call Function845db
call Function84425
ret
@@ -871,7 +871,7 @@ Function845db: ; 845db
ld a, [wcf65]
push af
xor a
ld [$ffac], a
ld [hPrinter], a
call Function8474c
ld a, [rIE]
push af
@@ -903,11 +903,11 @@ Function845db: ; 845db
ret
; 8461a
Function8461a: ; 8461a
PrintPartymon: ; 8461a
ld a, [wcf65]
push af
xor a
ld [$ffac], a
ld [hPrinter], a
call Function8474c
ld a, [rIE]
push af
@@ -962,7 +962,7 @@ _PrintDiploma: ; 84688
push af
callba Function1dd709
xor a
ld [$ffac], a
ld [hPrinter], a
call Function8474c
ld a, [rIE]
push af
@@ -1040,7 +1040,7 @@ Function846f6: ; 846f6
.asm_84722
ld a, $1
ld [$ffac], a
ld [hPrinter], a
scf
ret
; 84728
@@ -1205,15 +1205,15 @@ Function84817: ; 84817 (21:4817)
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
ld a, " "
call ByteFill
call Function84a0e
call Printer_PlaceEmptyBoxSlotString
hlcoord 0, 0
ld bc, 9 * SCREEN_WIDTH
ld a, " "
call ByteFill
call Function849e9
call Function849d7
call Printer_PlaceSideBorders
call Printer_PlaceTopBorder
hlcoord 4, 3
ld de, String_84865
ld de, .String_PokemonList
call PlaceString
ld a, [wd007]
ld bc, BOX_NAME_LENGTH
@@ -1231,7 +1231,7 @@ Function84817: ; 84817 (21:4817)
ret
; 84865 (21:4865)
String_84865:
.String_PokemonList:
db "#MON LIST@"
; 8486f
@@ -1240,8 +1240,8 @@ Function8486f: ; 8486f (21:486f)
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
ld a, " "
call ByteFill
call Function84a0e
call Function849e9
call Printer_PlaceEmptyBoxSlotString
call Printer_PlaceSideBorders
ld a, [wd003]
and a
ret nz
@@ -1257,8 +1257,8 @@ Function84893: ; 84893 (21:4893)
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
ld a, " "
call ByteFill
call Function84a0e
call Function849e9
call Printer_PlaceEmptyBoxSlotString
call Printer_PlaceSideBorders
ld a, [wd003]
and a
ret nz
@@ -1274,12 +1274,12 @@ Function848b7: ; 848b7 (21:48b7)
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
ld a, " "
call ByteFill
call Function84a0e
call Printer_PlaceEmptyBoxSlotString
hlcoord 1, 15
lb bc, 2, 18
call ClearBox
call Function849e9
call Function849fc
call Printer_PlaceSideBorders
call Printer_PlaceBottomBorders
ld a, [wd003]
and a
ret nz
@@ -1291,7 +1291,7 @@ Function848b7: ; 848b7 (21:48b7)
ret
Function848e7: ; 848e7 (21:48e7)
ld a, [EndFlypoint]
ld a, [wd006]
call GetSRAMBank
Function848ed: ; 848ed (21:48ed)
@@ -1318,7 +1318,7 @@ Function848ed: ; 848ed (21:48ed)
push hl
call PlaceString
ld a, [CurPartySpecies]
cp $fd
cp EGG
pop hl
jr z, .ok2
ld bc, $b
@@ -1326,7 +1326,7 @@ Function848ed: ; 848ed (21:48ed)
call Function8498a
ld bc, $9
add hl, bc
ld a, $f3
ld a, "/"
ld [hli], a
push hl
ld bc, $e
@@ -1336,7 +1336,7 @@ Function848ed: ; 848ed (21:48ed)
push hl
ld a, [wd004]
ld l, a
ld a, [StartFlypoint]
ld a, [wd005]
ld h, a
ld bc, $372
add hl, bc
@@ -1354,7 +1354,7 @@ Function848ed: ; 848ed (21:48ed)
push hl
ld a, [wd004]
ld l, a
ld a, [StartFlypoint]
ld a, [wd005]
ld h, a
ld bc, $35
add hl, bc
@@ -1387,7 +1387,7 @@ Function8498a: ; 8498a (21:498a)
push hl
ld a, [wd004]
ld l, a
ld a, [StartFlypoint]
ld a, [wd005]
ld h, a
ld bc, $2b
add hl, bc
@@ -1421,7 +1421,7 @@ Function849c6: ; 849c6 (21:49c6)
ld d, $0
ld a, [wd004]
ld l, a
ld a, [StartFlypoint]
ld a, [wd005]
ld h, a
add hl, de
ld e, l
@@ -1429,62 +1429,62 @@ Function849c6: ; 849c6 (21:49c6)
pop hl
ret
Function849d7: ; 849d7 (21:49d7)
Printer_PlaceTopBorder: ; 849d7 (21:49d7)
hlcoord 0, 0
ld a, "┌"
ld [hli], a
ld a, "─"
ld c, SCREEN_WIDTH - 2
.asm_849e1
.loop
ld [hli], a
dec c
jr nz, .asm_849e1
jr nz, .loop
ld a, "┐"
ld [hl], a
ret
Function849e9: ; 849e9 (21:49e9)
Printer_PlaceSideBorders: ; 849e9 (21:49e9)
hlcoord 0, 0
ld de, SCREEN_WIDTH - 1
ld c, SCREEN_HEIGHT
.asm_849f1
.loop
ld a, "│"
ld [hl], a
add hl, de
ld a, "│"
ld [hli], a
dec c
jr nz, .asm_849f1
jr nz, .loop
ret
Function849fc: ; 849fc (21:49fc)
Printer_PlaceBottomBorders: ; 849fc (21:49fc)
hlcoord 0, 17
ld a, "└"
ld [hli], a
ld a, "─"
ld c, SCREEN_WIDTH - 2
.asm_84a06
.loop
ld [hli], a
dec c
jr nz, .asm_84a06
jr nz, .loop
ld a, "┘"
ld [hl], a
ret
Function84a0e: ; 84a0e (21:4a0e)
Printer_PlaceEmptyBoxSlotString: ; 84a0e (21:4a0e)
hlcoord 2, 0
ld c, $6
.asm_84a13
.loop
push bc
push hl
ld de, String84a25
call PlaceString
pop hl
ld bc, $3c
ld bc, 3 * SCREEN_WIDTH
add hl, bc
pop bc
dec c
jr nz, .asm_84a13
jr nz, .loop
ret
; 84a25 (21:4a25)

1542
engine/trade/animation.asm Executable file

File diff suppressed because it is too large Load Diff