private void DisassmRow(ItemRowEntry row, ItemRowEntry nextRow)
        {
            result.AppendLine("; ------------------------------");

            // Label for map row (for previous row to reference)
            result.AppendLine(GetRowLabel(row.MapY) + ":");
            // Byte specifies which row this represents
            result.AppendLine(Pad16(byteCode + " " + FormatByte(row.MapY)));

            result.AppendLine();

            // Word, pointer to nexn row, or FFFF if last row
            if (nextRow == null)   // Last Row
            {
                WriteLine(wordCode + " " + FormatWord(0xFFFF), "Last row of item data");
            }
            else
            {
                WriteLine(wordCode + " " + GetRowLabel(nextRow.MapY), "Pointer to next row's data");
            }

            var seeker = row.Seek();

            DisassmScreen(seeker);
            while (seeker.MoreScreensPresent)
            {
                seeker.NextScreen();
                DisassmScreen(seeker);
            }
        }
示例#2
0
        private void LoadRow(ItemRowEntry row)
        {
            var seeker = row.Seek();

            LoadScreen(seeker, row.MapY);
            while (seeker.MoreScreensPresent)
            {
                seeker.NextScreen();
                LoadScreen(seeker, row.MapY);
            }
        }