public MarioColor(ROM rom, int ramAddr, Color color) { rom.PushOffset(0); int bank4ROMStart = rom.Read32(bank4ROMStartPtr); rom.PopOffset(); this.addr = ramAddr - bank4RAMStart + bank4ROMStart; rom.PushOffset(addr); this.color = Color.FromArgb(0, color.R, color.B, color.G);; rom.PopOffset(); }
public void Write(ROM rom) { Console.WriteLine("Writing: " + this.seqNumber.ToString("X") + " into: " + this.addr.ToString() + ", offset: " + this.musicOffset); rom.PushOffset(addr); rom.Write8(seqNumber, musicOffset); rom.PopOffset(); }
public void Write(ROM rom) { rom.PushOffset(addr); from.Write(rom); to.Write(rom); rom.PopOffset(); }
public Song(ROM rom, int addr, int offset) { rom.PushOffset(addr); this.seqNumber = rom.Read8(offset); // Read the Sequence number rom.PopOffset(); this.addr = addr; this.musicOffset = offset; // 0x03 for menu music, 0x05 for course music }
public void Write(ROM rom) { rom.PushOffset(addr); rom.Write8(color.R, 0); rom.Write8(color.B, 1); rom.Write8(color.G, 2); rom.Write8(color.A, 3); rom.PopOffset(); }
// If gs code looks like this //8107EC40 RRBB //8107EC42 GG00 // passed address should be 7EC40 public MarioColor(ROM rom, int ramAddr) { int bank4ROMStart = rom.Read32(bank4ROMStartPtr); this.addr = ramAddr - bank4RAMStart + bank4ROMStart; rom.PushOffset(addr); color = Color.FromArgb(0x00, rom.Read8(0), rom.Read8(2), rom.Read8(1)); rom.PopOffset(); }
public Warp(byte area, int level, ROM rom, int addr) { this.area = area; this.course = level; rom.PushOffset(addr); this.from = new WarpFrom(rom); this.to = new WarpTo(rom); rom.PopOffset(); this.addr = addr; }
public void Write(ROM rom) { rom.PushOffset(addr); position.Write(rom); rotation.Write(rom); rom.Write8(act, 2); rom.Write8(model, 3); rom.Write32(bparams, 16); rom.Write32(behaviour, 20); rom.PopOffset(); }
public Object(byte area, int level, ROM rom, int addr) { this.area = area; this.level = level; rom.PushOffset(addr); position = new ObjectPosition(rom); rotation = new ObjectRotation(rom); act = rom.Read8(2); model = rom.Read8(3); bparams = rom.Read32(16); behaviour = rom.Read32(20); this.addr = addr; rom.PopOffset(); }