mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-02-07 08:05:23 +13:00
made changes in repo
hg-commit-id: 1145e088ee27
This commit is contained in:
parent
21caa525cc
commit
4d0797bc3a
30 changed files with 1748 additions and 0 deletions
83
music/pokeredmusicdisasm/Jump.cpp
Normal file
83
music/pokeredmusicdisasm/Jump.cpp
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
#include <sstream>
|
||||
#include "Jump.h"
|
||||
using namespace std;
|
||||
|
||||
Jump::Jump()
|
||||
{
|
||||
address = 0x0000;
|
||||
loop = 0;
|
||||
}
|
||||
|
||||
Jump::Jump(unsigned char* byte) // Parse Immidiately
|
||||
{
|
||||
Parse(byte);
|
||||
}
|
||||
|
||||
Jump::Jump(unsigned short value, unsigned char loop, bool) // Set value
|
||||
{
|
||||
SetAddress(value);
|
||||
SetLoop(loop);
|
||||
}
|
||||
|
||||
unsigned short Jump::GetAddress()
|
||||
{
|
||||
return address;
|
||||
}
|
||||
|
||||
void Jump::SetAddress(unsigned short value)
|
||||
{
|
||||
address = value;
|
||||
}
|
||||
|
||||
unsigned char Jump::GetLoop()
|
||||
{
|
||||
return loop;
|
||||
}
|
||||
|
||||
void Jump::SetLoop(unsigned char value)
|
||||
{
|
||||
loop = value;
|
||||
}
|
||||
|
||||
string Jump::GenAsm()
|
||||
{
|
||||
string tmpRet = AbstractData::GenAsm();
|
||||
if(tmpRet != "") return tmpRet;
|
||||
|
||||
stringstream tmpAsmOut;
|
||||
tmpAsmOut << "mus_jump" << " " << (short)loop << ", $" << hex << uppercase << address;
|
||||
return tmpAsmOut.str();
|
||||
}
|
||||
|
||||
bool Jump::IsValid(unsigned char* byte)
|
||||
{
|
||||
if(byte[0] == 0xFE)
|
||||
{
|
||||
error = false;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
error = true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool Jump::Parse(unsigned char* byte)
|
||||
{
|
||||
if(!AbstractData::Parse(byte)) return false;
|
||||
|
||||
loop = byte[1];
|
||||
|
||||
address = byte[3];
|
||||
address <<= 8;
|
||||
address |= byte[2];
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
unsigned int Jump::Arguments()
|
||||
{
|
||||
// 1 1-byte command, 1 1-byte loop, 1 2-byte pointer = 4 bytes
|
||||
return 3;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue