Beispiel #1
0
        private void DumpAreaData(LevelIndex area, DumpInsertType dataType)
        {
            if (area == LevelIndex.None)
            {
                throw new InvalidOperationException("Can not dump area data for LevelIndex.None");
            }

            var areaJson = GetAreaData(area);
            var areaData = rom.Levels[area];


            switch (dataType)
            {
            case DumpInsertType.CHR:
                areaJson["chr"] = GetChrJson(areaData);
                break;

            case DumpInsertType.CHRAnimation:
                if (rom.Format.HasChrUsageTable)
                {
                    areaJson["chrUsage"] = GetChrUsageJson(area);
                }
                else if (rom.Format.HasChrAnimationTable)
                {
                    areaJson["chrAnimation"] = GetChrAnimationJson(areaData);
                }
                break;

            case DumpInsertType.Item:
                areaJson.Add("items", GetItemsJson(areaData));
                break;

            case DumpInsertType.Palette:
                areaJson["palette"] = GetPaletteJson(areaData);
                break;

            case DumpInsertType.Combo:
                areaJson["comboData"] = GetCombosAsBase64(areaData);
                break;

            case DumpInsertType.Structure:
                areaJson["structures"] = GetStructureJson(areaData);
                break;

            case DumpInsertType.Screen:
                areaJson["screens"] = GetScreenJson(areaData);
                break;

            case DumpInsertType.AltMusic:
                areaJson["altMusic"] = getAltMusicJson(areaData);
                break;

            case DumpInsertType.Asm:
                areaJson["screenLoadRoutines"] = GetScreenloadJson(areaData);
                break;

            case DumpInsertType.TilePhysics:
                if (rom.Format.SupportsCustomTilePhysics)
                {
                    areaJson["tilePhysics"] = GetTilePhysicsJson(areaData);
                }
                break;

            default:
                throw new ArgumentException("Invalid DumpInsertType for level data: " + dataType.ToString());
            }
        }
Beispiel #2
0
 public DumpInsertItem(LevelIndex area, DumpInsertType type)
     : this()
 {
     this.Area     = area;
     this.DataType = type;
 }
Beispiel #3
0
 private void DumpGlobalData(DumpInsertType dumpInsertType)
 {
 }