mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-11-16 11:37:40 +01:00
Partial implementation of MEMACC command
This commit is contained in:
parent
d86b290419
commit
7522d2e16a
@ -38,6 +38,9 @@ static bool s_noteChanged;
|
|||||||
static bool s_velocityChanged;
|
static bool s_velocityChanged;
|
||||||
static bool s_inPattern;
|
static bool s_inPattern;
|
||||||
static int s_extendedCommand;
|
static int s_extendedCommand;
|
||||||
|
static int s_memaccOp;
|
||||||
|
static int s_memaccParam1;
|
||||||
|
static int s_memaccParam2;
|
||||||
|
|
||||||
void PrintAgbHeader()
|
void PrintAgbHeader()
|
||||||
{
|
{
|
||||||
@ -247,6 +250,84 @@ void PrintSeqLoopLabel(const Event& event)
|
|||||||
ResetTrackVars();
|
ResetTrackVars();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PrintMemAcc(const Event& event)
|
||||||
|
{
|
||||||
|
switch (s_memaccOp)
|
||||||
|
{
|
||||||
|
case 0x00:
|
||||||
|
PrintByte("MEMACC, mem_set, 0x%02X, %u", s_memaccParam1, event.param2);
|
||||||
|
break;
|
||||||
|
case 0x01:
|
||||||
|
PrintByte("MEMACC, mem_add, 0x%02X, %u", s_memaccParam1, event.param2);
|
||||||
|
break;
|
||||||
|
case 0x02:
|
||||||
|
PrintByte("MEMACC, mem_sub, 0x%02X, %u", s_memaccParam1, event.param2);
|
||||||
|
break;
|
||||||
|
case 0x03:
|
||||||
|
PrintByte("MEMACC, mem_mem_set, 0x%02X, 0x%02X", s_memaccParam1, event.param2);
|
||||||
|
break;
|
||||||
|
case 0x04:
|
||||||
|
PrintByte("MEMACC, mem_mem_add, 0x%02X, 0x%02X", s_memaccParam1, event.param2);
|
||||||
|
break;
|
||||||
|
case 0x05:
|
||||||
|
PrintByte("MEMACC, mem_mem_sub, 0x%02X, 0x%02X", s_memaccParam1, event.param2);
|
||||||
|
break;
|
||||||
|
// TODO: everything else
|
||||||
|
case 0x06:
|
||||||
|
break;
|
||||||
|
case 0x07:
|
||||||
|
break;
|
||||||
|
case 0x08:
|
||||||
|
break;
|
||||||
|
case 0x09:
|
||||||
|
break;
|
||||||
|
case 0x0A:
|
||||||
|
break;
|
||||||
|
case 0x0B:
|
||||||
|
break;
|
||||||
|
case 0x0C:
|
||||||
|
break;
|
||||||
|
case 0x0D:
|
||||||
|
break;
|
||||||
|
case 0x0E:
|
||||||
|
break;
|
||||||
|
case 0x0F:
|
||||||
|
break;
|
||||||
|
case 0x10:
|
||||||
|
break;
|
||||||
|
case 0x11:
|
||||||
|
break;
|
||||||
|
case 0x46:
|
||||||
|
break;
|
||||||
|
case 0x47:
|
||||||
|
break;
|
||||||
|
case 0x48:
|
||||||
|
break;
|
||||||
|
case 0x49:
|
||||||
|
break;
|
||||||
|
case 0x4A:
|
||||||
|
break;
|
||||||
|
case 0x4B:
|
||||||
|
break;
|
||||||
|
case 0x4C:
|
||||||
|
break;
|
||||||
|
case 0x4D:
|
||||||
|
break;
|
||||||
|
case 0x4E:
|
||||||
|
break;
|
||||||
|
case 0x4F:
|
||||||
|
break;
|
||||||
|
case 0x50:
|
||||||
|
break;
|
||||||
|
case 0x51:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
PrintWait(event.time);
|
||||||
|
}
|
||||||
|
|
||||||
void PrintExtendedOp(const Event& event)
|
void PrintExtendedOp(const Event& event)
|
||||||
{
|
{
|
||||||
// TODO: support for other extended commands
|
// TODO: support for other extended commands
|
||||||
@ -280,16 +361,19 @@ void PrintControllerOp(const Event& event)
|
|||||||
break;
|
break;
|
||||||
case 0x0C:
|
case 0x0C:
|
||||||
case 0x10:
|
case 0x10:
|
||||||
// TODO: memacc
|
PrintMemAcc(event);
|
||||||
break;
|
break;
|
||||||
case 0x0D:
|
case 0x0D:
|
||||||
// TODO: memacc var
|
s_memaccOp = event.param2;
|
||||||
|
PrintWait(event.time);
|
||||||
break;
|
break;
|
||||||
case 0x0E:
|
case 0x0E:
|
||||||
// TODO: memacc var
|
s_memaccParam1 = event.param2;
|
||||||
|
PrintWait(event.time);
|
||||||
break;
|
break;
|
||||||
case 0x0F:
|
case 0x0F:
|
||||||
// TODO: memacc var
|
s_memaccParam2 = event.param2;
|
||||||
|
PrintWait(event.time);
|
||||||
break;
|
break;
|
||||||
case 0x11:
|
case 0x11:
|
||||||
std::fprintf(g_outputFile, "%s_%u_L%u:\n", g_asmLabel.c_str(), g_agbTrack, event.param2);
|
std::fprintf(g_outputFile, "%s_%u_L%u:\n", g_asmLabel.c_str(), g_agbTrack, event.param2);
|
||||||
|
Loading…
Reference in New Issue
Block a user