summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Creatures.cpp9
-rw-r--r--GUI.cpp7
-rw-r--r--GUI.h1
-rw-r--r--UserInput.cpp4
-rw-r--r--commonTypes.h1
-rw-r--r--resources/SSJobIcons.pngbin0 -> 7355 bytes
6 files changed, 22 insertions, 0 deletions
diff --git a/Creatures.cpp b/Creatures.cpp
index a14f148..38cef17 100644
--- a/Creatures.cpp
+++ b/Creatures.cpp
@@ -300,6 +300,15 @@ void DrawCreature(int drawx, int drawy, t_unit* creature, Block * b){
unsigned int sheety = 16 * (creature->profession / 7);
al_draw_bitmap_region(IMGProfSheet, sheetx, sheety, 16, 16, drawx -8 + (SPRITEWIDTH*config.scale/2), drawy - (16 + WALLHEIGHT*config.scale + offsety), 0);
}
+
+ offsety += config.show_creature_professions ? 16 : 0;
+
+ if(config.show_creature_jobs && creature->current_job.active)
+ {
+ unsigned int sheetx = 16 * (creature->current_job.jobType % 7);
+ unsigned int sheety = 16 * (creature->current_job.jobType / 7);
+ al_draw_bitmap_region(IMGJobSheet, sheetx, sheety, 16, 16, drawx -8 + (SPRITEWIDTH*config.scale/2), drawy - (16 + WALLHEIGHT*config.scale + offsety), 0);
+ }
}
void DrawCreatureText(int drawx, int drawy, t_unit* creature ){
diff --git a/GUI.cpp b/GUI.cpp
index 39da953..3ddd855 100644
--- a/GUI.cpp
+++ b/GUI.cpp
@@ -57,6 +57,7 @@ ALLEGRO_BITMAP* IMGCreatureSheet;
ALLEGRO_BITMAP* IMGRampSheet;
ALLEGRO_BITMAP* IMGStatusSheet;
ALLEGRO_BITMAP* IMGProfSheet;
+ALLEGRO_BITMAP* IMGJobSheet;
ALLEGRO_BITMAP* IMGBloodSheet;
ALLEGRO_BITMAP* IMGEngFloorSheet;
ALLEGRO_BITMAP* IMGEngLeftSheet;
@@ -1048,6 +1049,7 @@ void loadGraphicsFromDisk()
if(!load_from_path(p, "ramps.png", IMGRampSheet)) return;
if(!load_from_path(p, "SSStatusIcons.png", IMGStatusSheet)) return;
if(!load_from_path(p, "SSProfIcons.png", IMGProfSheet)) return;
+ if(!load_from_path(p, "SSJobIcons.png", IMGJobSheet)) return;
if(!load_from_path(p, "gibs.png", IMGBloodSheet)) return;
if(!load_from_path(p, "engravings_floor.png", IMGEngFloorSheet)) return;
if(!load_from_path(p, "engravings_left.png", IMGEngLeftSheet)) return;
@@ -1087,6 +1089,11 @@ void flushImgFiles()
al_destroy_bitmap(IMGProfSheet);
IMGProfSheet = 0;
}
+ if(IMGJobSheet)
+ {
+ al_destroy_bitmap(IMGJobSheet);
+ IMGJobSheet = 0;
+ }
if(IMGEngFloorSheet)
{
al_destroy_bitmap(IMGEngFloorSheet);
diff --git a/GUI.h b/GUI.h
index 0769dd7..2706b85 100644
--- a/GUI.h
+++ b/GUI.h
@@ -50,6 +50,7 @@ extern ALLEGRO_BITMAP* IMGCreatureSheet;
extern ALLEGRO_BITMAP* IMGRampSheet;
extern ALLEGRO_BITMAP* IMGStatusSheet;
extern ALLEGRO_BITMAP* IMGProfSheet;
+extern ALLEGRO_BITMAP* IMGJobSheet;
extern ALLEGRO_BITMAP* IMGBloodSheet;
extern ALLEGRO_BITMAP* IMGEngFloorSheet;
extern ALLEGRO_BITMAP* IMGEngLeftSheet;
diff --git a/UserInput.cpp b/UserInput.cpp
index 96c31fb..90e9a24 100644
--- a/UserInput.cpp
+++ b/UserInput.cpp
@@ -236,6 +236,10 @@ void doKeys(int Key)
config.show_creature_professions = !config.show_creature_professions;
timeToReloadSegment = true;
}
+ if(Key == ALLEGRO_KEY_J){
+ config.show_creature_jobs = !config.show_creature_jobs;
+ timeToReloadSegment = true;
+ }
if(Key == ALLEGRO_KEY_C){
config.truncate_walls++;
if (config.truncate_walls > 4) config.truncate_walls = 0;
diff --git a/commonTypes.h b/commonTypes.h
index 40c7c7f..3a13e74 100644
--- a/commonTypes.h
+++ b/commonTypes.h
@@ -191,6 +191,7 @@ typedef struct
bool show_creature_moods;
bool show_creature_professions;
+ bool show_creature_jobs;
bool transparentScreenshots;
diff --git a/resources/SSJobIcons.png b/resources/SSJobIcons.png
new file mode 100644
index 0000000..0bd2914
--- /dev/null
+++ b/resources/SSJobIcons.png
Binary files differ