public void Assemble(ref int offsetStart) { int pointerOffset = (index * 2) + 0x20E000; Bits.SetShort(rom, pointerOffset, offsetStart); int offset = offsetStart + 0x200000; rom[offset++] = music; Bits.SetShort(rom, offset, entranceEvent); offset += 2; offsetStart = (ushort)(offset - 0x200000); // no exit fields for level if (events.Count == 0) { return; } // foreach (Event EVENT in events) { EVENT.Assemble(rom, offset); offset += 5; if (EVENT.Width > 0) { offset++; } } offsetStart = (ushort)(offset - 0x200000); }