예제 #1
0
        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);
        }