mirror of
https://github.com/pret/pmd-red.git
synced 2026-09-29 06:50:41 -04:00
295 lines
4.3 KiB
C
295 lines
4.3 KiB
C
#include "global.h"
|
|
|
|
extern u32 sub_80144A4(s32 *r0);
|
|
extern void sub_8028B04(u32);
|
|
extern void sub_8011C28(u32);
|
|
extern void sub_8012574(u32);
|
|
extern u8 sub_8012600();
|
|
extern void sub_8012750();
|
|
extern void sub_8095240(u8);
|
|
|
|
extern void sub_809927C(u8);
|
|
extern u32 *gUnknown_203B2C0;
|
|
extern u8 sub_8030C20(u32);
|
|
extern u32 sub_8031050();
|
|
extern void sub_80310B4();
|
|
extern u32 sub_8095350();
|
|
|
|
void sub_8028CE0()
|
|
{
|
|
s32 temp;
|
|
|
|
if(sub_80144A4(&temp) != 0)
|
|
{
|
|
return;
|
|
}
|
|
sub_8028B04(3);
|
|
}
|
|
|
|
void sub_8028CFC()
|
|
{
|
|
s32 temp;
|
|
u32 temp2;
|
|
|
|
if(sub_80144A4(&temp) != 0)
|
|
{
|
|
return;
|
|
}
|
|
switch(sub_8031050())
|
|
{
|
|
case 2:
|
|
case 3:
|
|
temp2 = sub_8095350();
|
|
sub_80310B4();
|
|
if(temp2 != gUnknown_203B2C0[0xA8 << 1])
|
|
{
|
|
sub_8028B04(0x17);
|
|
}
|
|
else
|
|
{
|
|
sub_8028B04(0x19);
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
void sub_8028D4C()
|
|
{
|
|
s32 temp;
|
|
|
|
if(sub_80144A4(&temp) != 0)
|
|
{
|
|
return;
|
|
}
|
|
gUnknown_203B2C0[0xA7 << 1] = temp;
|
|
switch((s32)gUnknown_203B2C0[0xA7 << 1])
|
|
{
|
|
case 5:
|
|
if(sub_8030C20(2) != 0)
|
|
{
|
|
sub_8028B04(12);
|
|
}
|
|
else
|
|
{
|
|
sub_8028B04(13);
|
|
}
|
|
break;
|
|
case 6:
|
|
if(sub_8030C20(4) != 0)
|
|
{
|
|
sub_8028B04(14);
|
|
}
|
|
else
|
|
{
|
|
sub_8028B04(15);
|
|
}
|
|
break;
|
|
case 7:
|
|
if(sub_8030C20(0) != 0)
|
|
{
|
|
sub_8028B04(16);
|
|
}
|
|
else
|
|
{
|
|
sub_8028B04(17);
|
|
}
|
|
break;
|
|
case 0xA:
|
|
sub_8028B04(1);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
void sub_8028DE8(u32 r0)
|
|
{
|
|
s32 temp;
|
|
|
|
if(sub_80144A4(&temp) != 0)
|
|
{
|
|
return;
|
|
}
|
|
sub_8028B04(r0);
|
|
}
|
|
|
|
void sub_8028E08()
|
|
{
|
|
s32 temp;
|
|
|
|
if(sub_80144A4(&temp) != 0)
|
|
{
|
|
return;
|
|
}
|
|
sub_8028B04(0x12);
|
|
}
|
|
|
|
void sub_8028E24()
|
|
{
|
|
s32 temp;
|
|
|
|
if(sub_80144A4(&temp) != 0)
|
|
{
|
|
return;
|
|
}
|
|
switch(temp)
|
|
{
|
|
case 0x8:
|
|
sub_8028B04(0x13);
|
|
break;
|
|
case 0xA:
|
|
sub_8028B04(1);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
void sub_8028E54()
|
|
{
|
|
s32 temp;
|
|
|
|
if(sub_80144A4(&temp) != 0)
|
|
{
|
|
return;
|
|
}
|
|
switch(temp)
|
|
{
|
|
case 0x8:
|
|
sub_8028B04(0x14);
|
|
break;
|
|
case 0xA:
|
|
sub_8028B04(1);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
void sub_8028E84()
|
|
{
|
|
s32 temp;
|
|
|
|
if(sub_80144A4(&temp) != 0)
|
|
{
|
|
return;
|
|
}
|
|
sub_8028B04(0x18);
|
|
sub_8011C28(1);
|
|
sub_8012574(0);
|
|
}
|
|
|
|
void sub_8028EAC()
|
|
{
|
|
s32 temp;
|
|
|
|
if(sub_80144A4(&temp) != 0)
|
|
{
|
|
return;
|
|
}
|
|
if(sub_8012600() == 0)
|
|
{
|
|
sub_8012750();
|
|
sub_8028B04(0x19);
|
|
}
|
|
}
|
|
|
|
void sub_8028ED4()
|
|
{
|
|
s32 temp;
|
|
|
|
if(sub_80144A4(&temp) != 0)
|
|
{
|
|
return;
|
|
}
|
|
if(temp == 8)
|
|
{
|
|
sub_8028B04(0xB);
|
|
}
|
|
else
|
|
{
|
|
switch(temp){
|
|
case 0x8:
|
|
sub_8028B04(0x2);
|
|
break;
|
|
case 0x9:
|
|
case 0xA:
|
|
sub_8028B04(0x2);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
void sub_8028F04()
|
|
{
|
|
s32 temp;
|
|
s32 counter;
|
|
|
|
if(sub_80144A4(&temp) != 0)
|
|
{
|
|
return;
|
|
}
|
|
for(counter = 0; counter <= 0x1F; counter++)
|
|
{
|
|
sub_8095240(counter);
|
|
}
|
|
sub_8028B04(0x15);
|
|
}
|
|
|
|
void sub_8028F30()
|
|
{
|
|
s32 temp;
|
|
|
|
if(sub_80144A4(&temp) != 0)
|
|
{
|
|
return;
|
|
}
|
|
sub_8028B04(0x16);
|
|
sub_8011C28(1);
|
|
sub_8012574(0);
|
|
}
|
|
|
|
void sub_8028F58()
|
|
{
|
|
s32 temp;
|
|
|
|
if(sub_80144A4(&temp) != 0)
|
|
{
|
|
return;
|
|
}
|
|
if(sub_8012600() == 0)
|
|
{
|
|
sub_8012750();
|
|
sub_8028B04(2);
|
|
}
|
|
}
|
|
|
|
void sub_8028F80()
|
|
{
|
|
s32 temp;
|
|
|
|
if(sub_80144A4(&temp) != 0)
|
|
{
|
|
return;
|
|
}
|
|
sub_809927C(gUnknown_203B2C0[0x86]);
|
|
gUnknown_203B2C0[335] = 1;
|
|
sub_8028B04(3);
|
|
}
|
|
|
|
void sub_8028FC0()
|
|
{
|
|
s32 temp;
|
|
|
|
if(sub_80144A4(&temp) != 0)
|
|
{
|
|
return;
|
|
}
|
|
sub_8028B04(1);
|
|
}
|
|
|