diff --git a/src/spectatorwidgets.cpp b/src/spectatorwidgets.cpp index ac642004a4b..60ba98ccd15 100644 --- a/src/spectatorwidgets.cpp +++ b/src/spectatorwidgets.cpp @@ -291,71 +291,6 @@ widgScheduleTask([](){ \ specS##id##ewShutdown(); \ }); -static gfx_api::texture* loadImageForWeapSubclass(WEAPON_SUBCLASS subClass) -{ - const char* imagePath = nullptr; - switch (subClass) - { - case WSC_MGUN: - imagePath = "images/intfac/wsc_mgun.png"; - break; - case WSC_CANNON: - imagePath = "images/intfac/wsc_cannon.png"; - break; - case WSC_MORTARS: - imagePath = "images/intfac/wsc_mortars.png"; - break; - case WSC_MISSILE: - imagePath = "images/intfac/wsc_missile.png"; - break; - case WSC_ROCKET: - imagePath = "images/intfac/wsc_rocket.png"; - break; - case WSC_ENERGY: - imagePath = "images/intfac/wsc_energy.png"; - break; - case WSC_GAUSS: - imagePath = "images/intfac/wsc_gauss.png"; - break; - case WSC_FLAME: - imagePath = "images/intfac/wsc_flame.png"; - break; - //case WSC_CLOSECOMBAT: - case WSC_HOWITZERS: - imagePath = "images/intfac/wsc_howitzers.png"; - break; - case WSC_ELECTRONIC: - imagePath = "images/intfac/wsc_electronic.png"; - break; - case WSC_AAGUN: - imagePath = "images/intfac/wsc_aagun.png"; - break; - case WSC_SLOWMISSILE: - imagePath = "images/intfac/wsc_slowmissile.png"; - break; - case WSC_SLOWROCKET: - imagePath = "images/intfac/wsc_slowrocket.png"; - break; - case WSC_LAS_SAT: - imagePath = "images/intfac/wsc_las_sat.png"; - break; - case WSC_BOMB: - imagePath = "images/intfac/wsc_bomb.png"; - break; - case WSC_COMMAND: - imagePath = "images/intfac/wsc_command.png"; - break; - case WSC_EMP: - imagePath = "images/intfac/wsc_emp.png"; - break; - case WSC_NUM_WEAPON_SUBCLASSES: /** The number of enumerators in this enum. */ - break; - } - ASSERT_OR_RETURN(nullptr, imagePath != nullptr, "No image path"); - WZ_Notification_Image img(imagePath); - return img.loadImageToTexture(); -} - class WzCenteredColumnIcon: public W_BUTTON { public: diff --git a/src/stats.cpp b/src/stats.cpp index a165631dff7..871b8e5c581 100644 --- a/src/stats.cpp +++ b/src/stats.cpp @@ -39,6 +39,7 @@ #include "lib/sound/audio_id.h" #include "projectile.h" #include "text.h" +#include "notifications.h" #include #define WEAPON_TIME 100 @@ -1870,3 +1871,68 @@ bool objRadarDetector(const BASE_OBJECT *psObj) } return false; } + +gfx_api::texture* loadImageForWeapSubclass(WEAPON_SUBCLASS subClass) +{ + const char* imagePath = nullptr; + switch (subClass) + { + case WSC_MGUN: + imagePath = "images/intfac/wsc_mgun.png"; + break; + case WSC_CANNON: + imagePath = "images/intfac/wsc_cannon.png"; + break; + case WSC_MORTARS: + imagePath = "images/intfac/wsc_mortars.png"; + break; + case WSC_MISSILE: + imagePath = "images/intfac/wsc_missile.png"; + break; + case WSC_ROCKET: + imagePath = "images/intfac/wsc_rocket.png"; + break; + case WSC_ENERGY: + imagePath = "images/intfac/wsc_energy.png"; + break; + case WSC_GAUSS: + imagePath = "images/intfac/wsc_gauss.png"; + break; + case WSC_FLAME: + imagePath = "images/intfac/wsc_flame.png"; + break; + //case WSC_CLOSECOMBAT: + case WSC_HOWITZERS: + imagePath = "images/intfac/wsc_howitzers.png"; + break; + case WSC_ELECTRONIC: + imagePath = "images/intfac/wsc_electronic.png"; + break; + case WSC_AAGUN: + imagePath = "images/intfac/wsc_aagun.png"; + break; + case WSC_SLOWMISSILE: + imagePath = "images/intfac/wsc_slowmissile.png"; + break; + case WSC_SLOWROCKET: + imagePath = "images/intfac/wsc_slowrocket.png"; + break; + case WSC_LAS_SAT: + imagePath = "images/intfac/wsc_las_sat.png"; + break; + case WSC_BOMB: + imagePath = "images/intfac/wsc_bomb.png"; + break; + case WSC_COMMAND: + imagePath = "images/intfac/wsc_command.png"; + break; + case WSC_EMP: + imagePath = "images/intfac/wsc_emp.png"; + break; + case WSC_NUM_WEAPON_SUBCLASSES: /** The number of enumerators in this enum. */ + break; + } + ASSERT_OR_RETURN(nullptr, imagePath != nullptr, "No image path"); + WZ_Notification_Image img(imagePath); + return img.loadImageToTexture(); +} diff --git a/src/stats.h b/src/stats.h index c7b944fa1fa..56ac4b78606 100644 --- a/src/stats.h +++ b/src/stats.h @@ -179,6 +179,12 @@ const char *getWeaponSubClass(WEAPON_SUBCLASS wclass); /* returns the translated weapon sub class name - for local display purposes only */ const char *getWeaponSubClassDisplayName(WEAPON_SUBCLASS wclass, bool shortForm); +namespace gfx_api +{ + struct texture; // forward-declare +} +gfx_api::texture* loadImageForWeapSubclass(WEAPON_SUBCLASS subClass); + /*sets the store to the body size based on the name passed in - returns false if doesn't compare with any*/ bool getBodySize(const WzString &size, BODY_SIZE *pStore);