Skip to content

Commit

Permalink
track specialized boxes server-side
Browse files Browse the repository at this point in the history
  • Loading branch information
fuzziqersoftware committed Nov 14, 2023
1 parent 4b4627d commit 4fe238a
Show file tree
Hide file tree
Showing 161 changed files with 119 additions and 17 deletions.
2 changes: 1 addition & 1 deletion src/CommandFormats.hh
Original file line number Diff line number Diff line change
Expand Up @@ -4388,7 +4388,7 @@ struct G_StandardDropItemRequest_DC_6x60 {
le_uint16_t entity_id = 0;
le_float x = 0.0f;
le_float z = 0.0f;
le_uint16_t unknown_a1 = 0;
le_uint16_t section = 0;
le_uint16_t ignore_def = 0;
} __packed__;

Expand Down
27 changes: 21 additions & 6 deletions src/Map.cc
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,36 @@ string Map::Enemy::str() const {
name_for_enum(this->type), this->flags, this->last_hit_by_client_id);
}

string Map::Object::str() const {
return string_printf("[Map::Object %04hX @%04hX p1=%g (%s) p456=[%08" PRIX32 " %08" PRIX32 " %08" PRIX32 "] floor=%02hhX item_drop_checked=%s]",
this->base_type, this->section, this->param1, (this->param1 <= 0.0f) ? "specialized" : "generic",
this->param4, this->param5, this->param6, this->floor, this->item_drop_checked ? "true" : "false");
}

void Map::clear() {
this->enemies.clear();
this->rare_enemy_indexes.clear();
}

