Fix three functions to have the right checksum

This commit is contained in:
Edouard Veyrier 2018-04-01 18:22:09 +02:00
parent 6e919da4aa
commit 09e29a5cf8
3 changed files with 78 additions and 59 deletions

View File

@ -67,7 +67,6 @@ _08160688:
thumb_func_end sub_8160664 thumb_func_end sub_8160664
*/ */
/*
thumb_func_start sub_81606A0 thumb_func_start sub_81606A0
sub_81606A0: @ 81606A0 sub_81606A0: @ 81606A0
push {r4-r6,lr} push {r4-r6,lr}
@ -121,7 +120,6 @@ sub_81606A0: @ 81606A0
bx r0 bx r0
.pool .pool
thumb_func_end sub_81606A0 thumb_func_end sub_81606A0
*/
thumb_func_start sub_8160740 thumb_func_start sub_8160740
sub_8160740: @ 8160740 sub_8160740: @ 8160740
@ -148,7 +146,7 @@ sub_8160740: @ 8160740
adds r0, 0x45 adds r0, 0x45
strb r1, [r0] strb r1, [r0]
ldr r0, =sub_8160624 ldr r0, =sub_8160624
bl SetVBlankCallback bl SetVBlankCallback //
bl sub_81607EC bl sub_81607EC
ldr r4, =gUnknown_0203BC38 ldr r4, =gUnknown_0203BC38
ldrb r0, [r4, 0x4] ldrb r0, [r4, 0x4]
@ -157,7 +155,7 @@ sub_8160740: @ 8160740
ldr r0, =gUnknown_085CEBB0 ldr r0, =gUnknown_085CEBB0
bl LoadSpriteSheet bl LoadSpriteSheet
ldr r0, =gUnknown_085CEBB8 ldr r0, =gUnknown_085CEBB8
bl LoadSpritePalette bl LoadSpritePalette //
bl sub_81610B8 bl sub_81610B8
ldr r0, =gMultiuseListMenuTemplate ldr r0, =gMultiuseListMenuTemplate
ldrh r1, [r4] ldrh r1, [r4]

View File

@ -37,6 +37,6 @@ void sub_8160638(void);
//const struct SpritePalette gUnknown_085CEBB8 = {gDexArrows_Pal, 5526}; //const struct SpritePalette gUnknown_085CEBB8 = {gDexArrows_Pal, 5526};
//const struct SpriteSheet gUnknown_085CEBB0 = {gDexArrows_Gfx, sizeof(gDexArrows_Gfx), 5525}; //const struct SpriteSheet gUnknown_085CEBB0 = {gDexArrows_Gfx, sizeof(gDexArrows_Gfx), 5525};
void *gUnknown_0203BC38 = (void*)0x0203BC38; u8 *gUnknown_0203BC38 = (void*)0x0203BC38;
#endif //GUARD_LEARN_MOVE_H #endif //GUARD_LEARN_MOVE_H

View File

