through CreateNidoranFSprite
This commit is contained in:
@@ -5,376 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_8130C64
|
|
||||||
sub_8130C64: @ 8130C64
|
|
||||||
push {r4,r5,lr}
|
|
||||||
sub sp, 0x10
|
|
||||||
ldr r0, _08130C84 @ =gMain
|
|
||||||
movs r1, 0x87
|
|
||||||
lsls r1, 3
|
|
||||||
adds r0, r1
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, 0x7
|
|
||||||
bls _08130C78
|
|
||||||
b _08130F10
|
|
||||||
_08130C78:
|
|
||||||
lsls r0, 2
|
|
||||||
ldr r1, _08130C88 @ =_08130C8C
|
|
||||||
adds r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
mov pc, r0
|
|
||||||
.align 2, 0
|
|
||||||
_08130C84: .4byte gMain
|
|
||||||
_08130C88: .4byte _08130C8C
|
|
||||||
.align 2, 0
|
|
||||||
_08130C8C:
|
|
||||||
.4byte _08130CAC
|
|
||||||
.4byte _08130D18
|
|
||||||
.4byte _08130D78
|
|
||||||
.4byte _08130DB2
|
|
||||||
.4byte _08130DD0
|
|
||||||
.4byte _08130DE8
|
|
||||||
.4byte _08130E38
|
|
||||||
.4byte _08130EB8
|
|
||||||
_08130CAC:
|
|
||||||
movs r0, 0
|
|
||||||
bl SetVBlankCallback
|
|
||||||
add r1, sp, 0x8
|
|
||||||
movs r0, 0
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _08130D04 @ =0x040000d4
|
|
||||||
add r0, sp, 0x8
|
|
||||||
str r0, [r1]
|
|
||||||
movs r0, 0xC0
|
|
||||||
lsls r0, 19
|
|
||||||
str r0, [r1, 0x4]
|
|
||||||
ldr r0, _08130D08 @ =0x8100c000
|
|
||||||
str r0, [r1, 0x8]
|
|
||||||
ldr r0, [r1, 0x8]
|
|
||||||
movs r2, 0
|
|
||||||
str r2, [sp, 0xC]
|
|
||||||
add r0, sp, 0xC
|
|
||||||
str r0, [r1]
|
|
||||||
movs r0, 0xE0
|
|
||||||
lsls r0, 19
|
|
||||||
str r0, [r1, 0x4]
|
|
||||||
ldr r0, _08130D0C @ =0x85000100
|
|
||||||
str r0, [r1, 0x8]
|
|
||||||
ldr r0, [r1, 0x8]
|
|
||||||
add r0, sp, 0x8
|
|
||||||
strh r2, [r0]
|
|
||||||
str r0, [r1]
|
|
||||||
ldr r0, _08130D10 @ =0x05000002
|
|
||||||
str r0, [r1, 0x4]
|
|
||||||
ldr r0, _08130D14 @ =0x810001ff
|
|
||||||
str r0, [r1, 0x8]
|
|
||||||
ldr r0, [r1, 0x8]
|
|
||||||
bl ResetPaletteFade
|
|
||||||
bl ScanlineEffect_Stop
|
|
||||||
bl ResetSpriteData
|
|
||||||
bl FreeAllSpritePalettes
|
|
||||||
bl reset_temp_tile_data_buffers
|
|
||||||
b _08130F10
|
|
||||||
.align 2, 0
|
|
||||||
_08130D04: .4byte 0x040000d4
|
|
||||||
_08130D08: .4byte 0x8100c000
|
|
||||||
_08130D0C: .4byte 0x85000100
|
|
||||||
_08130D10: .4byte 0x05000002
|
|
||||||
_08130D14: .4byte 0x810001ff
|
|
||||||
_08130D18:
|
|
||||||
movs r0, 0
|
|
||||||
bl ResetBgsAndClearDma3BusyFlags
|
|
||||||
ldr r1, _08130D70 @ =gUnknown_8462E58
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r2, 0x3
|
|
||||||
bl InitBgsFromTemplates
|
|
||||||
ldr r4, _08130D74 @ =sOakSpeechResources
|
|
||||||
ldr r1, [r4]
|
|
||||||
movs r0, 0xE1
|
|
||||||
lsls r0, 5
|
|
||||||
adds r1, r0
|
|
||||||
movs r0, 0x1
|
|
||||||
bl SetBgTilemapBuffer
|
|
||||||
ldr r1, [r4]
|
|
||||||
movs r0, 0xC1
|
|
||||||
lsls r0, 5
|
|
||||||
adds r1, r0
|
|
||||||
movs r0, 0x2
|
|
||||||
bl SetBgTilemapBuffer
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl ChangeBgX
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl ChangeBgY
|
|
||||||
movs r0, 0x2
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl ChangeBgX
|
|
||||||
movs r0, 0x2
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl ChangeBgY
|
|
||||||
b _08130F10
|
|
||||||
.align 2, 0
|
|
||||||
_08130D70: .4byte gUnknown_8462E58
|
|
||||||
_08130D74: .4byte sOakSpeechResources
|
|
||||||
_08130D78:
|
|
||||||
movs r0, 0x40
|
|
||||||
movs r1, 0
|
|
||||||
bl SetGpuReg
|
|
||||||
movs r0, 0x44
|
|
||||||
movs r1, 0
|
|
||||||
bl SetGpuReg
|
|
||||||
movs r0, 0x48
|
|
||||||
movs r1, 0
|
|
||||||
bl SetGpuReg
|
|
||||||
movs r0, 0x4A
|
|
||||||
movs r1, 0
|
|
||||||
bl SetGpuReg
|
|
||||||
movs r0, 0x50
|
|
||||||
movs r1, 0
|
|
||||||
bl SetGpuReg
|
|
||||||
movs r0, 0x52
|
|
||||||
movs r1, 0
|
|
||||||
bl SetGpuReg
|
|
||||||
movs r0, 0x54
|
|
||||||
movs r1, 0
|
|
||||||
bl SetGpuReg
|
|
||||||
b _08130F10
|
|
||||||
_08130DB2:
|
|
||||||
bl FreeAllWindowBuffers
|
|
||||||
bl sub_80F6C6C
|
|
||||||
bl sub_80F6C98
|
|
||||||
ldr r0, _08130DCC @ =gUnknown_8460568
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0xE0
|
|
||||||
bl LoadPalette
|
|
||||||
b _08130F10
|
|
||||||
.align 2, 0
|
|
||||||
_08130DCC: .4byte gUnknown_8460568
|
|
||||||
_08130DD0:
|
|
||||||
ldr r1, _08130DE4 @ =gUnknown_8460CA4
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl decompress_and_copy_tile_data_to_vram
|
|
||||||
b _08130F10
|
|
||||||
.align 2, 0
|
|
||||||
_08130DE4: .4byte gUnknown_8460CA4
|
|
||||||
_08130DE8:
|
|
||||||
bl free_temp_tile_data_buffers_if_possible
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08130DF4
|
|
||||||
b _08130F1E
|
|
||||||
_08130DF4:
|
|
||||||
movs r5, 0x1E
|
|
||||||
str r5, [sp]
|
|
||||||
movs r4, 0x14
|
|
||||||
str r4, [sp, 0x4]
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl FillBgTilemapBufferRect_Palette0
|
|
||||||
ldr r1, _08130E34 @ =gUnknown_8460CE8
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl CopyToBgTilemapBuffer
|
|
||||||
str r5, [sp]
|
|
||||||
str r4, [sp, 0x4]
|
|
||||||
movs r0, 0x2
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl FillBgTilemapBufferRect_Palette0
|
|
||||||
movs r0, 0x1
|
|
||||||
bl CopyBgTilemapBufferToVram
|
|
||||||
movs r0, 0x2
|
|
||||||
bl CopyBgTilemapBufferToVram
|
|
||||||
b _08130F10
|
|
||||||
.align 2, 0
|
|
||||||
_08130E34: .4byte gUnknown_8460CE8
|
|
||||||
_08130E38:
|
|
||||||
ldr r0, _08130E5C @ =sub_8130464
|
|
||||||
movs r1, 0
|
|
||||||
bl CreateTask
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
ldr r0, _08130E60 @ =sOakSpeechResources
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldrh r0, [r0, 0x10]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08130E72
|
|
||||||
ldr r0, _08130E64 @ =gSaveBlock2Ptr
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldrb r0, [r0, 0x8]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08130E68
|
|
||||||
movs r0, 0
|
|
||||||
b _08130E6A
|
|
||||||
.align 2, 0
|
|
||||||
_08130E5C: .4byte sub_8130464
|
|
||||||
_08130E60: .4byte sOakSpeechResources
|
|
||||||
_08130E64: .4byte gSaveBlock2Ptr
|
|
||||||
_08130E68:
|
|
||||||
movs r0, 0x1
|
|
||||||
_08130E6A:
|
|
||||||
movs r1, 0
|
|
||||||
bl sub_81311F4
|
|
||||||
b _08130E7A
|
|
||||||
_08130E72:
|
|
||||||
movs r0, 0x2
|
|
||||||
movs r1, 0
|
|
||||||
bl sub_81311F4
|
|
||||||
_08130E7A:
|
|
||||||
ldr r0, _08130EA8 @ =gTasks
|
|
||||||
lsls r4, r5, 2
|
|
||||||
adds r4, r5
|
|
||||||
lsls r4, 3
|
|
||||||
adds r4, r0
|
|
||||||
ldr r0, _08130EAC @ =0x0000ffc4
|
|
||||||
strh r0, [r4, 0xA]
|
|
||||||
ldr r1, _08130EB0 @ =gSpriteCoordOffsetX
|
|
||||||
ldrh r0, [r1]
|
|
||||||
adds r0, 0x3C
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _08130EB4 @ =0xffffc400
|
|
||||||
movs r0, 0x2
|
|
||||||
movs r2, 0
|
|
||||||
bl ChangeBgX
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
bl sub_8130FD4
|
|
||||||
movs r0, 0x1
|
|
||||||
strh r0, [r4, 0x26]
|
|
||||||
b _08130F10
|
|
||||||
.align 2, 0
|
|
||||||
_08130EA8: .4byte gTasks
|
|
||||||
_08130EAC: .4byte 0x0000ffc4
|
|
||||||
_08130EB0: .4byte gSpriteCoordOffsetX
|
|
||||||
_08130EB4: .4byte 0xffffc400
|
|
||||||
_08130EB8:
|
|
||||||
movs r0, 0x1
|
|
||||||
negs r0, r0
|
|
||||||
movs r1, 0
|
|
||||||
str r1, [sp]
|
|
||||||
movs r2, 0x10
|
|
||||||
movs r3, 0
|
|
||||||
bl BeginNormalPaletteFade
|
|
||||||
movs r1, 0x82
|
|
||||||
lsls r1, 5
|
|
||||||
movs r0, 0
|
|
||||||
bl SetGpuReg
|
|
||||||
movs r0, 0
|
|
||||||
bl ShowBg
|
|
||||||
movs r0, 0x1
|
|
||||||
bl ShowBg
|
|
||||||
movs r0, 0x2
|
|
||||||
bl ShowBg
|
|
||||||
movs r0, 0x1
|
|
||||||
bl EnableInterrupts
|
|
||||||
ldr r0, _08130F04 @ =sub_812EAFC
|
|
||||||
bl SetVBlankCallback
|
|
||||||
ldr r2, _08130F08 @ =gTextFlags
|
|
||||||
ldrb r0, [r2]
|
|
||||||
movs r1, 0x1
|
|
||||||
orrs r0, r1
|
|
||||||
strb r0, [r2]
|
|
||||||
ldr r0, _08130F0C @ =sub_812EB10
|
|
||||||
bl SetMainCallback2
|
|
||||||
b _08130F1E
|
|
||||||
.align 2, 0
|
|
||||||
_08130F04: .4byte sub_812EAFC
|
|
||||||
_08130F08: .4byte gTextFlags
|
|
||||||
_08130F0C: .4byte sub_812EB10
|
|
||||||
_08130F10:
|
|
||||||
ldr r1, _08130F28 @ =gMain
|
|
||||||
movs r0, 0x87
|
|
||||||
lsls r0, 3
|
|
||||||
adds r1, r0
|
|
||||||
ldrb r0, [r1]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r1]
|
|
||||||
_08130F1E:
|
|
||||||
add sp, 0x10
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08130F28: .4byte gMain
|
|
||||||
thumb_func_end sub_8130C64
|
|
||||||
|
|
||||||
thumb_func_start sub_8130F2C
|
|
||||||
sub_8130F2C: @ 8130F2C
|
|
||||||
push {r4,r5,lr}
|
|
||||||
adds r5, r0, 0
|
|
||||||
lsls r5, 24
|
|
||||||
lsrs r5, 24
|
|
||||||
ldr r4, _08130FA0 @ =gUnknown_8235194
|
|
||||||
movs r0, 0
|
|
||||||
bl sub_8044E00
|
|
||||||
adds r1, r0, 0
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r2, 0x1D
|
|
||||||
bl DecompressPicFromTable
|
|
||||||
ldr r0, _08130FA4 @ =gUnknown_82373F4
|
|
||||||
bl sub_800F078
|
|
||||||
movs r0, 0x1D
|
|
||||||
movs r1, 0
|
|
||||||
bl sub_803F7D4
|
|
||||||
ldr r0, _08130FA8 @ =gMultiuseSpriteTemplate
|
|
||||||
movs r1, 0x60
|
|
||||||
movs r2, 0x60
|
|
||||||
movs r3, 0x1
|
|
||||||
bl CreateSprite
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
ldr r4, _08130FAC @ =gSprites
|
|
||||||
lsls r2, r0, 4
|
|
||||||
adds r2, r0
|
|
||||||
lsls r2, 2
|
|
||||||
adds r1, r4, 0
|
|
||||||
adds r1, 0x1C
|
|
||||||
adds r1, r2, r1
|
|
||||||
ldr r3, _08130FB0 @ =SpriteCallbackDummy
|
|
||||||
str r3, [r1]
|
|
||||||
adds r2, r4
|
|
||||||
ldrb r3, [r2, 0x5]
|
|
||||||
movs r1, 0xD
|
|
||||||
negs r1, r1
|
|
||||||
ands r1, r3
|
|
||||||
movs r3, 0x4
|
|
||||||
orrs r1, r3
|
|
||||||
strb r1, [r2, 0x5]
|
|
||||||
adds r2, 0x3E
|
|
||||||
ldrb r1, [r2]
|
|
||||||
orrs r1, r3
|
|
||||||
strb r1, [r2]
|
|
||||||
ldr r2, _08130FB4 @ =gTasks
|
|
||||||
lsls r1, r5, 2
|
|
||||||
adds r1, r5
|
|
||||||
lsls r1, 3
|
|
||||||
adds r1, r2
|
|
||||||
strh r0, [r1, 0x10]
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08130FA0: .4byte gUnknown_8235194
|
|
||||||
_08130FA4: .4byte gUnknown_82373F4
|
|
||||||
_08130FA8: .4byte gMultiuseSpriteTemplate
|
|
||||||
_08130FAC: .4byte gSprites
|
|
||||||
_08130FB0: .4byte SpriteCallbackDummy
|
|
||||||
_08130FB4: .4byte gTasks
|
|
||||||
thumb_func_end sub_8130F2C
|
|
||||||
|
|
||||||
thumb_func_start sub_8130FB8
|
thumb_func_start sub_8130FB8
|
||||||
sub_8130FB8: @ 8130FB8
|
sub_8130FB8: @ 8130FB8
|
||||||
ldr r3, _08130FD0 @ =gSprites
|
ldr r3, _08130FD0 @ =gSprites
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ void LoadCompressedObjectPalette(const struct CompressedSpritePalette *src);
|
|||||||
void LoadCompressedObjectPaletteOverrideBuffer(const struct CompressedSpritePalette *a, void *buffer);
|
void LoadCompressedObjectPaletteOverrideBuffer(const struct CompressedSpritePalette *a, void *buffer);
|
||||||
bool8 LoadCompressedObjectPaletteUsingHeap(const struct CompressedSpritePalette *src);
|
bool8 LoadCompressedObjectPaletteUsingHeap(const struct CompressedSpritePalette *src);
|
||||||
|
|
||||||
|
bool8 sub_800F078(const struct CompressedSpritePalette *src);
|
||||||
|
|
||||||
void DecompressPicFromTable(const struct CompressedSpriteSheet *src, void* buffer, s32 species);
|
void DecompressPicFromTable(const struct CompressedSpriteSheet *src, void* buffer, s32 species);
|
||||||
void DecompressPicFromTable_2(const struct CompressedSpriteSheet *src, void* buffer, s32 species);
|
void DecompressPicFromTable_2(const struct CompressedSpriteSheet *src, void* buffer, s32 species);
|
||||||
void DecompressPicFromTable_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void* buffer, s32 species);
|
void DecompressPicFromTable_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void* buffer, s32 species);
|
||||||
|
|||||||
@@ -673,5 +673,6 @@ void BattleAnimateBackSprite(struct Sprite* sprite, u16 species);
|
|||||||
void PlayMapChosenOrBattleBGM(u16 songId);
|
void PlayMapChosenOrBattleBGM(u16 songId);
|
||||||
u8 GetMonsStateToDoubles(void);
|
u8 GetMonsStateToDoubles(void);
|
||||||
void sub_803E0A4(struct Pokemon *mon, struct BattleTowerPokemon *src);
|
void sub_803E0A4(struct Pokemon *mon, struct BattleTowerPokemon *src);
|
||||||
|
void sub_803F7D4(u16 trainerSpriteId, u8 battlerPosition);
|
||||||
|
|
||||||
#endif // GUARD_POKEMON_H
|
#endif // GUARD_POKEMON_H
|
||||||
|
|||||||
@@ -7,5 +7,6 @@ const u8* GetTrainerClassNameFromId(u16 trainerId);
|
|||||||
const u8* GetTrainerNameFromId(u16 trainerId);
|
const u8* GetTrainerNameFromId(u16 trainerId);
|
||||||
void sub_8044AF0(u8, u8);
|
void sub_8044AF0(u8, u8);
|
||||||
void sub_8044D80(void);
|
void sub_8044D80(void);
|
||||||
|
void * sub_8044E00(u8 buffId);
|
||||||
|
|
||||||
#endif // GUARD_POKEMON_3_H
|
#endif // GUARD_POKEMON_3_H
|
||||||
|
|||||||
+111
-5
@@ -1,5 +1,6 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
|
#include "decompress.h"
|
||||||
#include "task.h"
|
#include "task.h"
|
||||||
#include "malloc.h"
|
#include "malloc.h"
|
||||||
#include "gpu_regs.h"
|
#include "gpu_regs.h"
|
||||||
@@ -90,8 +91,9 @@ void sub_8130B10(u8 taskId);
|
|||||||
void sub_8130BA8(u8 taskId);
|
void sub_8130BA8(u8 taskId);
|
||||||
void sub_8130BF0(u8 taskId);
|
void sub_8130BF0(u8 taskId);
|
||||||
void sub_8130C20(u8 taskId);
|
void sub_8130C20(u8 taskId);
|
||||||
void sub_8130C64(void);
|
|
||||||
void sub_8130F2C(u8 taskId);
|
static void CB2_ReturnFromNamingScreen(void);
|
||||||
|
static void CreateNidoranFSprite(u8 taskId);
|
||||||
void sub_8130FD4(u8 taskId, u8 state);
|
void sub_8130FD4(u8 taskId, u8 state);
|
||||||
void sub_8131168(u8 taskId, u8 state);
|
void sub_8131168(u8 taskId, u8 state);
|
||||||
void sub_81311F4(u8 arg0, u8 state);
|
void sub_81311F4(u8 arg0, u8 state);
|
||||||
@@ -107,6 +109,9 @@ extern const u8 gUnknown_8415D50[];
|
|||||||
extern const u8 gUnknown_8415D93[];
|
extern const u8 gUnknown_8415D93[];
|
||||||
extern const u8 gUnknown_8415D97[];
|
extern const u8 gUnknown_8415D97[];
|
||||||
|
|
||||||
|
extern const struct CompressedSpriteSheet gUnknown_8235194[];
|
||||||
|
extern const struct CompressedSpritePalette gUnknown_82373F4;
|
||||||
|
|
||||||
const u8 gUnknown_845FD54[][5] = {
|
const u8 gUnknown_845FD54[][5] = {
|
||||||
[SPECIES_BULBASAUR - 1] = {0x16, 0x1b, 0x30, 0x16, 0x29},
|
[SPECIES_BULBASAUR - 1] = {0x16, 0x1b, 0x30, 0x16, 0x29},
|
||||||
[SPECIES_IVYSAUR - 1] = {0x14, 0x1b, 0x30, 0x15, 0x2a},
|
[SPECIES_IVYSAUR - 1] = {0x14, 0x1b, 0x30, 0x15, 0x2a},
|
||||||
@@ -1040,7 +1045,7 @@ void sub_812F7C0(u8 taskId)
|
|||||||
LoadBgTiles(1, sOakSpeechResources->unk_0000, size, 0);
|
LoadBgTiles(1, sOakSpeechResources->unk_0000, size, 0);
|
||||||
CopyToBgTilemapBuffer(1, gUnknown_8460CE8, 0, 0);
|
CopyToBgTilemapBuffer(1, gUnknown_8460CE8, 0, 0);
|
||||||
CopyBgTilemapBufferToVram(1);
|
CopyBgTilemapBufferToVram(1);
|
||||||
sub_8130F2C(taskId);
|
CreateNidoranFSprite(taskId);
|
||||||
sub_81311F4(3, 0);
|
sub_81311F4(3, 0);
|
||||||
sub_8130FD4(taskId, 1);
|
sub_8130FD4(taskId, 1);
|
||||||
PlayBGM(292);
|
PlayBGM(292);
|
||||||
@@ -1374,13 +1379,13 @@ void sub_81303B4(u8 taskId)
|
|||||||
sub_8131754(sOakSpeechResources->unk_0010, 0);
|
sub_8131754(sOakSpeechResources->unk_0010, 0);
|
||||||
if (sOakSpeechResources->unk_0010 == 0)
|
if (sOakSpeechResources->unk_0010 == 0)
|
||||||
{
|
{
|
||||||
DoNamingScreen(0, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, sub_8130C64);
|
DoNamingScreen(0, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, CB2_ReturnFromNamingScreen);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_810F4D8(gTasks[taskId].data[13], 1);
|
sub_810F4D8(gTasks[taskId].data[13], 1);
|
||||||
RemoveWindow(gTasks[taskId].data[13]);
|
RemoveWindow(gTasks[taskId].data[13]);
|
||||||
DoNamingScreen(4, gSaveBlock1Ptr->rivalName, 0, 0, 0, sub_8130C64);
|
DoNamingScreen(4, gSaveBlock1Ptr->rivalName, 0, 0, 0, CB2_ReturnFromNamingScreen);
|
||||||
}
|
}
|
||||||
sub_8131168(taskId, 1);
|
sub_8131168(taskId, 1);
|
||||||
FreeAllWindowBuffers();
|
FreeAllWindowBuffers();
|
||||||
@@ -1687,3 +1692,104 @@ void sub_8130C20(u8 taskId)
|
|||||||
SetMainCallback2(CB2_NewGame);
|
SetMainCallback2(CB2_NewGame);
|
||||||
DestroyTask(taskId);
|
DestroyTask(taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void CB2_ReturnFromNamingScreen(void)
|
||||||
|
{
|
||||||
|
u8 taskId;
|
||||||
|
|
||||||
|
switch (gMain.state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
SetVBlankCallback(NULL);
|
||||||
|
DmaFill16(3, 0, VRAM, VRAM_SIZE);
|
||||||
|
DmaFill32(3, 0, OAM, OAM_SIZE);
|
||||||
|
DmaFill16(3, RGB_BLACK, PLTT + sizeof(u16), PLTT_SIZE - sizeof(u16));
|
||||||
|
ResetPaletteFade();
|
||||||
|
ScanlineEffect_Stop();
|
||||||
|
ResetSpriteData();
|
||||||
|
FreeAllSpritePalettes();
|
||||||
|
reset_temp_tile_data_buffers();
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
ResetBgsAndClearDma3BusyFlags(0);
|
||||||
|
InitBgsFromTemplates(1, gUnknown_8462E58, NELEMS(gUnknown_8462E58));
|
||||||
|
SetBgTilemapBuffer(1, sOakSpeechResources->bg1TilemapBuffer);
|
||||||
|
SetBgTilemapBuffer(2, sOakSpeechResources->bg2TilemapBuffer);
|
||||||
|
ChangeBgX(1, 0, 0);
|
||||||
|
ChangeBgY(1, 0, 0);
|
||||||
|
ChangeBgX(2, 0, 0);
|
||||||
|
ChangeBgY(2, 0, 0);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
SetGpuReg(REG_OFFSET_WIN0H, 0);
|
||||||
|
SetGpuReg(REG_OFFSET_WIN0V, 0);
|
||||||
|
SetGpuReg(REG_OFFSET_WININ, 0);
|
||||||
|
SetGpuReg(REG_OFFSET_WINOUT, 0);
|
||||||
|
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||||
|
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||||
|
SetGpuReg(REG_OFFSET_BLDY, 0);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
FreeAllWindowBuffers();
|
||||||
|
sub_80F6C6C();
|
||||||
|
sub_80F6C98();
|
||||||
|
LoadPalette(gUnknown_8460568, 0, 0xe0);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
decompress_and_copy_tile_data_to_vram(1, gUnknown_8460CA4, 0, 0, 0);
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
if (free_temp_tile_data_buffers_if_possible())
|
||||||
|
return;
|
||||||
|
FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20);
|
||||||
|
CopyToBgTilemapBuffer(1, gUnknown_8460CE8, 0, 0);
|
||||||
|
FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20);
|
||||||
|
CopyBgTilemapBufferToVram(1);
|
||||||
|
CopyBgTilemapBufferToVram(2);
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
taskId = CreateTask(sub_8130464, 0);
|
||||||
|
if (sOakSpeechResources->unk_0010 == 0)
|
||||||
|
{
|
||||||
|
if (gSaveBlock2Ptr->playerGender == MALE)
|
||||||
|
sub_81311F4(MALE, 0);
|
||||||
|
else
|
||||||
|
sub_81311F4(FEMALE, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
sub_81311F4(2, 0);
|
||||||
|
gTasks[taskId].data[1] = -60;
|
||||||
|
gSpriteCoordOffsetX += 60;
|
||||||
|
ChangeBgX(2, -0x3C00, 0);
|
||||||
|
sub_8130FD4(taskId, 1);
|
||||||
|
gTasks[taskId].data[15] = 1;
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
|
||||||
|
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON);
|
||||||
|
ShowBg(0);
|
||||||
|
ShowBg(1);
|
||||||
|
ShowBg(2);
|
||||||
|
EnableInterrupts(INTR_FLAG_VBLANK);
|
||||||
|
SetVBlankCallback(sub_812EAFC);
|
||||||
|
gTextFlags.flag_0 = TRUE;
|
||||||
|
SetMainCallback2(sub_812EB10);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
gMain.state++;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void CreateNidoranFSprite(u8 taskId)
|
||||||
|
{
|
||||||
|
u8 spriteId;
|
||||||
|
|
||||||
|
DecompressPicFromTable(gUnknown_8235194, sub_8044E00(0), SPECIES_NIDORAN_F);
|
||||||
|
sub_800F078(&gUnknown_82373F4);
|
||||||
|
sub_803F7D4(SPECIES_NIDORAN_F, 0);
|
||||||
|
spriteId = CreateSprite(&gMultiuseSpriteTemplate, 0x60, 0x60, 1);
|
||||||
|
gSprites[spriteId].callback = SpriteCallbackDummy;
|
||||||
|
gSprites[spriteId].oam.priority = 1;
|
||||||
|
gSprites[spriteId].invisible = TRUE;
|
||||||
|
gTasks[taskId].data[4] = spriteId;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user