From 22dd4dd67b14ac2abe13efbddfff8d1c6137b2fc Mon Sep 17 00:00:00 2001 From: Ykkrosh Date: Tue, 29 Mar 2005 20:50:04 +0000 Subject: [PATCH] Entities: Removed Tag attribute; it is taken from the filename instead. Made entity XML files be loaded on demand. Probably stopped crash when maps contain non-existent entities. Fixed a few bugs in entity definitions. Maps: Stored non-entity objects in XML instead of PMP, for easier manual editing. Updated existing maps to newest format, so that they can still work. Added undocumented _rewriteMaps() JS function. Also renamed _mem to vmem, and reclassified its undocumentedness as unintentional, since it's reasonably useful. Loader: added NonprogressiveLoad function, for ScEd/_rewriteMaps/etc which don't care about progressiveness. main.cpp: re-enabled vfs_display, since it doesn't crash now Vector3D: stopped warning This was SVN commit r2078. --- .../official/entities/gaia/template_gaia.xml | 2 +- .../entities/gaia/template_gaia_fauna.xml | 2 +- .../entities/gaia/template_gaia_flora.xml | 2 +- .../gaia/template_gaia_flora_plant.xml | 2 +- .../gaia/template_gaia_flora_tree.xml | 2 +- .../gaia/template_gaia_flora_tree_pine.xml | 2 +- .../entities/gaia/template_gaia_geo.xml | 2 +- .../gaia/template_gaia_geo_mineral.xml | 2 +- .../entities/gaia/template_gaia_geo_rock.xml | 2 +- .../entities/gaia/template_gaia_special.xml | 2 +- .../gaia/template_gaia_special_building.xml | 2 +- .../official/entities/gaia/template_tree.xml | 2 +- .../entities/gaia/wrld_flora_pine_8.xml | 2 +- .../entities/gaia/wrld_flora_pine_9.xml | 2 +- .../entities/gaia/wrld_special_st1.xml | 2 +- .../entities/other/template_other.xml | 2 +- .../other/template_other_projectile.xml | 2 +- .../entities/other/template_other_special.xml | 2 +- .../official/entities/structures/celt_cc.xml | 2 +- .../official/entities/structures/celt_fc.xml | 2 +- .../official/entities/structures/celt_ff.xml | 2 +- .../official/entities/structures/celt_hc.xml | 2 +- .../official/entities/structures/celt_ho.xml | 2 +- .../official/entities/structures/celt_mc.xml | 2 +- .../official/entities/structures/celt_pc.xml | 2 +- .../official/entities/structures/celt_rc.xml | 2 +- .../official/entities/structures/celt_sb1.xml | 2 +- .../official/entities/structures/celt_tc.xml | 2 +- .../official/entities/structures/celt_tf.xml | 2 +- .../official/entities/structures/celt_wc.xml | 2 +- .../official/entities/structures/hele_cc.xml | 2 +- .../official/entities/structures/hele_fc.xml | 2 +- .../official/entities/structures/hele_ff.xml | 2 +- .../official/entities/structures/hele_hc.xml | 2 +- .../official/entities/structures/hele_ho.xml | 2 +- .../official/entities/structures/hele_mc.xml | 2 +- .../official/entities/structures/hele_pc.xml | 2 +- .../official/entities/structures/hele_rc.xml | 2 +- .../official/entities/structures/hele_sb1.xml | 2 +- .../official/entities/structures/hele_sb2.xml | 2 +- .../official/entities/structures/hele_tc.xml | 2 +- .../official/entities/structures/hele_tf.xml | 2 +- .../official/entities/structures/hele_wc.xml | 2 +- .../official/entities/structures/hele_wg.xml | 2 +- .../official/entities/structures/hele_wt.xml | 2 +- .../official/entities/structures/iber_cc.xml | 2 +- .../official/entities/structures/iber_fc.xml | 2 +- .../official/entities/structures/iber_ff.xml | 2 +- .../official/entities/structures/iber_hc.xml | 2 +- .../official/entities/structures/iber_ho.xml | 2 +- .../official/entities/structures/iber_mc.xml | 2 +- .../official/entities/structures/iber_pc.xml | 2 +- .../official/entities/structures/iber_rc.xml | 2 +- .../official/entities/structures/iber_tc.xml | 2 +- .../official/entities/structures/iber_tf.xml | 2 +- .../official/entities/structures/iber_wc.xml | 2 +- .../official/entities/structures/iber_wg.xml | 2 +- .../official/entities/structures/iber_wt.xml | 2 +- .../official/entities/structures/kart_cc.xml | 2 +- .../official/entities/structures/kart_fc.xml | 2 +- .../official/entities/structures/kart_ff.xml | 2 +- .../official/entities/structures/kart_hc.xml | 2 +- .../official/entities/structures/kart_ho.xml | 2 +- .../official/entities/structures/kart_mc.xml | 2 +- .../official/entities/structures/kart_pc.xml | 2 +- .../official/entities/structures/kart_rc.xml | 2 +- .../official/entities/structures/kart_tc.xml | 2 +- .../official/entities/structures/kart_tf.xml | 2 +- .../official/entities/structures/kart_wc.xml | 2 +- .../official/entities/structures/kart_wg.xml | 2 +- .../official/entities/structures/pers_cc.xml | 2 +- .../official/entities/structures/pers_fc.xml | 2 +- .../official/entities/structures/pers_ff.xml | 2 +- .../official/entities/structures/pers_hc.xml | 2 +- .../official/entities/structures/pers_ho.xml | 2 +- .../official/entities/structures/pers_mc.xml | 2 +- .../official/entities/structures/pers_pc.xml | 2 +- .../official/entities/structures/pers_rc.xml | 2 +- .../official/entities/structures/pers_sb1.xml | 2 +- .../official/entities/structures/pers_tc.xml | 2 +- .../official/entities/structures/pers_tf.xml | 2 +- .../official/entities/structures/pers_wc.xml | 2 +- .../official/entities/structures/pers_wg.xml | 2 +- .../official/entities/structures/pers_wt.xml | 2 +- .../official/entities/structures/rome_cc.xml | 2 +- .../official/entities/structures/rome_fc.xml | 2 +- .../official/entities/structures/rome_ff.xml | 2 +- .../official/entities/structures/rome_hc.xml | 2 +- .../official/entities/structures/rome_ho.xml | 2 +- .../official/entities/structures/rome_mc.xml | 2 +- .../official/entities/structures/rome_pc.xml | 2 +- .../official/entities/structures/rome_rc.xml | 2 +- .../official/entities/structures/rome_sb1.xml | 2 +- .../official/entities/structures/rome_sb2.xml | 2 +- .../official/entities/structures/rome_tc.xml | 2 +- .../official/entities/structures/rome_tf.xml | 2 +- .../official/entities/structures/rome_wc.xml | 2 +- .../official/entities/structures/rome_wg.xml | 2 +- .../official/entities/structures/rome_wt.xml | 2 +- .../structures/template_structure.xml | 2 +- .../structures/template_structure_norm.xml | 2 +- .../template_structure_norm_civic.xml | 2 +- .../template_structure_norm_civic_cc.xml | 2 +- .../template_structure_norm_civic_hc.xml | 2 +- .../template_structure_norm_civic_ho.xml | 2 +- .../template_structure_norm_civic_tf.xml | 2 +- .../template_structure_norm_civic_wc.xml | 2 +- .../template_structure_norm_civic_wg.xml | 2 +- .../template_structure_norm_civic_wt.xml | 2 +- .../template_structure_norm_economic.xml | 2 +- .../template_structure_norm_economic_fc.xml | 2 +- .../template_structure_norm_economic_rc.xml | 2 +- .../template_structure_norm_economic_tc.xml | 2 +- .../template_structure_norm_military.xml | 2 +- .../template_structure_norm_military_ff.xml | 2 +- .../template_structure_norm_military_mc.xml | 2 +- .../template_structure_norm_military_pc.xml | 2 +- .../template_structure_norm_special.xml | 2 +- .../template_structure_norm_special_sb.xml | 2 +- .../template_structure_resource.xml | 2 +- ...emplate_structure_resource_economic_fc.xml | 2 +- ...emplate_structure_resource_economic_fv.xml | 2 +- .../official/entities/template_corpse.xml | 2 +- .../official/entities/template_entity.xml | 2 +- .../official/entities/units/celt_cjv_a.xml | 2 +- .../official/entities/units/celt_cjv_b.xml | 2 +- .../official/entities/units/celt_cjv_e.xml | 2 +- .../official/entities/units/celt_csp_a.xml | 2 +- .../official/entities/units/celt_csp_b.xml | 2 +- .../official/entities/units/celt_csp_e.xml | 2 +- .../official/entities/units/celt_csw_a.xml | 2 +- .../official/entities/units/celt_csw_b.xml | 2 +- .../official/entities/units/celt_csw_e.xml | 2 +- .../mods/official/entities/units/celt_fem.xml | 2 +- .../official/entities/units/celt_ijv_a.xml | 2 +- .../official/entities/units/celt_ijv_b.xml | 2 +- .../official/entities/units/celt_ijv_e.xml | 2 +- .../official/entities/units/celt_isp_a.xml | 2 +- .../official/entities/units/celt_isp_b.xml | 2 +- .../official/entities/units/celt_isp_e.xml | 2 +- .../official/entities/units/celt_isw_a.xml | 4 +- .../official/entities/units/celt_isw_b.xml | 2 +- .../official/entities/units/celt_isw_e.xml | 4 +- .../mods/official/entities/units/celt_su1.xml | 2 +- .../mods/official/entities/units/celt_su2.xml | 2 +- .../mods/official/entities/units/celt_trd.xml | 2 +- .../units/combat_dude_carthaginian.xml | 2 +- .../entities/units/combat_dude_iberian.xml | 2 +- .../entities/units/combat_dude_roman.xml | 2 +- .../entities/units/combat_dude_roman_a.xml | 2 +- .../entities/units/combat_dude_roman_u.xml | 2 +- .../official/entities/units/hele_csw_b.xml | 2 +- .../mods/official/entities/units/hele_fem.xml | 2 +- .../official/entities/units/hele_iar_b.xml | 2 +- .../official/entities/units/hele_ijv_b.xml | 2 +- .../official/entities/units/hele_isl_b.xml | 2 +- .../official/entities/units/hele_isp_b.xml | 2 +- .../mods/official/entities/units/hele_su1.xml | 2 +- .../mods/official/entities/units/hele_su2.xml | 2 +- .../mods/official/entities/units/hele_trd.xml | 2 +- .../official/entities/units/iber_cjv_b.xml | 2 +- .../official/entities/units/iber_csw_b.xml | 2 +- .../mods/official/entities/units/iber_fem.xml | 2 +- .../official/entities/units/iber_ijv_b.xml | 2 +- .../official/entities/units/iber_isl_b.xml | 2 +- .../official/entities/units/iber_isp_b.xml | 2 +- .../official/entities/units/iber_isw_b.xml | 2 +- .../mods/official/entities/units/iber_su1.xml | 2 +- .../mods/official/entities/units/iber_su2.xml | 2 +- .../mods/official/entities/units/iber_trd.xml | 2 +- .../official/entities/units/kart_cjv_b.xml | 2 +- .../official/entities/units/kart_csp_b.xml | 2 +- .../official/entities/units/kart_csw_b.xml | 2 +- .../mods/official/entities/units/kart_fem.xml | 2 +- .../official/entities/units/kart_iar_b.xml | 2 +- .../official/entities/units/kart_ijv_b.xml | 2 +- .../official/entities/units/kart_isl_b.xml | 2 +- .../official/entities/units/kart_isp_b.xml | 2 +- .../official/entities/units/kart_isw_b.xml | 2 +- .../mods/official/entities/units/kart_su1.xml | 2 +- .../mods/official/entities/units/kart_su2.xml | 2 +- .../mods/official/entities/units/kart_trd.xml | 2 +- .../official/entities/units/pers_car_b.xml | 2 +- .../official/entities/units/pers_cjv_b.xml | 2 +- .../official/entities/units/pers_csp_b.xml | 2 +- .../official/entities/units/pers_csw_b.xml | 2 +- .../mods/official/entities/units/pers_fem.xml | 2 +- .../official/entities/units/pers_iar_b.xml | 2 +- .../official/entities/units/pers_ijv_b.xml | 2 +- .../official/entities/units/pers_isp_b.xml | 2 +- .../mods/official/entities/units/pers_su1.xml | 2 +- .../mods/official/entities/units/pers_su2.xml | 2 +- .../mods/official/entities/units/pers_trd.xml | 2 +- .../official/entities/units/rome_csp_b.xml | 2 +- .../mods/official/entities/units/rome_fem.xml | 2 +- .../official/entities/units/rome_ijv_b.xml | 2 +- .../official/entities/units/rome_isl_b.xml | 2 +- .../official/entities/units/rome_isp_b.xml | 2 +- .../official/entities/units/rome_isw_b.xml | 2 +- .../mods/official/entities/units/rome_su1.xml | 2 +- .../mods/official/entities/units/rome_su2.xml | 2 +- .../mods/official/entities/units/rome_trd.xml | 2 +- .../official/entities/units/template_unit.xml | 2 +- .../entities/units/template_unit_cavalry.xml | 2 +- .../units/template_unit_cavalry_melee.xml | 2 +- .../units/template_unit_cavalry_melee_csp.xml | 2 +- .../units/template_unit_cavalry_melee_csw.xml | 2 +- .../units/template_unit_cavalry_ranged.xml | 2 +- .../template_unit_cavalry_ranged_car.xml | 2 +- .../template_unit_cavalry_ranged_cjv.xml | 2 +- .../entities/units/template_unit_hero.xml | 2 +- .../entities/units/template_unit_infantry.xml | 2 +- .../units/template_unit_infantry_melee.xml | 2 +- .../template_unit_infantry_melee_isp.xml | 2 +- .../template_unit_infantry_melee_isw.xml | 2 +- .../units/template_unit_infantry_ranged.xml | 2 +- .../template_unit_infantry_ranged_iar.xml | 2 +- .../template_unit_infantry_ranged_ijv.xml | 2 +- .../template_unit_infantry_ranged_isl.xml | 2 +- .../units/template_unit_mechanical.xml | 2 +- .../units/template_unit_mechanical_ship.xml | 2 +- .../template_unit_mechanical_ship_bir.xml | 2 +- .../template_unit_mechanical_ship_mer.xml | 2 +- .../template_unit_mechanical_ship_qui.xml | 2 +- .../template_unit_mechanical_ship_tri.xml | 2 +- .../units/template_unit_mechanical_siege.xml | 2 +- .../template_unit_mechanical_siege_bal.xml | 2 +- .../template_unit_mechanical_siege_ong.xml | 2 +- .../template_unit_mechanical_siege_ram.xml | 2 +- .../units/template_unit_superunit.xml | 2 +- .../units/template_unit_superunit_scu.xml | 2 +- .../units/template_unit_superunit_siu.xml | 2 +- .../units/template_unit_superunit_ssu.xml | 2 +- .../entities/units/template_unit_support.xml | 2 +- .../units/template_unit_support_fem.xml | 2 +- .../units/template_unit_support_med.xml | 2 +- .../units/template_unit_support_trd.xml | 2 +- .../official/entities/units/test_dude.xml | 2 +- binaries/data/mods/official/maps/scenario.dtd | 8 +- .../maps/scenarios/celt_screenshot.pmp | 4 +- .../maps/scenarios/celt_screenshot.xml | 3 + .../maps/scenarios/celt_screenshot_2.pmp | 4 +- .../maps/scenarios/celt_screenshot_2.xml | 3 + .../maps/scenarios/celtic_corrals.pmp | 4 +- .../maps/scenarios/celtic_corrals.xml | 3 + .../official/maps/scenarios/combattest.pmp | 4 +- .../official/maps/scenarios/combattest.xml | 3 + .../official/maps/scenarios/default_grass.pmp | 2 +- .../official/maps/scenarios/default_grass.xml | 3 + .../maps/scenarios/just abit of romans.pmp | 4 +- .../maps/scenarios/just abit of romans.xml | 3 + .../maps/scenarios/michael_celts_06102004.pmp | 4 +- .../maps/scenarios/michael_celts_06102004.xml | 3 + .../maps/scenarios/mountains_galore.pmp | 4 +- .../maps/scenarios/mountains_galore.xml | 3 + .../maps/scenarios/mountains_night.pmp | 4 +- .../maps/scenarios/mountains_night.xml | 3 + .../data/mods/official/maps/scenarios/ph.pmp | 4 +- .../data/mods/official/maps/scenarios/ph.xml | 3 + .../data/mods/official/maps/scenarios/ph2.pmp | 4 +- .../data/mods/official/maps/scenarios/ph2.xml | 4 +- .../official/maps/scenarios/randomactor.pmp | 4 +- .../official/maps/scenarios/randomactor.xml | 4 +- .../mods/official/maps/scenarios/sheild.pmp | 4 +- .../mods/official/maps/scenarios/sheild.xml | 4 +- .../mods/official/maps/scenarios/snowPR3.pmp | 4 +- .../mods/official/maps/scenarios/snowPR3.xml | 3 + .../mods/official/maps/scenarios/test01.pmp | 4 +- .../mods/official/maps/scenarios/test01.xml | 3 + .../official/maps/scenarios/wijit_terrain.pmp | 4 +- .../official/maps/scenarios/wijit_terrain.xml | 3 + source/graphics/MapReader.cpp | 117 +++++++++++---- source/graphics/MapWriter.cpp | 136 ++++++++---------- source/graphics/MapWriter.h | 9 +- source/graphics/ObjectBase.cpp | 11 +- source/graphics/ObjectBase.h | 4 +- source/graphics/ObjectEntry.cpp | 2 +- source/graphics/ObjectManager.cpp | 28 +--- source/graphics/ObjectManager.h | 2 - source/main.cpp | 2 +- .../maths/scripting/JSInterface_Vector3D.cpp | 2 +- source/ps/FilePacker.cpp | 12 +- source/ps/Loader.cpp | 23 +++ source/ps/Loader.h | 4 + source/ps/VFSUtil.cpp | 2 +- source/ps/VFSUtil.h | 2 +- source/scripting/ScriptGlue.cpp | 16 ++- source/scripting/ScriptGlue.h | 7 +- source/simulation/BaseEntity.cpp | 16 +-- source/simulation/BaseEntityCollection.cpp | 111 ++++++-------- source/simulation/BaseEntityCollection.h | 6 +- source/simulation/EntityManager.cpp | 3 + source/tools/sced/EditorData.cpp | 10 +- source/tools/sced/ui/MainFrm.cpp | 12 +- 294 files changed, 607 insertions(+), 531 deletions(-) create mode 100644 binaries/data/mods/official/maps/scenarios/celt_screenshot.xml create mode 100644 binaries/data/mods/official/maps/scenarios/celt_screenshot_2.xml create mode 100644 binaries/data/mods/official/maps/scenarios/celtic_corrals.xml create mode 100644 binaries/data/mods/official/maps/scenarios/combattest.xml create mode 100644 binaries/data/mods/official/maps/scenarios/default_grass.xml create mode 100644 binaries/data/mods/official/maps/scenarios/just abit of romans.xml create mode 100644 binaries/data/mods/official/maps/scenarios/michael_celts_06102004.xml create mode 100644 binaries/data/mods/official/maps/scenarios/mountains_galore.xml create mode 100644 binaries/data/mods/official/maps/scenarios/mountains_night.xml create mode 100644 binaries/data/mods/official/maps/scenarios/ph.xml create mode 100644 binaries/data/mods/official/maps/scenarios/snowPR3.xml create mode 100644 binaries/data/mods/official/maps/scenarios/test01.xml create mode 100644 binaries/data/mods/official/maps/scenarios/wijit_terrain.xml diff --git a/binaries/data/mods/official/entities/gaia/template_gaia.xml b/binaries/data/mods/official/entities/gaia/template_gaia.xml index 80460f572b..3f27974d39 100755 --- a/binaries/data/mods/official/entities/gaia/template_gaia.xml +++ b/binaries/data/mods/official/entities/gaia/template_gaia.xml @@ -1,6 +1,6 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/binaries/data/mods/official/entities/structures/kart_cc.xml b/binaries/data/mods/official/entities/structures/kart_cc.xml index 939dd0cfd9..34541335e4 100644 --- a/binaries/data/mods/official/entities/structures/kart_cc.xml +++ b/binaries/data/mods/official/entities/structures/kart_cc.xml @@ -1,6 +1,6 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/binaries/data/mods/official/entities/template_entity.xml b/binaries/data/mods/official/entities/template_entity.xml index 5a319b11e2..caf4f4b556 100755 --- a/binaries/data/mods/official/entities/template_entity.xml +++ b/binaries/data/mods/official/entities/template_entity.xml @@ -1,6 +1,6 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - Celtic Advanced Swordsman Cavalry + units/celt_isw_a.xml diff --git a/binaries/data/mods/official/entities/units/celt_isw_b.xml b/binaries/data/mods/official/entities/units/celt_isw_b.xml index 700359a085..eee117f5ea 100644 --- a/binaries/data/mods/official/entities/units/celt_isw_b.xml +++ b/binaries/data/mods/official/entities/units/celt_isw_b.xml @@ -1,6 +1,6 @@ - + - + - units/celt_csw_e.xml + units/celt_isw_e.xml diff --git a/binaries/data/mods/official/entities/units/celt_su1.xml b/binaries/data/mods/official/entities/units/celt_su1.xml index 48bea293e9..e21af2f238 100644 --- a/binaries/data/mods/official/entities/units/celt_su1.xml +++ b/binaries/data/mods/official/entities/units/celt_su1.xml @@ -1,6 +1,6 @@ - + - + - + - + units/dude4.xml - + units/dude2.xml - + units/dude1.xml - + units/dude1.xml - + units/dude1.xml - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + test_dude.xml diff --git a/binaries/data/mods/official/maps/scenario.dtd b/binaries/data/mods/official/maps/scenario.dtd index 54befdeb85..4558a3affd 100644 --- a/binaries/data/mods/official/maps/scenario.dtd +++ b/binaries/data/mods/official/maps/scenario.dtd @@ -1,4 +1,4 @@ - + @@ -18,3 +18,9 @@ + + + + + + diff --git a/binaries/data/mods/official/maps/scenarios/celt_screenshot.pmp b/binaries/data/mods/official/maps/scenarios/celt_screenshot.pmp index f87cfd2913..95fc6c5aba 100644 --- a/binaries/data/mods/official/maps/scenarios/celt_screenshot.pmp +++ b/binaries/data/mods/official/maps/scenarios/celt_screenshot.pmp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:51bc6562bca6d5824d3a9aa61ca0a23f8875244e416e580636ad2a37bf79a366 -size 757366 +oid sha256:9314c99cd41301c8136834226790760f5a1931d3d1d1938077317d10d0fb0983 +size 741637 diff --git a/binaries/data/mods/official/maps/scenarios/celt_screenshot.xml b/binaries/data/mods/official/maps/scenarios/celt_screenshot.xml new file mode 100644 index 0000000000..0826bd575a --- /dev/null +++ b/binaries/data/mods/official/maps/scenarios/celt_screenshot.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f2c4fba62eca27826bba575922afce3b33a9c2df25c099226359e73c11b4762 +size 32479 diff --git a/binaries/data/mods/official/maps/scenarios/celt_screenshot_2.pmp b/binaries/data/mods/official/maps/scenarios/celt_screenshot_2.pmp index 6a3886cc4d..559956bd4d 100644 --- a/binaries/data/mods/official/maps/scenarios/celt_screenshot_2.pmp +++ b/binaries/data/mods/official/maps/scenarios/celt_screenshot_2.pmp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7b2fdf5e9a9918410ca27c2edb4e274f44f03ef4da75c1ce7f82975abb225d3b -size 757366 +oid sha256:760757d4fae9f63ed4d0e5a7ec935b6ba87c2e0339455d2dc68807bd8d727ad2 +size 741637 diff --git a/binaries/data/mods/official/maps/scenarios/celt_screenshot_2.xml b/binaries/data/mods/official/maps/scenarios/celt_screenshot_2.xml new file mode 100644 index 0000000000..0826bd575a --- /dev/null +++ b/binaries/data/mods/official/maps/scenarios/celt_screenshot_2.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f2c4fba62eca27826bba575922afce3b33a9c2df25c099226359e73c11b4762 +size 32479 diff --git a/binaries/data/mods/official/maps/scenarios/celtic_corrals.pmp b/binaries/data/mods/official/maps/scenarios/celtic_corrals.pmp index 06a1b8e898..c50341e313 100644 --- a/binaries/data/mods/official/maps/scenarios/celtic_corrals.pmp +++ b/binaries/data/mods/official/maps/scenarios/celtic_corrals.pmp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c92fa97cce3e52f131e91229bbe971f4a8ac0a74633867eeac5f12dc70b90c5 -size 757912 +oid sha256:dd80187409754e22c4ca212bb72dc8efae4defe757ff36b5b26b41205f50cc56 +size 741500 diff --git a/binaries/data/mods/official/maps/scenarios/celtic_corrals.xml b/binaries/data/mods/official/maps/scenarios/celtic_corrals.xml new file mode 100644 index 0000000000..ff67e90c5b --- /dev/null +++ b/binaries/data/mods/official/maps/scenarios/celtic_corrals.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:259f15b5738cf2c7353be194fb19f84731c388c4289424a04b61277d7a5b3aa7 +size 34344 diff --git a/binaries/data/mods/official/maps/scenarios/combattest.pmp b/binaries/data/mods/official/maps/scenarios/combattest.pmp index 2c73bd1b7e..90c9524887 100644 --- a/binaries/data/mods/official/maps/scenarios/combattest.pmp +++ b/binaries/data/mods/official/maps/scenarios/combattest.pmp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:37ca158ceef4a26a449c692b32673b02bafdc4a911477c20a0c44bc8984f39c3 -size 221397 +oid sha256:0a300b44fe009314eb533c4bd9a1153962d4a024c17ebfb8c3632196bdf1fcc2 +size 208207 diff --git a/binaries/data/mods/official/maps/scenarios/combattest.xml b/binaries/data/mods/official/maps/scenarios/combattest.xml new file mode 100644 index 0000000000..35e7173271 --- /dev/null +++ b/binaries/data/mods/official/maps/scenarios/combattest.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:598bfb4a5f64bf70a6dbe756e99c5871e322a9007513d3015cd50de19894fae5 +size 25615 diff --git a/binaries/data/mods/official/maps/scenarios/default_grass.pmp b/binaries/data/mods/official/maps/scenarios/default_grass.pmp index 9cb22858d1..d6022a8571 100644 --- a/binaries/data/mods/official/maps/scenarios/default_grass.pmp +++ b/binaries/data/mods/official/maps/scenarios/default_grass.pmp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bc9cdc333dbc87a3126e81531d7caa23976a8fe357339c9b123b24a44398015a +oid sha256:10efab94731f1e32a59f331e59a3dda889dbd8c518d172a6cddad1aa2b27438a size 433819 diff --git a/binaries/data/mods/official/maps/scenarios/default_grass.xml b/binaries/data/mods/official/maps/scenarios/default_grass.xml new file mode 100644 index 0000000000..b281e1d0ae --- /dev/null +++ b/binaries/data/mods/official/maps/scenarios/default_grass.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e153946da8945a4fffee5e5dc873af59ed1f7423d17ce342cbf478d3ed44ecd +size 157 diff --git a/binaries/data/mods/official/maps/scenarios/just abit of romans.pmp b/binaries/data/mods/official/maps/scenarios/just abit of romans.pmp index ecd19d0242..b27b0b682f 100644 --- a/binaries/data/mods/official/maps/scenarios/just abit of romans.pmp +++ b/binaries/data/mods/official/maps/scenarios/just abit of romans.pmp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1adf710bc536dc0b18ad3117ae82a4dc434e7e55bf601be4ecb3e62ccbb2d3a0 -size 441455 +oid sha256:1f50f26f54c4b73e0692a5b084e01cbf7eb167b589c69a5de66caab0f1c19d48 +size 433647 diff --git a/binaries/data/mods/official/maps/scenarios/just abit of romans.xml b/binaries/data/mods/official/maps/scenarios/just abit of romans.xml new file mode 100644 index 0000000000..d4629c209f --- /dev/null +++ b/binaries/data/mods/official/maps/scenarios/just abit of romans.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cd925775e11a7aa05991047b32139a047fb1b74eb24bbea0aab0917fe04ea28 +size 15503 diff --git a/binaries/data/mods/official/maps/scenarios/michael_celts_06102004.pmp b/binaries/data/mods/official/maps/scenarios/michael_celts_06102004.pmp index 0472566192..e845711994 100644 --- a/binaries/data/mods/official/maps/scenarios/michael_celts_06102004.pmp +++ b/binaries/data/mods/official/maps/scenarios/michael_celts_06102004.pmp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:479c87beebe6d0a9d008a25df1694fef8397faa299605429874502f7b655dfa3 -size 448003 +oid sha256:a96239186ae86ceadcd9757d245af5d248a67e6faa7da0a6cdb540980b3296a1 +size 434202 diff --git a/binaries/data/mods/official/maps/scenarios/michael_celts_06102004.xml b/binaries/data/mods/official/maps/scenarios/michael_celts_06102004.xml new file mode 100644 index 0000000000..ff9d94d341 --- /dev/null +++ b/binaries/data/mods/official/maps/scenarios/michael_celts_06102004.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d1a4c3b11fc9d9b2c80baa471538fd4c3a2d4d123d07955e46b5ed75ba6f8ac +size 29482 diff --git a/binaries/data/mods/official/maps/scenarios/mountains_galore.pmp b/binaries/data/mods/official/maps/scenarios/mountains_galore.pmp index 51f34257d6..4dab091403 100644 --- a/binaries/data/mods/official/maps/scenarios/mountains_galore.pmp +++ b/binaries/data/mods/official/maps/scenarios/mountains_galore.pmp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2b3df45b56990a4370528af58eafb8b959ab54550b1340a3ee57d7eba087fa76 -size 581342 +oid sha256:bb980dc927eaa2fafda2ea6f2df16c67527611cd79b635f00f1a038364ef90c7 +size 434532 diff --git a/binaries/data/mods/official/maps/scenarios/mountains_galore.xml b/binaries/data/mods/official/maps/scenarios/mountains_galore.xml new file mode 100644 index 0000000000..3527344f1f --- /dev/null +++ b/binaries/data/mods/official/maps/scenarios/mountains_galore.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e18c74890ccc9405f117d3c6de1321e7dffa099b1614b4849c26ddc7e0b479b4 +size 346531 diff --git a/binaries/data/mods/official/maps/scenarios/mountains_night.pmp b/binaries/data/mods/official/maps/scenarios/mountains_night.pmp index 4b79c1d527..c2b0d973e9 100644 --- a/binaries/data/mods/official/maps/scenarios/mountains_night.pmp +++ b/binaries/data/mods/official/maps/scenarios/mountains_night.pmp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:084d1022fa743702b65d7bb3049cd65d3df2d45d98e9aed6e48416a79e63f47b -size 514990 +oid sha256:f61d1b64aec42ce6f1c87b1ba57e7839d4453219d7de776601ebceafe5476f74 +size 434438 diff --git a/binaries/data/mods/official/maps/scenarios/mountains_night.xml b/binaries/data/mods/official/maps/scenarios/mountains_night.xml new file mode 100644 index 0000000000..f9d0e94210 --- /dev/null +++ b/binaries/data/mods/official/maps/scenarios/mountains_night.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ce638309cdbfa543ca725e1d2380c84bd33318ae0abae4fe2eaae380efe93e7 +size 188586 diff --git a/binaries/data/mods/official/maps/scenarios/ph.pmp b/binaries/data/mods/official/maps/scenarios/ph.pmp index cb021b9b91..d6022a8571 100644 --- a/binaries/data/mods/official/maps/scenarios/ph.pmp +++ b/binaries/data/mods/official/maps/scenarios/ph.pmp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3eeee16e547c3356bfa39d96f5ae41abd5e466ff19ab3d5b4ec3d03f98f54068 -size 455380 +oid sha256:10efab94731f1e32a59f331e59a3dda889dbd8c518d172a6cddad1aa2b27438a +size 433819 diff --git a/binaries/data/mods/official/maps/scenarios/ph.xml b/binaries/data/mods/official/maps/scenarios/ph.xml new file mode 100644 index 0000000000..8b71093504 --- /dev/null +++ b/binaries/data/mods/official/maps/scenarios/ph.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca8153a421c64454d5ae21f0c7d5a809e1aacc6386d20a50c97d69141b170eed +size 37398 diff --git a/binaries/data/mods/official/maps/scenarios/ph2.pmp b/binaries/data/mods/official/maps/scenarios/ph2.pmp index 3383abe369..d6022a8571 100644 --- a/binaries/data/mods/official/maps/scenarios/ph2.pmp +++ b/binaries/data/mods/official/maps/scenarios/ph2.pmp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b27aeb13ab1e90bf3a32cf68fe88d7fd531997074398cc78af81b1a032daf15b -size 445280 +oid sha256:10efab94731f1e32a59f331e59a3dda889dbd8c518d172a6cddad1aa2b27438a +size 433819 diff --git a/binaries/data/mods/official/maps/scenarios/ph2.xml b/binaries/data/mods/official/maps/scenarios/ph2.xml index fd59baee56..350f8476c0 100644 --- a/binaries/data/mods/official/maps/scenarios/ph2.xml +++ b/binaries/data/mods/official/maps/scenarios/ph2.xml @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cabfd3f837b2fd6c2567d26eb97b614fcec38fa040a14edddf60382804329ce9 -size 8408 +oid sha256:24a219531befee97872aa28c8f43dcf46d2790c65173e21555442c492f4d8893 +size 30800 diff --git a/binaries/data/mods/official/maps/scenarios/randomactor.pmp b/binaries/data/mods/official/maps/scenarios/randomactor.pmp index 057096253c..d6022a8571 100644 --- a/binaries/data/mods/official/maps/scenarios/randomactor.pmp +++ b/binaries/data/mods/official/maps/scenarios/randomactor.pmp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:938a385d0bc4bbc924339596860ec675dad761da5895b84a45b51299b547353b -size 445415 +oid sha256:10efab94731f1e32a59f331e59a3dda889dbd8c518d172a6cddad1aa2b27438a +size 433819 diff --git a/binaries/data/mods/official/maps/scenarios/randomactor.xml b/binaries/data/mods/official/maps/scenarios/randomactor.xml index c665e3ae08..b5f121e831 100644 --- a/binaries/data/mods/official/maps/scenarios/randomactor.xml +++ b/binaries/data/mods/official/maps/scenarios/randomactor.xml @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:14203a4cf2df29c1aa28f76c2a5698f16f8e42412fb92c358918552b6f3446e3 -size 63077 +oid sha256:3ac849adf42dad209a5fa8dc4eeb70525fa09e98c86a75f805da2d811eeeda8a +size 86972 diff --git a/binaries/data/mods/official/maps/scenarios/sheild.pmp b/binaries/data/mods/official/maps/scenarios/sheild.pmp index 8efbd3b915..29ffa4c80b 100644 --- a/binaries/data/mods/official/maps/scenarios/sheild.pmp +++ b/binaries/data/mods/official/maps/scenarios/sheild.pmp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:69ea60fc53d8382c76af9ee5243a3098546de2a6ce7222503c435ce6df09b4a3 -size 744014 +oid sha256:1d5a7b884b4d9898ed2e6050efeab19da6c005cd4e070a71d7ac4787e3ba15a9 +size 741032 diff --git a/binaries/data/mods/official/maps/scenarios/sheild.xml b/binaries/data/mods/official/maps/scenarios/sheild.xml index ec5c0a4c34..d05a2e444f 100644 --- a/binaries/data/mods/official/maps/scenarios/sheild.xml +++ b/binaries/data/mods/official/maps/scenarios/sheild.xml @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68331f7aa260438af4d9301dda134c8aef60e1b2e02736d4b5c2203069253d2a -size 140 +oid sha256:0179b8947d14f6fb7885b53bf2ac104c92f7858f815d8a6155f00812d2ac194b +size 5366 diff --git a/binaries/data/mods/official/maps/scenarios/snowPR3.pmp b/binaries/data/mods/official/maps/scenarios/snowPR3.pmp index 22eb54d858..400fc07bfd 100644 --- a/binaries/data/mods/official/maps/scenarios/snowPR3.pmp +++ b/binaries/data/mods/official/maps/scenarios/snowPR3.pmp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:83bc70c0f39eb7a48ed977315a4891d41ebd7c8cc071ff00984ff23a8ce91f7d -size 752690 +oid sha256:2dadc38b2c3a12fe20899767049e04d55796d610c0008f2ae3973d4169e82bce +size 741656 diff --git a/binaries/data/mods/official/maps/scenarios/snowPR3.xml b/binaries/data/mods/official/maps/scenarios/snowPR3.xml new file mode 100644 index 0000000000..3b7b8b24e3 --- /dev/null +++ b/binaries/data/mods/official/maps/scenarios/snowPR3.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba2d81da5cdc6c286a577661bbfff600df799b1080c7dd6a600ef77a5128d081 +size 22050 diff --git a/binaries/data/mods/official/maps/scenarios/test01.pmp b/binaries/data/mods/official/maps/scenarios/test01.pmp index be0b82ea80..016c1d3232 100644 --- a/binaries/data/mods/official/maps/scenarios/test01.pmp +++ b/binaries/data/mods/official/maps/scenarios/test01.pmp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:44d144cf270ea3d1f25252ab1db0b7caad0409890ab64b968ea48bebe5fa11f0 -size 211729 +oid sha256:3c5fc0ced54470554f6393fd78ed431f74cebcae49771962063877d715f050ad +size 208140 diff --git a/binaries/data/mods/official/maps/scenarios/test01.xml b/binaries/data/mods/official/maps/scenarios/test01.xml new file mode 100644 index 0000000000..0d09fb3e0d --- /dev/null +++ b/binaries/data/mods/official/maps/scenarios/test01.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02cd53204c43b895c2b4f13c21bce17943d4c8fac77cb97b634c13196e9f3544 +size 7814 diff --git a/binaries/data/mods/official/maps/scenarios/wijit_terrain.pmp b/binaries/data/mods/official/maps/scenarios/wijit_terrain.pmp index 381b6e493e..aacb9f89bc 100644 --- a/binaries/data/mods/official/maps/scenarios/wijit_terrain.pmp +++ b/binaries/data/mods/official/maps/scenarios/wijit_terrain.pmp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cd0b70d6e0dc20ed5c2e54794c108f259572f4b9bf1e1c9d8f867bf28c42d4cb -size 741497 +oid sha256:2c373fbf9945aa199268e614917c8fbff7c43a5684c560e14efffdc47fb8cdb8 +size 741462 diff --git a/binaries/data/mods/official/maps/scenarios/wijit_terrain.xml b/binaries/data/mods/official/maps/scenarios/wijit_terrain.xml new file mode 100644 index 0000000000..b281e1d0ae --- /dev/null +++ b/binaries/data/mods/official/maps/scenarios/wijit_terrain.xml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e153946da8945a4fffee5e5dc873af59ed1f7423d17ce342cbf478d3ed44ecd +size 157 diff --git a/source/graphics/MapReader.cpp b/source/graphics/MapReader.cpp index 5e1f7796e3..aeb56cfb0a 100755 --- a/source/graphics/MapReader.cpp +++ b/source/graphics/MapReader.cpp @@ -9,6 +9,7 @@ #include "BaseEntity.h" #include "BaseEntityCollection.h" #include "EntityManager.h" +#include "CLogger.h" #include "Model.h" #include "Terrain.h" @@ -18,6 +19,8 @@ #include "Loader.h" #include "LoaderThunks.h" +#define LOG_CATEGORY "graphics" + // CMapReader constructor: nothing to do at the minute CMapReader::CMapReader() { @@ -167,21 +170,25 @@ void CMapReader::ApplyData() for (u32 i=0;iGetIn(); - CVector3D position = ((CMatrix3D*)m_Objects[i].m_Transform)->GetTranslation(); + debug_warn("Old unsupported map version - objects will be missing"); + // (getTemplateByActor doesn't work, since entity templates are now + // loaded on demand) - g_EntityManager.create(templateObject, position, atan2(-orient.X, -orient.Z)); - - continue; - } +// // Hijack the standard actor instantiation for actors that correspond to entities. +// // Not an ideal solution; we'll have to figure out a map format that can define entities separately or somesuch. +// +// CBaseEntity* templateObject = g_EntityTemplateCollection.getTemplateByActor(m_ObjectTypes.at(m_Objects[i].m_ObjectIndex)); +// +// if (templateObject) +// { +// CVector3D orient = ((CMatrix3D*)m_Objects[i].m_Transform)->GetIn(); +// CVector3D position = ((CMatrix3D*)m_Objects[i].m_Transform)->GetTranslation(); +// +// g_EntityManager.create(templateObject, position, atan2(-orient.X, -orient.Z)); +// +// continue; +// } } CUnit* unit = g_UnitMan.CreateUnit(m_ObjectTypes.at(m_Objects[i].m_ObjectIndex), NULL); @@ -226,6 +233,9 @@ void CMapReader::ReadXML() EL(player); EL(position); EL(orientation); + EL(nonentities); + EL(nonentity); + EL(actor); AT(x); AT(y); AT(z); @@ -266,28 +276,22 @@ void CMapReader::ReadXML() int element_name = child.getNodeName(); if (element_name == el_template) - { - //