void setPlayerQuestStuff(char enabled){
int *plrPtr=0x62f9e0, r=32;
while (--r>=0){
if (plrPtr[0])
SetMemory(&plrPtr[684], enabled);
plrPtr=&plrPtr[1207];
}
}
void initializeRewardMarker(){
char c[]={0xE8, 0x1B, 0x0F, 0xDA, 0xFF, 0x31, 0xC0, 0xC3};
FixCallOpcode(c,0x004f1f20);
setPlayerQuestStuff(TRUE);
invokeRawCode(c,NULLPTR);
setPlayerQuestStuff(FALSE);
}
void initializeQuestMode(char theme){
char code[]={0xE8, 0x4B, 0x62, 0xDB, 0xFF, 0x50, 0xE8, 0xE5, 0x91, 0xDC, 0xFF, 0x58, 0x31, 0xC0, 0xC3, 0x90};
FixCallOpcode(code, 0x507250);
FixCallOpcode(code+6, 0x51a1f0);
invokeRawCode(code, theme);
}
void setQuestStageLevel(int questLv){
short *p=0x5b852c;
short *p2=0x69f968;
p[0]=questLv;
p2[0]=questLv;
}
void MapInitialize(){
MusicEvent();
setQuestStageLevel(30);
initializeQuestMode(2);
initializeRewardMarker();
}