Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
 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();
 }
Ejemplo n.º 3
0
 public void Write(ROM rom)
 {
     rom.PushOffset(addr);
     from.Write(rom);
     to.Write(rom);
     rom.PopOffset();
 }
Ejemplo n.º 4
0
 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
 }
Ejemplo n.º 5
0
 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();
 }
Ejemplo n.º 6
0
        // 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();
        }
Ejemplo n.º 7
0
 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;
 }
Ejemplo n.º 8
0
        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();
        }
Ejemplo n.º 9
0
        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();
        }