void Map::add_objects_from_map_data(const void* data, size_t size) {
void Map::add_objects_from_map_data(uint8_t floor, const void* data, size_t size) {
size_t entry_count = size / sizeof(ObjectEntry);
if (size != entry_count * sizeof(ObjectEntry)) {
throw runtime_error("data size is not a multiple of entry size");
}

(void)data;
// TODO: Actually track objects, so we can e.g. know what to drop from fixed
// boxes
// const auto* map = reinterpret_cast<const ObjectEntry*>(data);
const auto* objects = reinterpret_cast<const ObjectEntry*>(data);
for (size_t z = 0; z < entry_count; z++) {
this->objects.emplace_back(Object{
.base_type = objects[z].base_type,
.section = objects[z].section,
.param1 = objects[z].param1,
.param4 = objects[z].param4,
.param5 = objects[z].param5,
.param6 = objects[z].param6,
.floor = floor,
.item_drop_checked = false,
});
}
}

bool Map::check_and_log_rare_enemy(bool default_is_rare, uint32_t rare_rate) {
Expand Down Expand Up @@ -734,7 +749,7 @@ void Map::add_enemies_and_objects_from_quest_data(
throw runtime_error("quest layout object section size is not a multiple of object entry size");
}
static_game_data_log.info("(Floor %02zX) Adding objects", floor);
this->add_objects_from_map_data(r.pgetv(sections.objects + sizeof(header), header.data_size), header.data_size);
this->add_objects_from_map_data(floor, r.pgetv(sections.objects + sizeof(header), header.data_size), header.data_size);
}

if (sections.enemies != 0xFFFFFFFF) {
Expand Down
23 changes: 21 additions & 2 deletions src/Map.hh
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ struct Map {
/* 1C */ le_uint32_t x_angle;
/* 20 */ le_uint32_t y_angle;
/* 24 */ le_uint32_t z_angle;
/* 28 */ le_float param1;
/* 28 */ le_float param1; // If <= 0, this is a specialized box, and the specialization is in param4/5/6
/* 2C */ le_float param2;
/* 30 */ le_float param3;
/* 34 */ le_uint32_t param4;
Expand Down Expand Up @@ -192,6 +192,21 @@ struct Map {
static const RareEnemyRates NO_RARE_ENEMIES;
static const RareEnemyRates DEFAULT_RARE_ENEMIES;

struct Object {
// TODO: Add more fields in here if we ever care about them. Currently we
// only care about boxes with fixed item drops.
uint16_t base_type;
uint16_t section;
float param1; // If <= 0, this is a specialized box, and the specialization is in param4/5/6
uint32_t param4;
uint32_t param5;
uint32_t param6;
uint8_t floor;
bool item_drop_checked;

std::string str() const;
};

struct Enemy {
enum Flag {
HIT_BY_PLAYER0 = 0x01,
Expand All @@ -211,11 +226,14 @@ struct Map {
std::string str() const;
} __attribute__((packed));

std::vector<Object> objects;
std::vector<Enemy> enemies;
std::vector<size_t> rare_enemy_indexes;

void clear();
void add_objects_from_map_data(const void* data, size_t size);

void add_objects_from_map_data(uint8_t floor, const void* data, size_t size);

bool check_and_log_rare_enemy(bool default_is_rare, uint32_t rare_rate);
void add_enemy(uint8_t floor, EnemyType type);
void add_enemy(
Expand Down Expand Up @@ -244,6 +262,7 @@ struct Map {
StringReader random_enemy_definitions_r,
uint32_t rare_seed,
const RareEnemyRates& rare_rates = Map::DEFAULT_RARE_ENEMIES);

void add_enemies_and_objects_from_quest_data(
Episode episode,
uint8_t difficulty,
Expand Down
42 changes: 37 additions & 5 deletions src/ReceiveCommands.cc
Original file line number Diff line number Diff line change
Expand Up @@ -3742,11 +3742,10 @@ shared_ptr<Lobby> create_game_generic(
game->map->add_enemies_from_map_data(
game->episode, game->difficulty, game->event, floor, map_data->data(), map_data->size());
size_t entries_loaded = game->map->enemies.size() - start_offset;
c->log.info("[Map/%zu:e] Loaded %s (%zu entries)",
floor, filename.c_str(), entries_loaded);
c->log.info("[Map/%zu:e] Loaded %s (%zu entries)", floor, filename.c_str(), entries_loaded);
for (size_t z = start_offset; z < game->map->enemies.size(); z++) {
string e_str = game->map->enemies[z].str();
static_game_data_log.info("(Entry %zX) %s", z, e_str.c_str());
static_game_data_log.info("(E-%zX) %s", z, e_str.c_str());
}
any_map_loaded = true;
break;
Expand All @@ -3758,10 +3757,43 @@ shared_ptr<Lobby> create_game_generic(
throw runtime_error(string_printf("no enemy maps loaded for floor %zu", floor));
}
}

auto object_filenames = map_filenames_for_variation(
game->episode,
is_solo,
floor,
game->variations[floor * 2],
game->variations[floor * 2 + 1],
false);
if (object_filenames.empty()) {
c->log.info("[Map/%zu:o] No file to load", floor);
} else {
bool any_map_loaded = false;
for (const string& filename : object_filenames) {
try {
auto map_data = s->load_bb_file(filename, "", "map/" + filename);
size_t start_offset = game->map->objects.size();
game->map->add_objects_from_map_data(floor, map_data->data(), map_data->size());
size_t entries_loaded = game->map->objects.size() - start_offset;
c->log.info("[Map/%zu:o] Loaded %s (%zu entries)", floor, filename.c_str(), entries_loaded);
for (size_t z = start_offset; z < game->map->objects.size(); z++) {
string e_str = game->map->objects[z].str();
static_game_data_log.info("(K-%zX) %s", z, e_str.c_str());
}
any_map_loaded = true;
break;
} catch (const exception& e) {
c->log.info("[Map/%zu:o] Failed to load %s: %s", floor, filename.c_str(), e.what());
}
}
if (!any_map_loaded) {
throw runtime_error(string_printf("no object maps loaded for floor %zu", floor));
}
}
}

c->log.info("Loaded maps contain %zu enemy entries overall (%zu as rares)",
game->map->enemies.size(), game->map->rare_enemy_indexes.size());
c->log.info("Loaded maps contain %zu object entries and %zu enemy entries overall (%zu as rares)",
game->map->objects.size(), game->map->enemies.size(), game->map->rare_enemy_indexes.size());
}
return game;
}
Expand Down
42 changes: 39 additions & 3 deletions src/ReceiveSubcommands.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1436,25 +1436,61 @@ static void on_entity_drop_item_request(shared_ptr<Client> c, uint8_t command, u

ItemData item;
if (cmd.rt_index == 0x30) {
if (cmd.ignore_def) {
if (l->map) {
auto& object = l->map->objects.at(cmd.entity_id);
if (cmd.floor != object.floor) {
l->log.warning("Floor %02hhX from command does not match object\'s expected floor %02hhX",
cmd.floor, object.floor);
}
bool object_ignore_def = (object.param1 > 0.0);
if (cmd.ignore_def != object_ignore_def) {
l->log.warning("ignore_def value %s from command does not match object\'s expected ignore_def %s (from p1=%g)",
cmd.ignore_def ? "true" : "false", object_ignore_def ? "true" : "false", object.param1);
}

if (object.item_drop_checked) {
l->log.warning("Object drop check has already occurred");
if (c->config.check_flag(Client::Flag::DEBUG_ENABLED)) {
send_text_message_printf(c, "$C5K-%hX %04hX __CHECKED__", cmd.entity_id.load(), object.base_type);
}

} else if (object_ignore_def) {
l->log.info("Creating item from box %04hX (area %02hX)", cmd.entity_id.load(), cmd.effective_area);
item = l->item_creator->on_box_item_drop(cmd.entity_id, cmd.effective_area);
if (c->config.check_flag(Client::Flag::DEBUG_ENABLED)) {
send_text_message_printf(c, "$C5K-%hX %04hX GEN %s", cmd.entity_id.load(), object.base_type, item.empty() ? "EMPTY" : "ITEM");
}

} else {
l->log.info("Creating item from box %04hX (area %02hX; specialized with %08" PRIX32 " %08" PRIX32 " %08" PRIX32 ")",
cmd.entity_id.load(), cmd.effective_area, object.param4, object.param5, object.param6);
item = l->item_creator->on_specialized_box_item_drop(cmd.entity_id, object.param4, object.param5, object.param6);
if (c->config.check_flag(Client::Flag::DEBUG_ENABLED)) {
send_text_message_printf(c, "$C5K-%hX %04hX CST %s", cmd.entity_id.load(), object.base_type, item.empty() ? "EMPTY" : "ITEM");
}
}
object.item_drop_checked = true;

} else if (cmd.ignore_def) {
l->log.info("Creating item from box %04hX (area %02hX)", cmd.entity_id.load(), cmd.effective_area);
item = l->item_creator->on_box_item_drop(cmd.entity_id, cmd.effective_area);
} else {
l->log.info("Creating item from box %04hX (area %02hX; specialized with %08" PRIX32 " %08" PRIX32 " %08" PRIX32 ")",
cmd.entity_id.load(), cmd.effective_area, cmd.def[0].load(), cmd.def[1].load(), cmd.def[2].load());
item = l->item_creator->on_specialized_box_item_drop(cmd.entity_id, cmd.def[0], cmd.def[1], cmd.def[2]);
}

} else {
l->log.info("Creating item from enemy %04hX (area %02hX)", cmd.entity_id.load(), cmd.effective_area);
if (l->map) {
const auto& enemy = l->map->enemies.at(cmd.entity_id);
uint32_t expected_rt_index = rare_table_index_for_enemy_type(enemy.type);
if (cmd.rt_index != expected_rt_index) {
c->log.warning("rt_index %02hhX from command does not match entity\'s expected index %02" PRIX32,
l->log.warning("rt_index %02hhX from command does not match entity\'s expected index %02" PRIX32,
cmd.rt_index, expected_rt_index);
}
if (cmd.floor != enemy.floor) {
c->log.warning("Floor %02hhX from command does not match entity\'s expected floor %02hhX",
l->log.warning("Floor %02hhX from command does not match entity\'s expected floor %02hhX",
cmd.floor, enemy.floor);
}
}
Expand Down
Binary file added system/blueburst/map/map_ancient01_00ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient01_01ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient01_01d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient01_02_01o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient01_02ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient01_02d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient01_03ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient01_03d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient01_04ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient01_04d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient02_00_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient02_00d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient02_01_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient02_01_01o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient02_02_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient02_02_01o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient02_02ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient02_02d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient02_04ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient03_00_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient03_00ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient03_00d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient03_01_01o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient03_01ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient03_01d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient03_02_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient03_02_01o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient03_02d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient03_03ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ancient03_03d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_boss02o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_boss03o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_boss04ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_boss06o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_boss08o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave01_00_01o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave01_00ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave01_00d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave01_02_01o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave01_02ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave01_02d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave01_04ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave01_04d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave02_00_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave02_01_01o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave02_01ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave02_01d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave02_02_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave02_02d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave02_03ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave02_04d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave03_00_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave03_00_01o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave03_01_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave03_01ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave03_01d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave03_02_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave03_02_01o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave03_02ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave03_02d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave03_03d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave03_04ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave03_05ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_cave03_05d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_city00_00o_d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_city00d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_forest01_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_forest01_01o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_forest01_03o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_forest01_05o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_forest01ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_forest02_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_forest02_02o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_forest02_04o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_forest02ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_forest02d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle01_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle01_01_offo.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle01_02o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle01d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle02_00_offo.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle02_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle02_02_offo.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle03_00_offo.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle03_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle03_01_offo.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle03_01o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle03_02_offo.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle04_00_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle04_00_01o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle04_01_00_offo.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle04_01_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle05_00_offo.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle05_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle05_02o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle05d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle06d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_jungle07d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_labo00_00_offo_c1.dat
Binary file not shown.
Binary file added system/blueburst/map/map_labo00_00_offo_d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_labo00_00e_d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_lobby_03o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_lobby_04o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_lobby_05o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_lobby_08o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_lobby_09o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_lobby_10o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_lobby_soccer01o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_lobby_soccer02o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_machine01_00_01o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_machine01_00d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_machine01_01_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_machine01_01d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_machine01_02_01o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_machine01_05ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_machine01_05d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_machine02_00_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_machine02_00_01o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_machine02_00ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_machine02_00d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_machine02_01_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_machine02_01d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_machine02_02_01o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_machine02_02ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_machine02_03d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_machine02_04ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_machine02_05d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ruins01_00_00_offo.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ruins01_00_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ruins01_02d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_ruins02_00d.dat
Binary file not shown.
Binary file not shown.
Binary file added system/blueburst/map/map_ruins02_01_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_seabed01_00_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_seabed01_01_00_offo.dat
Binary file not shown.
Binary file added system/blueburst/map/map_seabed01_01_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_seabed01_01d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_seabed02_00_00_offo.dat
Binary file not shown.
Binary file added system/blueburst/map/map_seabed02_00_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_seabed02_00_01o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_seabed02_00d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_seabed02_01_00_offo.dat
Binary file not shown.
Binary file added system/blueburst/map/map_seabed02_01_01o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_space01_00d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_space01_01_00_offo.dat
Binary file not shown.
Binary file added system/blueburst/map/map_space01_01_00o.dat
Binary file not shown.
Binary file added system/blueburst/map/map_space01_01d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_space02_00_00_offo.dat
Binary file not shown.
Binary file added system/blueburst/map/map_space02_00d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_space02_01_00_offo.dat
Binary file not shown.
Binary file added system/blueburst/map/map_vs01_02d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_vs02_00ad.dat
Binary file not shown.
Binary file added system/blueburst/map/map_vs02_00d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_vs02_01d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_wilds01_01d.dat
Binary file not shown.
Binary file added system/blueburst/map/map_wilds01_03d.dat
Binary file not shown.

0 comments on commit 4fe238a

Please sign in to comment.