rename scene_data2 to environment_number

This commit is contained in:
Martin Michelsen
2022-12-16 21:06:36 -08:00
parent abd2fb9e92
commit 5e2a42d852
2 changed files with 36 additions and 8 deletions
+7 -6
View File
@@ -994,7 +994,7 @@ string MapDefinition::str(const DataIndex* data_index) const {
lines.emplace_back(string_printf("Map %08" PRIX32 ": %hhux%hhu",
this->map_number.load(), this->width, this->height));
lines.emplace_back(string_printf(" a1=%08" PRIX32, this->unknown_a1.load()));
lines.emplace_back(string_printf(" scene_data2=%02hhX", this->scene_data2));
lines.emplace_back(string_printf(" environment_number=%02hhX", this->environment_number));
lines.emplace_back(string_printf(" num_alt_maps=%02hhX", this->num_alt_maps));
lines.emplace_back(string_printf(" num_alt_maps=%02hhX", this->num_alt_maps));
lines.emplace_back(" tiles:");
@@ -1025,10 +1025,11 @@ string MapDefinition::str(const DataIndex* data_index) const {
}
}
for (size_t w = 0; w < 3; w++) {
for (size_t z = 0; z < 0x24; z += 4) {
lines.emplace_back(string_printf(" a5[%zu][0x%02zX:0x%02zX]=%g %g %g %g", w, z, z + 4,
this->unknown_a5[w][z + 0].load(), this->unknown_a5[w][z + 1].load(),
this->unknown_a5[w][z + 2].load(), this->unknown_a5[w][z + 3].load()));
for (size_t z = 0; z < 0x24; z += 3) {
lines.emplace_back(string_printf(" a5[%zu][0x%02zX:0x%02zX]=%g %g %g", w, z, z + 3,
this->unknown_a5[w][z + 0].load(),
this->unknown_a5[w][z + 1].load(),
this->unknown_a5[w][z + 2].load()));
}
}
lines.emplace_back(" modification tiles:");
@@ -1465,7 +1466,7 @@ const string& DataIndex::get_compressed_map_list() const {
const auto& map = map_it.second->map;
e.map_x = map.map_x;
e.map_y = map.map_y;
e.scene_data2 = map.scene_data2;
e.environment_number = map.environment_number;
e.map_number = map.map_number.load();
e.width = map.width;
e.height = map.height;
+29 -2
View File
@@ -686,7 +686,7 @@ struct MapList {
struct Entry { // Should be 0x220 bytes in total
be_uint16_t map_x;
be_uint16_t map_y;
be_uint16_t scene_data2;
be_uint16_t environment_number;
be_uint16_t map_number;
// Text offsets are from the beginning of the strings block after all map
// entries (that is, add strings_offset to them to get the string offset)
@@ -717,7 +717,34 @@ struct MapDefinition { // .mnmd format; also the format of (decompressed) quests
/* 0004 */ be_uint32_t map_number;
/* 0008 */ uint8_t width;
/* 0009 */ uint8_t height;
/* 000A */ uint8_t scene_data2; // TODO: What is this?
// The environment number specifies several things:
// - The model to load for the main battle stage
// - The music to play during the main battle
// - The color of the battle tile outlines (probably)
// - The preview image to show in the upper-left corner in the map select menu
// The environment numbers are:
// 00 - Unguis Lapis
// 01 - Nebula Montana (1)
// 02 - Lupus Silva (1)
// 03 - Lupus Silva (2)
// 04 - Molae Venti
// 05 - Nebula Montana (2)
// 06 - Tener Sinus
// 07 - Mortis Fons
// 08 - Morgue (destroyed)
// 09 - Tower of Caelum
// 0A = ??? (referred to as "^mapname"; crashes)
// 0B = Cyber
// 0C = Morgue (not destroyed)
// 0D = (Castor/Pollux map)
// 0E - Dolor Odor
// 0F = Ravum Aedes Sacra
// 10 - (Amplum Umbla map)
// 11 - Via Tubus
// 12 = Morgue (same as 08?)
// 13 = ??? (crashes)
// Environment numbers beyond 13 are not used in any known quests or maps.
/* 000A */ uint8_t environment_number;
// All alt_maps fields (including the floats) past num_alt_maps are filled in
// with FF. For example, if num_alt_maps == 8, the last two fields in each
// alt_maps array are filled with FF.