public void pre_load_block_data(platform_data.EPlatformType _prj_platform)
        {
            if (_prj_platform == platform_data.EPlatformType.pt_NES && platform_data.get_platform_type() != platform_data.EPlatformType.pt_NES)
            {
                m_dict_CHR_palette_ind = new Dictionary <int, int>(platform_data.get_max_blocks_UINT_cnt());
            }

            m_map_data_app_src = map_data_config_provider.config_app(_prj_platform);
            m_map_data_app_dst = map_data_config_provider.config_app(platform_data.get_platform_type());

            if (m_inner_tiles_data == null)
            {
                m_inner_tiles_data = new List <tiles_data>(16);
            }

            tiles_data inner_tiles_data = new tiles_data(true);

            inner_tiles_data.palettes_arr.Clear();

            m_inner_tiles_data.Add(inner_tiles_data);

            if (m_palettes != null)
            {
                inner_tiles_data.palettes_arr.AddRange(m_palettes);

                m_palettes.Clear();
                m_palettes = null;
            }
        }
Esempio n. 2
0
        public uint repack(map_data_config_base _src, uint _map_data)
        {
            uint res = 0;

            bit_field bf_src;
            bit_field bf_dst;

            for (int i = 0; i < m_data.Length; i++)
            {
                bf_src = _src.m_data[i];
                bf_dst = m_data[i];

                if (bf_src.valid() && bf_dst.valid())
                {
                    res |= bf_dst.pack(bf_src.unpack(_map_data));
                }
            }

            return(res);
        }