@ -30,7 +30,7 @@ void sub_8160638(void) //TeachMoveTutorMove
{ {
ScriptContext2_Enable(); ScriptContext2_Enable();
CreateTask(sub_8160664, 0xA); CreateTask(sub_8160664, 0xA);
BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
} }
void sub_8160664(u8 taskId) void sub_8160664(u8 taskId)
@ -43,56 +43,77 @@ void sub_8160664(u8 taskId)
} }
} }
void sub_81606A0(void) //CB2_InitLearnMove // void sub_81606A0(void) //CB2_InitLearnMove
{ // {
//FIXME // //FIXME
void (*sub_81607EC)(void) = (void*)0x081607EC; // void (*sub_81607EC)(void) = (void*)0x081607EC;
void (*sub_81D2824)(void*) = (void*)0x081D2824; // void (*sub_81D2824)(u16) = (void*)0x081D2824;
void (*sub_81610B8)(void) = (void*)0x081610B8; // void (*sub_81610B8)(void) = (void*)0x081610B8;
void (*sub_8161280)(void) = (void*)0x08161280; // void (*sub_8161280)(void) = (void*)0x08161280;
//
//Less calls than pokeruby, is it normal ? // //Less calls than pokeruby, is it normal ?
ResetSpriteData(); // ResetSpriteData();
FreeAllSpritePalettes(); // FreeAllSpritePalettes();
ResetTasks(); // ResetTasks();
clear_scheduled_bg_copies_to_vram(); // clear_scheduled_bg_copies_to_vram();
//
//LearnMoveStruct** // //LearnMoveStruct**
//r1 = &gSpecialVar_0x8004; //What is this global ? // //r1 = &gSpecialVar_0x8004; //What is this global ?
//u8* partyMon = gUnknown_0203BC34 + 0x44 //partyMon ? // //u8* partyMon = gUnknown_0203BC34 + 0x44 //partyMon ?
//*partyMon = r1; // //*partyMon = r1;
gUnknown_0203BC34 = AllocZeroed(0x118);//gUnknown_0203BC34 is a global pointer to LearnMoveStruct ? // gUnknown_0203BC34 = AllocZeroed(0x118);//gUnknown_0203BC34 is a global pointer to LearnMoveStruct ?
gUnknown_0203BC34->partyMon = gSpecialVar_0x8004; // gUnknown_0203BC34->partyMon = gSpecialVar_0x8004;
//
SetVBlankCallback(sub_8160624); // SetVBlankCallback(sub_8160624);
sub_81607EC(); // sub_81607EC();
sub_81D2824(0); // sub_81D2824(0);
//
//gUnknown_0203BC38 ? // //gUnknown_0203BC38 ?
(&gUnknown_0203BC38)[0] = 0; // (gUnknown_0203BC38)[0] = 0;
(&gUnknown_0203BC38)[2] = 0; // (gUnknown_0203BC38)[2] = 0;
(&gUnknown_0203BC38)[4] = 0; // (gUnknown_0203BC38)[4] = 0;
//
sub_8161280(); // sub_8161280();
LoadSpriteSheet(/*FIXME &gUnknown_085CEBB0*/(void*)0x085CEBB0); // LoadSpriteSheet(/*FIXME &gUnknown_085CEBB0*/(void*)0x085CEBB0);
LoadSpritePalette(/*FIXME &gUnknown_085CEBB8*/(void*)0x085CEBB8); // LoadSpritePalette(/*FIXME &gUnknown_085CEBB8*/(void*)0x085CEBB8);
sub_81610B8(); // sub_81610B8();
//
ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); // ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
FillPalette(0, 0, 2); // FillPalette(0, 0, 2);
SetMainCallback2(/*FIXME sub_816082C*/(void*)0x0816082C); // SetMainCallback2(/*FIXME sub_816082C*/(void*)0x0816082C);
} // }
//
/* // void sub_8160740(void)
void sub_8160740(void) // {
{ // void (*sub_81607EC)(void) = (void*)0x081607EC;
ResetSpriteData(); // void (*sub_81D2824)(u16) = (void*)0x081D2824;
FreeAllSpritePalettes(); // void (*sub_81610B8)(void) = (void*)0x081610B8;
ResetTasks(); // void (*sub_8161280)(void) = (void*)0x08161280;
clear_scheduled_bg_copies_to_vram(); //
// u8 data;
gUnknown_0203BC34 = AllocZeroed(0x118);//gUnknown_0203BC34 is a global pointer to LearnMoveStruct ? //
gUnknown_0203BC34->partyMon = gSpecialVar_0x8004; // ResetSpriteData();
gUnknown_0203BC34->unk2C6 = gSpecialVar_0x8005; // FreeAllSpritePalettes();
} // ResetTasks();
*/ // clear_scheduled_bg_copies_to_vram();
//
// gUnknown_0203BC34 = AllocZeroed(0x118);//gUnknown_0203BC34 is a global pointer to LearnMoveStruct ?
// gUnknown_0203BC34->partyMon = gSpecialVar_0x8004; //gUnknown_0203BC34 + 68
// gUnknown_0203BC34->unk2C6 = gSpecialVar_0x8005; //gUnknown_0203BC34 + 69
//
// SetVBlankCallback(sub_8160624);
// sub_81607EC();
//
// //gUnknown_0203BC38 ?
// sub_81D2824(*((u8*)&gUnknown_0203BC38 + 4));
// sub_8161280();
//
// LoadSpriteSheet(/*FIXME &gUnknown_085CEBB0*/(void*)0x085CEBB0);
// LoadSpritePalette(/*FIXME &gUnknown_085CEBB8*/(void*)0x085CEBB8);
//
// data = ListMenuInit(&gMultiuseListMenuTemplate, *gUnknown_0203BC38, *((u8*)gUnknown_0203BC38 + 2));
// *(u8*)(gUnknown_0203BC34 + 274) = data;
// FillPalette(0, 0, 2);
// SetMainCallback2(/*FIXME sub_816082C*/(void*)0x0816082C);
// }
// */