trainer_pokemon_sprites

This commit is contained in:
PikalaxALT
2019-04-29 13:06:11 -04:00
parent 24d36fd91f
commit 35e7dffe66
32 changed files with 594 additions and 1287 deletions
+10 -10
View File
@@ -5050,7 +5050,7 @@ _0807694E:
beq _080769C4
_0807699A:
lsls r0, r6, 3
ldr r1, _080769C0 @ =gUnknown_82350AC
ldr r1, _080769C0 @ =gMonFrontPicTable
adds r0, r1
ldr r1, _080769B8 @ =gMonSpritesGfxPtr
ldr r1, [r1]
@@ -5065,10 +5065,10 @@ _080769B0: .4byte gUnknown_83AE084
_080769B4: .4byte gUnknown_83AE054
_080769B8: .4byte gMonSpritesGfxPtr
_080769BC: .4byte gUnknown_2024018
_080769C0: .4byte gUnknown_82350AC
_080769C0: .4byte gMonFrontPicTable
_080769C4:
lsls r0, r6, 3
ldr r1, _080769E4 @ =gUnknown_82350AC
ldr r1, _080769E4 @ =gMonFrontPicTable
adds r0, r1
ldr r1, _080769E8 @ =gMonSpritesGfxPtr
ldr r1, [r1]
@@ -5080,10 +5080,10 @@ _080769C4:
str r2, [sp]
adds r2, r6, 0
mov r3, r8
bl sub_800ECF0
bl LoadSpecialPokePic
b _08076A7C
.align 2, 0
_080769E4: .4byte gUnknown_82350AC
_080769E4: .4byte gMonFrontPicTable
_080769E8: .4byte gMonSpritesGfxPtr
_080769EC:
adds r0, r6, 0
@@ -5120,7 +5120,7 @@ _080769EC:
beq _08076A60
_08076A32:
lsls r0, r6, 3
ldr r1, _08076A58 @ =gUnknown_823654C
ldr r1, _08076A58 @ =gMonBackPicTable
adds r0, r1
ldr r1, _08076A5C @ =gMonSpritesGfxPtr
ldr r1, [r1]
@@ -5137,11 +5137,11 @@ _08076A46:
b _08076A7C
.align 2, 0
_08076A54: .4byte gUnknown_2024018
_08076A58: .4byte gUnknown_823654C
_08076A58: .4byte gMonBackPicTable
_08076A5C: .4byte gMonSpritesGfxPtr
_08076A60:
lsls r0, r6, 3
ldr r1, _08076AC8 @ =gUnknown_823654C
ldr r1, _08076AC8 @ =gMonBackPicTable
adds r0, r1
ldr r1, _08076ACC @ =gMonSpritesGfxPtr
ldr r1, [r1]
@@ -5152,7 +5152,7 @@ _08076A60:
str r2, [sp]
adds r2, r6, 0
mov r3, r8
bl sub_800ECF0
bl LoadSpecialPokePic
_08076A7C:
ldr r5, _08076ACC @ =gMonSpritesGfxPtr
ldr r0, [r5]
@@ -5190,7 +5190,7 @@ _08076A7C:
ldr r3, _08076AD8 @ =gUnknown_82349CC
b _08076AEE
.align 2, 0
_08076AC8: .4byte gUnknown_823654C
_08076AC8: .4byte gMonBackPicTable
_08076ACC: .4byte gMonSpritesGfxPtr
_08076AD0: .4byte 0x06010000
_08076AD4: .4byte gUnknown_83AE054
+4 -4
View File
@@ -4302,7 +4302,7 @@ _0803C992:
adds r0, r4
movs r1, 0x2
strh r1, [r0, 0x2E]
ldr r0, _0803CAE4 @ =gUnknown_8239A1C
ldr r0, _0803CAE4 @ =gTrainerFrontPicPaletteTable
mov r1, r9
lsls r6, r1, 3
adds r0, r6, r0
@@ -4334,7 +4334,7 @@ _0803C992:
lsls r0, 22
lsrs r0, 22
strh r0, [r1, 0x38]
ldr r0, _0803CAE8 @ =gUnknown_823957C
ldr r0, _0803CAE8 @ =gTrainerFrontPicTable
adds r6, r0
ldrh r0, [r6, 0x6]
bl GetSpriteTileStartByTag
@@ -4395,8 +4395,8 @@ _0803CAD4: .4byte gUnknown_823932C
_0803CAD8: .4byte gUnknown_2023D44
_0803CADC: .4byte gSprites
_0803CAE0: .4byte 0x0000ff10
_0803CAE4: .4byte gUnknown_8239A1C
_0803CAE8: .4byte gUnknown_823957C
_0803CAE4: .4byte gTrainerFrontPicPaletteTable
_0803CAE8: .4byte gTrainerFrontPicTable
_0803CAEC: .4byte 0x000003ff
_0803CAF0: .4byte 0xfffffc00
_0803CAF4: .4byte sub_8033EEC
+8 -8
View File
@@ -4251,7 +4251,7 @@ _08037D3A:
adds r0, r4
movs r1, 0x2
strh r1, [r0, 0x2E]
ldr r0, _08037E88 @ =gUnknown_8239A1C
ldr r0, _08037E88 @ =gTrainerFrontPicPaletteTable
mov r1, r9
lsls r6, r1, 3
adds r0, r6, r0
@@ -4283,7 +4283,7 @@ _08037D3A:
lsls r0, 22
lsrs r0, 22
strh r0, [r1, 0x38]
ldr r0, _08037E8C @ =gUnknown_823957C
ldr r0, _08037E8C @ =gTrainerFrontPicTable
adds r6, r0
ldrh r0, [r6, 0x6]
bl GetSpriteTileStartByTag
@@ -4344,8 +4344,8 @@ _08037E78: .4byte gUnknown_823932C
_08037E7C: .4byte gUnknown_2023D44
_08037E80: .4byte gSprites
_08037E84: .4byte 0x0000ff10
_08037E88: .4byte gUnknown_8239A1C
_08037E8C: .4byte gUnknown_823957C
_08037E88: .4byte gTrainerFrontPicPaletteTable
_08037E8C: .4byte gTrainerFrontPicTable
_08037E90: .4byte 0x000003ff
_08037E94: .4byte 0xfffffc00
_08037E98: .4byte sub_8033EEC
@@ -4473,7 +4473,7 @@ _08037F0E:
adds r0, r4
ldr r1, _08038058 @ =0x0000fffe
strh r1, [r0, 0x2E]
ldr r0, _0803805C @ =gUnknown_8239A1C
ldr r0, _0803805C @ =gTrainerFrontPicPaletteTable
mov r3, r9
lsls r6, r3, 3
adds r0, r6, r0
@@ -4505,7 +4505,7 @@ _08037F0E:
lsls r0, 22
lsrs r0, 22
strh r0, [r1, 0x38]
ldr r0, _08038060 @ =gUnknown_823957C
ldr r0, _08038060 @ =gTrainerFrontPicTable
adds r6, r0
ldrh r0, [r6, 0x6]
bl GetSpriteTileStartByTag
@@ -4564,8 +4564,8 @@ _0803804C: .4byte gUnknown_823932C
_08038050: .4byte gUnknown_2023D44
_08038054: .4byte gSprites
_08038058: .4byte 0x0000fffe
_0803805C: .4byte gUnknown_8239A1C
_08038060: .4byte gUnknown_823957C
_0803805C: .4byte gTrainerFrontPicPaletteTable
_08038060: .4byte gTrainerFrontPicTable
_08038064: .4byte 0x000003ff
_08038068: .4byte 0xfffffc00
_0803806C: .4byte sub_8033EEC
+4 -4
View File
@@ -4304,7 +4304,7 @@ _081583F0:
adds r0, r4
movs r1, 0x2
strh r1, [r0, 0x2E]
ldr r0, _08158524 @ =gUnknown_8239A1C
ldr r0, _08158524 @ =gTrainerFrontPicPaletteTable
mov r1, r8
lsls r6, r1, 3
adds r0, r6
@@ -4334,7 +4334,7 @@ _081583F0:
lsls r0, 22
lsrs r0, 22
strh r0, [r1, 0x38]
ldr r0, _08158528 @ =gUnknown_823957C
ldr r0, _08158528 @ =gTrainerFrontPicTable
adds r0, r6
ldrh r0, [r0, 0x6]
bl GetSpriteTileStartByTag
@@ -4390,8 +4390,8 @@ _08158514: .4byte gUnknown_823932C
_08158518: .4byte gUnknown_2023D44
_0815851C: .4byte gSprites
_08158520: .4byte 0x0000ff10
_08158524: .4byte gUnknown_8239A1C
_08158528: .4byte gUnknown_823957C
_08158524: .4byte gTrainerFrontPicPaletteTable
_08158528: .4byte gTrainerFrontPicTable
_0815852C: .4byte 0x000003ff
_08158530: .4byte 0xfffffc00
_08158534: .4byte sub_8033EEC
+20 -20
View File
@@ -756,7 +756,7 @@ _0803436C:
bl GetBattlerPosition
lsls r0, 24
lsls r2, r5, 3
ldr r1, _080343C4 @ =gUnknown_82350AC
ldr r1, _080343C4 @ =gMonFrontPicTable
adds r2, r1
ldr r1, _080343C8 @ =gMonSpritesGfxPtr
ldr r1, [r1]
@@ -788,7 +788,7 @@ _0803436C:
b _080343DA
.align 2, 0
_080343C0: .4byte gUnknown_2024008
_080343C4: .4byte gUnknown_82350AC
_080343C4: .4byte gMonFrontPicTable
_080343C8: .4byte gMonSpritesGfxPtr
_080343CC: .4byte gUnknown_2024018
_080343D0:
@@ -946,7 +946,7 @@ _080344E4:
beq _08034548
_0803451C:
lsls r0, r5, 3
ldr r1, _08034540 @ =gUnknown_823654C
ldr r1, _08034540 @ =gMonBackPicTable
adds r0, r1
ldr r1, _08034544 @ =gMonSpritesGfxPtr
ldr r1, [r1]
@@ -961,11 +961,11 @@ _0803451C:
.align 2, 0
_08034538: .4byte gUnknown_2024008
_0803453C: .4byte gUnknown_2024018
_08034540: .4byte gUnknown_823654C
_08034540: .4byte gMonBackPicTable
_08034544: .4byte gMonSpritesGfxPtr
_08034548:
lsls r0, r5, 3
ldr r1, _08034584 @ =gUnknown_823654C
ldr r1, _08034584 @ =gMonBackPicTable
adds r0, r1
ldr r1, _08034588 @ =gMonSpritesGfxPtr
ldr r1, [r1]
@@ -994,7 +994,7 @@ _08034562:
bl GetMonFrontSpritePal
b _0803459A
.align 2, 0
_08034584: .4byte gUnknown_823654C
_08034584: .4byte gMonBackPicTable
_08034588: .4byte gMonSpritesGfxPtr
_0803458C: .4byte gUnknown_2024018
_08034590:
@@ -1149,7 +1149,7 @@ sub_80346C4: @ 80346C4
adds r4, r0, 0
lsls r4, 24
lsls r5, 3
ldr r6, _0803473C @ =gUnknown_823957C
ldr r6, _0803473C @ =gTrainerFrontPicTable
adds r6, r5, r6
ldr r0, _08034740 @ =gMonSpritesGfxPtr
mov r8, r0
@@ -1181,7 +1181,7 @@ sub_80346C4: @ 80346C4
str r0, [sp, 0x4]
mov r0, sp
bl LoadSpriteSheet
ldr r0, _0803474C @ =gUnknown_8239A1C
ldr r0, _0803474C @ =gTrainerFrontPicPaletteTable
adds r5, r0
adds r0, r5, 0
bl sub_800F078
@@ -1192,11 +1192,11 @@ sub_80346C4: @ 80346C4
pop {r0}
bx r0
.align 2, 0
_0803473C: .4byte gUnknown_823957C
_0803473C: .4byte gTrainerFrontPicTable
_08034740: .4byte gMonSpritesGfxPtr
_08034744: .4byte 0xffff0000
_08034748: .4byte 0x0000ffff
_0803474C: .4byte gUnknown_8239A1C
_0803474C: .4byte gTrainerFrontPicPaletteTable
thumb_func_end sub_80346C4
thumb_func_start sub_8034750
@@ -1231,12 +1231,12 @@ sub_803477C: @ 803477C
push {r4,lr}
adds r4, r0, 0
lsls r4, 16
ldr r0, _080347A0 @ =gUnknown_8239A1C
ldr r0, _080347A0 @ =gTrainerFrontPicPaletteTable
lsrs r4, 13
adds r0, r4, r0
ldrh r0, [r0, 0x4]
bl FreeSpritePaletteByTag
ldr r0, _080347A4 @ =gUnknown_823957C
ldr r0, _080347A4 @ =gTrainerFrontPicTable
adds r4, r0
ldrh r0, [r4, 0x6]
bl FreeSpriteTilesByTag
@@ -1244,8 +1244,8 @@ sub_803477C: @ 803477C
pop {r0}
bx r0
.align 2, 0
_080347A0: .4byte gUnknown_8239A1C
_080347A4: .4byte gUnknown_823957C
_080347A0: .4byte gTrainerFrontPicPaletteTable
_080347A4: .4byte gTrainerFrontPicTable
thumb_func_end sub_803477C
thumb_func_start sub_80347A8
@@ -1852,7 +1852,7 @@ _08034C16:
adds r7, r0, 0
mov r1, r8
lsls r0, r1, 3
ldr r1, _08034D60 @ =gUnknown_82350AC
ldr r1, _08034D60 @ =gMonFrontPicTable
adds r0, r1
ldr r4, _08034D64 @ =gMonSpritesGfxPtr
ldr r1, [r4]
@@ -1961,7 +1961,7 @@ _08034C16:
.align 2, 0
_08034D58: .4byte gBattlerPartyIndexes
_08034D5C: .4byte gEnemyParty
_08034D60: .4byte gUnknown_82350AC
_08034D60: .4byte gMonFrontPicTable
_08034D64: .4byte gMonSpritesGfxPtr
_08034D68: .4byte gSprites
_08034D6C: .4byte gUnknown_2023D44
@@ -2122,7 +2122,7 @@ _08034E90:
adds r7, r0, 0
mov r2, r8
lsls r0, r2, 3
ldr r1, _08034F04 @ =gUnknown_823654C
ldr r1, _08034F04 @ =gMonBackPicTable
adds r0, r1
ldr r1, _08034F08 @ =gMonSpritesGfxPtr
ldr r1, [r1]
@@ -2142,7 +2142,7 @@ _08034E90:
.align 2, 0
_08034EFC: .4byte gBattlerPartyIndexes
_08034F00: .4byte gPlayerParty
_08034F04: .4byte gUnknown_823654C
_08034F04: .4byte gMonBackPicTable
_08034F08: .4byte gMonSpritesGfxPtr
_08034F0C: .4byte gUnknown_2024008
_08034F10:
@@ -2166,7 +2166,7 @@ _08034F10:
adds r7, r0, 0
mov r2, r8
lsls r0, r2, 3
ldr r1, _0803507C @ =gUnknown_82350AC
ldr r1, _0803507C @ =gMonFrontPicTable
adds r0, r1
ldr r1, _08035080 @ =gMonSpritesGfxPtr
ldr r1, [r1]
@@ -2315,7 +2315,7 @@ _08035062:
.align 2, 0
_08035074: .4byte gBattlerPartyIndexes
_08035078: .4byte gEnemyParty
_0803507C: .4byte gUnknown_82350AC
_0803507C: .4byte gMonFrontPicTable
_08035080: .4byte gMonSpritesGfxPtr
_08035084: .4byte gUnknown_2024008
_08035088: .4byte gUnknown_2023D44
+1 -1
View File
@@ -474,7 +474,7 @@ sub_80CD608: @ 80CD608
bl ScanlineEffect_Stop
bl ResetTasks
bl ResetSpriteData
bl dp13_810BB8C
bl ResetAllPicSprites
bl ResetPaletteFade
bl FreeAllSpritePalettes
pop {r0}
+1 -1
View File
@@ -32536,7 +32536,7 @@ _0802DAE0:
str r0, [sp, 0xC]
adds r0, r5, 0
movs r3, 0x1
bl sub_810C1CC
bl CreateMonPicSprite_HandleDeoxys
str r4, [sp, 0x14]
add r0, sp, 0x14
ldr r1, _0802DB48 @ =gPlttBufferFaded
+1 -1
View File
@@ -4953,7 +4953,7 @@ sub_80D2EA4: @ 80D2EA4
ldr r0, [r0]
ldrb r0, [r0, 0x8]
movs r1, 0x1
bl sub_810C374
bl PlayerGenderToFrontTrainerPicId_Debug
lsls r0, 24
lsrs r0, 24
movs r1, 0x88
+24 -24
View File
@@ -132,12 +132,12 @@ DecompressPicFromTable: @ 800EC8C
lsls r0, 1
cmp r5, r0
ble _0800ECAC
ldr r0, _0800ECA8 @ =gUnknown_82350AC
ldr r0, _0800ECA8 @ =gMonFrontPicTable
ldr r0, [r0]
bl LZ77UnCompWram
b _0800ECB4
.align 2, 0
_0800ECA8: .4byte gUnknown_82350AC
_0800ECA8: .4byte gMonFrontPicTable
_0800ECAC:
ldr r0, [r3]
adds r1, r4, 0
@@ -158,7 +158,7 @@ sub_800ECC4: @ 800ECC4
adds r4, r0, 0
adds r5, r1, 0
lsls r0, r2, 3
ldr r1, _0800ECEC @ =gUnknown_82350AC
ldr r1, _0800ECEC @ =gMonFrontPicTable
adds r0, r1
movs r1, 0
cmp r4, r0
@@ -168,17 +168,17 @@ _0800ECDA:
str r1, [sp]
adds r0, r4, 0
adds r1, r5, 0
bl sub_800ECF0
bl LoadSpecialPokePic
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0800ECEC: .4byte gUnknown_82350AC
_0800ECEC: .4byte gMonFrontPicTable
thumb_func_end sub_800ECC4
thumb_func_start sub_800ECF0
sub_800ECF0: @ 800ECF0
thumb_func_start LoadSpecialPokePic
LoadSpecialPokePic: @ 800ECF0
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -227,34 +227,34 @@ _0800ED48:
mov r0, r8
cmp r0, 0
bne _0800ED5C
ldr r0, _0800ED58 @ =gUnknown_823654C
ldr r0, _0800ED58 @ =gMonBackPicTable
lsls r1, 3
adds r1, r0
ldr r0, [r1]
b _0800ED78
.align 2, 0
_0800ED58: .4byte gUnknown_823654C
_0800ED58: .4byte gMonBackPicTable
_0800ED5C:
ldr r0, _0800ED68 @ =gUnknown_82350AC
ldr r0, _0800ED68 @ =gMonFrontPicTable
lsls r1, 3
adds r1, r0
ldr r0, [r1]
b _0800ED78
.align 2, 0
_0800ED68: .4byte gUnknown_82350AC
_0800ED68: .4byte gMonFrontPicTable
_0800ED6C:
movs r0, 0xCE
lsls r0, 1
cmp r7, r0
ble _0800ED84
ldr r0, _0800ED80 @ =gUnknown_82350AC
ldr r0, _0800ED80 @ =gMonFrontPicTable
ldr r0, [r0]
_0800ED78:
adds r1, r4, 0
bl LZ77UnCompWram
b _0800ED8C
.align 2, 0
_0800ED80: .4byte gUnknown_82350AC
_0800ED80: .4byte gMonFrontPicTable
_0800ED84:
ldr r0, [r6]
adds r1, r4, 0
@@ -274,7 +274,7 @@ _0800ED8C:
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_800ECF0
thumb_func_end LoadSpecialPokePic
thumb_func_start sub_800EDAC
sub_800EDAC: @ 800EDAC
@@ -748,12 +748,12 @@ DecompressPicFromTable_DontHandleDeoxys: @ 800F0E0
lsls r0, 1
cmp r2, r0
ble _0800F0FC
ldr r0, _0800F0F8 @ =gUnknown_82350AC
ldr r0, _0800F0F8 @ =gMonFrontPicTable
ldr r0, [r0]
bl LZ77UnCompWram
b _0800F102
.align 2, 0
_0800F0F8: .4byte gUnknown_82350AC
_0800F0F8: .4byte gMonFrontPicTable
_0800F0FC:
ldr r0, [r3]
bl LZ77UnCompWram
@@ -769,7 +769,7 @@ HandleLoadSpecialPokePic_DontHandleDeoxys: @ 800F108
adds r4, r0, 0
adds r5, r1, 0
lsls r0, r2, 3
ldr r1, _0800F130 @ =gUnknown_82350AC
ldr r1, _0800F130 @ =gMonFrontPicTable
adds r0, r1
movs r1, 0
cmp r4, r0
@@ -785,7 +785,7 @@ _0800F11E:
pop {r0}
bx r0
.align 2, 0
_0800F130: .4byte gUnknown_82350AC
_0800F130: .4byte gMonFrontPicTable
thumb_func_end HandleLoadSpecialPokePic_DontHandleDeoxys
thumb_func_start LoadSpecialPokePic_DontHandleDeoxys
@@ -838,34 +838,34 @@ _0800F18C:
mov r0, r8
cmp r0, 0
bne _0800F1A0
ldr r0, _0800F19C @ =gUnknown_823654C
ldr r0, _0800F19C @ =gMonBackPicTable
lsls r1, 3
adds r1, r0
ldr r0, [r1]
b _0800F1BC
.align 2, 0
_0800F19C: .4byte gUnknown_823654C
_0800F19C: .4byte gMonBackPicTable
_0800F1A0:
ldr r0, _0800F1AC @ =gUnknown_82350AC
ldr r0, _0800F1AC @ =gMonFrontPicTable
lsls r1, 3
adds r1, r0
ldr r0, [r1]
b _0800F1BC
.align 2, 0
_0800F1AC: .4byte gUnknown_82350AC
_0800F1AC: .4byte gMonFrontPicTable
_0800F1B0:
movs r0, 0xCE
lsls r0, 1
cmp r7, r0
ble _0800F1C8
ldr r0, _0800F1C4 @ =gUnknown_82350AC
ldr r0, _0800F1C4 @ =gMonFrontPicTable
ldr r0, [r0]
_0800F1BC:
adds r1, r5, 0
bl LZ77UnCompWram
b _0800F1D0
.align 2, 0
_0800F1C4: .4byte gUnknown_82350AC
_0800F1C4: .4byte gMonFrontPicTable
_0800F1C8:
ldr r0, [r6]
adds r1, r5, 0
+2 -2
View File
@@ -398,7 +398,7 @@ _08046F1C:
bl GetMonData
adds r3, r0, 0
lsls r0, r4, 3
ldr r1, _08046F64 @ =gUnknown_82350AC
ldr r1, _08046F64 @ =gMonFrontPicTable
adds r0, r1
ldr r1, _08046F68 @ =gMonSpritesGfxPtr
ldr r2, [r1]
@@ -418,7 +418,7 @@ _08046F1C:
strh r4, [r0]
b _08046FA6
.align 2, 0
_08046F64: .4byte gUnknown_82350AC
_08046F64: .4byte gMonFrontPicTable
_08046F68: .4byte gMonSpritesGfxPtr
_08046F6C:
adds r0, r5, 0
+9 -9
View File
@@ -239,7 +239,7 @@ EvolutionScene: @ 80CDDF4
bl GetMonData
mov r9, r0
lsls r0, r5, 3
ldr r1, _080CE0B8 @ =gUnknown_82350AC
ldr r1, _080CE0B8 @ =gMonFrontPicTable
adds r0, r1
ldr r2, _080CE0BC @ =gMonSpritesGfxPtr
ldr r1, [r2]
@@ -295,7 +295,7 @@ EvolutionScene: @ 80CDDF4
strb r0, [r1]
mov r1, r10
lsls r0, r1, 3
ldr r2, _080CE0B8 @ =gUnknown_82350AC
ldr r2, _080CE0B8 @ =gMonFrontPicTable
adds r0, r2
ldr r2, _080CE0BC @ =gMonSpritesGfxPtr
ldr r1, [r2]
@@ -415,7 +415,7 @@ _080CE0A8: .4byte gUnknown_2039A20
_080CE0AC: .4byte gStringVar1
_080CE0B0: .4byte gStringVar2
_080CE0B4: .4byte gSpeciesNames
_080CE0B8: .4byte gUnknown_82350AC
_080CE0B8: .4byte gMonFrontPicTable
_080CE0BC: .4byte gMonSpritesGfxPtr
_080CE0C0: .4byte gMultiuseSpriteTemplate
_080CE0C4: .4byte gDummySpriteAffineAnimTable
@@ -524,7 +524,7 @@ CB2_EvolutionSceneLoadGraphics: @ 80CE0E8
movs r0, 0x4
strb r0, [r1]
lsls r0, r5, 3
ldr r1, _080CE2B8 @ =gUnknown_82350AC
ldr r1, _080CE2B8 @ =gMonFrontPicTable
adds r0, r1
ldr r1, _080CE2BC @ =gMonSpritesGfxPtr
ldr r1, [r1]
@@ -618,7 +618,7 @@ _080CE2A8: .4byte gBattle_BG3_X
_080CE2AC: .4byte gBattle_BG3_Y
_080CE2B0: .4byte gUnknown_2022B50
_080CE2B4: .4byte gReservedSpritePaletteCount
_080CE2B8: .4byte gUnknown_82350AC
_080CE2B8: .4byte gMonFrontPicTable
_080CE2BC: .4byte gMonSpritesGfxPtr
_080CE2C0: .4byte gMultiuseSpriteTemplate
_080CE2C4: .4byte gDummySpriteAffineAnimTable
@@ -770,7 +770,7 @@ _080CE414:
bl GetMonData
adds r4, r0, 0
lsls r0, r6, 3
ldr r1, _080CE454 @ =gUnknown_82350AC
ldr r1, _080CE454 @ =gMonFrontPicTable
adds r0, r1
ldr r1, _080CE458 @ =gMonSpritesGfxPtr
ldr r1, [r1]
@@ -788,7 +788,7 @@ _080CE414:
bl LoadCompressedPalette
b _080CE4EC
.align 2, 0
_080CE454: .4byte gUnknown_82350AC
_080CE454: .4byte gMonFrontPicTable
_080CE458: .4byte gMonSpritesGfxPtr
_080CE45C:
adds r0, r6, 0
@@ -951,7 +951,7 @@ TradeEvolutionScene: @ 80CE540
movs r4, 0
strb r6, [r0]
lsls r0, r5, 3
ldr r1, _080CE6C4 @ =gUnknown_82350AC
ldr r1, _080CE6C4 @ =gMonFrontPicTable
adds r0, r1
ldr r1, _080CE6C8 @ =gMonSpritesGfxPtr
ldr r1, [r1]
@@ -1069,7 +1069,7 @@ _080CE6B4: .4byte gStringVar2
_080CE6B8: .4byte gSpeciesNames
_080CE6BC: .4byte gAffineAnimsDisabled
_080CE6C0: .4byte gUnknown_2039A20
_080CE6C4: .4byte gUnknown_82350AC
_080CE6C4: .4byte gMonFrontPicTable
_080CE6C8: .4byte gMonSpritesGfxPtr
_080CE6CC: .4byte gMultiuseSpriteTemplate
_080CE6D0: .4byte gDummySpriteAffineAnimTable
+11 -11
View File
@@ -603,13 +603,13 @@ CreateTrainerSprite: @ 8083858
lsrs r0, 24
mov r9, r0
lsrs r4, 21
ldr r3, _080838E0 @ =gUnknown_8239A1C
ldr r3, _080838E0 @ =gTrainerFrontPicPaletteTable
mov r8, r3
add r8, r4
mov r0, r8
adds r1, r7, 0
bl LoadCompressedObjectPaletteOverrideBuffer
ldr r0, _080838E4 @ =gUnknown_823957C
ldr r0, _080838E4 @ =gTrainerFrontPicTable
adds r4, r0
adds r0, r4, 0
adds r1, r7, 0
@@ -649,8 +649,8 @@ CreateTrainerSprite: @ 8083858
pop {r1}
bx r1
.align 2, 0
_080838E0: .4byte gUnknown_8239A1C
_080838E4: .4byte gUnknown_823957C
_080838E0: .4byte gTrainerFrontPicPaletteTable
_080838E4: .4byte gTrainerFrontPicTable
_080838E8: .4byte gUnknown_83CBE50
_080838EC: .4byte gDummySpriteAnimTable
_080838F0: .4byte gDummySpriteAffineAnimTable
@@ -666,12 +666,12 @@ LoadTrainerGfx_TrainerCard: @ 80838F8
lsls r4, 24
lsls r5, 16
lsrs r5, 16
ldr r0, _08083928 @ =gUnknown_823957C
ldr r0, _08083928 @ =gTrainerFrontPicTable
lsrs r4, 21
adds r0, r4, r0
ldr r0, [r0]
bl LZDecompressVram
ldr r0, _0808392C @ =gUnknown_8239A1C
ldr r0, _0808392C @ =gTrainerFrontPicPaletteTable
adds r4, r0
ldr r0, [r4]
adds r1, r5, 0
@@ -681,8 +681,8 @@ LoadTrainerGfx_TrainerCard: @ 80838F8
pop {r0}
bx r0
.align 2, 0
_08083928: .4byte gUnknown_823957C
_0808392C: .4byte gUnknown_8239A1C
_08083928: .4byte gTrainerFrontPicTable
_0808392C: .4byte gTrainerFrontPicPaletteTable
thumb_func_end LoadTrainerGfx_TrainerCard
thumb_func_start AddNewGameBirchObject
@@ -742,7 +742,7 @@ sub_8083970: @ 8083970
movs r1, 0
adds r2, r3, 0
movs r3, 0x1
bl sub_810C1CC
bl CreateMonPicSprite_HandleDeoxys
lsls r0, 16
lsrs r5, r0, 16
ldrh r0, [r4, 0x4]
@@ -806,7 +806,7 @@ sub_80839D4: @ 80839D4
mov r1, r9
mov r2, r10
movs r3, 0x1
bl sub_810C1CC
bl CreateMonPicSprite_HandleDeoxys
lsls r0, 16
lsrs r4, r0, 16
mov r1, r8
@@ -854,7 +854,7 @@ sub_8083A5C: @ 8083A5C
bl FreeOamMatrix
_08083A7A:
adds r0, r5, 0
bl sub_810C214
bl FreeAndDestroyMonPicSprite
pop {r4,r5}
pop {r0}
bx r0
+8 -8
View File
@@ -692,7 +692,7 @@ _080F22F2:
ldr r3, _080F238C @ =0x0000ffff
str r3, [sp, 0xC]
movs r3, 0x1
bl sub_810C1CC
bl CreateMonPicSprite_HandleDeoxys
lsls r0, 24
lsrs r0, 24
ldr r3, _080F2390 @ =gSprites
@@ -1172,7 +1172,7 @@ sub_80F26D4: @ 80F26D4
ldr r0, [r0]
ldrb r0, [r0, 0x8]
movs r1, 0x1
bl sub_810C374
bl PlayerGenderToFrontTrainerPicId_Debug
lsls r0, 16
lsrs r0, 16
movs r1, 0x6
@@ -1182,7 +1182,7 @@ sub_80F26D4: @ 80F26D4
movs r1, 0x1
movs r2, 0x78
movs r3, 0x48
bl sub_810C2A4
bl CreateTrainerPicSprite
ldr r1, _080F2750 @ =gTasks
lsls r4, r5, 2
adds r4, r5
@@ -1383,7 +1383,7 @@ _080F28AC:
ldrb r0, [r4]
cmp r0, 0xFF
beq _080F28B6
bl sub_810C214
bl FreeAndDestroyMonPicSprite
_080F28B6:
adds r4, 0x2
subs r5, 0x1
@@ -1394,7 +1394,7 @@ _080F28B6:
lsls r1, 3
adds r1, r0
ldrh r0, [r1, 0x10]
bl sub_810C2E8
bl FreeAndDestroyTrainerPicSprite
movs r0, 0
bl HideBg
movs r0, 0x1
@@ -1825,7 +1825,7 @@ _080F2C4C:
ldr r3, _080F2CA0 @ =0x0000ffff
str r3, [sp, 0xC]
movs r3, 0x1
bl sub_810C1CC
bl CreateMonPicSprite_HandleDeoxys
lsls r0, 16
lsrs r0, 16
ldr r2, _080F2CA4 @ =gSprites
@@ -2118,7 +2118,7 @@ _080F2EC4:
ldrb r0, [r0]
cmp r0, 0xFF
beq _080F2ED6
bl sub_810C214
bl FreeAndDestroyMonPicSprite
_080F2ED6:
adds r0, r4, 0x1
lsls r0, 16
@@ -3074,7 +3074,7 @@ sub_80F36BC: @ 80F36BC
bl ResetTasks
bl ResetSpriteData
bl reset_temp_tile_data_buffers
bl dp13_810BB8C
bl ResetAllPicSprites
bl FreeAllSpritePalettes
ldr r1, _080F36EC @ =gReservedSpritePaletteCount
movs r0, 0x8
+2 -2
View File
@@ -4631,7 +4631,7 @@ sub_8057024: @ 8057024
bl ResetSpriteData
bl ResetPaletteFade
bl ScanlineEffect_Clear
bl dp13_810BB8C
bl ResetAllPicSprites
bl ResetCameraUpdateInfo
bl InstallCameraPanAheadCallback
cmp r4, 0
@@ -5396,7 +5396,7 @@ _08057690:
b _0805772A
_0805769C:
bl ScanlineEffect_Clear
bl dp13_810BB8C
bl ResetAllPicSprites
bl ResetCameraUpdateInfo
bl InstallCameraPanAheadCallback
bl FieldEffectActiveListClear
+6 -6
View File
@@ -7777,7 +7777,7 @@ _08106504:
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
bl dp13_810BB8C
bl ResetAllPicSprites
ldr r0, _081066BC @ =gUnknown_8452368
movs r1, 0x90
lsls r1, 1
@@ -7802,7 +7802,7 @@ _08106534:
ldr r0, [sp, 0x1C]
movs r1, 0x8
movs r3, 0x1
bl sub_810C1CC
bl CreateMonPicSprite_HandleDeoxys
ldr r1, [r7]
adds r1, 0x58
strb r0, [r1]
@@ -7892,7 +7892,7 @@ _08106534:
ldr r0, [r0]
ldrb r0, [r0, 0x8]
movs r1, 0x1
bl sub_810C374
bl PlayerGenderToFrontTrainerPicId_Debug
lsls r0, 16
lsrs r0, 16
movs r3, 0
@@ -7902,7 +7902,7 @@ _08106534:
movs r1, 0x1
movs r2, 0x50
movs r3, 0x68
bl sub_810C2A4
bl CreateTrainerPicSprite
ldr r1, [r7]
adds r1, 0x59
strb r0, [r1]
@@ -8114,7 +8114,7 @@ _081067CE:
ldrb r0, [r1]
cmp r0, 0xFF
beq _081067F2
bl sub_810C2E8
bl FreeAndDestroyTrainerPicSprite
_081067F2:
ldr r0, [r4]
adds r1, r0, 0
@@ -8122,7 +8122,7 @@ _081067F2:
ldrb r0, [r1]
cmp r0, 0xFF
beq _08106802
bl sub_810C214
bl FreeAndDestroyMonPicSprite
_08106802:
movs r0, 0
pop {r4,r5}
+2 -2
View File
@@ -2441,7 +2441,7 @@ _0811D884:
cmp r4, 0
beq _0811D916
lsls r0, r7, 3
ldr r1, _0811D900 @ =gUnknown_82350AC
ldr r1, _0811D900 @ =gMonFrontPicTable
adds r0, r1
adds r1, r6, 0
adds r2, r7, 0
@@ -2474,7 +2474,7 @@ _0811D884:
bl sub_811DB14
b _0811D910
.align 2, 0
_0811D900: .4byte gUnknown_82350AC
_0811D900: .4byte gMonFrontPicTable
_0811D904: .4byte gUnknown_8459A30
_0811D908: .4byte gSprites
_0811D90C:
+2 -2
View File
@@ -7229,7 +7229,7 @@ sub_808F3F8: @ 808F3F8
cmp r2, 0
beq _0808F48C
lsls r0, r2, 3
ldr r1, _0808F470 @ =gUnknown_82350AC
ldr r1, _0808F470 @ =gMonFrontPicTable
adds r0, r1
ldr r5, _0808F474 @ =0x000022bc
adds r1, r4, r5
@@ -7270,7 +7270,7 @@ sub_808F3F8: @ 808F3F8
.align 2, 0
_0808F468: .4byte gUnknown_20397B0
_0808F46C: .4byte 0x00002238
_0808F470: .4byte gUnknown_82350AC
_0808F470: .4byte gMonFrontPicTable
_0808F474: .4byte 0x000022bc
_0808F478: .4byte 0x00000cd8
_0808F47C: .4byte 0x0000223c
+4 -4
View File
@@ -10258,7 +10258,7 @@ sub_813995C: @ 813995C
adds r1, r4, 0
adds r2, r6, 0
movs r3, 0x1
bl sub_810C16C
bl CreateMonPicSprite
b _08139A40
.align 2, 0
_081399CC: .4byte gUnknown_203B170
@@ -10290,7 +10290,7 @@ _081399E8:
adds r1, r4, 0
adds r2, r6, 0
movs r3, 0x1
bl sub_810C16C
bl CreateMonPicSprite
b _08139A40
.align 2, 0
_08139A1C: .4byte gUnknown_203B16C
@@ -10308,7 +10308,7 @@ _08139A24:
adds r1, r4, 0
adds r2, r6, 0
movs r3, 0x1
bl sub_810C1CC
bl CreateMonPicSprite_HandleDeoxys
_08139A40:
lsls r0, 16
lsrs r5, r0, 16
@@ -10593,7 +10593,7 @@ sub_8139C80: @ 8139C80
ldr r1, _08139CA8 @ =0x00003010
adds r0, r1
ldrb r0, [r0]
bl sub_810C214
bl FreeAndDestroyMonPicSprite
ldr r4, _08139CAC @ =gUnknown_203B170
ldr r0, [r4]
bl Free
+8 -8
View File
@@ -7285,7 +7285,7 @@ _08050040:
cmp r6, 0
bne _0805007C
lsls r0, r5, 3
ldr r1, _08050074 @ =gUnknown_82350AC
ldr r1, _08050074 @ =gMonFrontPicTable
adds r0, r1
ldr r1, _08050078 @ =gMonSpritesGfxPtr
ldr r1, [r1]
@@ -7296,11 +7296,11 @@ _08050040:
movs r4, 0
b _0805009A
.align 2, 0
_08050074: .4byte gUnknown_82350AC
_08050074: .4byte gMonFrontPicTable
_08050078: .4byte gMonSpritesGfxPtr
_0805007C:
lsls r0, r5, 3
ldr r1, _080500BC @ =gUnknown_82350AC
ldr r1, _080500BC @ =gMonFrontPicTable
adds r0, r1
ldr r1, _080500C0 @ =gMonSpritesGfxPtr
ldr r2, [r1]
@@ -7329,7 +7329,7 @@ _0805009A:
str r7, [r1]
b _0805011E
.align 2, 0
_080500BC: .4byte gUnknown_82350AC
_080500BC: .4byte gMonFrontPicTable
_080500C0: .4byte gMonSpritesGfxPtr
_080500C4: .4byte gUnknown_2031DAC
_080500C8:
@@ -10807,7 +10807,7 @@ _08052042:
adds r0, 0xF2
ldrh r2, [r0]
lsls r0, r2, 3
ldr r1, _08052068 @ =gUnknown_82350AC
ldr r1, _08052068 @ =gMonFrontPicTable
adds r0, r1
ldr r1, _0805206C @ =gMonSpritesGfxPtr
ldr r1, [r1]
@@ -10819,7 +10819,7 @@ _08052042:
.align 2, 0
_08052060: .4byte gSprites
_08052064: .4byte SpriteCallbackDummy
_08052068: .4byte gUnknown_82350AC
_08052068: .4byte gMonFrontPicTable
_0805206C: .4byte gMonSpritesGfxPtr
_08052070:
ldr r4, _0805211C @ =gSprites
@@ -13032,7 +13032,7 @@ _0805349E:
adds r0, 0xF2
ldrh r2, [r0]
lsls r0, r2, 3
ldr r1, _080534C4 @ =gUnknown_82350AC
ldr r1, _080534C4 @ =gMonFrontPicTable
adds r0, r1
ldr r1, _080534C8 @ =gMonSpritesGfxPtr
ldr r1, [r1]
@@ -13044,7 +13044,7 @@ _0805349E:
.align 2, 0
_080534BC: .4byte gSprites
_080534C0: .4byte SpriteCallbackDummy
_080534C4: .4byte gUnknown_82350AC
_080534C4: .4byte gMonFrontPicTable
_080534C8: .4byte gMonSpritesGfxPtr
_080534CC:
ldr r4, _08053578 @ =gSprites
+1 -1
View File
@@ -5019,7 +5019,7 @@ _0808B8FC:
adds r0, r1, r4
ldrb r0, [r0]
movs r1, 0x1
bl sub_810C374
bl PlayerGenderToFrontTrainerPicId_Debug
lsls r0, 16
lsrs r0, 16
ldr r5, _0808B944 @ =gUnknown_83CD8EC
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -6877,7 +6877,7 @@ _0814AE2A:
beq _0814AEEC
ldrh r2, [r7]
lsls r0, r2, 3
ldr r1, _0814AED8 @ =gUnknown_82350AC
ldr r1, _0814AED8 @ =gMonFrontPicTable
adds r0, r1
ldr r3, [r7, 0x8]
mov r1, r8
@@ -6948,7 +6948,7 @@ _0814AE2A:
strb r1, [r0]
b _0814AEF8
.align 2, 0
_0814AED8: .4byte gUnknown_82350AC
_0814AED8: .4byte gMonFrontPicTable
_0814AEDC: .4byte 0xffff0000
_0814AEE0: .4byte 0x000081a8
_0814AEE4: .4byte gSprites
+5 -5
View File
@@ -76,7 +76,7 @@ gUnknown_82349BC:: @ 82349BC
gUnknown_82349CC:: @ 82349CC
.incbin "baserom.gba", 0x2349CC, 0x6E0
gUnknown_82350AC:: @ 82350AC
gMonFrontPicTable:: @ 82350AC
.incbin "baserom.gba", 0x2350AC, 0xE8
gUnknown_8235194:: @ 8235194
@@ -85,7 +85,7 @@ gUnknown_8235194:: @ 8235194
gUnknown_8235E6C:: @ 8235E6C
.incbin "baserom.gba", 0x235E6C, 0x6E0
gUnknown_823654C:: @ 823654C
gMonBackPicTable:: @ 823654C
.incbin "baserom.gba", 0x23654C, 0xDC0
gMonPaletteTable:: @ 823730C
@@ -103,10 +103,10 @@ gTrainerFrontAnimsPtrTable:: @ 82390DC
gUnknown_823932C:: @ 823932C
.incbin "baserom.gba", 0x23932C, 0x250
gUnknown_823957C:: @ 823957C
gTrainerFrontPicTable:: @ 823957C
.incbin "baserom.gba", 0x23957C, 0x4A0
gUnknown_8239A1C:: @ 8239A1C
gTrainerFrontPicPaletteTable:: @ 8239A1C
.incbin "baserom.gba", 0x239A1C, 0x558
gTrainerBackAnimsPtrTable:: @ 8239F74
@@ -115,7 +115,7 @@ gTrainerBackAnimsPtrTable:: @ 8239F74
gUnknown_8239F8C:: @ 8239F8C
.incbin "baserom.gba", 0x239F8C, 0x18
gUnknown_8239FA4:: @ 8239FA4
gTrainerBackPicTable:: @ 8239FA4
.incbin "baserom.gba", 0x239FA4, 0x30
gUnknown_8239FD4:: @ 8239FD4
-25
View File
@@ -1,25 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gUnknown_845312C:: @ 845312C
window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x0f, 0x02a2
window_template 0x00, 0x06, 0x0f, 0x0e, 0x04, 0x0c, 0x02a2
window_template 0x00, 0x06, 0x0f, 0x0f, 0x04, 0x0c, 0x02da
window_template 0x00, 0x06, 0x0f, 0x10, 0x04, 0x0c, 0x0316
window_template 0x00, 0x06, 0x0f, 0x17, 0x04, 0x0c, 0x0356
window_template 0x00, 0x16, 0x11, 0x07, 0x02, 0x0f, 0x020a
window_template 0x00, 0x16, 0x0f, 0x07, 0x04, 0x0f, 0x020a
window_template 0x00, 0x16, 0x0d, 0x07, 0x06, 0x0f, 0x020a
window_template 0x00, 0x16, 0x0b, 0x07, 0x08, 0x0f, 0x020a
gUnknown_8453174::
.byte 16, 8, 4, 0
.align 2
gUnknown_8453178:: @ 8453178
.space 12
gUnknown_8453184:: @ 8453184
.byte 0, 0, 0, 0xc0, 0, 0, 0, 0
+44 -8
View File
@@ -28,29 +28,42 @@ typedef u8 bool8;
typedef u16 bool16;
typedef u32 bool32;
struct BgCnt
{
u16 priority:2;
u16 charBaseBlock:2;
u16 dummy:2;
u16 mosaic:1;
u16 palettes:1;
u16 screenBaseBlock:5;
u16 areaOverflowMode:1;
u16 screenSize:2;
};
typedef volatile struct BgCnt vBgCnt;
struct PlttData
{
u16 r:5; // red
u16 g:5; // green
u16 b:5; // blue
u16 unused_15:1;
} /*__attribute__((packed))*/;
};
struct OamData
{
/*0x00*/ u32 y:8;
/*0x01*/ u32 affineMode:2; // 0x1, 0x2 = 0x3
u32 objMode:2; // 0x4, 0x8 = 0xC
/*0x01*/ u32 affineMode:2; // 0x1, 0x2 -> 0x4
u32 objMode:2; // 0x4, 0x8 -> 0xC
u32 mosaic:1; // 0x10
u32 bpp:1; // 0x20
u32 shape:2; // 0x40, 0x80
u32 shape:2; // 0x40, 0x80 -> 0xC0
/*0x02*/ u32 x:9;
u32 matrixNum:5; // bits 3/4 are h-flip/v-flip if not in affine mode
u32 size:2;
u32 matrixNum:5; // bits 3/4 are h-flip/v-flip if not in affine mode
u32 size:2; // 0x4000, 0x8000 -> 0xC000
/*0x04*/ u16 tileNum:10;
u16 priority:2;
/*0x04*/ u16 tileNum:10; // 0x3FF
u16 priority:2; // 0x400, 0x800 -> 0xC00
u16 paletteNum:4;
/*0x06*/ u16 affineParam;
};
@@ -74,6 +87,29 @@ struct OamData
#define ST_OAM_H_RECTANGLE 1
#define ST_OAM_V_RECTANGLE 2
#define ST_OAM_SIZE_0 0
#define ST_OAM_SIZE_1 1
#define ST_OAM_SIZE_2 2
#define ST_OAM_SIZE_3 3
#define SPRITE_SIZE_8x8 ((ST_OAM_SIZE_0 << 2) | (ST_OAM_SQUARE))
#define SPRITE_SIZE_16x16 ((ST_OAM_SIZE_1 << 2) | (ST_OAM_SQUARE))
#define SPRITE_SIZE_32x32 ((ST_OAM_SIZE_2 << 2) | (ST_OAM_SQUARE))
#define SPRITE_SIZE_64x64 ((ST_OAM_SIZE_3 << 2) | (ST_OAM_SQUARE))
#define SPRITE_SIZE_16x8 ((ST_OAM_SIZE_0 << 2) | (ST_OAM_H_RECTANGLE))
#define SPRITE_SIZE_32x8 ((ST_OAM_SIZE_1 << 2) | (ST_OAM_H_RECTANGLE))
#define SPRITE_SIZE_32x16 ((ST_OAM_SIZE_2 << 2) | (ST_OAM_H_RECTANGLE))
#define SPRITE_SIZE_64x32 ((ST_OAM_SIZE_3 << 2) | (ST_OAM_H_RECTANGLE))
#define SPRITE_SIZE_8x16 ((ST_OAM_SIZE_0 << 2) | (ST_OAM_V_RECTANGLE))
#define SPRITE_SIZE_8x32 ((ST_OAM_SIZE_1 << 2) | (ST_OAM_V_RECTANGLE))
#define SPRITE_SIZE_16x32 ((ST_OAM_SIZE_2 << 2) | (ST_OAM_V_RECTANGLE))
#define SPRITE_SIZE_32x64 ((ST_OAM_SIZE_3 << 2) | (ST_OAM_V_RECTANGLE))
#define SPRITE_SIZE(dim) ((SPRITE_SIZE_##dim >> 2) & 0x03)
#define SPRITE_SHAPE(dim) (SPRITE_SIZE_##dim & 0x03)
struct BgAffineSrcData
{
s32 texX;
@@ -3,7 +3,7 @@
#include "global.h"
bool16 dp13_810BB8C(void);
bool16 ResetAllPicSprites(void);
u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
u16 sub_818D7D8(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
u16 sub_818D820(u16 spriteId);
@@ -11,7 +11,7 @@ u16 sub_818D8AC(u16 species, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16
u16 sub_818D8F0(u16 spriteId);
u16 sub_818D938(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId);
u8 sub_818D97C(u8 a0, u8 a1);
u8 sub_810C2A4(u16, u8, s16, s16, u8, u16);
void sub_810C2E8(u16);
u16 CreateTrainerPicSprite(u16 species, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
u16 FreeAndDestroyTrainerPicSprite(u16);
#endif //GUARD_BATTLE_DOME_CARDS_H
+2 -3
View File
@@ -213,8 +213,7 @@ SECTIONS {
asm/item_menu.o(.text);
asm/save_location.o(.text);
src/bag.o(.text);
asm/bag.o(.text);
asm/trainer_pokemon_sprites.o(.text);
src/trainer_pokemon_sprites.o(.text);
asm/unk_810C3A4.o(.text);
src/vs_seeker.o(.text);
asm/item_pc.o(.text);
@@ -391,7 +390,7 @@ SECTIONS {
src/save.o(.rodata);
data/data_83FECCC.o(.rodata);
src/bag.o(.rodata);
data/trainer_pokemon_sprites.o(.rodata);
src/trainer_pokemon_sprites.o(.rodata);
src/vs_seeker.o(.rodata);
data/data_83FECCC.o(.rodata.8453F6C);
src/quest_log.o(.rodata);
+78
View File
@@ -121,6 +121,84 @@ const struct WindowTemplate gUnknown_8453124 = {
.baseBlock = 0x28a
};
const struct WindowTemplate gUnknown_845312C[] = {
{
.priority = 0x00,
.tilemapLeft = 0x02,
.tilemapTop = 0x0f,
.width = 0x1a,
.height = 0x04,
.paletteNum = 0x0f,
.baseBlock = 0x02a2
}, {
.priority = 0x00,
.tilemapLeft = 0x06,
.tilemapTop = 0x0f,
.width = 0x0e,
.height = 0x04,
.paletteNum = 0x0c,
.baseBlock = 0x02a2
}, {
.priority = 0x00,
.tilemapLeft = 0x06,
.tilemapTop = 0x0f,
.width = 0x0f,
.height = 0x04,
.paletteNum = 0x0c,
.baseBlock = 0x02da
}, {
.priority = 0x00,
.tilemapLeft = 0x06,
.tilemapTop = 0x0f,
.width = 0x10,
.height = 0x04,
.paletteNum = 0x0c,
.baseBlock = 0x0316
}, {
.priority = 0x00,
.tilemapLeft = 0x06,
.tilemapTop = 0x0f,
.width = 0x17,
.height = 0x04,
.paletteNum = 0x0c,
.baseBlock = 0x0356
}, {
.priority = 0x00,
.tilemapLeft = 0x16,
.tilemapTop = 0x11,
.width = 0x07,
.height = 0x02,
.paletteNum = 0x0f,
.baseBlock = 0x020a
}, {
.priority = 0x00,
.tilemapLeft = 0x16,
.tilemapTop = 0x0f,
.width = 0x07,
.height = 0x04,
.paletteNum = 0x0f,
.baseBlock = 0x020a
}, {
.priority = 0x00,
.tilemapLeft = 0x16,
.tilemapTop = 0x0d,
.width = 0x07,
.height = 0x06,
.paletteNum = 0x0f,
.baseBlock = 0x020a
}, {
.priority = 0x00,
.tilemapLeft = 0x16,
.tilemapTop = 0x0b,
.width = 0x07,
.height = 0x08,
.paletteNum = 0x0f,
.baseBlock = 0x020a
}
};
const u8 gUnknown_8453174[] = {16, 8, 4};
EWRAM_DATA u8 gUnknown_203AD34[11] = {};
void sub_810B858(void)
+4 -4
View File
@@ -8,7 +8,7 @@
#include "battle.h"
#include "battle_setup.h"
#include "menu.h"
#include "battle_dome_cards.h"
#include "trainer_pokemon_sprites.h"
#include "scanline_effect.h"
#include "new_menu_helpers.h"
#include "item_menu.h"
@@ -1012,7 +1012,7 @@ static void FCSetup_ResetTasksAndSpriteResources(void)
ScanlineEffect_Stop();
ResetTasks();
ResetSpriteData();
dp13_810BB8C();
ResetAllPicSprites();
ResetPaletteFade();
npc_paltag_set_load(0);
gReservedSpritePaletteCount = 7;
@@ -1181,7 +1181,7 @@ static u8 CreatePersonPicSprite(u8 fcPersonIdx)
}
else
{
spriteId = sub_810C2A4(sFameCheckerTrainerPicIdxs[fcPersonIdx], 1, 0x94, 0x42, 6, 0xFFFF);
spriteId = CreateTrainerPicSprite(sFameCheckerTrainerPicIdxs[fcPersonIdx], 1, 0x94, 0x42, 6, 0xFFFF);
}
gSprites[spriteId].callback = SpriteCB_FCSpinningPokeball;
if (gSaveBlock1Ptr->fameChecker[fcPersonIdx].pickState == FCPICKSTATE_SILHOUETTE)
@@ -1202,7 +1202,7 @@ static void DestroyPersonPicSprite(u8 taskId, u16 who)
)
DestroySprite(&gSprites[data[2]]);
else
sub_810C2E8(data[2]);
FreeAndDestroyTrainerPicSprite(data[2]);
}
static void UpdateIconDescriptionBox(u8 whichText)
+2 -2
View File
@@ -4,7 +4,7 @@
#include "palette.h"
#include "malloc.h"
#include "scanline_effect.h"
#include "battle_dome_cards.h"
#include "trainer_pokemon_sprites.h"
#include "window.h"
#include "text_window.h"
#include "sound.h"
@@ -365,7 +365,7 @@ static void ResetAllAssets(void)
ScanlineEffect_Stop();
ResetTasks();
ResetSpriteData();
dp13_810BB8C();
ResetAllPicSprites();
ResetPaletteFade();
FreeAllSpritePalettes();
}
+324
View File
@@ -0,0 +1,324 @@
#include "global.h"
#include "sprite.h"
#include "window.h"
#include "malloc.h"
#include "constants/species.h"
#include "palette.h"
#include "decompress.h"
#include "trainer_pokemon_sprites.h"
#include "pokemon.h"
#include "constants/trainer_classes.h"
extern const struct CompressedSpriteSheet gMonFrontPicTable[];
extern const struct CompressedSpriteSheet gMonBackPicTable[];
extern const struct CompressedSpriteSheet gTrainerFrontPicTable[];
extern const struct CompressedSpriteSheet gTrainerBackPicTable[];
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
extern const union AnimCmd *const gUnknown_82349BC[];
extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[];
// Static type declarations
struct PicData
{
u8 *frames;
struct SpriteFrameImage *images;
u16 paletteTag;
u8 spriteId;
u8 active;
};
// Static RAM declarations
#define PICS_COUNT 8
static EWRAM_DATA struct SpriteTemplate sCreatingSpriteTemplate = {};
static EWRAM_DATA struct PicData sSpritePics[PICS_COUNT] = {};
// Static ROM declarations
// .rodata
static const struct PicData gUnknown_8453178 = {};
static const struct OamData gUnknown_8453184 =
{
.shape = SPRITE_SHAPE(64x64),
.size = SPRITE_SIZE(64x64)
};
// .text
void DummyPicSpriteCallback(struct Sprite *sprite)
{
}
bool16 ResetAllPicSprites(void)
{
int i;
for (i = 0; i < PICS_COUNT; i ++)
sSpritePics[i] = gUnknown_8453178;
return FALSE;
}
static bool16 DecompressPic(u16 species, u32 personality, bool8 isFrontPic, u8 *dest, bool8 isTrainer, bool8 ignoreDeoxys)
{
if (!isTrainer)
{
if (isFrontPic)
{
if (!ignoreDeoxys)
LoadSpecialPokePic(&gMonFrontPicTable[species], dest, species, personality, isFrontPic);
else
LoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], dest, species, personality, isFrontPic);
}
else
{
if (!ignoreDeoxys)
LoadSpecialPokePic(&gMonBackPicTable[species], dest, species, personality, isFrontPic);
else
LoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species], dest, species, personality, isFrontPic);
}
}
else
{
if (isFrontPic)
DecompressPicFromTable(&gTrainerFrontPicTable[species], dest, species);
else
DecompressPicFromTable(&gTrainerBackPicTable[species], dest, species);
}
return FALSE;
}
static bool16 DecompressPic_HandleDeoxys(u16 species, u32 personality, bool8 isFrontPic, u8 *dest, bool8 isTrainer)
{
return DecompressPic(species, personality, isFrontPic, dest, isTrainer, FALSE);
}
void LoadPicPaletteByTagOrSlot(u16 species, u32 otId, u32 personality, u8 paletteSlot, u16 paletteTag, bool8 isTrainer)
{
if (!isTrainer)
{
if (paletteTag == 0xFFFF)
{
sCreatingSpriteTemplate.paletteTag = 0xFFFF;
LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, otId, personality), 0x100 + paletteSlot * 0x10, 0x20);
}
else
{
sCreatingSpriteTemplate.paletteTag = paletteTag;
LoadCompressedObjectPalette(GetMonSpritePalStructFromOtIdPersonality(species, otId, personality));
}
}
else
{
if (paletteTag == 0xFFFF)
{
sCreatingSpriteTemplate.paletteTag = 0xFFFF;
LoadCompressedPalette(gTrainerFrontPicPaletteTable[species].data, 0x100 + paletteSlot * 0x10, 0x20);
}
else
{
sCreatingSpriteTemplate.paletteTag = paletteTag;
LoadCompressedObjectPalette(&gTrainerFrontPicPaletteTable[species]);
}
}
}
void LoadPicPaletteBySlot(u16 species, u32 otId, u32 personality, u8 paletteSlot, bool8 isTrainer)
{
if (!isTrainer)
LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, otId, personality), paletteSlot * 0x10, 0x20);
else
LoadCompressedPalette(gTrainerFrontPicPaletteTable[species].data, paletteSlot * 0x10, 0x20);
}
void AssignSpriteAnimsTable(bool8 isTrainer)
{
if (!isTrainer)
sCreatingSpriteTemplate.anims = gUnknown_82349BC;
else
sCreatingSpriteTemplate.anims = gTrainerFrontAnimsPtrTable[0];
}
u16 CreatePicSprite(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag, bool8 isTrainer, bool8 ignoreDeoxys)
{
u8 i;
u8 *framePics;
struct SpriteFrameImage *images;
int j;
u8 spriteId;
for (i = 0; i < PICS_COUNT; i ++)
{
if (!sSpritePics[i].active)
{
break;
}
}
if (i == PICS_COUNT)
{
return 0xFFFF;
}
framePics = Alloc(4 * 0x800);
if (!framePics)
{
return 0xFFFF;
}
images = Alloc(4 * sizeof(struct SpriteFrameImage));
if (!images)
{
Free(framePics);
return 0xFFFF;
}
if (DecompressPic(species, personality, isFrontPic, framePics, isTrainer, ignoreDeoxys))
{
// debug trap?
return 0xFFFF;
}
for (j = 0; j < 4; j ++)
{
images[j].data = framePics + 0x800 * j;
images[j].size = 0x800;
}
sCreatingSpriteTemplate.tileTag = 0xFFFF;
sCreatingSpriteTemplate.oam = &gUnknown_8453184;
AssignSpriteAnimsTable(isTrainer);
sCreatingSpriteTemplate.images = images;
sCreatingSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
sCreatingSpriteTemplate.callback = DummyPicSpriteCallback;
LoadPicPaletteByTagOrSlot(species, otId, personality, paletteSlot, paletteTag, isTrainer);
spriteId = CreateSprite(&sCreatingSpriteTemplate, x, y, 0);
if (paletteTag == 0xFFFF)
{
gSprites[spriteId].oam.paletteNum = paletteSlot;
}
sSpritePics[i].frames = framePics;
sSpritePics[i].images = images;
sSpritePics[i].paletteTag = paletteTag;
sSpritePics[i].spriteId = spriteId;
sSpritePics[i].active = TRUE;
return spriteId;
}
u16 CreatePicSprite_HandleDeoxys(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag, bool8 isTrainer)
{
return CreatePicSprite(species, otId, personality, isFrontPic, x, y, paletteSlot, paletteTag, isTrainer, FALSE);
}
u16 FreeAndDestroyPicSpriteInternal(u16 spriteId)
{
u8 i;
u8 *framePics;
struct SpriteFrameImage *images;
for (i = 0; i < PICS_COUNT; i ++)
{
if (sSpritePics[i].spriteId == spriteId)
{
break;
}
}
if (i == PICS_COUNT)
{
return 0xFFFF;
}
framePics = sSpritePics[i].frames;
images = sSpritePics[i].images;
if (sSpritePics[i].paletteTag != 0xFFFF)
{
FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(gSprites[spriteId].oam.paletteNum));
}
DestroySprite(&gSprites[spriteId]);
Free(framePics);
Free(images);
sSpritePics[i] = gUnknown_8453178;
return 0;
}
u16 sub_810C050(u16 species, u32 otId, u32 personality, bool8 isFrontPic, u8 paletteSlot, u8 windowId, bool8 isTrainer)
{
if (DecompressPic_HandleDeoxys(species, personality, isFrontPic, (u8 *)GetWindowAttribute(windowId, WINDOW_TILE_DATA), FALSE))
{
return 0xFFFF;
}
LoadPicPaletteBySlot(species, otId, personality, paletteSlot, isTrainer);
return 0;
}
u16 sub_810C0C0(u16 species, u32 otId, u32 personality, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId, bool8 isTrainer)
{
u8 *framePics;
framePics = Alloc(4 * 0x800);
if (framePics && !DecompressPic_HandleDeoxys(species, personality, isFrontPic, framePics, isTrainer))
{
BlitBitmapRectToWindow(windowId, framePics, 0, 0, 0x40, 0x40, destX, destY, 0x40, 0x40);
LoadPicPaletteBySlot(species, otId, personality, paletteSlot, isTrainer);
Free(framePics);
return 0;
}
return 0xFFFF;
}
u16 CreateMonPicSprite(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag, bool8 ignoreDeoxys)
{
return CreatePicSprite(species, otId, personality, isFrontPic, x, y, paletteSlot, paletteTag, FALSE, ignoreDeoxys);
}
u16 CreateMonPicSprite_HandleDeoxys(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag)
{
return CreateMonPicSprite(species, otId, personality, isFrontPic, x, y, paletteSlot, paletteTag, FALSE);
}
u16 FreeAndDestroyMonPicSprite(u16 spriteId)
{
return FreeAndDestroyPicSpriteInternal(spriteId);
}
u16 sub_810C228(u16 species, u32 otId, u32 personality, bool8 isFrontPic, u8 paletteSlot, u8 windowId)
{
return sub_810C0C0(species, otId, personality, isFrontPic, 0, 0, paletteSlot, windowId, FALSE);
}
u16 sub_810C25C(u16 species, u32 otId, u32 personality, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId)
{
return sub_810C0C0(species, otId, personality, isFrontPic, destX, destY, paletteSlot, windowId, FALSE);
}
u16 CreateTrainerPicSprite(u16 species, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag)
{
return CreatePicSprite_HandleDeoxys(species, 0, 0, isFrontPic, x, y, paletteSlot, paletteTag, TRUE);
}
u16 FreeAndDestroyTrainerPicSprite(u16 spriteId)
{
return FreeAndDestroyPicSpriteInternal(spriteId);
}
u16 sub_810C2FC(u16 species, bool8 isFrontPic, u8 paletteSlot, u8 windowId)
{
return sub_810C050(species, 0, 0, isFrontPic, paletteSlot, windowId, TRUE);
}
u16 sub_810C330(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId)
{
return sub_810C0C0(species, 0, 0, isFrontPic, destX, destY, paletteSlot, windowId, TRUE);
}
u16 PlayerGenderToFrontTrainerPicId_Debug(u8 gender, bool8 getClass)
{
if (getClass == TRUE)
{
switch (gender)
{
default:
return gFacilityClassToPicIndex[0x87];
case MALE:
return gFacilityClassToPicIndex[0x86];
}
}
return gender;
}
+2 -5
View File
@@ -1347,12 +1347,9 @@ gSpecialVar_ItemId: @ 203AD30
.include "src/bag.o"
.align 2
gUnknown_203AD40: @ 203AD40
.space 0x18
gUnknown_203AD58: @ 203AD58
.space 0x60
.include "src/trainer_pokemon_sprites.o"
.align 2
.include "src/vs_seeker.o"
gUnknown_203ADBC: @ 203ADBC