Skip to content

Commit

Permalink
Move loadImageForWeapSubclass to stats.h/.cpp
Browse files Browse the repository at this point in the history
  • Loading branch information
past-due committed Oct 11, 2023
1 parent d368002 commit ee77fe9
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 65 deletions.
65 changes: 0 additions & 65 deletions src/spectatorwidgets.cpp
Expand Up @@ -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:
Expand Down
66 changes: 66 additions & 0 deletions src/stats.cpp
Expand Up @@ -39,6 +39,7 @@
#include "lib/sound/audio_id.h"
#include "projectile.h"
#include "text.h"
#include "notifications.h"
#include <unordered_map>

#define WEAPON_TIME 100
Expand Down Expand Up @@ -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();
}
6 changes: 6 additions & 0 deletions src/stats.h
Expand Up @@ -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);
Expand Down

0 comments on commit ee77fe9

Please sign in to comment.