Beispiel #1
0
        public void LoadOverworldTiles()
        {
            overworld.AssembleMap16Tiles(true, path);
            int palettesOW_Addr       = ConstantsReader.GetAddress("overworldMapPalette");
            int spritepalettesOW_Addr = ConstantsReader.GetAddress("overworldSpritePalette");
            int spritesetOW_Addr      = ConstantsReader.GetAddress("overworldSpriteset");
            int mapsizeOW_Addr        = ConstantsReader.GetAddress("overworldMapSize");
            int messageOW_Addr        = ConstantsReader.GetAddress("overworldMessages");
            int blocksetOW_Addr       = ConstantsReader.GetAddress("mapGfx");



            for (int i = 0; i < 160; i++)
            {
                all_maps[i] = JsonConvert.DeserializeObject <MapSave>(File.ReadAllText(path + @"//Overworld//Maps//Map" + i.ToString("D3") + ".json"));

                overworld.AllMapTilesFromMap(i, all_maps[i].tiles);
                if (i == 159)
                {
                    string s    = "";
                    int    tpos = 0;
                    for (int y = 0; y < 16; y++)
                    {
                        for (int x = 0; x < 16; x++)
                        {
                            Tile32 map16 = new Tile32(all_maps[i].tiles[(x * 2), (y * 2)], all_maps[i].tiles[(x * 2) + 1, (y * 2)], all_maps[i].tiles[(x * 2), (y * 2) + 1], all_maps[i].tiles[(x * 2) + 1, (y * 2) + 1]);
                            s += "[" + map16.tile0.ToString("D4") + "," + map16.tile1.ToString("D4") + "," + map16.tile2.ToString("D4") + "," + map16.tile3.ToString("D4") + "] ";
                            tpos++;
                        }
                        s += "\r\n";
                    }
                    //File.WriteAllText("TileDebug2.txt", s);
                }
            }

            for (int i = 0; i < 136; i++)
            {
                //Need to finish importing stuff here !
                ROM.DATA[(0x1EF800 + DataOffset) + i] = all_maps[i].tileTypeSet;


                ROM.DATA[palettesOW_Addr + i]          = (byte)(all_maps[i].palette >> 2); // why the >> 2 ¯\_(ツ)_/¯
                ROM.DATA[blocksetOW_Addr + i]          = all_maps[i].blockset;
                ROM.DATA[spritesetOW_Addr + i]         = all_maps[i].spriteset;
                ROM.DATA[spritepalettesOW_Addr + i]    = all_maps[i].sprite_palette;
                ROM.DATA[messageOW_Addr + (i * 2) + 1] = (byte)((all_maps[i].msgid >> 8) & 0xFF);
                ROM.DATA[messageOW_Addr + (i * 2)]     = (byte)(all_maps[i].msgid & 0xFF);
            }
            //ROM.DATA[mapsizeOW_Addr + i] = (byte)(all_maps[i].largeMap?0:1);
            byte[] largemaps = getLargeMaps();
            //overworld.createMap32TilesFrom16();
            //overworld.savemapstorom();
            overworld.savemapstoromNEW(all_maps);

            //WriteLog("Overworld tiles data loaded properly", Color.Green);
        }
Beispiel #2
0
        public void LoadOverworldTiles()
        {
            try
            {
                GFX.gfxdata = Compression.DecompressTiles();
                overworld.AssembleMap16Tiles();
                overworld.AssembleMap32Tiles();

                overworld.DecompressAllMapTiles();  //need to change
                overworld.createMap32TilesFrom16(); //need to change
                //WriteLog("Overworld tiles data loaded properly", Color.Green);
            }
            catch (Exception e)
            {
                //WriteLog("Error : " + e.Message.ToString(), Color.Red);
            }
        }