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

View File

@ -37,6 +37,6 @@ void sub_8160638(void);
//const struct SpritePalette gUnknown_085CEBB8 = {gDexArrows_Pal, 5526};
//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

View File

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