Exemple #1
0
        public void getMapArea(int index, int group, int season, Program.GameTypes game)
        {
            //CC2D - map group
            //CC30 - map index
            //CD24 - map area
            //FF8D - area | 0x80, and later that & 0x7f - compression type?
            //FF8B - area

            int indexBase = 0x10000 + (game == Program.GameTypes.Ages ? 0x0F9C : 0x0C84);

            //4:6d7a - start of procedure
            gb.BufferLocation = 0x10000 + (game == Program.GameTypes.Ages ? 0x12D4 : 0x133C) + (group * 2);
            //6da1
            gb.BufferLocation = 0x10000 + gb.ReadByte() + ((gb.ReadByte() - 0x40) * 0x100) + index;
            byte a    = gb.ReadByte();
            byte area = (byte)(a & 0x7F);

            gb.BufferLocation = indexBase + area * 8;
            if (game == Program.GameTypes.Seasons)
            {
                if (gb.ReadByte() == 0xFF)
                {
                    gb.BufferLocation  = 0x10000 + gb.ReadByte() + ((gb.ReadByte() - 0x40) * 0x100);
                    gb.BufferLocation += season * 8;
                }
                else
                {
                    gb.BufferLocation--;
                }
            }
            AreaLoader.Area ar = new AreaLoader.Area();
            ar        = areaLoader.loadArea(gb.BufferLocation, area, game);
            room.area = ar;
        }
Exemple #2
0
        private void nArea_ValueChanged(object sender, EventArgs e)
        {
            int indexBase = 0x10000 + (game == Program.GameTypes.Ages ? 0x0F9C : 0x0C84);

            if (gb.ReadByte(indexBase) == 0xFF)
            {
                indexBase = 0x10000 + gb.ReadByte() + ((gb.ReadByte() - 0x40) * 0x100);
            }
            AreaLoader.Area a = areaLoader.loadArea(indexBase + (int)nArea.Value * 8, (int)nArea.Value, game);
            nDungeon.Value = (byte)(a.flags1 & 0xF);
            int flag = a.flags2;

            checkBox1.Checked = (flag & 1) != 0;
            checkBox2.Checked = (flag & 2) != 0;
            checkBox3.Checked = (flag & 4) != 0;
            checkBox4.Checked = (flag & 8) != 0;
            checkBox5.Checked = (flag & 16) != 0;
            checkBox7.Checked = (flag & 32) != 0;
            checkBox8.Checked = (flag & 64) != 0;
            checkBox9.Checked = (flag & 128) != 0;
        }