aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Hop311 <Hop3114@gmail.com>2023-09-23 22:53:40 +0200
committer GitHub <noreply@github.com>2023-09-23 22:53:40 +0200
commit0b4c30aa02c3ec1dacfc3ac190af4733531753ea (patch)
tree41aacf220a1f7085c81f2b0f522ad9f36991947b
parentd56941e60016bf73587c63a36ac5ca9da3f6023e (diff)
parent6e2ba19d77c36ddc4767a20de040489b574ae0c3 (diff)
Merge pull request #157 from OpenVicProject/more-dataloading
More dataloading
m---------extension/deps/openvic-simulation0
-rw-r--r--extension/src/openvic-extension/GameSingleton.cpp43
-rw-r--r--extension/src/openvic-extension/GameSingleton.hpp2
-rw-r--r--extension/src/openvic-extension/LoadGameCompatibility.cpp7
-rw-r--r--extension/src/openvic-extension/LoadGameOpenVic.cpp4
-rw-r--r--extension/src/openvic-extension/LoadLocalisation.cpp33
-rw-r--r--extension/src/openvic-extension/LoadLocalisation.hpp14
-rw-r--r--game/art/economy/goods/good_aeroplanes.png.import14
-rw-r--r--game/art/economy/goods/good_ammunition.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_ammunition.png.import14
-rw-r--r--game/art/economy/goods/good_artillery.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_artillery.png.import14
-rw-r--r--game/art/economy/goods/good_automobiles.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_automobiles.png.import14
-rw-r--r--game/art/economy/goods/good_cattle.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_cattle.png.import14
-rw-r--r--game/art/economy/goods/good_cement.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_cement.png.import14
-rw-r--r--game/art/economy/goods/good_clipper_convoys.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_clipper_convoys.png.import14
-rw-r--r--game/art/economy/goods/good_coffee.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_coffee.png.import14
-rw-r--r--game/art/economy/goods/good_cotton.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_cotton.png.import14
-rw-r--r--game/art/economy/goods/good_dye.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_dye.png.import14
-rw-r--r--game/art/economy/goods/good_electric_gears.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_electric_gears.png.import14
-rw-r--r--game/art/economy/goods/good_explosives.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_explosives.png.import14
-rw-r--r--game/art/economy/goods/good_fabric.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_fabric.png.import14
-rw-r--r--game/art/economy/goods/good_fertilizer.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_fertilizer.png.import14
-rw-r--r--game/art/economy/goods/good_fish.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_fish.png.import14
-rw-r--r--game/art/economy/goods/good_fruit.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_fruit.png.import14
-rw-r--r--game/art/economy/goods/good_fuel.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_fuel.png.import14
-rw-r--r--game/art/economy/goods/good_furniture.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_furniture.png.import14
-rw-r--r--game/art/economy/goods/good_glass.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_glass.png.import14
-rw-r--r--game/art/economy/goods/good_lumber.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_lumber.png.import14
-rw-r--r--game/art/economy/goods/good_luxury_clothes.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_luxury_clothes.png.import14
-rw-r--r--game/art/economy/goods/good_luxury_furniture.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_luxury_furniture.png.import14
-rw-r--r--game/art/economy/goods/good_oil.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_oil.png.import14
-rw-r--r--game/art/economy/goods/good_opium.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_opium.png.import14
-rw-r--r--game/art/economy/goods/good_paper.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_paper.png.import14
-rw-r--r--game/art/economy/goods/good_precious_metal.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_precious_metal.png.import14
-rw-r--r--game/art/economy/goods/good_radios.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_radios.png.import14
-rw-r--r--game/art/economy/goods/good_regular_clothes.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_regular_clothes.png.import14
-rw-r--r--game/art/economy/goods/good_rubber.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_rubber.png.import14
-rw-r--r--game/art/economy/goods/good_silk.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_silk.png.import14
-rw-r--r--game/art/economy/goods/good_small_arms.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_small_arms.png.import14
-rw-r--r--game/art/economy/goods/good_steamer_convoys.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_steamer_convoys.png.import14
-rw-r--r--game/art/economy/goods/good_steel.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_steel.png.import14
-rw-r--r--game/art/economy/goods/good_sulphur.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_sulphur.png.import14
-rw-r--r--game/art/economy/goods/good_tanks.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_tanks.png.import14
-rw-r--r--game/art/economy/goods/good_tea.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_tea.png.import14
-rw-r--r--game/art/economy/goods/good_telephones.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_telephones.png.import14
-rw-r--r--game/art/economy/goods/good_timber.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_timber.png.import14
-rw-r--r--game/art/economy/goods/good_tobacco.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_tobacco.png.import14
-rw-r--r--game/art/economy/goods/good_tropical_wood.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_tropical_wood.png.import14
-rw-r--r--game/art/economy/goods/good_wine.pngbin780 -> 0 bytes
-rw-r--r--game/art/economy/goods/good_wine.png.import14
-rw-r--r--game/art/missing_image.png (renamed from game/art/economy/goods/good_aeroplanes.png)bin780 -> 780 bytes
-rw-r--r--game/art/missing_image.png.import14
-rw-r--r--game/art/technology/README.md (renamed from game/art/economy/goods/README.md)0
-rw-r--r--game/art/units/Airplane.pngbin780 -> 0 bytes
-rw-r--r--game/art/units/Airplane.png.import34
-rw-r--r--game/art/units/Armor.pngbin780 -> 0 bytes
-rw-r--r--game/art/units/Armor.png.import34
-rw-r--r--game/art/units/Battleship.pngbin780 -> 0 bytes
-rw-r--r--game/art/units/Battleship.png.import34
-rw-r--r--game/art/units/Cavalry.pngbin780 -> 0 bytes
-rw-r--r--game/art/units/Cavalry.png.import34
-rw-r--r--game/art/units/ClipperTransport.pngbin780 -> 0 bytes
-rw-r--r--game/art/units/ClipperTransport.png.import34
-rw-r--r--game/art/units/CommerceRaider.pngbin780 -> 0 bytes
-rw-r--r--game/art/units/CommerceRaider.png.import34
-rw-r--r--game/art/units/Cruiser.pngbin780 -> 0 bytes
-rw-r--r--game/art/units/Cruiser.png.import34
-rw-r--r--game/art/units/Cuirassier.pngbin780 -> 0 bytes
-rw-r--r--game/art/units/Cuirassier.png.import34
-rw-r--r--game/art/units/Dragoon.pngbin780 -> 0 bytes
-rw-r--r--game/art/units/Dragoon.png.import34
-rw-r--r--game/art/units/Dreadnought.pngbin780 -> 0 bytes
-rw-r--r--game/art/units/Dreadnought.png.import34
-rw-r--r--game/art/units/Engineer.pngbin780 -> 0 bytes
-rw-r--r--game/art/units/Engineer.png.import34
-rw-r--r--game/art/units/Frigate.pngbin780 -> 0 bytes
-rw-r--r--game/art/units/Frigate.png.import34
-rw-r--r--game/art/units/Hussar.pngbin780 -> 0 bytes
-rw-r--r--game/art/units/Hussar.png.import34
-rw-r--r--game/art/units/Ironclad.pngbin780 -> 0 bytes
-rw-r--r--game/art/units/Ironclad.png.import34
-rw-r--r--game/art/units/ManOWar.pngbin780 -> 0 bytes
-rw-r--r--game/art/units/ManOWar.png.import34
-rw-r--r--game/art/units/Monitor.pngbin780 -> 0 bytes
-rw-r--r--game/art/units/Monitor.png.import34
-rw-r--r--game/art/units/SteamerTransport.pngbin780 -> 0 bytes
-rw-r--r--game/art/units/SteamerTransport.png.import34
-rw-r--r--game/src/Game/GameSession/ProvinceOverviewPanel/ProvinceOverviewPanel.gd4
-rw-r--r--game/src/Game/Theme/PieChart/PieChart.gd4
127 files changed, 82 insertions, 1195 deletions
diff --git a/extension/deps/openvic-simulation b/extension/deps/openvic-simulation
-Subproject 6278a35f4704574933464700026d8deb997da5c
+Subproject 005a8026bb424779a146e00cc48621ff1d72b80
diff --git a/extension/src/openvic-extension/GameSingleton.cpp b/extension/src/openvic-extension/GameSingleton.cpp
index a164b23..2d6f784 100644
--- a/extension/src/openvic-extension/GameSingleton.cpp
+++ b/extension/src/openvic-extension/GameSingleton.cpp
@@ -11,7 +11,7 @@ using namespace OpenVic;
TerrainVariant::TerrainVariant(const std::string_view new_identfier,
colour_t new_colour, Ref<Image> const& new_image)
- : HasIdentifierAndColour { new_identfier, new_colour, true },
+ : HasIdentifierAndColour { new_identfier, new_colour, true, false },
image { new_image } {}
Ref<Image> TerrainVariant::get_image() const {
@@ -43,7 +43,6 @@ void GameSingleton::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_selected_province", "index"), &GameSingleton::set_selected_province);
ClassDB::bind_method(D_METHOD("expand_building", "province_index", "building_type_identifier"), &GameSingleton::expand_building);
- ClassDB::bind_method(D_METHOD("get_good_icon_texture", "identifier"), &GameSingleton::get_good_icon_texture);
ClassDB::bind_method(D_METHOD("set_paused", "paused"), &GameSingleton::set_paused);
ClassDB::bind_method(D_METHOD("toggle_paused"), &GameSingleton::toggle_paused);
@@ -133,7 +132,7 @@ Error GameSingleton::setup_game() {
int32_t GameSingleton::get_province_index_from_uv_coords(Vector2 const& coords) const {
const size_t x_mod_w = UtilityFunctions::fposmod(coords.x, 1.0f) * get_width();
const size_t y_mod_h = UtilityFunctions::fposmod(coords.y, 1.0f) * get_height();
- return game_manager.map.get_province_index_at(x_mod_w, y_mod_h);
+ return game_manager.get_map().get_province_index_at(x_mod_w, y_mod_h);
}
StringName const& GameSingleton::get_province_info_province_key() {
@@ -219,7 +218,7 @@ Dictionary GameSingleton::_distribution_to_dictionary(distribution_t const& dist
}
Dictionary GameSingleton::get_province_info_from_index(int32_t index) const {
- Province const* province = game_manager.map.get_province_by_index(index);
+ Province const* province = game_manager.get_map().get_province_by_index(index);
if (province == nullptr) return {};
Dictionary ret;
@@ -263,11 +262,11 @@ Dictionary GameSingleton::get_province_info_from_index(int32_t index) const {
}
int32_t GameSingleton::get_width() const {
- return game_manager.map.get_width();
+ return game_manager.get_map().get_width();
}
int32_t GameSingleton::get_height() const {
- return game_manager.map.get_height();
+ return game_manager.get_map().get_height();
}
float GameSingleton::get_aspect_ratio() const {
@@ -296,7 +295,7 @@ Error GameSingleton::_update_colour_image() {
colour_data_array.resize(colour_data_array_size);
Error err = OK;
- if (!game_manager.map.generate_mapmode_colours(mapmode_index, colour_data_array.ptrw()))
+ if (!game_manager.get_map().generate_mapmode_colours(mapmode_index, colour_data_array.ptrw()))
err = FAILED;
static constexpr int32_t PROVINCE_INDEX_SQRT = 1 << (sizeof(Province::index_t) * 4);
@@ -316,17 +315,17 @@ Error GameSingleton::_update_colour_image() {
}
int32_t GameSingleton::get_mapmode_count() const {
- return game_manager.map.get_mapmode_count();
+ return game_manager.get_map().get_mapmode_count();
}
String GameSingleton::get_mapmode_identifier(int32_t index) const {
- Mapmode const* mapmode = game_manager.map.get_mapmode_by_index(index);
+ Mapmode const* mapmode = game_manager.get_map().get_mapmode_by_index(index);
if (mapmode != nullptr) return std_to_godot_string(mapmode->get_identifier());
return String {};
}
Error GameSingleton::set_mapmode(String const& identifier) {
- Mapmode const* mapmode = game_manager.map.get_mapmode_by_identifier(godot_to_std_string(identifier));
+ Mapmode const* mapmode = game_manager.get_map().get_mapmode_by_identifier(godot_to_std_string(identifier));
if (mapmode == nullptr) {
UtilityFunctions::push_error("Failed to set mapmode to: ", identifier);
return FAILED;
@@ -337,11 +336,11 @@ Error GameSingleton::set_mapmode(String const& identifier) {
}
int32_t GameSingleton::get_selected_province_index() const {
- return game_manager.map.get_selected_province_index();
+ return game_manager.get_map().get_selected_province_index();
}
void GameSingleton::set_selected_province(int32_t index) {
- game_manager.map.set_selected_province(index);
+ game_manager.get_map().set_selected_province(index);
_update_colour_image();
emit_signal("province_selected", index);
}
@@ -354,36 +353,32 @@ Error GameSingleton::expand_building(int32_t province_index, String const& build
return OK;
}
-Ref<Texture> GameSingleton::get_good_icon_texture(String const& identifier) const {
- return good_icons.get(identifier, {});
-}
-
void GameSingleton::set_paused(bool paused) {
- game_manager.clock.isPaused = paused;
+ game_manager.get_clock().isPaused = paused;
}
void GameSingleton::toggle_paused() {
- game_manager.clock.isPaused = !game_manager.clock.isPaused;
+ game_manager.get_clock().isPaused = !game_manager.get_clock().isPaused;
}
bool GameSingleton::is_paused() const {
- return game_manager.clock.isPaused;
+ return game_manager.get_clock().isPaused;
}
void GameSingleton::increase_speed() {
- game_manager.clock.increaseSimulationSpeed();
+ game_manager.get_clock().increaseSimulationSpeed();
}
void GameSingleton::decrease_speed() {
- game_manager.clock.decreaseSimulationSpeed();
+ game_manager.get_clock().decreaseSimulationSpeed();
}
bool GameSingleton::can_increase_speed() const {
- return game_manager.clock.canIncreaseSimulationSpeed();
+ return game_manager.get_clock().canIncreaseSimulationSpeed();
}
bool GameSingleton::can_decrease_speed() const {
- return game_manager.clock.canDecreaseSimulationSpeed();
+ return game_manager.get_clock().canDecreaseSimulationSpeed();
}
String GameSingleton::get_longform_date() const {
@@ -391,5 +386,5 @@ String GameSingleton::get_longform_date() const {
}
void GameSingleton::try_tick() {
- game_manager.clock.conditionallyAdvanceGame();
+ game_manager.get_clock().conditionallyAdvanceGame();
}
diff --git a/extension/src/openvic-extension/GameSingleton.hpp b/extension/src/openvic-extension/GameSingleton.hpp
index bd6b73c..4d9e912 100644
--- a/extension/src/openvic-extension/GameSingleton.hpp
+++ b/extension/src/openvic-extension/GameSingleton.hpp
@@ -41,7 +41,6 @@ namespace OpenVic {
IdentifierRegistry<TerrainVariant> terrain_variants;
Map::terrain_variant_map_t terrain_variant_map;
godot::Ref<godot::Texture2DArray> terrain_texture;
- godot::Dictionary good_icons;
godot::Error _generate_terrain_texture_array();
godot::Error _load_map_images(godot::String const& province_image_path, godot::String const& terrain_image_path, bool flip_vertical = false);
@@ -143,7 +142,6 @@ namespace OpenVic {
void set_selected_province(int32_t index);
godot::Error expand_building(int32_t province_index, godot::String const& building_type_identifier);
- godot::Ref<godot::Texture> get_good_icon_texture(godot::String const& identifier) const;
void set_paused(bool paused);
void toggle_paused();
diff --git a/extension/src/openvic-extension/LoadGameCompatibility.cpp b/extension/src/openvic-extension/LoadGameCompatibility.cpp
index e8e3314..b696315 100644
--- a/extension/src/openvic-extension/LoadGameCompatibility.cpp
+++ b/extension/src/openvic-extension/LoadGameCompatibility.cpp
@@ -5,6 +5,7 @@
#include <openvic-simulation/utility/BMP.hpp>
+#include "openvic-extension/LoadLocalisation.hpp"
#include "openvic-extension/Utilities.hpp"
using namespace godot;
@@ -83,7 +84,6 @@ Error GameSingleton::load_defines_compatibility_mode(PackedStringArray const& fi
err = FAILED;
}
- game_manager.map.lock_regions();
if (_load_terrain_variants_compatibility_mode(
std_to_godot_string(dataloader.lookup_file(terrain_image_file).string()),
std_to_godot_string(dataloader.lookup_file(terrain_texture_file).string())
@@ -102,6 +102,11 @@ Error GameSingleton::load_defines_compatibility_mode(PackedStringArray const& fi
UtilityFunctions::push_error("Failed to hardcoded defines!");
err = FAILED;
}
+ if (!dataloader.load_localisation_files(LoadLocalisation::add_message)) {
+ UtilityFunctions::push_error("Failed to load localisation!");
+ err = FAILED;
+ }
+
return err;
}
diff --git a/extension/src/openvic-extension/LoadGameOpenVic.cpp b/extension/src/openvic-extension/LoadGameOpenVic.cpp
index 87c66da..c34411c 100644
--- a/extension/src/openvic-extension/LoadGameOpenVic.cpp
+++ b/extension/src/openvic-extension/LoadGameOpenVic.cpp
@@ -86,7 +86,7 @@ Error GameSingleton::_load_map_images(String const& province_image_path, String
if (err != OK) return err;
// Generate interleaved province and terrain ID image
- if (!game_manager.map.generate_province_shape_image(province_dims.x, province_dims.y,
+ if (!game_manager.get_map().generate_province_shape_image(province_dims.x, province_dims.y,
province_image->get_data().ptr(), terrain_image->get_data().ptr(), terrain_variant_map,
false /* <-- whether to print detailed map errors or not (specific missing/unrecognised colours) */
)) err = FAILED;
@@ -97,7 +97,7 @@ Error GameSingleton::_load_map_images(String const& province_image_path, String
for (image_subdivisions[i] = 1; province_dims[i] / image_subdivisions[i] > GPU_DIM_LIMIT ||
province_dims[i] % image_subdivisions[i] != 0; ++image_subdivisions[i]);
- Map::shape_pixel_t const* province_shape_data = game_manager.map.get_province_shape_image().data();
+ Map::shape_pixel_t const* province_shape_data = game_manager.get_map().get_province_shape_image().data();
const Vector2i divided_dims = province_dims / image_subdivisions;
Array province_shape_images;
province_shape_images.resize(image_subdivisions.x * image_subdivisions.y);
diff --git a/extension/src/openvic-extension/LoadLocalisation.cpp b/extension/src/openvic-extension/LoadLocalisation.cpp
index dc7702c..9ab7298 100644
--- a/extension/src/openvic-extension/LoadLocalisation.cpp
+++ b/extension/src/openvic-extension/LoadLocalisation.cpp
@@ -5,6 +5,8 @@
#include <godot_cpp/classes/translation_server.hpp>
#include <godot_cpp/variant/utility_functions.hpp>
+#include "openvic-extension/Utilities.hpp"
+
using namespace godot;
using namespace OpenVic;
@@ -30,7 +32,7 @@ LoadLocalisation::~LoadLocalisation() {
singleton = nullptr;
}
-Error LoadLocalisation::_load_file_into_translation(String const& file_path, Ref<Translation> translation) {
+Error LoadLocalisation::_load_file_into_translation(String const& file_path, Ref<Translation> translation) const {
const Ref<FileAccess> file = FileAccess::open(file_path, FileAccess::ModeFlags::READ);
Error err = FileAccess::get_open_error();
if (err != OK || file.is_null()) {
@@ -57,7 +59,7 @@ Error LoadLocalisation::_load_file_into_translation(String const& file_path, Ref
return err;
}
-Ref<Translation> LoadLocalisation::_get_translation(String const& locale) {
+Ref<Translation> LoadLocalisation::_get_translation(String const& locale) const {
TranslationServer* server = TranslationServer::get_singleton();
if (server == nullptr) {
UtilityFunctions::push_error("Failed to get TranslationServer singleton");
@@ -72,14 +74,14 @@ Ref<Translation> LoadLocalisation::_get_translation(String const& locale) {
return translation;
}
-Error LoadLocalisation::load_file(String const& file_path, String const& locale) {
+Error LoadLocalisation::load_file(String const& file_path, String const& locale) const {
return _load_file_into_translation(file_path, _get_translation(locale));
}
/* REQUIREMENTS
* FS-18, FS-24, FS-25
*/
-Error LoadLocalisation::load_locale_dir(String const& dir_path, String const& locale) {
+Error LoadLocalisation::load_locale_dir(String const& dir_path, String const& locale) const {
if (!DirAccess::dir_exists_absolute(dir_path)) {
UtilityFunctions::push_error("Locale directory does not exist: ", dir_path);
return FAILED;
@@ -109,7 +111,7 @@ Error LoadLocalisation::load_locale_dir(String const& dir_path, String const& lo
/* REQUIREMENTS
* FS-23
*/
-Error LoadLocalisation::load_localisation_dir(String const& dir_path) {
+Error LoadLocalisation::load_localisation_dir(String const& dir_path) const {
if (!DirAccess::dir_exists_absolute(dir_path)) {
UtilityFunctions::push_error("Localisation directory does not exist: ", dir_path);
return FAILED;
@@ -134,3 +136,24 @@ Error LoadLocalisation::load_localisation_dir(String const& dir_path) {
}
return err;
}
+bool LoadLocalisation::add_message(std::string_view key, Dataloader::locale_t locale, std::string_view localisation) {
+ static Ref<Translation> translations[Dataloader::_LocaleCount] = { nullptr };
+ Ref<Translation>& translation = translations[locale];
+ if (translation.is_null()) {
+ translation = singleton->_get_translation(Dataloader::locale_names[locale]);
+ if (translation.is_null()) {
+ UtilityFunctions::push_error("Failed to get translation object: ", Dataloader::locale_names[locale]);
+ return false;
+ }
+ }
+ const StringName godot_key = std_to_godot_string(std::string { key });
+ const StringName godot_localisation = std_to_godot_string(std::string { localisation });
+ if (0) {
+ const StringName old_localisation = translation->get_message(godot_key);
+ if (!old_localisation.is_empty()) {
+ UtilityFunctions::push_warning("Changing translation ", godot_key, " (", Dataloader::locale_names[locale], ") from \"", old_localisation, "\" to \"", godot_localisation, "\"");
+ }
+ }
+ translation->add_message(godot_key, godot_localisation);
+ return true;
+}
diff --git a/extension/src/openvic-extension/LoadLocalisation.hpp b/extension/src/openvic-extension/LoadLocalisation.hpp
index 04ec5c7..4f09ef3 100644
--- a/extension/src/openvic-extension/LoadLocalisation.hpp
+++ b/extension/src/openvic-extension/LoadLocalisation.hpp
@@ -2,6 +2,8 @@
#include <godot_cpp/classes/translation.hpp>
+#include <openvic-simulation/dataloader/Dataloader.hpp>
+
namespace OpenVic {
class LoadLocalisation : public godot::Object {
@@ -9,8 +11,8 @@ namespace OpenVic {
static LoadLocalisation* singleton;
- godot::Error _load_file_into_translation(godot::String const& file_path, godot::Ref<godot::Translation> translation);
- godot::Ref<godot::Translation> _get_translation(godot::String const& locale);
+ godot::Error _load_file_into_translation(godot::String const& file_path, godot::Ref<godot::Translation> translation) const;
+ godot::Ref<godot::Translation> _get_translation(godot::String const& locale) const;
protected:
static void _bind_methods();
@@ -21,8 +23,10 @@ namespace OpenVic {
LoadLocalisation();
~LoadLocalisation();
- godot::Error load_file(godot::String const& file_path, godot::String const& locale);
- godot::Error load_locale_dir(godot::String const& dir_path, godot::String const& locale);
- godot::Error load_localisation_dir(godot::String const& dir_path);
+ godot::Error load_file(godot::String const& file_path, godot::String const& locale) const;
+ godot::Error load_locale_dir(godot::String const& dir_path, godot::String const& locale) const;
+ godot::Error load_localisation_dir(godot::String const& dir_path) const;
+
+ static bool add_message(std::string_view key, Dataloader::locale_t locale, std::string_view localisation);
};
}
diff --git a/game/art/economy/goods/good_aeroplanes.png.import b/game/art/economy/goods/good_aeroplanes.png.import
deleted file mode 100644
index 4bb023c..0000000
--- a/game/art/economy/goods/good_aeroplanes.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://b1kuq7k8prdc5"
-path="res://.godot/imported/good_aeroplanes.png-7a57a10fe765bbdfb738ac1b788a0a02.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_aeroplanes.png"
-dest_files=["res://.godot/imported/good_aeroplanes.png-7a57a10fe765bbdfb738ac1b788a0a02.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_ammunition.png b/game/art/economy/goods/good_ammunition.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_ammunition.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_ammunition.png.import b/game/art/economy/goods/good_ammunition.png.import
deleted file mode 100644
index a5e95aa..0000000
--- a/game/art/economy/goods/good_ammunition.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://mdsbfb1kx2yr"
-path="res://.godot/imported/good_ammunition.png-ab17c8b5b6f699fce3dd4d8842555fcc.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_ammunition.png"
-dest_files=["res://.godot/imported/good_ammunition.png-ab17c8b5b6f699fce3dd4d8842555fcc.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_artillery.png b/game/art/economy/goods/good_artillery.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_artillery.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_artillery.png.import b/game/art/economy/goods/good_artillery.png.import
deleted file mode 100644
index 3f06a9b..0000000
--- a/game/art/economy/goods/good_artillery.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://bao8gdl5pjr3l"
-path="res://.godot/imported/good_artillery.png-ccb7bdbd694b82b7887edc5e918f891c.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_artillery.png"
-dest_files=["res://.godot/imported/good_artillery.png-ccb7bdbd694b82b7887edc5e918f891c.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_automobiles.png b/game/art/economy/goods/good_automobiles.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_automobiles.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_automobiles.png.import b/game/art/economy/goods/good_automobiles.png.import
deleted file mode 100644
index f83da06..0000000
--- a/game/art/economy/goods/good_automobiles.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://cbgodumv1urxc"
-path="res://.godot/imported/good_automobiles.png-e7135793fbe9163a9843b57ef1cc9b26.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_automobiles.png"
-dest_files=["res://.godot/imported/good_automobiles.png-e7135793fbe9163a9843b57ef1cc9b26.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_cattle.png b/game/art/economy/goods/good_cattle.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_cattle.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_cattle.png.import b/game/art/economy/goods/good_cattle.png.import
deleted file mode 100644
index 34a4aa5..0000000
--- a/game/art/economy/goods/good_cattle.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://gkjpiul6248l"
-path="res://.godot/imported/good_cattle.png-089bb1aba8f91888c577c6cb83992c61.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_cattle.png"
-dest_files=["res://.godot/imported/good_cattle.png-089bb1aba8f91888c577c6cb83992c61.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_cement.png b/game/art/economy/goods/good_cement.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_cement.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_cement.png.import b/game/art/economy/goods/good_cement.png.import
deleted file mode 100644
index 5b9015b..0000000
--- a/game/art/economy/goods/good_cement.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://cyvflc8knuia3"
-path="res://.godot/imported/good_cement.png-0a1e1f3c8aaf7c59a8fcac3864c43060.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_cement.png"
-dest_files=["res://.godot/imported/good_cement.png-0a1e1f3c8aaf7c59a8fcac3864c43060.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_clipper_convoys.png b/game/art/economy/goods/good_clipper_convoys.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_clipper_convoys.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_clipper_convoys.png.import b/game/art/economy/goods/good_clipper_convoys.png.import
deleted file mode 100644
index e07cfd4..0000000
--- a/game/art/economy/goods/good_clipper_convoys.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://7n6cw4q6cpg0"
-path="res://.godot/imported/good_clipper_convoys.png-f65ae0524e341c14756b9715ac19e959.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_clipper_convoys.png"
-dest_files=["res://.godot/imported/good_clipper_convoys.png-f65ae0524e341c14756b9715ac19e959.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_coffee.png b/game/art/economy/goods/good_coffee.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_coffee.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_coffee.png.import b/game/art/economy/goods/good_coffee.png.import
deleted file mode 100644
index b33b7ce..0000000
--- a/game/art/economy/goods/good_coffee.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://3jy5uu2jq2pr"
-path="res://.godot/imported/good_coffee.png-7768b17964b43493a389f99a279f24ee.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_coffee.png"
-dest_files=["res://.godot/imported/good_coffee.png-7768b17964b43493a389f99a279f24ee.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_cotton.png b/game/art/economy/goods/good_cotton.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_cotton.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_cotton.png.import b/game/art/economy/goods/good_cotton.png.import
deleted file mode 100644
index 0b4a6f9..0000000
--- a/game/art/economy/goods/good_cotton.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://qowksfvibsaj"
-path="res://.godot/imported/good_cotton.png-1be24dab75d5d55dfd628720de8fa9b4.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_cotton.png"
-dest_files=["res://.godot/imported/good_cotton.png-1be24dab75d5d55dfd628720de8fa9b4.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_dye.png b/game/art/economy/goods/good_dye.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_dye.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_dye.png.import b/game/art/economy/goods/good_dye.png.import
deleted file mode 100644
index ba8ac1a..0000000
--- a/game/art/economy/goods/good_dye.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://c0olvg2dwe6nt"
-path="res://.godot/imported/good_dye.png-3860e12c1400e31fe7cef3cebea7d9c8.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_dye.png"
-dest_files=["res://.godot/imported/good_dye.png-3860e12c1400e31fe7cef3cebea7d9c8.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_electric_gears.png b/game/art/economy/goods/good_electric_gears.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_electric_gears.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_electric_gears.png.import b/game/art/economy/goods/good_electric_gears.png.import
deleted file mode 100644
index d35841c..0000000
--- a/game/art/economy/goods/good_electric_gears.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://ddv56dq6f14ct"
-path="res://.godot/imported/good_electric_gears.png-3cfff1f338b9a904a6fd956041eae0e7.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_electric_gears.png"
-dest_files=["res://.godot/imported/good_electric_gears.png-3cfff1f338b9a904a6fd956041eae0e7.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_explosives.png b/game/art/economy/goods/good_explosives.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_explosives.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_explosives.png.import b/game/art/economy/goods/good_explosives.png.import
deleted file mode 100644
index 6ed32a7..0000000
--- a/game/art/economy/goods/good_explosives.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://b08wotf623gt1"
-path="res://.godot/imported/good_explosives.png-a66d3b6c0368d11d0a481ad963f9a327.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_explosives.png"
-dest_files=["res://.godot/imported/good_explosives.png-a66d3b6c0368d11d0a481ad963f9a327.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_fabric.png b/game/art/economy/goods/good_fabric.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_fabric.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_fabric.png.import b/game/art/economy/goods/good_fabric.png.import
deleted file mode 100644
index 4726cd3..0000000
--- a/game/art/economy/goods/good_fabric.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://dkdoce38sued1"
-path="res://.godot/imported/good_fabric.png-cae92ac8cdf54dfb1030c828b822b10c.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_fabric.png"
-dest_files=["res://.godot/imported/good_fabric.png-cae92ac8cdf54dfb1030c828b822b10c.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_fertilizer.png b/game/art/economy/goods/good_fertilizer.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_fertilizer.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_fertilizer.png.import b/game/art/economy/goods/good_fertilizer.png.import
deleted file mode 100644
index e91f4b3..0000000
--- a/game/art/economy/goods/good_fertilizer.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://b8cca7k8p7ix4"
-path="res://.godot/imported/good_fertilizer.png-dc4654b14c0533f03b171c40b4c9fd0a.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_fertilizer.png"
-dest_files=["res://.godot/imported/good_fertilizer.png-dc4654b14c0533f03b171c40b4c9fd0a.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_fish.png b/game/art/economy/goods/good_fish.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_fish.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_fish.png.import b/game/art/economy/goods/good_fish.png.import
deleted file mode 100644
index 9e11091..0000000
--- a/game/art/economy/goods/good_fish.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://dngxh4ai77636"
-path="res://.godot/imported/good_fish.png-b121aa8c24a6034978a21e30aa911543.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_fish.png"
-dest_files=["res://.godot/imported/good_fish.png-b121aa8c24a6034978a21e30aa911543.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_fruit.png b/game/art/economy/goods/good_fruit.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_fruit.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_fruit.png.import b/game/art/economy/goods/good_fruit.png.import
deleted file mode 100644
index 38182e9..0000000
--- a/game/art/economy/goods/good_fruit.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://mhymob78sc66"
-path="res://.godot/imported/good_fruit.png-d243f420031becbe4fde831f75d8775d.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_fruit.png"
-dest_files=["res://.godot/imported/good_fruit.png-d243f420031becbe4fde831f75d8775d.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_fuel.png b/game/art/economy/goods/good_fuel.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_fuel.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_fuel.png.import b/game/art/economy/goods/good_fuel.png.import
deleted file mode 100644
index fd7e4f0..0000000
--- a/game/art/economy/goods/good_fuel.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://io6akve2mmoq"
-path="res://.godot/imported/good_fuel.png-2109b0ff91e60a0493aae55e62af5d60.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_fuel.png"
-dest_files=["res://.godot/imported/good_fuel.png-2109b0ff91e60a0493aae55e62af5d60.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_furniture.png b/game/art/economy/goods/good_furniture.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_furniture.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_furniture.png.import b/game/art/economy/goods/good_furniture.png.import
deleted file mode 100644
index 2102079..0000000
--- a/game/art/economy/goods/good_furniture.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://5ri2aw6okdnf"
-path="res://.godot/imported/good_furniture.png-1adf5a4de61619dcbfb263bbd777fe6c.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_furniture.png"
-dest_files=["res://.godot/imported/good_furniture.png-1adf5a4de61619dcbfb263bbd777fe6c.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_glass.png b/game/art/economy/goods/good_glass.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_glass.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_glass.png.import b/game/art/economy/goods/good_glass.png.import
deleted file mode 100644
index 2b7b6f8..0000000
--- a/game/art/economy/goods/good_glass.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://c8ee8mt7d18xn"
-path="res://.godot/imported/good_glass.png-c295705ce9a627d363e1ca2001dde23a.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_glass.png"
-dest_files=["res://.godot/imported/good_glass.png-c295705ce9a627d363e1ca2001dde23a.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_lumber.png b/game/art/economy/goods/good_lumber.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_lumber.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_lumber.png.import b/game/art/economy/goods/good_lumber.png.import
deleted file mode 100644
index e2d18bf..0000000
--- a/game/art/economy/goods/good_lumber.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://n5q7vatwb7vy"
-path="res://.godot/imported/good_lumber.png-a89989392579e428c522561c7791aa8a.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_lumber.png"
-dest_files=["res://.godot/imported/good_lumber.png-a89989392579e428c522561c7791aa8a.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_luxury_clothes.png b/game/art/economy/goods/good_luxury_clothes.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_luxury_clothes.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_luxury_clothes.png.import b/game/art/economy/goods/good_luxury_clothes.png.import
deleted file mode 100644
index 07542d4..0000000
--- a/game/art/economy/goods/good_luxury_clothes.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://dgl52m0j7j8gk"
-path="res://.godot/imported/good_luxury_clothes.png-c1de34ca95f4fbd6359cbc7b8e50dc53.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_luxury_clothes.png"
-dest_files=["res://.godot/imported/good_luxury_clothes.png-c1de34ca95f4fbd6359cbc7b8e50dc53.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_luxury_furniture.png b/game/art/economy/goods/good_luxury_furniture.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_luxury_furniture.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_luxury_furniture.png.import b/game/art/economy/goods/good_luxury_furniture.png.import
deleted file mode 100644
index 079ed83..0000000
--- a/game/art/economy/goods/good_luxury_furniture.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://cwa4cp7rw52se"
-path="res://.godot/imported/good_luxury_furniture.png-775415357561e5fd19efde9571063447.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_luxury_furniture.png"
-dest_files=["res://.godot/imported/good_luxury_furniture.png-775415357561e5fd19efde9571063447.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_oil.png b/game/art/economy/goods/good_oil.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_oil.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_oil.png.import b/game/art/economy/goods/good_oil.png.import
deleted file mode 100644
index 1c7ee64..0000000
--- a/game/art/economy/goods/good_oil.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://blgngx1k43uww"
-path="res://.godot/imported/good_oil.png-9671b03425abaa4486f2531ff41d265b.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_oil.png"
-dest_files=["res://.godot/imported/good_oil.png-9671b03425abaa4486f2531ff41d265b.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_opium.png b/game/art/economy/goods/good_opium.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_opium.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_opium.png.import b/game/art/economy/goods/good_opium.png.import
deleted file mode 100644
index 59c6a85..0000000
--- a/game/art/economy/goods/good_opium.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://dg8hopeslcvu5"
-path="res://.godot/imported/good_opium.png-6341d8aeba9efb1a0a97a7c5400a3e80.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_opium.png"
-dest_files=["res://.godot/imported/good_opium.png-6341d8aeba9efb1a0a97a7c5400a3e80.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_paper.png b/game/art/economy/goods/good_paper.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_paper.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_paper.png.import b/game/art/economy/goods/good_paper.png.import
deleted file mode 100644
index c6e7464..0000000
--- a/game/art/economy/goods/good_paper.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://d1bqv45m8r4bh"
-path="res://.godot/imported/good_paper.png-0a5e24fbad019a4e71441aa1f1d6fed4.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_paper.png"
-dest_files=["res://.godot/imported/good_paper.png-0a5e24fbad019a4e71441aa1f1d6fed4.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_precious_metal.png b/game/art/economy/goods/good_precious_metal.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_precious_metal.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_precious_metal.png.import b/game/art/economy/goods/good_precious_metal.png.import
deleted file mode 100644
index 0c2dc5b..0000000
--- a/game/art/economy/goods/good_precious_metal.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://bxa2c6smyh6m4"
-path="res://.godot/imported/good_precious_metal.png-70cb259662b364ed8685a3e5344d25f8.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_precious_metal.png"
-dest_files=["res://.godot/imported/good_precious_metal.png-70cb259662b364ed8685a3e5344d25f8.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_radios.png b/game/art/economy/goods/good_radios.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_radios.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_radios.png.import b/game/art/economy/goods/good_radios.png.import
deleted file mode 100644
index 9f313e6..0000000
--- a/game/art/economy/goods/good_radios.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://6a6ds8n4i11f"
-path="res://.godot/imported/good_radios.png-c89ffd8a134e15da3796a8d2e3a45da6.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_radios.png"
-dest_files=["res://.godot/imported/good_radios.png-c89ffd8a134e15da3796a8d2e3a45da6.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_regular_clothes.png b/game/art/economy/goods/good_regular_clothes.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_regular_clothes.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_regular_clothes.png.import b/game/art/economy/goods/good_regular_clothes.png.import
deleted file mode 100644
index 0730d7a..0000000
--- a/game/art/economy/goods/good_regular_clothes.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://cyyjk8jki0c1k"
-path="res://.godot/imported/good_regular_clothes.png-e5e0e3499731529e3240bd5b4aceb543.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_regular_clothes.png"
-dest_files=["res://.godot/imported/good_regular_clothes.png-e5e0e3499731529e3240bd5b4aceb543.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_rubber.png b/game/art/economy/goods/good_rubber.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_rubber.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_rubber.png.import b/game/art/economy/goods/good_rubber.png.import
deleted file mode 100644
index c5d6e6b..0000000
--- a/game/art/economy/goods/good_rubber.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://6d3hi21re7vu"
-path="res://.godot/imported/good_rubber.png-80a5757539b9a9b429e7c78c60e2430a.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_rubber.png"
-dest_files=["res://.godot/imported/good_rubber.png-80a5757539b9a9b429e7c78c60e2430a.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_silk.png b/game/art/economy/goods/good_silk.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_silk.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_silk.png.import b/game/art/economy/goods/good_silk.png.import
deleted file mode 100644
index 6014317..0000000
--- a/game/art/economy/goods/good_silk.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://cl4cedysbxpi3"
-path="res://.godot/imported/good_silk.png-73e35b9d9d3b0a168d03c35b97091b20.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_silk.png"
-dest_files=["res://.godot/imported/good_silk.png-73e35b9d9d3b0a168d03c35b97091b20.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_small_arms.png b/game/art/economy/goods/good_small_arms.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_small_arms.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_small_arms.png.import b/game/art/economy/goods/good_small_arms.png.import
deleted file mode 100644
index 90f26fb..0000000
--- a/game/art/economy/goods/good_small_arms.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://bem3ej8ele0qr"
-path="res://.godot/imported/good_small_arms.png-ab6a1cff543e96684bb64337b5d81d9e.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_small_arms.png"
-dest_files=["res://.godot/imported/good_small_arms.png-ab6a1cff543e96684bb64337b5d81d9e.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_steamer_convoys.png b/game/art/economy/goods/good_steamer_convoys.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_steamer_convoys.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_steamer_convoys.png.import b/game/art/economy/goods/good_steamer_convoys.png.import
deleted file mode 100644
index 90b5d53..0000000
--- a/game/art/economy/goods/good_steamer_convoys.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://dwiw10uxdqq3h"
-path="res://.godot/imported/good_steamer_convoys.png-53cc329d4c29c6e2538c3c4356a67c39.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_steamer_convoys.png"
-dest_files=["res://.godot/imported/good_steamer_convoys.png-53cc329d4c29c6e2538c3c4356a67c39.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_steel.png b/game/art/economy/goods/good_steel.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_steel.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_steel.png.import b/game/art/economy/goods/good_steel.png.import
deleted file mode 100644
index 6a5b967..0000000
--- a/game/art/economy/goods/good_steel.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://d5yfj0lreiix"
-path="res://.godot/imported/good_steel.png-d26fd1ae635591a88191df8360c4a3a3.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_steel.png"
-dest_files=["res://.godot/imported/good_steel.png-d26fd1ae635591a88191df8360c4a3a3.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_sulphur.png b/game/art/economy/goods/good_sulphur.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_sulphur.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_sulphur.png.import b/game/art/economy/goods/good_sulphur.png.import
deleted file mode 100644
index 1480ad9..0000000
--- a/game/art/economy/goods/good_sulphur.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://pil6cifo50ct"
-path="res://.godot/imported/good_sulphur.png-2ae7d484191682b90b52d0946f580557.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_sulphur.png"
-dest_files=["res://.godot/imported/good_sulphur.png-2ae7d484191682b90b52d0946f580557.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_tanks.png b/game/art/economy/goods/good_tanks.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_tanks.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_tanks.png.import b/game/art/economy/goods/good_tanks.png.import
deleted file mode 100644
index ded8b0d..0000000
--- a/game/art/economy/goods/good_tanks.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://dobrrmagml05w"
-path="res://.godot/imported/good_tanks.png-33bf353399e9db6f61d804a1976ca3d5.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_tanks.png"
-dest_files=["res://.godot/imported/good_tanks.png-33bf353399e9db6f61d804a1976ca3d5.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_tea.png b/game/art/economy/goods/good_tea.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_tea.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_tea.png.import b/game/art/economy/goods/good_tea.png.import
deleted file mode 100644
index c1b681b..0000000
--- a/game/art/economy/goods/good_tea.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://bcjeglnlrolb4"
-path="res://.godot/imported/good_tea.png-24cd982e5dd7512fb494d815ec5f5b8c.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_tea.png"
-dest_files=["res://.godot/imported/good_tea.png-24cd982e5dd7512fb494d815ec5f5b8c.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_telephones.png b/game/art/economy/goods/good_telephones.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_telephones.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_telephones.png.import b/game/art/economy/goods/good_telephones.png.import
deleted file mode 100644
index 90b0b51..0000000
--- a/game/art/economy/goods/good_telephones.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://ci1urs3l8jng1"
-path="res://.godot/imported/good_telephones.png-13562dd5561459abce209f92025e518f.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_telephones.png"
-dest_files=["res://.godot/imported/good_telephones.png-13562dd5561459abce209f92025e518f.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_timber.png b/game/art/economy/goods/good_timber.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_timber.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_timber.png.import b/game/art/economy/goods/good_timber.png.import
deleted file mode 100644
index 311c817..0000000
--- a/game/art/economy/goods/good_timber.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://cepfiiuvclo6v"
-path="res://.godot/imported/good_timber.png-8972ab65fa6d80aa6aa38501c49adde6.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_timber.png"
-dest_files=["res://.godot/imported/good_timber.png-8972ab65fa6d80aa6aa38501c49adde6.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_tobacco.png b/game/art/economy/goods/good_tobacco.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_tobacco.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_tobacco.png.import b/game/art/economy/goods/good_tobacco.png.import
deleted file mode 100644
index 4565a1b..0000000
--- a/game/art/economy/goods/good_tobacco.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://kcaksf7cmwty"
-path="res://.godot/imported/good_tobacco.png-b0daa3923eeb65380e27694227c28463.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_tobacco.png"
-dest_files=["res://.godot/imported/good_tobacco.png-b0daa3923eeb65380e27694227c28463.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_tropical_wood.png b/game/art/economy/goods/good_tropical_wood.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_tropical_wood.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_tropical_wood.png.import b/game/art/economy/goods/good_tropical_wood.png.import
deleted file mode 100644
index 97f2458..0000000
--- a/game/art/economy/goods/good_tropical_wood.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://pxi8v6bqsmn2"
-path="res://.godot/imported/good_tropical_wood.png-227a307b3f13efd1924da53194d4b1f7.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_tropical_wood.png"
-dest_files=["res://.godot/imported/good_tropical_wood.png-227a307b3f13efd1924da53194d4b1f7.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_wine.png b/game/art/economy/goods/good_wine.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/economy/goods/good_wine.png
+++ /dev/null
Binary files differ
diff --git a/game/art/economy/goods/good_wine.png.import b/game/art/economy/goods/good_wine.png.import
deleted file mode 100644
index 335cb00..0000000
--- a/game/art/economy/goods/good_wine.png.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="image"
-type="Image"
-uid="uid://dfh6rux8hrly5"
-path="res://.godot/imported/good_wine.png-6bfb1d83a0cd9e755399ce4ce576edae.image"
-
-[deps]
-
-source_file="res://art/economy/goods/good_wine.png"
-dest_files=["res://.godot/imported/good_wine.png-6bfb1d83a0cd9e755399ce4ce576edae.image"]
-
-[params]
-
diff --git a/game/art/economy/goods/good_aeroplanes.png b/game/art/missing_image.png
index 827ebc0..827ebc0 100644
--- a/game/art/economy/goods/good_aeroplanes.png
+++ b/game/art/missing_image.png
Binary files differ
diff --git a/game/art/missing_image.png.import b/game/art/missing_image.png.import
new file mode 100644
index 0000000..ebd0f62
--- /dev/null
+++ b/game/art/missing_image.png.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="image"
+type="Image"
+uid="uid://decjt4kqgicns"
+path="res://.godot/imported/missing_image.png-be2f5a08706e6e130ac40e14320043cb.image"
+
+[deps]
+
+source_file="res://art/missing_image.png"
+dest_files=["res://.godot/imported/missing_image.png-be2f5a08706e6e130ac40e14320043cb.image"]
+
+[params]
+
diff --git a/game/art/economy/goods/README.md b/game/art/technology/README.md
index 15015e3..15015e3 100644
--- a/game/art/economy/goods/README.md
+++ b/game/art/technology/README.md
diff --git a/game/art/units/Airplane.png b/game/art/units/Airplane.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/units/Airplane.png
+++ /dev/null
Binary files differ
diff --git a/game/art/units/Airplane.png.import b/game/art/units/Airplane.png.import
deleted file mode 100644
index 830c140..0000000
--- a/game/art/units/Airplane.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://b05nq06fahtxi"
-path="res://.godot/imported/Airplane.png-41f37b8f11a65e540eed98b24a297027.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://art/units/Airplane.png"
-dest_files=["res://.godot/imported/Airplane.png-41f37b8f11a65e540eed98b24a297027.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
diff --git a/game/art/units/Armor.png b/game/art/units/Armor.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/units/Armor.png
+++ /dev/null
Binary files differ
diff --git a/game/art/units/Armor.png.import b/game/art/units/Armor.png.import
deleted file mode 100644
index 42c807b..0000000
--- a/game/art/units/Armor.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://cr6bw4jwrydpm"
-path="res://.godot/imported/Armor.png-748c76c2a00bae3705715d74bcf34c0b.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://art/units/Armor.png"
-dest_files=["res://.godot/imported/Armor.png-748c76c2a00bae3705715d74bcf34c0b.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
diff --git a/game/art/units/Battleship.png b/game/art/units/Battleship.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/units/Battleship.png
+++ /dev/null
Binary files differ
diff --git a/game/art/units/Battleship.png.import b/game/art/units/Battleship.png.import
deleted file mode 100644
index aa56ee7..0000000
--- a/game/art/units/Battleship.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://j16k5y0gnkqy"
-path="res://.godot/imported/Battleship.png-ea7ecf7a355e55b030c9c7a6b1765d4e.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://art/units/Battleship.png"
-dest_files=["res://.godot/imported/Battleship.png-ea7ecf7a355e55b030c9c7a6b1765d4e.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
diff --git a/game/art/units/Cavalry.png b/game/art/units/Cavalry.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/units/Cavalry.png
+++ /dev/null
Binary files differ
diff --git a/game/art/units/Cavalry.png.import b/game/art/units/Cavalry.png.import
deleted file mode 100644
index 7cc22ed..0000000
--- a/game/art/units/Cavalry.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://bmv2431sb27kw"
-path="res://.godot/imported/Cavalry.png-e9b856b6c9804e5a46f98e084fb8322d.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://art/units/Cavalry.png"
-dest_files=["res://.godot/imported/Cavalry.png-e9b856b6c9804e5a46f98e084fb8322d.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
diff --git a/game/art/units/ClipperTransport.png b/game/art/units/ClipperTransport.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/units/ClipperTransport.png
+++ /dev/null
Binary files differ
diff --git a/game/art/units/ClipperTransport.png.import b/game/art/units/ClipperTransport.png.import
deleted file mode 100644
index aa42ffd..0000000
--- a/game/art/units/ClipperTransport.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://bac3o2bng7o3y"
-path="res://.godot/imported/ClipperTransport.png-9e61055011e1905d88dbc935d3804c84.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://art/units/ClipperTransport.png"
-dest_files=["res://.godot/imported/ClipperTransport.png-9e61055011e1905d88dbc935d3804c84.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
diff --git a/game/art/units/CommerceRaider.png b/game/art/units/CommerceRaider.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/units/CommerceRaider.png
+++ /dev/null
Binary files differ
diff --git a/game/art/units/CommerceRaider.png.import b/game/art/units/CommerceRaider.png.import
deleted file mode 100644
index 9659365..0000000
--- a/game/art/units/CommerceRaider.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://df6xi485nd40t"
-path="res://.godot/imported/CommerceRaider.png-bf8b21fe06d47d08c44cca1f8235510c.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://art/units/CommerceRaider.png"
-dest_files=["res://.godot/imported/CommerceRaider.png-bf8b21fe06d47d08c44cca1f8235510c.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
diff --git a/game/art/units/Cruiser.png b/game/art/units/Cruiser.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/units/Cruiser.png
+++ /dev/null
Binary files differ
diff --git a/game/art/units/Cruiser.png.import b/game/art/units/Cruiser.png.import
deleted file mode 100644
index f66a5ef..0000000
--- a/game/art/units/Cruiser.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://ux2c2o7mdw62"
-path="res://.godot/imported/Cruiser.png-1e3544dd1a241ffcae8270610e5bfe3d.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://art/units/Cruiser.png"
-dest_files=["res://.godot/imported/Cruiser.png-1e3544dd1a241ffcae8270610e5bfe3d.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
diff --git a/game/art/units/Cuirassier.png b/game/art/units/Cuirassier.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/units/Cuirassier.png
+++ /dev/null
Binary files differ
diff --git a/game/art/units/Cuirassier.png.import b/game/art/units/Cuirassier.png.import
deleted file mode 100644
index aa7a083..0000000
--- a/game/art/units/Cuirassier.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://b1osxxowutu4m"
-path="res://.godot/imported/Cuirassier.png-81579aef297026e6ff19205d26583582.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://art/units/Cuirassier.png"
-dest_files=["res://.godot/imported/Cuirassier.png-81579aef297026e6ff19205d26583582.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
diff --git a/game/art/units/Dragoon.png b/game/art/units/Dragoon.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/units/Dragoon.png
+++ /dev/null
Binary files differ
diff --git a/game/art/units/Dragoon.png.import b/game/art/units/Dragoon.png.import
deleted file mode 100644
index 9d2cd04..0000000
--- a/game/art/units/Dragoon.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://cibsp68s8qaiu"
-path="res://.godot/imported/Dragoon.png-54b62cf8d20f1dfb39bb19d654a4dc80.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://art/units/Dragoon.png"
-dest_files=["res://.godot/imported/Dragoon.png-54b62cf8d20f1dfb39bb19d654a4dc80.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
diff --git a/game/art/units/Dreadnought.png b/game/art/units/Dreadnought.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/units/Dreadnought.png
+++ /dev/null
Binary files differ
diff --git a/game/art/units/Dreadnought.png.import b/game/art/units/Dreadnought.png.import
deleted file mode 100644
index 3753e7b..0000000
--- a/game/art/units/Dreadnought.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://380ikkcmhbtq"
-path="res://.godot/imported/Dreadnought.png-aa8d52ce02a2bb43d1f13134ff4a3806.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://art/units/Dreadnought.png"
-dest_files=["res://.godot/imported/Dreadnought.png-aa8d52ce02a2bb43d1f13134ff4a3806.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
diff --git a/game/art/units/Engineer.png b/game/art/units/Engineer.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/units/Engineer.png
+++ /dev/null
Binary files differ
diff --git a/game/art/units/Engineer.png.import b/game/art/units/Engineer.png.import
deleted file mode 100644
index 9cf2a5c..0000000
--- a/game/art/units/Engineer.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://ctaadlfgu8gsi"
-path="res://.godot/imported/Engineer.png-f54fdaee08f72f0db7cae32666203020.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://art/units/Engineer.png"
-dest_files=["res://.godot/imported/Engineer.png-f54fdaee08f72f0db7cae32666203020.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
diff --git a/game/art/units/Frigate.png b/game/art/units/Frigate.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/units/Frigate.png
+++ /dev/null
Binary files differ
diff --git a/game/art/units/Frigate.png.import b/game/art/units/Frigate.png.import
deleted file mode 100644
index 58cbad4..0000000
--- a/game/art/units/Frigate.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://cayh7gvg3rt2o"
-path="res://.godot/imported/Frigate.png-22a37dd538d573dff9d19359d304af1a.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://art/units/Frigate.png"
-dest_files=["res://.godot/imported/Frigate.png-22a37dd538d573dff9d19359d304af1a.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
diff --git a/game/art/units/Hussar.png b/game/art/units/Hussar.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/units/Hussar.png
+++ /dev/null
Binary files differ
diff --git a/game/art/units/Hussar.png.import b/game/art/units/Hussar.png.import
deleted file mode 100644
index b9ee901..0000000
--- a/game/art/units/Hussar.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://1k07hjkw32yw"
-path="res://.godot/imported/Hussar.png-f1c1708f6e6fc49464755bd5990c1772.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://art/units/Hussar.png"
-dest_files=["res://.godot/imported/Hussar.png-f1c1708f6e6fc49464755bd5990c1772.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
diff --git a/game/art/units/Ironclad.png b/game/art/units/Ironclad.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/units/Ironclad.png
+++ /dev/null
Binary files differ
diff --git a/game/art/units/Ironclad.png.import b/game/art/units/Ironclad.png.import
deleted file mode 100644
index c21f9b5..0000000
--- a/game/art/units/Ironclad.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://d2xvrhdb8ddbj"
-path="res://.godot/imported/Ironclad.png-6ff432ba040c970e7cf5a34fa1691703.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://art/units/Ironclad.png"
-dest_files=["res://.godot/imported/Ironclad.png-6ff432ba040c970e7cf5a34fa1691703.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
diff --git a/game/art/units/ManOWar.png b/game/art/units/ManOWar.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/units/ManOWar.png
+++ /dev/null
Binary files differ
diff --git a/game/art/units/ManOWar.png.import b/game/art/units/ManOWar.png.import
deleted file mode 100644
index 95e8aae..0000000
--- a/game/art/units/ManOWar.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://bhs14st1sfxyk"
-path="res://.godot/imported/ManOWar.png-1d0aeaf29ddb7549ac6e1fe02bb71087.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://art/units/ManOWar.png"
-dest_files=["res://.godot/imported/ManOWar.png-1d0aeaf29ddb7549ac6e1fe02bb71087.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
diff --git a/game/art/units/Monitor.png b/game/art/units/Monitor.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/units/Monitor.png
+++ /dev/null
Binary files differ
diff --git a/game/art/units/Monitor.png.import b/game/art/units/Monitor.png.import
deleted file mode 100644
index abce7fd..0000000
--- a/game/art/units/Monitor.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://dbr4cvn768avu"
-path="res://.godot/imported/Monitor.png-67ac2d89ae01044a05ecd8ac7a4404e5.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://art/units/Monitor.png"
-dest_files=["res://.godot/imported/Monitor.png-67ac2d89ae01044a05ecd8ac7a4404e5.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
diff --git a/game/art/units/SteamerTransport.png b/game/art/units/SteamerTransport.png
deleted file mode 100644
index 827ebc0..0000000
--- a/game/art/units/SteamerTransport.png
+++ /dev/null
Binary files differ
diff --git a/game/art/units/SteamerTransport.png.import b/game/art/units/SteamerTransport.png.import
deleted file mode 100644
index 4eece41..0000000
--- a/game/art/units/SteamerTransport.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://csusa1o3uhn3b"
-path="res://.godot/imported/SteamerTransport.png-a0d47379c05f4b7a05fb7e1f159d0614.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://art/units/SteamerTransport.png"
-dest_files=["res://.godot/imported/SteamerTransport.png-a0d47379c05f4b7a05fb7e1f159d0614.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
diff --git a/game/src/Game/GameSession/ProvinceOverviewPanel/ProvinceOverviewPanel.gd b/game/src/Game/GameSession/ProvinceOverviewPanel/ProvinceOverviewPanel.gd
index 0220be2..01175d0 100644
--- a/game/src/Game/GameSession/ProvinceOverviewPanel/ProvinceOverviewPanel.gd
+++ b/game/src/Game/GameSession/ProvinceOverviewPanel/ProvinceOverviewPanel.gd
@@ -104,7 +104,7 @@ func _set_building_row(index : int, building : Dictionary) -> void:
func _update_info() -> void:
_province_info = GameSingleton.get_province_info_from_index(_selected_index)
if _province_info:
- _province_name_label.text = _province_info.get(GameSingleton.get_province_info_province_key(),
+ _province_name_label.text = "PROV" + _province_info.get(GameSingleton.get_province_info_province_key(),
GameSingleton.get_province_info_province_key() + _missing_suffix)
_region_name_label.text = _province_info.get(GameSingleton.get_province_info_region_key(),
GameSingleton.get_province_info_region_key() + _missing_suffix)
@@ -122,7 +122,7 @@ func _update_info() -> void:
_rgo_name_label.text = _province_info.get(GameSingleton.get_province_info_rgo_key(),
GameSingleton.get_province_info_rgo_key() + _missing_suffix)
- _rgo_icon_texture_rect.texture = GameSingleton.get_good_icon_texture(_rgo_name_label.text)
+ _rgo_icon_texture_rect.texture = null
var buildings : Array = _province_info.get(GameSingleton.get_province_info_buildings_key(), [])
for i in max(buildings.size(), _building_rows.size()):
diff --git a/game/src/Game/Theme/PieChart/PieChart.gd b/game/src/Game/Theme/PieChart/PieChart.gd
index cfd7917..4b81b28 100644
--- a/game/src/Game/Theme/PieChart/PieChart.gd
+++ b/game/src/Game/Theme/PieChart/PieChart.gd
@@ -193,13 +193,13 @@ func _create_tooltip(labelHovered : String) -> String:
for label in _slice_order:
var slice : SliceData = _slices.get(label)
var percent := _format_percent(slice.percentage)
- var entry : String = "%s %s%%" % [label, percent]
+ var entry : String = "%s %s%%" % [tr(label), percent]
if label == labelHovered:
entry = "[i][u][b]>>%s<<[/b][/u][/i]" % entry
slice_tooltips.push_back(entry)
# Slices are ordered smallest to largest, but here we want the opposite
slice_tooltips.reverse()
- return "[font_size=10]%s[/font_size]" % "\n".join(slice_tooltips)
+ return "[font_size=14]%s[/font_size]" % "\n".join(slice_tooltips)
# Angle from center.angle_to_point is measured from the +x axis,
# but the chart starts from +y