diff options
77 files changed, 1911 insertions, 679 deletions
@@ -37,7 +37,8 @@ Worn_Item::Worn_Item() {
matt.index = -1;
matt.type = -1;
- dyed = 0;
+ dyematt.index = -1;
+ dyematt.type = -1;
}
Block::Block(WorldSegment* ownerSegment)
@@ -66,9 +67,10 @@ Block::Block(WorldSegment* ownerSegment) visible = true;
Item.item.type =-1;
- Item.dyed = 0;
Item.matt.type=-1;
Item.matt.index=-1;
+ Item.dyematt.type=-1;
+ Item.dyematt.index=-1;
}
@@ -144,6 +146,7 @@ void Block::Draw() pointToScreen((int*)&drawx, (int*)&drawy, drawz);
drawx -= (TILEWIDTH>>1)*config.scale;
+ //TODO the following check should get incorporated into segment beautification
if(((drawx + TILEWIDTH*config.scale) < 0) || (drawx > al_get_bitmap_width(al_get_target_bitmap())) || ((drawy + (TILEHEIGHT + FLOORHEIGHT)*config.scale) < 0) || (drawy - WALLHEIGHT*config.scale > al_get_bitmap_height(al_get_target_bitmap())))
return;
@@ -230,7 +233,7 @@ void Block::Draw() //fixme: needs to be scaled
if(Eff_SeaFoam.density > 0)
{
- ALLEGRO_COLOR tint = lookupMaterialColor(Eff_SeaFoam.matt.type, Eff_SeaFoam.matt.index);
+ ALLEGRO_COLOR tint = lookupMaterialColor(Eff_SeaFoam.matt);
tint.a*=Eff_SeaFoam.density/100.0f;
al_draw_tinted_bitmap(sprite_oceanwave,tint, drawx, drawy - (WALLHEIGHT), 0);
}
@@ -304,7 +307,7 @@ void Block::Draw() contentLoader->itemConfigs[Item.item.type]->default_sprite.draw_world(x, y, z, this);
}
else
- DrawSpriteFromSheet( 350, IMGObjectSheet, lookupMaterialColor(Item.matt.type, Item.matt.index, Item.dyed), drawx, (tileShapeBasic==tiletype_shape_basic::Ramp)?(drawy - ((WALLHEIGHT/2)*config.scale)):drawy , this);
+ DrawSpriteFromSheet( 350, IMGObjectSheet, lookupMaterialColor(Item.matt, Item.dyematt), drawx, (tileShapeBasic==tiletype_shape_basic::Ramp)?(drawy - ((WALLHEIGHT/2)*config.scale)):drawy , this);
}
@@ -455,44 +458,44 @@ void Block::Draw() if(Eff_Web.density > 0)
{
- ALLEGRO_COLOR tint = lookupMaterialColor(Eff_Web.matt.type, Eff_Web.matt.index);
+ ALLEGRO_COLOR tint = lookupMaterialColor(Eff_Web.matt);
tint.a*=Eff_Web.density/100.0f;
DrawSpriteFromSheet(rando%5, sprite_webing, tint, drawx, drawy, this, 4.0f);
//al_draw_tinted_bitmap(sprite_webing,tint, drawx, drawy - (WALLHEIGHT), 0);
}
if(Eff_Miasma.density > 0)
{
- ALLEGRO_COLOR tint = lookupMaterialColor(Eff_Miasma.matt.type, Eff_Miasma.matt.index);
+ ALLEGRO_COLOR tint = lookupMaterialColor(Eff_Miasma.matt);
draw_particle_cloud(Eff_Miasma.density, drawx, drawy - (SPRITEHEIGHT/2), SPRITEWIDTH, SPRITEHEIGHT, sprite_miasma, tint);
}
if(Eff_Steam.density > 0)
{
- ALLEGRO_COLOR tint = lookupMaterialColor(Eff_Steam.matt.type, Eff_Steam.matt.index);
+ ALLEGRO_COLOR tint = lookupMaterialColor(Eff_Steam.matt);
draw_particle_cloud(Eff_Steam.density, drawx, drawy - (SPRITEHEIGHT/2), SPRITEWIDTH, SPRITEHEIGHT, sprite_water, tint);
}
if(Eff_Mist.density > 0)
{
- ALLEGRO_COLOR tint = lookupMaterialColor(Eff_Mist.matt.type, Eff_Mist.matt.index);
+ ALLEGRO_COLOR tint = lookupMaterialColor(Eff_Mist.matt);
draw_particle_cloud(Eff_Mist.density, drawx, drawy - (SPRITEHEIGHT/2), SPRITEWIDTH, SPRITEHEIGHT, sprite_water2, tint);
}
if(Eff_MaterialDust.density > 0)
{
- ALLEGRO_COLOR tint = lookupMaterialColor(Eff_MaterialDust.matt.type, Eff_MaterialDust.matt.index);
+ ALLEGRO_COLOR tint = lookupMaterialColor(Eff_MaterialDust.matt);
draw_particle_cloud(Eff_MaterialDust.density, drawx, drawy - (SPRITEHEIGHT/2), SPRITEWIDTH, SPRITEHEIGHT, sprite_dust, tint);
}
if(Eff_MagmaMist.density > 0)
{
- ALLEGRO_COLOR tint = lookupMaterialColor(Eff_MagmaMist.matt.type, Eff_MagmaMist.matt.index);
+ ALLEGRO_COLOR tint = lookupMaterialColor(Eff_MagmaMist.matt);
draw_particle_cloud(Eff_MagmaMist.density, drawx, drawy - (SPRITEHEIGHT/2), SPRITEWIDTH, SPRITEHEIGHT, sprite_magma, tint);
}
if(Eff_Smoke.density > 0)
{
- ALLEGRO_COLOR tint = lookupMaterialColor(Eff_Smoke.matt.type, Eff_Smoke.matt.index);
+ ALLEGRO_COLOR tint = lookupMaterialColor(Eff_Smoke.matt);
draw_particle_cloud(Eff_Smoke.density, drawx, drawy - (SPRITEHEIGHT/2), SPRITEWIDTH, SPRITEHEIGHT, sprite_smoke, tint);
}
if(Eff_Dragonfire.density > 0)
{
- ALLEGRO_COLOR tint = lookupMaterialColor(Eff_Dragonfire.matt.type, Eff_Dragonfire.matt.index);
+ ALLEGRO_COLOR tint = lookupMaterialColor(Eff_Dragonfire.matt);
tint.a*=Eff_Dragonfire.density/100.0f;
tint.g*=Eff_Dragonfire.density/100.0f;
tint.b*=Eff_Dragonfire.density/100.0f;
@@ -503,7 +506,7 @@ void Block::Draw() }
if(Eff_Fire.density > 0)
{
- ALLEGRO_COLOR tint = lookupMaterialColor(Eff_Fire.matt.type, Eff_Fire.matt.index);
+ ALLEGRO_COLOR tint = lookupMaterialColor(Eff_Fire.matt);
tint.a*=Eff_Fire.density/100.0f;
tint.g*=Eff_Fire.density/100.0f;
tint.b*=Eff_Fire.density/100.0f;
@@ -514,17 +517,17 @@ void Block::Draw() }
if(Eff_MaterialGas.density > 0)
{
- ALLEGRO_COLOR tint = lookupMaterialColor(Eff_MaterialGas.matt.type, Eff_MaterialGas.matt.index);
+ ALLEGRO_COLOR tint = lookupMaterialColor(Eff_MaterialGas.matt);
draw_particle_cloud(Eff_MaterialGas.density, drawx, drawy - (SPRITEHEIGHT/2), SPRITEWIDTH, SPRITEHEIGHT, sprite_boiling, tint);
}
if(Eff_MaterialVapor.density > 0)
{
- ALLEGRO_COLOR tint = lookupMaterialColor(Eff_MaterialVapor.matt.type, Eff_MaterialVapor.matt.index);
+ ALLEGRO_COLOR tint = lookupMaterialColor(Eff_MaterialVapor.matt);
draw_particle_cloud(Eff_MaterialVapor.density, drawx, drawy - (SPRITEHEIGHT/2), SPRITEWIDTH, SPRITEHEIGHT, sprite_boiling, tint);
}
if(Eff_OceanWave.density > 0)
{
- ALLEGRO_COLOR tint = lookupMaterialColor(Eff_OceanWave.matt.type, Eff_OceanWave.matt.index);
+ ALLEGRO_COLOR tint = lookupMaterialColor(Eff_OceanWave.matt);
draw_particle_cloud(Eff_OceanWave.density, drawx, drawy - (SPRITEHEIGHT/2), SPRITEWIDTH, SPRITEHEIGHT, sprite_water, tint);
}
}
@@ -598,7 +601,7 @@ void Block::DrawPixel(int drawx, int drawy) tileShapeBasic==tiletype_shape_basic::Stair
)
{
- al_put_pixel(drawx, drawy, lookupMaterialColor(this->material.type, this->material.index));
+ al_put_pixel(drawx, drawy, lookupMaterialColor(this->material));
}
if(this->water.index)
{
@@ -16,7 +16,7 @@ struct Effect struct Worn_Item
{
DFHack::t_matglossPair matt;
- bool dyed;
+ DFHack::t_matglossPair dyematt;
int8_t rating;
Worn_Item();
};
@@ -148,7 +148,7 @@ public: {
DFHack::t_matglossPair item;
DFHack::t_matglossPair matt;
- bool dyed;
+ DFHack::t_matglossPair dyematt;
} Item;
//These are actually applied to the creature standing here, but there's only one creature shown, so it's okay.
diff --git a/BlockFactory.cpp b/BlockFactory.cpp index 03c6e8a..5d9d63b 100644 --- a/BlockFactory.cpp +++ b/BlockFactory.cpp @@ -6,32 +6,43 @@ BlockFactory blockFactory; BlockFactory::BlockFactory(void)
{
- poolSize = 0;
+ poolSize = 0;
+ blocksCreated = 0;
}
BlockFactory::~BlockFactory(void)
{
- for(uint32_t i=0; i<poolSize; i++){
- free( pool[i] );
- }
+ for(uint32_t i=0; i<poolSize; i++){
+ free( pool[i] );
+ blocksCreated--;
+ }
+ poolSize = 0;
+ pool.clear();
}
Block* BlockFactory::allocateBlock(){
- if( poolSize > 0 ){
- poolSize--;
- Block* b = pool[poolSize];
- pool.pop_back();
- return b;
- }
-
- //pool is empty(full), just New up a new block
- Block* b = (Block*) malloc( sizeof(Block) );
- return b;
+ if( poolSize > 0 ){
+ poolSize--;
+ Block* b = pool[poolSize];
+ pool.pop_back();
+ return b;
+ }
+
+ //pool is empty(full), just New up a new block
+ blocksCreated++;
+ Block* b = (Block*) malloc( sizeof(Block) );
+ return b;
}
void BlockFactory::deleteBlock(Block *b){
- poolSize++;
- pool.push_back( b );
+ if(2*poolSize < blocksCreated){
+ poolSize++;
+ pool.push_back( b );
+ }
+ else{
+ blocksCreated--;
+ free( b );
+ }
}
diff --git a/BlockFactory.h b/BlockFactory.h index a122dd6..a8d2046 100644 --- a/BlockFactory.h +++ b/BlockFactory.h @@ -5,6 +5,7 @@ class BlockFactory
{
uint32_t poolSize;
+ uint32_t blocksCreated;
vector<Block*> pool;
public:
@@ -13,6 +14,7 @@ public: Block* allocateBlock( );
void deleteBlock( Block* );
uint32_t getPoolSize(){ return poolSize; }
+ uint32_t getBlocksCreated(){ return blocksCreated; }
};
diff --git a/CMakeLists.txt b/CMakeLists.txt index 562c75d..1a6dc00 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,41 +34,78 @@ SET(PROJECT_SRCS main.cpp ) -#linux IF(UNIX) - OPTION(STONESENSE_INTERNAL_SO "Link with prebuilt internal allegro libs and headers." ON) - IF(STONESENSE_INTERNAL_SO) - FILE(DOWNLOAD http://cloud.github.com/downloads/peterix/stonesense/allegro.tar.bz2 - ${stonesense_SOURCE_DIR}/allegro.tar.bz2 - EXPECTED_MD5 11ce22e71db4a0886eac3af220eef032) - execute_process(COMMAND tar xf ${stonesense_SOURCE_DIR}/allegro.tar.bz2 - WORKING_DIRECTORY ${stonesense_SOURCE_DIR}) - SET(PROJECT_LIBS - ${stonesense_SOURCE_DIR}/allegro/lib/liballegro.so.5.0 - ${stonesense_SOURCE_DIR}/allegro/lib/liballegro_primitives.so.5.0 - ${stonesense_SOURCE_DIR}/allegro/lib/liballegro_font.so.5.0 - ${stonesense_SOURCE_DIR}/allegro/lib/liballegro_image.so.5.0 - ${stonesense_SOURCE_DIR}/allegro/lib/liballegro_ttf.so.5.0 - ${PROJECT_LIBS} - ) - include_directories ( - ${include_directories} - ${stonesense_SOURCE_DIR}/allegro/include - ) - install(DIRECTORY allegro/lib/ - DESTINATION "stonesense/deplibs" - PATTERN "CVS" EXCLUDE - PATTERN ".svn" EXCLUDE) - ELSE() - SET(PROJECT_LIBS - allegro - allegro_primitives - allegro_font - allegro_image - allegro_ttf - ${PROJECT_LIBS} - ) - ENDIF() + IF(APPLE) + # Mac OS X + OPTION(STONESENSE_INTERNAL_DYLIB "Link with prebuilt internal allegro libs and headers." ON) + IF(STONESENSE_INTERNAL_DYLIB) + FILE(DOWNLOAD http://cloud.github.com/downloads/danaris/dfhack/allegro-507-osx.tar.bz2 + ${stonesense_SOURCE_DIR}/allegro-507-osx.tar.bz2 + EXPECTED_MD5 10e8d3dacb01f3d58a9b7f6e5b428470) + execute_process(COMMAND tar xf ${stonesense_SOURCE_DIR}/allegro-507-osx.tar.bz2 + WORKING_DIRECTORY ${stonesense_SOURCE_DIR}) + SET(PROJECT_LIBS + ${stonesense_SOURCE_DIR}/allegro-osx/lib/liballegro.5.0.7.dylib + ${stonesense_SOURCE_DIR}/allegro-osx/lib/liballegro_primitives.5.0.7.dylib + ${stonesense_SOURCE_DIR}/allegro-osx/lib/liballegro_font.5.0.7.dylib + ${stonesense_SOURCE_DIR}/allegro-osx/lib/liballegro_image.5.0.7.dylib + ${stonesense_SOURCE_DIR}/allegro-osx/lib/liballegro_ttf.5.0.7.dylib + ${PROJECT_LIBS} + ) + include_directories ( + ${include_directories} + ${stonesense_SOURCE_DIR}/allegro-osx/include + ) + install(DIRECTORY allegro-osx/lib/ + DESTINATION "stonesense/deplibs" + PATTERN "CVS" EXCLUDE + PATTERN ".svn" EXCLUDE) + ELSE() + SET(PROJECT_LIBS + allegro + allegro_primitives + allegro_font + allegro_image + allegro_ttf + ${PROJECT_LIBS} + ) + ENDIF() + ELSE(APPLE) + #linux + OPTION(STONESENSE_INTERNAL_SO "Link with prebuilt internal allegro libs and headers." ON) + IF(STONESENSE_INTERNAL_SO) + FILE(DOWNLOAD http://cloud.github.com/downloads/peterix/stonesense/allegro.tar.bz2 + ${stonesense_SOURCE_DIR}/allegro.tar.bz2 + EXPECTED_MD5 11ce22e71db4a0886eac3af220eef032) + execute_process(COMMAND tar xf ${stonesense_SOURCE_DIR}/allegro.tar.bz2 + WORKING_DIRECTORY ${stonesense_SOURCE_DIR}) + SET(PROJECT_LIBS + ${stonesense_SOURCE_DIR}/allegro/lib/liballegro.so.5.0 + ${stonesense_SOURCE_DIR}/allegro/lib/liballegro_primitives.so.5.0 + ${stonesense_SOURCE_DIR}/allegro/lib/liballegro_font.so.5.0 + ${stonesense_SOURCE_DIR}/allegro/lib/liballegro_image.so.5.0 + ${stonesense_SOURCE_DIR}/allegro/lib/liballegro_ttf.so.5.0 + ${PROJECT_LIBS} + ) + include_directories ( + ${include_directories} + ${stonesense_SOURCE_DIR}/allegro/include + ) + install(DIRECTORY allegro/lib/ + DESTINATION "stonesense/deplibs" + PATTERN "CVS" EXCLUDE + PATTERN ".svn" EXCLUDE) + ELSE() + SET(PROJECT_LIBS + allegro + allegro_primitives + allegro_font + allegro_image + allegro_ttf + ${PROJECT_LIBS} + ) + ENDIF() + ENDIF() # windows ELSE(UNIX) FILE(DOWNLOAD http://cloud.github.com/downloads/peterix/stonesense/allegrow.tar.gz diff --git a/ContentLoader.cpp b/ContentLoader.cpp index 77cad67..1014d1e 100644 --- a/ContentLoader.cpp +++ b/ContentLoader.cpp @@ -749,7 +749,23 @@ void ContentLoader::flushCreatureConfig() // make big enough to hold all creatures
creatureConfigs.clear();
}
-ALLEGRO_COLOR lookupMaterialColor(int matType,int matIndex, bool dye)
+
+ALLEGRO_COLOR lookupMaterialColor(DFHack::t_matglossPair matt)
+{
+ return lookupMaterialColor((int) matt.type, (int) matt.index, -1, -1);
+}
+
+ALLEGRO_COLOR lookupMaterialColor(DFHack::t_matglossPair matt, DFHack::t_matglossPair dyematt)
+{
+ return lookupMaterialColor((int) matt.type, (int) matt.index, (int) dyematt.type, (int) dyematt.index);
+}
+
+ALLEGRO_COLOR lookupMaterialColor(int matType, int matIndex)
+{
+ return lookupMaterialColor( matType, matIndex, -1, -1);
+}
+
+ALLEGRO_COLOR lookupMaterialColor(int matType, int matIndex, int dyeType, int dyeIndex)
{
if (matType < 0)
{
@@ -774,14 +790,14 @@ ALLEGRO_COLOR lookupMaterialColor(int matType,int matIndex, bool dye) return contentLoader->colorConfigs.at(matType).colorMaterials.at(matIndex).color;
}
DFColor:
- MaterialInfo mat;
+ MaterialInfo mat, dye;
if(mat.decode(matType, matIndex))
{
- if(dye)
+ if(dyeType>=0 && dyeIndex>=0 && dye.decode(dyeType, dyeIndex))
return al_map_rgb_f(
- contentLoader->Mats->color[mat.material->powder_dye].red,
- contentLoader->Mats->color[mat.material->powder_dye].green,
- contentLoader->Mats->color[mat.material->powder_dye].blue);
+ contentLoader->Mats->color[dye.material->powder_dye].red * contentLoader->Mats->color[mat.material->state_color[0]].red,
+ contentLoader->Mats->color[dye.material->powder_dye].green * contentLoader->Mats->color[mat.material->state_color[0]].green,
+ contentLoader->Mats->color[dye.material->powder_dye].blue * contentLoader->Mats->color[mat.material->state_color[0]].blue);
else
return al_map_rgb_f(
contentLoader->Mats->color[mat.material->state_color[0]].red,
diff --git a/ContentLoader.h b/ContentLoader.h index 2a23bed..2adc080 100644 --- a/ContentLoader.h +++ b/ContentLoader.h @@ -109,6 +109,9 @@ uint8_t lookupMaterialFore(int matType,int matIndex); uint8_t lookupMaterialBack(int matType,int matIndex);
uint8_t lookupMaterialBright(int matType,int matIndex);
const char *lookupTreeName(int matIndex);
-ALLEGRO_COLOR lookupMaterialColor(int matType,int matIndex, bool dye = 0);
+ALLEGRO_COLOR lookupMaterialColor(DFHack::t_matglossPair matt, DFHack::t_matglossPair dyematt);
+ALLEGRO_COLOR lookupMaterialColor(DFHack::t_matglossPair matt);
+ALLEGRO_COLOR lookupMaterialColor(int matType, int matIndex, int dyeType, int dyeIndex);
+ALLEGRO_COLOR lookupMaterialColor(int matType, int matIndex);
const char * lookupFormName(int formType);
ShadeBy getShadeType(const char* Input);
diff --git a/Creatures.cpp b/Creatures.cpp index 0f5226a..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 ){
@@ -443,9 +452,8 @@ void ReadCreaturesToSegment( DFHack::Core& DF, WorldSegment* segment) auto Improvement_Thread = virtual_cast<df::itemimprovement_threadst>(Constructed_Item->improvements[idex]);
if(!Improvement_Thread)
continue;
- equipment.matt.type = Improvement_Thread->dye.mat_type;
- equipment.matt.index = Improvement_Thread->dye.mat_index;
- equipment.dyed = 1;
+ equipment.dyematt.type = Improvement_Thread->dye.mat_type;
+ equipment.dyematt.index = Improvement_Thread->dye.mat_index;
}
}
}
@@ -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;
@@ -325,22 +326,20 @@ void draw_ustr_border(const ALLEGRO_FONT *font, ALLEGRO_COLOR color, float x, fl }
void pointToScreen(int *inx, int *iny, int inz){
- int offx = al_get_bitmap_width(al_get_target_bitmap()) / 2;
- int offy = (-20)-(BLOCKHEIGHT * config.lift_segment_offscreen);
- int z=inz-1;
+ int z = inz-1;
+
int x = *inx-*iny;
- int y = *inx+*iny;
x = x * TILEWIDTH / 2;
- y = y * TILEHEIGHT / 2;
- y-=z * BLOCKHEIGHT;
- x+=offx;
- y+=offy;
- x-=al_get_bitmap_width(al_get_target_bitmap()) / 2;
- y-=al_get_bitmap_height(al_get_target_bitmap()) / 2;
- x*=config.scale;
- y*=config.scale;
+ x *= config.scale;
x+=al_get_bitmap_width(al_get_target_bitmap()) / 2;
- y+=al_get_bitmap_height(al_get_target_bitmap()) / 2;
+
+ int y = *inx+*iny;
+ y = y*TILEHEIGHT / 2;
+ y -= z*BLOCKHEIGHT;
+ y -= TILEHEIGHT*5/4;
+ y -= BLOCKHEIGHT*config.lift_segment_offscreen;
+ y *= config.scale;
+
*inx=x;*iny=y;
}
@@ -374,10 +373,10 @@ void DrawCurrentLevelOutline(bool backPart){ Crd2D p2 = WorldBlockToScreen(x, y + sizey , z);
Crd2D p3 = WorldBlockToScreen(x + sizex , y, z);
Crd2D p4 = WorldBlockToScreen(x + sizex , y + sizey , z);
- p1.y += FLOORHEIGHT;
- p2.y += FLOORHEIGHT;
- p3.y += FLOORHEIGHT;
- p4.y += FLOORHEIGHT;
+ p1.y += FLOORHEIGHT*config.scale;
+ p2.y += FLOORHEIGHT*config.scale;
+ p3.y += FLOORHEIGHT*config.scale;
+ p4.y += FLOORHEIGHT*config.scale;
if(backPart){
al_draw_line(p1.x, p1.y, p1.x, p1.y-BLOCKHEIGHT*config.scale, color_segmentoutline, 0);
al_draw_line(p1.x, p1.y, p1.x, p1.y-BLOCKHEIGHT*config.scale, color_segmentoutline, 0);
@@ -859,7 +858,18 @@ void DrawSpriteFromSheet( int spriteNum, ALLEGRO_BITMAP* spriteSheet, ALLEGRO_CO color.g *= 0.25f;
color.b *= 0.25f;
}
- al_draw_tinted_scaled_bitmap(spriteSheet, premultiply(color), sheetx * SPRITEWIDTH * in_scale, sheety * SPRITEHEIGHT * in_scale, SPRITEWIDTH * in_scale, SPRITEHEIGHT * in_scale, x, y - (WALLHEIGHT)*config.scale, SPRITEWIDTH*config.scale, SPRITEHEIGHT*config.scale, 0);
+ al_draw_tinted_scaled_bitmap(
+ spriteSheet,
+ premultiply(color),
+ sheetx * SPRITEWIDTH * in_scale,
+ sheety * SPRITEHEIGHT * in_scale,
+ SPRITEWIDTH * in_scale,
+ SPRITEHEIGHT * in_scale,
+ x,
+ y - (WALLHEIGHT)*config.scale,
+ SPRITEWIDTH*config.scale,
+ SPRITEHEIGHT*config.scale,
+ 0);
}
ALLEGRO_BITMAP * CreateSpriteFromSheet( int spriteNum, ALLEGRO_BITMAP* spriteSheet)
@@ -1048,6 +1058,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 +1098,11 @@ void flushImgFiles() al_destroy_bitmap(IMGProfSheet);
IMGProfSheet = 0;
}
+ if(IMGJobSheet)
+ {
+ al_destroy_bitmap(IMGJobSheet);
+ IMGJobSheet = 0;
+ }
if(IMGEngFloorSheet)
{
al_destroy_bitmap(IMGEngFloorSheet);
@@ -1282,6 +1298,7 @@ void saveScreenshot(){ //al_set_new_bitmap_format(ALLEGRO_PIXEL_FORMAT_ANY_NO_ALPHA);
ALLEGRO_BITMAP* temp = al_create_bitmap(al_get_bitmap_width(al_get_target_bitmap()), al_get_bitmap_height(al_get_target_bitmap()));
al_set_target_bitmap(temp);
+ PrintMessage("saving screenshot to %s\n", filename);
if(!config.transparentScreenshots)
al_clear_to_color(al_map_rgb(config.backr,config.backg,config.backb));
paintboard();
@@ -1389,14 +1406,12 @@ void dumpSegment() */
}
-// FIXME: even more black magic.
void saveMegashot(bool tall)
{
- return;
- /*
config.showRenderStatus = true;
al_lock_mutex(config.readMutex);
- draw_textf_border(font, al_map_rgb(255,255,255), al_get_bitmap_width(al_get_target_bitmap())/2, al_get_bitmap_height(al_get_target_bitmap())/2, ALLEGRO_ALIGN_CENTRE, "Saving large screenshot...");
+
+ draw_textf_border(font, al_map_rgb(255,255,255), al_get_bitmap_width(al_get_target_bitmap())/2, al_get_bitmap_height(al_get_target_bitmap())/2, ALLEGRO_ALIGN_CENTRE, "saving large screenshot...");
al_flip_display();
char filename[20] ={0};
FILE* fp;
@@ -1419,45 +1434,93 @@ void saveMegashot(bool tall) int tempViewy = DisplayedSegmentY;
int tempViewz = DisplayedSegmentZ;
bool tempFollow = config.follow_DFscreen;
+ bool tempfog = config.fogenable;
int tempLift = config.lift_segment_offscreen;
//now make them real big.
config.follow_DFscreen = false;
+ config.fogenable = false;
config.lift_segment_offscreen = 0;
- config.segmentSize.x = config.cellDimX + 2;
- config.segmentSize.y = config.cellDimY + 2;
- if(tall)
- config.segmentSize.z = DisplayedSegmentZ + 1;
- int bigImageWidth = (config.cellDimX * TILEWIDTH);
- int bigImageHeight = ((config.cellDimX + config.cellDimY) * TILEHEIGHT / 2) + ((config.segmentSize.z - 1) * BLOCKHEIGHT);
- parms.sizex = config.segmentSize.x;
- parms.sizey = config.segmentSize.y;
+
+ if(tall) config.segmentSize.z = DisplayedSegmentZ + 1;
parms.sizez = config.segmentSize.z;
- DisplayedSegmentX = -1;
- DisplayedSegmentY = -1;
- parms.x = DisplayedSegmentX;
- parms.y = DisplayedSegmentY;
parms.z = DisplayedSegmentZ;
- //Rebuild stuff
- read_segment(NULL);
- //Draw the image and save it
+
+ //make the image
+ int bigImageWidth = (config.cellDimX * TILEWIDTH)*config.scale;
+ int bigImageHeight = ( ((config.cellDimX + config.cellDimY) * TILEHEIGHT / 2) + ((config.segmentSize.z - 1) * BLOCKHEIGHT) )*config.scale;
bigFile = al_create_bitmap(bigImageWidth, bigImageHeight);
+
+ //draw and save the image
if(bigFile)
{
- DFConsole->print("\nSaving large screenshot to %s\n", filename);
+ PrintMessage("saving large screenshot to %s\n", filename);
al_set_target_bitmap(bigFile);
if(!config.transparentScreenshots)
al_clear_to_color(al_map_rgb(config.backr,config.backg,config.backb));
- viewedSegment->drawAllBlocks();
+
+ //here we deal with the rotations
+ int startx, incrx, numx;
+ int starty, incry, numy;
+
+ startx = -1;
+ starty = -1;
+ incrx = parms.sizex-2;
+ incry = parms.sizey-2;
+ numx = (int)(config.cellDimX+3);
+ numx = numx/incrx + (numx%incrx==0 ? 0 : 1);
+ numy = (int)(config.cellDimY+3);
+ numy = numy/incry + (numx%incry==0 ? 0 : 1);
+
+ if(DisplayedRotation == 1 || DisplayedRotation == 2)
+ {
+ starty = (int)config.cellDimY + 2 - incry;
+ DisplayedSegmentY = (int)config.cellDimY - incry - 1;
+ incry = -incry;
+ }
+ else{
+ DisplayedSegmentY = -1;
+ }
+
+ if(DisplayedRotation == 3 || DisplayedRotation == 2)
+ {
+ startx = (int)config.cellDimX + 2 - incrx;
+ DisplayedSegmentX = (int)config.cellDimX - incrx - 1;
+ incrx = -incrx;
+ }
+ else{
+ DisplayedSegmentX = -1;
+ }
+
+ parms.x = startx;
+ parms.y = starty;
+
+ //now actually loop through and draw the subsegments
+ for(int i=0; i<numy; i++)
+ {
+ for(int j=0; j<numx; j++)
+ {
+ //read and draw each individual segment
+ read_segment(NULL);
+ WorldSegment * segment = map_segment->get();
+ segment->drawAllBlocks();
+
+ parms.x += incrx;
+ }
+ parms.x = startx;
+ parms.y += incry;
+ }
+
+
al_save_bitmap(filename, bigFile);
al_set_target_bitmap(al_get_backbuffer(al_get_current_display()));
- al_destroy_bitmap(bigFile);
timer = clock() - timer;
- DFConsole->print("Took %ims\n", timer);
+ PrintMessage("\ttime for screenshot %ims\n", timer);
}
else
{
- DFConsole->printerr("Failed to take large screenshot. try using software mode\n");
+ LogError("failed to take large screenshot; try zooming out or using software mode\n");
}
+ al_destroy_bitmap(bigFile);
//restore everything that we changed.
config.segmentSize = backupsize;
parms.sizex = config.segmentSize.x;
@@ -1469,11 +1532,12 @@ void saveMegashot(bool tall) parms.x = DisplayedSegmentX;
parms.y = DisplayedSegmentY;
parms.z = DisplayedSegmentZ;
+ config.fogenable = tempfog;
config.follow_DFscreen = tempFollow;
config.lift_segment_offscreen = tempLift;
config.showRenderStatus = false;
+
al_unlock_mutex(config.readMutex);
- */
}
void draw_particle_cloud(int count, float centerX, float centerY, float rangeX, float rangeY, ALLEGRO_BITMAP *sprite, ALLEGRO_COLOR tint)
@@ -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/MapLoading.cpp b/MapLoading.cpp index 569beac..6957aa3 100644 --- a/MapLoading.cpp +++ b/MapLoading.cpp @@ -9,7 +9,8 @@ #include "ContentLoader.h"
#include "Occlusion_Test.h"
#include <df/flow_info.h>
-#include <df/plant.h>
+#include <df/plant.h> +#include <df/flow_info.h> #include "df/item_constructed.h"
#include "df/itemimprovement.h"
#include "df/itemimprovement_threadst.h"
@@ -34,6 +35,11 @@ inline bool IDisFloor(int in){ return isFloorTerrain( (tiletype::tiletype) in );;
}
+inline bool IDhasNoFloor(int in){
+ //if not a custom type, do a lookup in dfHack's interface
+ return LowPassable( (tiletype::tiletype) in );;
+}
+
//big look up table
char rampblut[] =
// generated by blutmaker.py
@@ -132,9 +138,6 @@ bool isBlockOnVisibleEdgeOfSegment(WorldSegment* segment, Block* b) if(b->z == segment->z + segment->sizez - 2)
return true;
- if(!(segment->getBlock(b->x, b->y, b->z+1)))
- return true;
-
if (DisplayedRotation == 0 &&
(
b->x == segment->x + segment->sizex - 2
@@ -179,8 +182,35 @@ bool isBlockOnVisibleEdgeOfSegment(WorldSegment* segment, Block* b) return false;
}
-bool areNeighborsVisible(t_designation designations[16][16],int x,int y)
+bool areNeighborsVisible(WorldSegment* segment, Block* b)
{
+ Block* temp;
+
+ temp = segment->getBlock(b->x, b->y, b->z+1);
+ if(!temp || !(temp->designation.bits.hidden))
+ return true;
+
+ temp = segment->getBlock(b->x+1, b->y, b->z);
+ if(temp && !(temp->designation.bits.hidden))
+ return true;
+ temp = segment->getBlock(b->x-1, b->y, b->z);
+ if(temp && !(temp->designation.bits.hidden))
+ return true;
+ temp = segment->getBlock(b->x, b->y+1, b->z);
+ if(temp && !(temp->designation.bits.hidden))
+ return true;
+ temp = segment->getBlock(b->x, b->y-1, b->z);
+ if(temp && !(temp->designation.bits.hidden))
+ return true;
+return false;
+}
+
+bool areCellNeighborsVisible(t_designation designations[16][16],int x,int y)
+{
+ //don't do anything if this is the edge of the cell
+ if(x==0 || y==0 || x==15 || y==15)
+ return true;
+ //otherwise look at the neighbors and try to remove what we can
if(designations[x-1][y-1].bits.hidden == false)
return true;
if(designations[x-1][y].bits.hidden == false)
@@ -200,6 +230,35 @@ bool areNeighborsVisible(t_designation designations[16][16],int x,int y) return false;
}
+/**
+ * returns true iff the block is enclosed by other solid blocks, and is itself solid
+ */
+bool enclosed(WorldSegment* segment, Block* b)
+{
+ if(!IDisWall(b->tileType))
+ return false;
+
+ Block* temp;
+ temp = segment->getBlock(b->x, b->y, b->z+1);
+ if(!temp || IDhasNoFloor(temp->tileType))
+ return false;
+
+ temp = segment->getBlock(b->x+1, b->y, b->z);
+ if(temp && !IDisWall(temp->tileType))
+ return false;
+ temp = segment->getBlock(b->x-1, b->y, b->z);
+ if(temp && !IDisWall(temp->tileType))
+ return false;
+ temp = segment->getBlock(b->x, b->y+1, b->z);
+ if(temp && !IDisWall(temp->tileType))
+ return false;
+ temp = segment->getBlock(b->x, b->y-1, b->z);
+ if(temp && !IDisWall(temp->tileType))
+ return false;
+
+ return true;
+}
+
void ReadCellToSegment(DFHack::Core& DF, WorldSegment& segment, int CellX, int CellY, int CellZ,
uint32_t BoundrySX, uint32_t BoundrySY,
uint32_t BoundryEX, uint32_t BoundryEY,
@@ -366,12 +425,14 @@ void ReadCellToSegment(DFHack::Core& DF, WorldSegment& segment, int CellX, int C isHidden &= !config.show_hidden_blocks;
bool shouldBeIncluded = (!isOpenTerrain(b->tileType) || b->water.index || !trueBlock->designation[lx][ly].bits.outside) && !isHidden;
- //include hidden blocks as shaded black
- if(config.shade_hidden_blocks && isHidden && (isBlockOnVisibleEdgeOfSegment(&segment, b) || areNeighborsVisible(trueBlock->designation, lx, ly)))
- {
- b->building.info.type = (building_type::building_type) BUILDINGTYPE_BLACKBOX;
- shouldBeIncluded= true;
- }
+ //add back in blocks that are candidates for being shaded black (secondary check in beautify_Segment)
+ if( (!shouldBeIncluded)
+ && config.shade_hidden_blocks
+ && isHidden
+ && ( isBlockOnVisibleEdgeOfSegment(&segment, b)
+ || areCellNeighborsVisible(trueBlock->designation, lx, ly)
+ || (!segment.getBlock(b->x, b->y, b->z+1) )))
+ shouldBeIncluded = true;
if( shouldBeIncluded )
{
@@ -520,9 +581,8 @@ void ReadCellToSegment(DFHack::Core& DF, WorldSegment& segment, int CellX, int C if(!Improvement_Thread)
continue;
if (Improvement_Thread->dye.mat_type < 0) break;
- b->Item.matt.type = Improvement_Thread->dye.mat_type;
- b->Item.matt.index = Improvement_Thread->dye.mat_index;
- b->Item.dyed = 1;
+ b->Item.dyematt.type = Improvement_Thread->dye.mat_type;
+ b->Item.dyematt.index = Improvement_Thread->dye.mat_index;
}
}
else if (found_item->getType() == item_type::THREAD)
@@ -530,17 +590,16 @@ void ReadCellToSegment(DFHack::Core& DF, WorldSegment& segment, int CellX, int C auto Thread_Item = virtual_cast<df::item_threadst>(found_item);
if(!Thread_Item) break;
if (Thread_Item->dye_mat_type < 0) break;
- b->Item.matt.type = Thread_Item->dye_mat_type;
- b->Item.matt.index = Thread_Item->dye_mat_index;
- b->Item.dyed = 1;
+ b->Item.dyematt.type = Thread_Item->dye_mat_type;
+ b->Item.dyematt.index = Thread_Item->dye_mat_index;
}
}
}
//add effects
for(auto iter = trueBlock->flows.begin(); iter != trueBlock->flows.end(); iter++)
- {
- df::flow_info * eff = *iter;
+ { + df::flow_info * eff = *iter; assert(eff != NULL);
Block* b = segment.getBlock( eff->x, eff->y, eff->z);
if(!b)
@@ -714,22 +773,17 @@ WorldSegment* ReadMapSegment(int x, int y, int z, int sizex, int sizey, int size int cellDimX, cellDimY, cellDimZ;
Maps::getSize((unsigned int &)cellDimX, (unsigned int &)cellDimY, (unsigned int &)cellDimZ);
//Store these
- cellDimX = cellDimX * 16;
- cellDimY = cellDimY * 16;
+ cellDimX = cellDimX * CELLEDGESIZE;
+ cellDimY = cellDimY * CELLEDGESIZE;
cellDimZ = cellDimZ;
config.cellDimX = cellDimX;
config.cellDimY = cellDimY;
config.cellDimZ = cellDimZ;
- //bound view to world
- if(x > cellDimX * CELLEDGESIZE -sizex/2) DisplayedSegmentX = x = cellDimX * CELLEDGESIZE -sizex/2;
- if(y > cellDimY * CELLEDGESIZE -sizey/2) DisplayedSegmentY = y = cellDimY * CELLEDGESIZE -sizey/2;
- if(x < -sizex/2) DisplayedSegmentX = x = -sizex/2;
- if(y < -sizey/2) DisplayedSegmentY = y = -sizey/2;
//setup new world segment
WorldSegment* segment = new WorldSegment(x,y,z,sizex,sizey,sizez);
- segment->regionSize.x = cellDimX * CELLEDGESIZE;
- segment->regionSize.y = cellDimY * CELLEDGESIZE;
+ segment->regionSize.x = cellDimX;
+ segment->regionSize.y = cellDimY;
segment->regionSize.z = cellDimZ;
segment->rotation = DisplayedRotation;
@@ -839,17 +893,58 @@ WorldSegment* ReadMapSegment(int x, int y, int z, int sizex, int sizey, int size return segment;
}
+/**
+ * checks to see if the block is a potentially viewable hidden block
+ * if so, put the black mask block overtop
+ * if not, makes block not visible
+ */
+void mask_block(WorldSegment * segment, Block* b)
+{
+ //include hidden blocks as shaded black, make remaining invisible
+ if( b->designation.bits.hidden )
+ {
+ if( isBlockOnVisibleEdgeOfSegment(segment, b)
+ || areNeighborsVisible(segment, b) )
+ b->building.info.type = (building_type::building_type) BUILDINGTYPE_BLACKBOX;
+ else b->visible = false;
+ }
+}
+
+/**
+ * checks to see if the block is a potentially viewable hidden block
+ * if not, makes block not visible
+ */
+void unhidden_block(WorldSegment * segment, Block* b)
+{
+ //make blocks that are impossible to see invisible
+ if( b->designation.bits.hidden
+ && (!isBlockOnVisibleEdgeOfSegment(segment, b))
+ && (enclosed(segment, b)) )
+ b->visible = false;
+}
+
void beautify_Segment(WorldSegment * segment)
{
if(!segment)
return;
clock_t start_time = clock();
//do misc beautification
+
uint32_t numblocks = segment->getNumBlocks();
for(uint32_t i=0; i < numblocks; i++){
Block* b = segment->getBlock(i);
+ //first check to see if this block is possible to be seen
+ if(config.shade_hidden_blocks && (!config.show_hidden_blocks))
+ mask_block(segment, b);
+ else
+ unhidden_block(segment, b);
+
+ if(!b->visible)
+ continue;
+
+ //next see if the block is behind something
if(config.occlusion)
occlude_block(b);
diff --git a/Occlusion_Test.cpp b/Occlusion_Test.cpp index 7c8061e..08e26ee 100644 --- a/Occlusion_Test.cpp +++ b/Occlusion_Test.cpp @@ -21,7 +21,7 @@ bitset<2*S_SPRITE_HEIGHT> floor_mask_right; bool is_block_solid(Block * b)
{
- if(b->tileMaterial == tiletype_shape::RAMP_TOP)
+ if(b->tileShape == tiletype_shape::RAMP_TOP)
return false;
if(!config.shade_hidden_blocks && !config.show_hidden_blocks && b->designation.bits.hidden)
return false;
@@ -32,7 +32,7 @@ bool is_block_solid(Block * b) b->material.type == 5 ||
b->material.type == 6)
return false;
- if(b->tileMaterial == tiletype_shape::BROOK_TOP)
+ if(b->tileShape == tiletype_shape::BROOK_TOP)
return false;
return true;
}
@@ -81,7 +81,7 @@ void mask_left(Block * b, int offset) return;
if(!is_block_solid(b))
return;
- if(b->tileShapeBasic==tiletype_shape_basic::Wall && b->tileMaterial != tiletype_shape::BROOK_BED)
+ if(b->tileShapeBasic==tiletype_shape_basic::Wall && b->tileShape != tiletype_shape::BROOK_BED)
{
if(offset >= 0)
{
@@ -92,7 +92,7 @@ void mask_left(Block * b, int offset) base_mask_left &= ~(wall_mask_right >> -offset*2);
}
}
- else if(b->tileShapeBasic==tiletype_shape_basic::Floor || b->tileShapeBasic==tiletype_shape_basic::Ramp || b->tileMaterial != tiletype_shape::BROOK_BED)
+ else if(b->tileShapeBasic==tiletype_shape_basic::Floor || b->tileShapeBasic==tiletype_shape_basic::Ramp || b->tileShape != tiletype_shape::BROOK_BED)
{
if(offset >= 0)
{
@@ -111,7 +111,7 @@ void mask_right(Block * b, int offset) return;
if(!is_block_solid(b))
return;
- if(b->tileShapeBasic==tiletype_shape_basic::Wall && b->tileMaterial != tiletype_shape::BROOK_BED)
+ if(b->tileShapeBasic==tiletype_shape_basic::Wall && b->tileShape != tiletype_shape::BROOK_BED)
{
if(offset >= 0)
{
@@ -122,7 +122,7 @@ void mask_right(Block * b, int offset) base_mask_right &= ~(wall_mask_left >> -offset*2);
}
}
- else if(b->tileShapeBasic==tiletype_shape_basic::Floor || b->tileShapeBasic==tiletype_shape_basic::Ramp || b->tileMaterial != tiletype_shape::BROOK_BED)
+ else if(b->tileShapeBasic==tiletype_shape_basic::Floor || b->tileShapeBasic==tiletype_shape_basic::Ramp || b->tileShape != tiletype_shape::BROOK_BED)
{
if(offset >= 0)
{
diff --git a/SpriteObjects.cpp b/SpriteObjects.cpp index 794ab1b..5b5ff5f 100644 --- a/SpriteObjects.cpp +++ b/SpriteObjects.cpp @@ -942,15 +942,15 @@ ALLEGRO_COLOR c_sprite::get_color(void* block) case ShadeXml:
return shadecolor;
case ShadeMat:
- return lookupMaterialColor(b->material.type, b->material.index);
+ return lookupMaterialColor(b->material);
case ShadeGrass:
return lookupMaterialColor(WOOD, b->grassmat);
case ShadeBuilding:
- return lookupMaterialColor(b->building.info.material.type, b->building.info.material.index);
+ return lookupMaterialColor(b->building.info.material);
case ShadeLayer:
- return lookupMaterialColor(b->layerMaterial.type, b->layerMaterial.index);
+ return lookupMaterialColor(b->layerMaterial);
case ShadeVein:
- return lookupMaterialColor(b->veinMaterial.type, b->veinMaterial.index);
+ return lookupMaterialColor(b->veinMaterial);
case ShadeMatFore:
return config.colors.getDfColor(lookupMaterialFore(b->material.type, b->material.index), lookupMaterialBright(b->material.type, b->material.index));
case ShadeMatBack:
@@ -1027,11 +1027,11 @@ ALLEGRO_COLOR c_sprite::get_color(void* block) return al_map_rgb(255, 255, 0);
if(b->inv->item[itemtype][itemsubtype].empty())
return al_map_rgb(0, 0, 255);
- return lookupMaterialColor(b->inv->item[itemtype][itemsubtype][0].matt.type, b->inv->item[itemtype][itemsubtype][0].matt.index, b->inv->item[itemtype][itemsubtype][0].dyed);
+ return lookupMaterialColor(b->inv->item[itemtype][itemsubtype][0].matt, b->inv->item[itemtype][itemsubtype][0].dyematt);
}
else return al_map_rgb(255,255,255);
case ShadeItem:
- return lookupMaterialColor(b->Item.matt.type, b->Item.matt.index, b->Item.dyed);
+ return lookupMaterialColor(b->Item.matt, b->Item.dyematt);
default:
return al_map_rgb(255, 255, 255);
} ;
diff --git a/UserInput.cpp b/UserInput.cpp index 96c31fb..7ba60d8 100644 --- a/UserInput.cpp +++ b/UserInput.cpp @@ -67,10 +67,22 @@ void changeRelativeToRotation( int &inputx, int &inputy, int stepx, int stepy ){ void moveViewRelativeToRotation( int stepx, int stepy )
{
+
if (config.follow_DFscreen)
changeRelativeToRotation(config.viewXoffset, config.viewYoffset, stepx, stepy );
- else
+ //if we're following the DF screen, we DO NOT bound the view, since we have a simple way to get back
+ else{
changeRelativeToRotation(DisplayedSegmentX, DisplayedSegmentY, stepx, stepy );
+ //bound view to world
+ if((int)DisplayedSegmentX > (int)config.cellDimX -(int)config.segmentSize.x/2)
+ DisplayedSegmentX = config.cellDimX -config.segmentSize.x/2;
+ if((int)DisplayedSegmentY > (int)config.cellDimY -(int)config.segmentSize.y/2)
+ DisplayedSegmentY = config.cellDimY -config.segmentSize.y/2;
+ if((int)DisplayedSegmentX < -(int)config.segmentSize.x/2)
+ DisplayedSegmentX = -config.segmentSize.x/2;
+ if((int)DisplayedSegmentY < -(int)config.segmentSize.y/2)
+ DisplayedSegmentY = -config.segmentSize.y/2;
+ }
}
@@ -236,6 +248,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;
@@ -248,6 +264,19 @@ void doKeys(int Key) config.follow_DFscreen = !config.follow_DFscreen;
timeToReloadSegment = true;
}
+ if(Key == ALLEGRO_KEY_Z){
+ if (config.follow_DFscreen)
+ {
+ config.viewXoffset = 0;
+ config.viewYoffset = 0;
+ config.viewZoffset = 0;
+ }
+ else
+ {
+ DisplayedSegmentX = (config.cellDimX -config.segmentSize.x)/2;
+ DisplayedSegmentY = (config.cellDimY -config.segmentSize.y)/2;
+ }
+ }
if(Key == ALLEGRO_KEY_1){
config.segmentSize.z--;
if(config.segmentSize.z <= 0) config.segmentSize.z = 1;
@@ -165,6 +165,7 @@ class SegmentWrap; void correctBlockForSegmetOffset(int32_t& x, int32_t& y, int32_t& z);
void LogError(const char* msg, ...);
+void PrintMessage(const char* msg, ...);
void LogVerbose(const char* msg, ...);
void SetTitle(const char *format, ...);
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;
@@ -6,6 +6,7 @@ using namespace std; #include "common.h"
#include "Block.h"
+#include "BlockFactory.h"
#include "GUI.h"
//#include "SpriteMaps.h"
#include "GameBuildings.h"
@@ -92,6 +93,16 @@ void LogError(const char* msg, ...){ fclose(fp);
}
+
+void PrintMessage(const char* msg, ...){
+ va_list arglist;
+ va_start(arglist, msg);
+ char buf[512] = {0};
+ vsprintf(buf, msg, arglist);
+ Core::print(buf);
+ va_end(arglist);
+}
+
void LogVerbose(const char* msg, ...){
if (!config.verbose_logging)
return;
@@ -512,6 +523,9 @@ static void * stonesense_thread(ALLEGRO_THREAD * main_thread, void * parms) delete last;
}
+ //need to explicitly tear down the current block factory
+ blockFactory.~BlockFactory();
+
al_destroy_bitmap(IMGIcon);
IMGIcon = 0;
delete contentLoader;
diff --git a/resources/Fluids/Fluids.xml b/resources/Fluids/Fluids.xml index 0aeee64..c61b8bd 100644 --- a/resources/Fluids/Fluids.xml +++ b/resources/Fluids/Fluids.xml @@ -1,35 +1,53 @@ <fluids>
- <fluid type="water" level = "1" sheetIndex = "127" color = "xml" red = "150" green = "237" blue = "224">
- <subsprite sheetIndex = "127" color = "blood"/>
+ <fluid type="water" level = "1" sheetIndex = "127" halftile="both" color = "xml" red = "150" green = "237" blue = "224">
+ <subsprite sheetIndex = "127" color = "blood" halftile="both"/>
</fluid>
- <fluid type="water" level = "2" sheetIndex = "128" color = "xml" red = "150" green = "237" blue = "224">
- <subsprite sheetIndex = "128" color = "blood"/>
+ <fluid type="water" level = "2" sheetIndex = "128" halftile="both" color = "xml" red = "150" green = "237" blue = "224">
+ <subsprite sheetIndex = "128" color = "blood" halftile="both"/>
</fluid>
- <fluid type="water" level = "3" sheetIndex = "129" color = "xml" red = "150" green = "237" blue = "224">
- <subsprite sheetIndex = "129" color = "blood"/>
+ <fluid type="water" level = "3" sheetIndex = "129" halftile="both" color = "xml" red = "150" green = "237" blue = "224">
+ <subsprite sheetIndex = "129" color = "blood" halftile="both"/>
</fluid>
- <fluid type="water" level = "4" sheetIndex = "130" color = "xml" red = "150" green = "237" blue = "224">
- <subsprite sheetIndex = "130" color = "blood"/>
+ <fluid type="water" level = "4" sheetIndex = "130" halftile="both" color = "xml" red = "150" green = "237" blue = "224">
+ <subsprite sheetIndex = "130" color = "blood" halftile="both"/>
</fluid>
- <fluid type="water" level = "5" sheetIndex = "131" color = "xml" red = "150" green = "237" blue = "224">
- <subsprite sheetIndex = "131" color = "blood"/>
+ <fluid type="water" level = "5" sheetIndex = "131" halftile="no" color = "xml" red = "150" green = "237" blue = "224">
+ <subsprite sheetIndex = "131" halftile="no" color = "blood"/>
+ <subsprite sheetIndex = "130" halftile="yes" color = "xml" red = "150" green = "237" blue = "224"/>
+ <subsprite sheetIndex = "130" halftile="yes" color = "blood"/>
</fluid>
- <fluid type="water" level = "6" sheetIndex = "132" color = "xml" red = "150" green = "237" blue = "224">
- <subsprite sheetIndex = "132" color = "blood"/>
+ <fluid type="water" level = "6" sheetIndex = "132" halftile="no" color = "xml" red = "150" green = "237" blue = "224">
+ <subsprite sheetIndex = "132" halftile="no" color = "blood"/>
+ <subsprite sheetIndex = "130" halftile="yes" color = "xml" red = "150" green = "237" blue = "224"/>
+ <subsprite sheetIndex = "130" halftile="yes" color = "blood"/>
</fluid>
- <fluid type="water" level = "7" sheetIndex = "133" color = "xml" red = "150" green = "237" blue = "224">
- <subsprite sheetIndex = "133" color = "blood"/>
+ <fluid type="water" level = "7" sheetIndex = "133" halftile="no" color = "xml" red = "150" green = "237" blue = "224">
+ <subsprite sheetIndex = "133" halftile="no" color = "blood"/>
+ <subsprite sheetIndex = "130" halftile="yes" color = "xml" red = "150" green = "237" blue = "224"/>
+ <subsprite sheetIndex = "130" halftile="yes" color = "blood"/>
</fluid>
- <fluid type="water" level = "8" sheetIndex = "134" color = "xml" red = "150" green = "237" blue = "224">
- <subsprite sheetIndex = "134" color = "blood"/>
+ <fluid type="water" level = "8" sheetIndex = "134" halftile="no" color = "xml" red = "150" green = "237" blue = "224">
+ <subsprite sheetIndex = "134" halftile="no" color = "blood"/>
+ <subsprite sheetIndex = "130" halftile="yes" color = "xml" red = "150" green = "237" blue = "224"/>
+ <subsprite sheetIndex = "130" halftile="yes" color = "blood"/>
</fluid>
- <fluid type="lava" level = "1" sheetIndex = "120"/>
- <fluid type="lava" level = "2" sheetIndex = "121"/>
- <fluid type="lava" level = "3" sheetIndex = "122"/>
- <fluid type="lava" level = "4" sheetIndex = "123"/>
- <fluid type="lava" level = "5" sheetIndex = "124"/>
- <fluid type="lava" level = "6" sheetIndex = "125"/>
- <fluid type="lava" level = "7" sheetIndex = "126"/>
-
+ <fluid type="lava" level = "1" sheetIndex = "120" halftile="both">
+ </fluid>
+ <fluid type="lava" level = "2" sheetIndex = "121" halftile="both">
+ </fluid>
+ <fluid type="lava" level = "3" sheetIndex = "122" halftile="both">
+ </fluid>
+ <fluid type="lava" level = "4" sheetIndex = "123" halftile="no">
+ <subsprite sheetIndex = "122" halftile="yes"/>
+ </fluid>
+ <fluid type="lava" level = "5" sheetIndex = "124" halftile="no">
+ <subsprite sheetIndex = "122" halftile="yes"/>
+ </fluid>
+ <fluid type="lava" level = "6" sheetIndex = "125" halftile="no">
+ <subsprite sheetIndex = "122" halftile="yes"/>
+ </fluid>
+ <fluid type="lava" level = "7" sheetIndex = "126" halftile="no">
+ <subsprite sheetIndex = "122" halftile="yes"/>
+ </fluid>
</fluids>
\ No newline at end of file diff --git a/resources/SSJobIcons.png b/resources/SSJobIcons.png Binary files differnew file mode 100644 index 0000000..0bd2914 --- /dev/null +++ b/resources/SSJobIcons.png diff --git a/resources/SSProfIcons.png b/resources/SSProfIcons.png Binary files differindex 6cc5a64..800e8e5 100644 --- a/resources/SSProfIcons.png +++ b/resources/SSProfIcons.png diff --git a/resources/buildings/AnimalTrap.xml b/resources/buildings/AnimalTrap.xml new file mode 100644 index 0000000..b93d765 --- /dev/null +++ b/resources/buildings/AnimalTrap.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" ?>
+
+<building name="Animal trap" game_type="AnimalTrap" >
+ <sprite index="354" color="building" />
+</building>
diff --git a/resources/buildings/Cabinet.xml b/resources/buildings/Cabinet.xml index b0c637f..cc90a69 100644 --- a/resources/buildings/Cabinet.xml +++ b/resources/buildings/Cabinet.xml @@ -1,9 +1,21 @@ <?xml version="1.0"?>
+
<building name="Cabinet" game_type="Cabinet" >
<if>
<MaterialType value="Wood" />
<sprite index="88" color="building" />
</if>
+ <else><!-- GreenGlass -->
+ <MaterialType value="GreenGlass" />
+ <sprite index="67" />
+ </else>
+ <else><!-- ClearGlass or CrystalGlass -->
+ <or>
+ <MaterialType value="ClearGlass" />
+ <MaterialType value="CrystalGlass" />
+ </or>
+ <sprite index="68" />
+ </else>
<else>
<sprite index="87" color="building" />
</else>
diff --git a/resources/buildings/Cage.xml b/resources/buildings/Cage.xml index 5b99131..200c50a 100644 --- a/resources/buildings/Cage.xml +++ b/resources/buildings/Cage.xml @@ -1,26 +1,23 @@ <?xml version="1.0" ?>
-
-
-<building name="Cage" game_type="Cage" >
+<building name="Cage" game_type="Cage">
<if>
<MaterialType value="Wood" />
- <sprite index = 313 />
+ <sprite index="313" />
</if>
<else>
<MaterialType value="GreenGlass"/>
- <sprite index = 314 />
+ <sprite index="314" />
</else>
<else>
- <MaterialType value="ClearGlass"/>
- <sprite index = 294 />
+ <or>
+ <MaterialType value="ClearGlass"/>
+ <MaterialType value="CrystalGlass"/>
+ </or>
+ <sprite index="294" />
</else>
<else>
- <MaterialType value="CrystalGlass"/>
- <sprite index = 294 />
+ <sprite index="312" color="building" />
</else>
- <else>
- <sprite index = 312 />
- </else>
-
+
</building>
diff --git a/resources/buildings/CageTrap.xml b/resources/buildings/CageTrap.xml index bd6e06a..123b0c9 100644 --- a/resources/buildings/CageTrap.xml +++ b/resources/buildings/CageTrap.xml @@ -1,7 +1,5 @@ <?xml version="1.0" ?>
-
-
<building name="Trap" game_type="Trap" game_subtype="CageTrap">
- <sprite index = 355 />
+ <sprite index="357" />
</building>
diff --git a/resources/buildings/Chair.xml b/resources/buildings/Chair.xml index 223bba1..4f44f45 100644 --- a/resources/buildings/Chair.xml +++ b/resources/buildings/Chair.xml @@ -1,9 +1,21 @@ <?xml version="1.0"?>
+
<building name="Chair" game_type="Chair" >
<if>
<MaterialType value="Wood" />
<sprite index="84" color="building" />
</if>
+ <else><!-- GreenGlass -->
+ <MaterialType value="GreenGlass" />
+ <sprite index="64" />
+ </else>
+ <else><!-- ClearGlass or CrystalGlass -->
+ <or>
+ <MaterialType value="ClearGlass" />
+ <MaterialType value="CrystalGlass" />
+ </or>
+ <sprite index="65" />
+ </else>
<else>
<sprite index="85" color="building" />
</else>
diff --git a/resources/buildings/Chest.xml b/resources/buildings/Chest.xml index 159b734..9eee60b 100644 --- a/resources/buildings/Chest.xml +++ b/resources/buildings/Chest.xml @@ -1,26 +1,30 @@ <?xml version="1.0"?>
+
<building name="Chest" game_type="Box" >
<if>
<MaterialType value="GreenGlass" />
- <sprite index="92" />
+ <sprite index="69" />
</if>
- <else>
- <MaterialType value="Leather" />
- <sprite index="91" />
- </else>
- <else>
- <MaterialType value="Silk" />
- <sprite index="91" />
+ <else><!-- ClearGlass or CrystalGlass -->
+ <or>
+ <MaterialType value="ClearGlass" />
+ <MaterialType value="CrystalGlass" />
+ </or>
+ <sprite index="70" />
</else>
<else>
- <MaterialType value="PlantCloth" />
- <sprite index="91" />
+ <or>
+ <MaterialType value="Leather" />
+ <MaterialType value="Silk" />
+ <MaterialType value="PlantCloth" />
+ </or>
+ <sprite index="91" />
</else>
<else>
- <MaterialType value="Wood" />
- <sprite index="89" color="building" />
+ <MaterialType value="Wood" />
+ <sprite index="89" color="building" />
</else>
<else>
- <sprite index="90" color="building" />
+ <sprite index="90" color="building" />
</else>
</building>
diff --git a/resources/buildings/Craftdwarfs.xml b/resources/buildings/Craftsdwarfs.xml index bdc4a97..f893e83 100644 --- a/resources/buildings/Craftdwarfs.xml +++ b/resources/buildings/Craftsdwarfs.xml @@ -1,5 +1,5 @@ -<?xml version="1.0" ?>
-<building name="Craftdwarfs Workshop" game_type="Workshop" game_subtype="Craftsdwarfs" file="workshop.png">
+<?xml version="1.0" ?> +<building name="Craftsdwarfs Workshop" game_type="Workshop" game_subtype="Craftsdwarfs" file="workshop.png"> <!-- benches block -->
<if>
<!-- replace this with position index if required -->
diff --git a/resources/buildings/DoorsAndFloodgates.png b/resources/buildings/DoorsAndFloodgates.png Binary files differindex 2d90c3c..dfd15c9 100644 --- a/resources/buildings/DoorsAndFloodgates.png +++ b/resources/buildings/DoorsAndFloodgates.png diff --git a/resources/buildings/Hatch.xml b/resources/buildings/Hatch.xml index b984582..04d6662 100644 --- a/resources/buildings/Hatch.xml +++ b/resources/buildings/Hatch.xml @@ -1,7 +1,55 @@ <?xml version="1.0" ?>
-
-
-<building name="Floor Hatch" game_type="Hatch" >
- <sprite index = 276 />
+<building name="Floor Hatch" game_type="Hatch" file="DoorsAndFloodgates.png">
+ <if><!-- wooden -->
+ <MaterialType value="Wood" />
+ <sprite index="62" color="building" />
+ <sprite index="63" />
+ </if>
+ <else><!-- some kind of metall -->
+ <or>
+ <MaterialType value="Inorganic" subtype="IRON" />
+ <MaterialType value="Inorganic" subtype="GOLD" />
+ <MaterialType value="Inorganic" subtype="SILVER" />
+ <MaterialType value="Inorganic" subtype="COPPER" />
+ <MaterialType value="Inorganic" subtype="NICKEL" />
+ <MaterialType value="Inorganic" subtype="ZINC" />
+ <MaterialType value="Inorganic" subtype="BRONZE" />
+ <MaterialType value="Inorganic" subtype="BRASS" />
+ <MaterialType value="Inorganic" subtype="STEEL" />
+ <MaterialType value="Inorganic" subtype="PIG_IRON" />
+ <MaterialType value="Inorganic" subtype="PLATINUM" />
+ <MaterialType value="Inorganic" subtype="ELECTRUM" />
+ <MaterialType value="Inorganic" subtype="TIN" />
+ <MaterialType value="Inorganic" subtype="PEWTER_FINE" />
+ <MaterialType value="Inorganic" subtype="PEWTER_TRIFLE" />
+ <MaterialType value="Inorganic" subtype="PEWTER_LAY" />
+ <MaterialType value="Inorganic" subtype="LEAD" />
+ <MaterialType value="Inorganic" subtype="ALUMINUM" />
+ <MaterialType value="Inorganic" subtype="NICKEL_SILVER" />
+ <MaterialType value="Inorganic" subtype="BILLON" />
+ <MaterialType value="Inorganic" subtype="STERLING_SILVER" />
+ <MaterialType value="Inorganic" subtype="BLACK_BRONZE" />
+ <MaterialType value="Inorganic" subtype="ROSE_GOLD" />
+ <MaterialType value="Inorganic" subtype="BISMUTH" />
+ <MaterialType value="Inorganic" subtype="BISMUTH_BRONZE" />
+ <MaterialType value="Inorganic" subtype="ADAMANTINE" />
+ </or>
+ <sprite index="64" color="building" />
+ </else>
+ <else><!-- ClearGlass -->
+ <MaterialType value="ClearGlass" />
+ <sprite index="66" />
+ </else>
+ <else><!-- GreenGlass -->
+ <MaterialType value="GreenGlass" />
+ <sprite index="68" />
+ </else>
+ <else><!-- CrystalGlass -->
+ <MaterialType value="CrystalGlass" />
+ <sprite index="70" />
+ </else>
+ <else><!-- any other material (e.g. stone) -->
+ <sprite index="60" color="building" />
+ </else>
</building>
diff --git a/resources/buildings/Kennels.xml b/resources/buildings/Kennels.xml index 7c3563b..41b4624 100644 --- a/resources/buildings/Kennels.xml +++ b/resources/buildings/Kennels.xml @@ -1,7 +1,5 @@ <?xml version="1.0" ?>
-
-
<building name="Kennels" game_type="Workshop" game_subtype="Kennels" >
<include file="wsUpperBorder.xml"/>
@@ -24,7 +22,7 @@ <PositionIndex value= "16" />
<BuildingOccupancy value="2" />
</and>
- <sprite index = "312" />
+ <sprite index = "312" color="building" />
</else>
<else>
diff --git a/resources/buildings/Spikes.xml b/resources/buildings/Spikes.xml index d8b30a4..6df2b29 100644 --- a/resources/buildings/Spikes.xml +++ b/resources/buildings/Spikes.xml @@ -1,7 +1,13 @@ <?xml version="1.0" ?>
-
-
<building name="Trap" game_type="Trap" game_subtype="WeaponTrap">
- <sprite index = 356 />
-</building>
+ <sprite index="356" />
+ <!--if>
+ <NeighbourWall dir="West" />
+ <sprite index ="376" />
+ </if>
+ <if>
+ <NeighbourWall dir="North" />
+ <sprite index ="377" />
+ </if-->
+</building>
\ No newline at end of file diff --git a/resources/buildings/StonefallTrap.xml b/resources/buildings/StonefallTrap.xml index 0f9eecc..b2558d7 100644 --- a/resources/buildings/StonefallTrap.xml +++ b/resources/buildings/StonefallTrap.xml @@ -1,7 +1,5 @@ <?xml version="1.0" ?>
-
-
<building name="Trap" game_type="Trap" game_subtype="StoneFallTrap">
- <sprite index = 355 />
+ <sprite index="359" />
</building>
diff --git a/resources/buildings/Table.xml b/resources/buildings/Table.xml index a9a127f..ec1d1ab 100644 --- a/resources/buildings/Table.xml +++ b/resources/buildings/Table.xml @@ -1,8 +1,11 @@ <?xml version="1.0"?>
+
<building name="Table" game_type="Table">
<if>
<MaterialType value="Wood" />
- <sprite index="82" color="building" />
+ <sprite index="82" color="building" >
+ <subsprite sheetIndex = "102" bloodmin = "1" color = "blood" />
+ </sprite>
</if>
<else>
<or>
@@ -33,11 +36,28 @@ <MaterialType value="Metal" subtype="BISMUTH_BRONZE" />
<MaterialType value="Metal" subtype="ADAMANTINE" />
</or>
- <sprite index="63" color="building" />
+ <sprite index="103" color="building" >
+ <subsprite sheetIndex = "102" bloodmin = "1" color = "blood" />
+ </sprite>
+ </else>
+ <else><!-- GreenGlass -->
+ <MaterialType value="GreenGlass" />
+ <sprite index="62" >
+ <subsprite sheetIndex = "102" bloodmin = "1" color = "blood" />
+ </sprite>
+ </else>
+ <else><!-- ClearGlass or CrystalGlass -->
+ <or>
+ <MaterialType value="ClearGlass" />
+ <MaterialType value="CrystalGlass" />
+ </or>
+ <sprite index="63" >
+ <subsprite sheetIndex = "102" bloodmin = "1" color = "blood" />
+ </sprite>
</else>
<else>
<sprite index="83" color="building" >
- <subsprite sheetIndex = "62" bloodmin = "1" color = "blood" />
+ <subsprite sheetIndex = "102" bloodmin = "1" color = "blood" />
</sprite>
</else>
</building>
diff --git a/resources/buildings/Target.xml b/resources/buildings/Target.xml index 36bf791..27a79dc 100644 --- a/resources/buildings/Target.xml +++ b/resources/buildings/Target.xml @@ -1,7 +1,43 @@ -<?xml version="1.0" ?>
-
-
+<?xml version="1.0"?>
<building name="Target" game_type="ArcheryTarget" >
- <sprite index = 288 />
-</building>
+ <if>
+ <MaterialType value="Wood" />
+ <sprite index="289" color="building" />
+ </if>
+ <else>
+ <or>
+ <MaterialType value="Metal" subtype="IRON" />
+ <MaterialType value="Metal" subtype="GOLD" />
+ <MaterialType value="Metal" subtype="SILVER" />
+ <MaterialType value="Metal" subtype="COPPER" />
+ <MaterialType value="Metal" subtype="NICKEL" />
+ <MaterialType value="Metal" subtype="ZINC" />
+ <MaterialType value="Metal" subtype="BRONZE" />
+ <MaterialType value="Metal" subtype="BRASS" />
+ <MaterialType value="Metal" subtype="STEEL" />
+ <MaterialType value="Metal" subtype="PIG_IRON" />
+ <MaterialType value="Metal" subtype="PLATINUM" />
+ <MaterialType value="Metal" subtype="ELECTRUM" />
+ <MaterialType value="Metal" subtype="TIN" />
+ <MaterialType value="Metal" subtype="PEWTER_FINE" />
+ <MaterialType value="Metal" subtype="PEWTER_TRIFLE" />
+ <MaterialType value="Metal" subtype="PEWTER_LAY" />
+ <MaterialType value="Metal" subtype="LEAD" />
+ <MaterialType value="Metal" subtype="ALUMINUM" />
+ <MaterialType value="Metal" subtype="NICKEL_SILVER" />
+ <MaterialType value="Metal" subtype="BILLON" />
+ <MaterialType value="Metal" subtype="STERLING_SILVER" />
+ <MaterialType value="Metal" subtype="BLACK_BRONZE" />
+ <MaterialType value="Metal" subtype="ROSE_GOLD" />
+ <MaterialType value="Metal" subtype="BISMUTH" />
+ <MaterialType value="Metal" subtype="BISMUTH_BRONZE" />
+ <MaterialType value="Metal" subtype="ADAMANTINE" />
+ </or>
+ <sprite index="290" color="building" />
+ </else>
+ <else>
+ <sprite index="288" color="building" />
+ </else>
+ <sprite index="287" />
+</building>
diff --git a/resources/buildings/VerticalBars.png b/resources/buildings/VerticalBars.png Binary files differindex 5e7f536..b508a33 100644 --- a/resources/buildings/VerticalBars.png +++ b/resources/buildings/VerticalBars.png diff --git a/resources/buildings/VerticalBars.xml b/resources/buildings/VerticalBars.xml index fc58eed..380820b 100644 --- a/resources/buildings/VerticalBars.xml +++ b/resources/buildings/VerticalBars.xml @@ -1,7 +1,5 @@ <?xml version="1.0" ?>
-
-
<building name="Vertical Bars" game_type="BarsVertical" file="VerticalBars.png">
<!-- straight or end pieces -->
@@ -22,7 +20,7 @@ </or>
</not>
</and>
- <sprite index=0 />
+ <sprite index="0" color="building" />
</if>
<else>
<and>
@@ -41,7 +39,7 @@ </or>
</not>
</and>
- <sprite index=1 />
+ <sprite index="1" color="building" />
</else>
<!-- Center piece -->
@@ -64,7 +62,7 @@ <NeighbourWall dir="South" />
</or>
</and>
- <sprite index=2 />
+ <sprite index="2" color="building" />
</else>
<!-- Corners piece -->
@@ -85,7 +83,7 @@ </or>
</not>
</and>
- <sprite index=3 />
+ <sprite index="3" color="building" />
</else>
<else>
<and>
@@ -104,7 +102,7 @@ </or>
</not>
</and>
- <sprite index=4 />
+ <sprite index="4" color="building" />
</else>
<else>
<and>
@@ -123,7 +121,7 @@ </or>
</not>
</and>
- <sprite index=5 />
+ <sprite index="5" color="building" />
</else>
<else>
<and>
@@ -142,9 +140,9 @@ </or>
</not>
</and>
- <sprite index=6 />
+ <sprite index="6" color="building" />
</else>
- //T-Sections
+ <!-- T-Sections -->
<else>
<and>
<or>
@@ -162,7 +160,7 @@ </or>
</not>
</and>
- <sprite index=7 />
+ <sprite index="7" color="building" />
</else>
<else>
<and>
@@ -181,7 +179,7 @@ </or>
</not>
</and>
- <sprite index=8 />
+ <sprite index="8" color="building" />
</else>
<else>
<and>
@@ -200,7 +198,7 @@ </or>
</not>
</and>
- <sprite index=9 />
+ <sprite index="9" color="building" />
</else>
<else>
<and>
@@ -219,10 +217,10 @@ </or>
</not>
</and>
- <sprite index=10 />
+ <sprite index="10" color="building" />
</else>
<!-- default -->
<else>
- <sprite index=0 />
+ <sprite index="0" color="building" />
</else>
-</building>
+</building>
\ No newline at end of file diff --git a/resources/buildings/WallGrate.xml b/resources/buildings/WallGrate.xml index 3cf878f..c7d046c 100644 --- a/resources/buildings/WallGrate.xml +++ b/resources/buildings/WallGrate.xml @@ -1,7 +1,5 @@ <?xml version="1.0" ?>
-
-
<building name="Grate" game_type="GrateWall" >
<if>
<or>
@@ -10,9 +8,9 @@ <NeighbourSameType dir="North" />
<NeighbourSameType dir="South" />
</or>
- <sprite index=352 />
+ <sprite index="352" color="building" />
</if>
<else>
- <sprite index = 351 />
+ <sprite index="351" color="building" />
</else>
</building>
diff --git a/resources/buildings/WeaponTrap.xml b/resources/buildings/WeaponTrap.xml index 4ac466a..bcd51cb 100644 --- a/resources/buildings/WeaponTrap.xml +++ b/resources/buildings/WeaponTrap.xml @@ -1,7 +1,13 @@ <?xml version="1.0" ?>
-
-
<building name="Trap" game_type="Trap" game_subtype="WeaponTrap">
- <sprite index = 355 />
-</building>
+ <sprite index="358" />
+ <!--if>
+ <NeighbourWall dir="West" />
+ <sprite index ="378" />
+ </if>
+ <if>
+ <NeighbourWall dir="North" />
+ <sprite index ="379" />
+ </if-->
+</building>
\ No newline at end of file diff --git a/resources/buildings/index.txt b/resources/buildings/index.txt index 8a61ec8..f3799dc 100644 --- a/resources/buildings/index.txt +++ b/resources/buildings/index.txt @@ -27,6 +27,7 @@ Well.xml Stockpile.xml
Zone.xml
+AnimalTrap.xml
WeaponTrap.xml
StonefallTrap.xml
CageTrap.xml
@@ -48,7 +49,7 @@ WoodFurnace.xml Forge.xml
MagmaForge.xml
Masons.xml
-Craftdwarfs.xml
+Craftsdwarfs.xml
Mechanics.xml
Butchers.xml
Loom.xml
diff --git a/resources/creatures.png b/resources/creatures.png Binary files differindex 82f1496..ec040e8 100644 --- a/resources/creatures.png +++ b/resources/creatures.png diff --git a/resources/creatures/Wildlife.xml b/resources/creatures/Wildlife.xml index fa1cd03..a28e1f7 100644 --- a/resources/creatures/Wildlife.xml +++ b/resources/creatures/Wildlife.xml @@ -1,50 +1,38 @@ <?xml version="1.0"?>
<creatures>
- <creature gameID="HUMAN" sheetIndex="100">
- <variant prof="WRESTLER" sheetIndex="80" />
- <variant prof="LASHER" sheetIndex="81" />
- <variant prof="AXEMAN" sheetIndex="82" />
- <variant prof="HAMMERMAN" sheetIndex="83" />
- <variant prof="SWORDSMAN" sheetIndex="84" />
- <variant prof="SPEARMAN" sheetIndex="85" />
- <variant prof="MACEMAN" sheetIndex="86" />
- <variant prof="CROSSBOWMAN" sheetIndex="87" />
- <variant prof="BOWMAN" sheetIndex="88" />
- <variant prof="PIKEMAN" sheetIndex="89" />
- <variant prof="TRADER" sex="M" sheetIndex="102" />
- <variant prof="MERCHANT" sex="M" sheetIndex="102" />
- <variant prof="TRADER" sex="F" sheetIndex="103" />
- <variant prof="MERCHANT" sex="F" sheetIndex="103" />
- <Profession name="CHILD" sex="M" sheetIndex="120" />
- <Profession name="CHILD" sex="F" sheetIndex="121" />
- <Profession name="BABY" sheetIndex="122" />
- <variant sex="F" sheetIndex="101" />
- </creature>
+
<creature gameID="CAT" sheetIndex="20" >
<variant prof="CHILD" sheetIndex="21" />
</creature>
+
<creature gameID="DOG" sheetIndex="22" >
<variant prof="CHILD" sheetIndex="23" />
</creature>
+
<creature gameID="MACAQUE_RHESUS" sheetIndex="2" />
<creature gameID="CAMEL_1_HUMP" sheetIndex="4" />
<creature gameID="CAMEL_2_HUMP" sheetIndex="4" />
<creature gameID="COW" sheetIndex="5" />
<creature gameID="HIPPO" sheetIndex="6" />
<creature gameID="GROUNDHOG" sheetIndex="7" />
- <creature gameID="TROLL" sheetIndex="16" />
- <creature gameID="NIGHTWING" sheetIndex="17" />
+
+ <creature gameID="HARPY" sheetIndex="11" />
+ <creature gameID="CYCLOPS" sheetIndex="12" offsety="-2"/>
+ <creature gameID="ETTIN" sheetIndex="13"offsety="-2" />
+ <creature gameID="GIANT" sheetIndex="14"offsety="-2" />
+ <creature gameID="MINOTAUR" sheetIndex="15" offsety="-2" />
+ <creature gameID="TROLL" sheetIndex="16" offsety="-2" />
+ <creature gameID="NIGHTWING" sheetIndex="17" />
<creature gameID="FISH_CONGER_EEL" sheetIndex="18" />
- <creature gameID="OGRE" sheetIndex="19" />
- <creature gameID="MULE" sheetIndex="24" color="bodypart"
- bodypart="hair" />
- <creature gameID="DONKEY" sheetIndex="24" color="bodypart"
- bodypart="hair" />
+ <creature gameID="OGRE" sheetIndex="19" offsety="-2"/>
+
+ <creature gameID="MULE" sheetIndex="24" color="bodypart" bodypart="hair" />
+ <creature gameID="DONKEY" sheetIndex="24" color="bodypart" bodypart="hair" />
<creature gameID="MUSKOX" sheetIndex="25" />
<creature gameID="HORSE" sheetIndex="26" />
<creature gameID="FISH_CARP" sheetIndex="29" />
+
<creature gameID="OLM_GIANT" sheetIndex="30" />
- <creature gameID="RATMAN" sheetIndex="31" />
<creature gameID="BEAK_DOG" sheetIndex="32" />
<creature gameID="KOBOLD" sheetIndex="33" />
<creature gameID="GOBLIN" sheetIndex="34" />
@@ -52,7 +40,20 @@ <creature gameID="SPIDER_CAVE_GIANT" sheetIndex="36" />
<creature gameID="SPIRIT_OF_FIRE" sheetIndex="38" />
<creature gameID="IMP_FIRE" sheetIndex="39" />
- <creature gameID="IMP_FIRE" sheetIndex="39" />
+
+ <creature gameID="RODENT MAN" sheetIndex="40" />
+ <creature gameID="AMPHIBIAN_MAN" sheetIndex="41" />
+ <creature gameID="REPTILE_MAN" sheetIndex="42" />
+
<creature gameID="FOX" sheetIndex="50" />
<creature gameID="TROGLODYTE" sheetIndex="52" />
+
+ <creature gameID="DRAGON">
+ <variant sheetIndex ="54" frames = "0"/>
+ <variant sheetIndex ="55" frames = "1"/>
+ <variant sheetIndex ="56" frames = "2"/>
+ <variant sheetIndex ="57" frames = "3"/>
+ <variant sheetIndex ="58" frames = "4"/>
+ <variant sheetIndex ="59" frames = "5"/>
+ </creature>
</creatures>
diff --git a/resources/creatures/caravan_animals.xml b/resources/creatures/caravan_animals.xml index 081aaf2..037dd72 100644 --- a/resources/creatures/caravan_animals.xml +++ b/resources/creatures/caravan_animals.xml @@ -61,7 +61,7 @@ </variant>
</creature>
- <creature gameID="BIRD_GEESE" file="caravan_animals.png" >
+ <creature gameID="BIRD_GOOSE" file="caravan_animals.png" >
<variant prof="CHILD" sheetIndex ="42" color = "bodypart" bodypart = "feathers" >
<subsprite sheetIndex = "43" />
</variant>
diff --git a/resources/creatures/humans.png b/resources/creatures/humans.png Binary files differnew file mode 100644 index 0000000..29e0746 --- /dev/null +++ b/resources/creatures/humans.png diff --git a/resources/creatures/humans.xml b/resources/creatures/humans.xml new file mode 100644 index 0000000..fe5598b --- /dev/null +++ b/resources/creatures/humans.xml @@ -0,0 +1,175 @@ +<?xml version="1.0" ?>
+
+<creatures>
+ <!-- default -->
+ <creature gameID="HUMAN" file="humans.png" sheetIndex="0" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="1" color="bodypart" bodypart="hair" />
+ <subsprite sheetIndex="2" />
+ <subsprite sheetIndex="3" color="profession" />
+
+
+ <!-- military -->
+ <variant prof="RECRUIT" sheetIndex="0" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="40" />
+ </variant>
+
+ <variant prof="WRESTLER" sheetIndex="41" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="61" />
+ </variant>
+ <variant prof="MASTER_WRESTLER" sheetIndex="41" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="61" />
+ <subsprite sheetIndex="60" offsety="-2" />
+ </variant>
+
+ <variant prof="LASHER" sheetIndex="42" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="62" />
+ </variant>
+ <variant prof="MASTER_LASHER" sheetIndex="42" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="62" />
+ <subsprite sheetIndex="60" offsety="-2" />
+ </variant>
+
+ <variant prof="AXEMAN" sheetIndex="42" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="63" />
+ </variant>
+ <variant prof="MASTER_AXEMAN" sheetIndex="42" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="63" />
+ <subsprite sheetIndex="60" offsety="-2" />
+ </variant>
+
+ <variant prof="HAMMERMAN" sheetIndex="42" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="64" />
+ </variant>
+ <variant prof="MASTER_HAMMERMAN" sheetIndex="42" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="64" />
+ <subsprite sheetIndex="60" offsety="-2" />
+ </variant>
+
+ <variant prof="SWORDSMAN" sheetIndex="42" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="65" />
+ </variant>
+ <variant prof="MASTER_SWORDSMAN" sheetIndex="42" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="65" />
+ <subsprite sheetIndex="60" offsety="-2" />
+ </variant>
+
+ <variant prof="SPEARMAN" sheetIndex="42" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="66" />
+ </variant>
+ <variant prof="MASTER_SPEARMAN" sheetIndex="42" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="66" />
+ <subsprite sheetIndex="60" offsety="-2" />
+ </variant>
+
+ <variant prof="MACEMAN" sheetIndex="42" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="67" />
+ </variant>
+ <variant prof="MASTER_MACEMAN" sheetIndex="42" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="67" />
+ <subsprite sheetIndex="60" offsety="-2" />
+ </variant>
+
+
+ <variant prof="CROSSBOWMAN" sheetIndex="48" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="68" />
+ </variant>
+ <variant prof="MASTER_CROSSBOWMAN" sheetIndex="48" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="68" />
+ <subsprite sheetIndex="60" offsety="-2" />
+ </variant>
+
+ <variant prof="BOWMAN" sheetIndex="48" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="69" />
+ </variant>
+ <variant prof="MASTER_BOWMAN" sheetIndex="48" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="69" />
+ <subsprite sheetIndex="60" offsety="-2" />
+ </variant>
+
+ <variant prof="BLOWGUNMAN" sheetIndex="48" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="70" />
+ </variant>
+ <variant prof="MASTER_BLOWGUNMAN" sheetIndex="48" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="70" />
+ <subsprite sheetIndex="60" offsety="-2" />
+ </variant>
+
+ <variant prof="PIKEMAN" sheetIndex="51" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="71" />
+ </variant>
+ <variant prof="MASTER_PIKEMAN" sheetIndex="51" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="71" />
+ <subsprite sheetIndex="60" offsety="-2" />
+ </variant>
+
+ <!-- purple guys -->
+ <variant prof="CLERK" sex="M" sheetIndex="0" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="1" color="bodypart" bodypart="hair" />
+ <subsprite sheetIndex="4" />
+ </variant>
+ <variant prof="CLERK" sex="F" sheetIndex="20" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="21" color="bodypart" bodypart="hair" />
+ <subsprite sheetIndex="24" />
+ </variant>
+
+ <variant prof="ADMINISTRATOR" sex="M" sheetIndex="5" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="6" color="bodypart" bodypart="hair" />
+ <subsprite sheetIndex="7" /><!-- need colors -->
+ </variant>
+ <variant prof="ADMINISTRATOR" sex="F" sheetIndex="25" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="26" color="bodypart" bodypart="hair" />
+ <subsprite sheetIndex="27" /><!-- need colors -->
+ </variant>
+
+ <variant prof="TRADER" sex="M" sheetIndex="11" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="6" color="bodypart" bodypart="hair" />
+ <subsprite sheetIndex="13" /><!-- need colors -->
+ </variant>
+ <variant prof="TRADER" sex="F" sheetIndex="31" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="32" color="bodypart" bodypart="hair" />
+ <subsprite sheetIndex="33" /><!-- need colors -->
+ </variant>
+
+
+ <!-- non-playable -->
+ <variant prof="MERCHANT" sex="M" sheetIndex="9" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="6" color="bodypart" bodypart="hair" />
+ <subsprite sheetIndex="10" />
+ </variant>
+ <variant prof="MERCHANT" sex="F" sheetIndex="29" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="26" color="bodypart" bodypart="hair" />
+ <subsprite sheetIndex="30" />
+ </variant>
+
+ <!--variant prof="SHOPKEEPER" sex="M" sheetIndex="11" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="6" color="bodypart" bodypart="hair" />
+ <subsprite sheetIndex="14" />
+ </variant>
+ <variant prof="SHOPKEEPER" sex="F" sheetIndex="31" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="32" color="bodypart" bodypart="hair" />
+ <subsprite sheetIndex="34" />
+ </variant-->
+
+
+ <!-- children -->
+ <variant prof="CHILD" sex="M" sheetIndex="15" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="35" color="bodypart" bodypart="hair" /><!-- variations="2"-->
+ <subsprite sheetIndex="16" />
+ </variant>
+ <variant prof="CHILD" sex="F" sheetIndex="15" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="37" color="bodypart" bodypart="hair" /><!-- sheetIndex="36" variations="2"-->
+ <subsprite sheetIndex="17" />
+ </variant>
+ <variant prof="BABY" sheetIndex="18" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="39" color="bodypart" bodypart="hair" />
+ <subsprite sheetIndex="19" />
+ </variant>
+
+ <!-- default female -->
+ <variant sex="F" sheetIndex="20" color="bodypart" bodypart="skin">
+ <subsprite sheetIndex="21" color="bodypart" bodypart="hair" />
+ <subsprite sheetIndex="22" />
+ <subsprite sheetIndex="23" color="profession" />
+ </variant>
+ </creature>
+</creatures>
\ No newline at end of file diff --git a/resources/creatures/humies.png b/resources/creatures/humies.png Binary files differdeleted file mode 100644 index 6558aed..0000000 --- a/resources/creatures/humies.png +++ /dev/null diff --git a/resources/creatures/humies.xml b/resources/creatures/humies.xml deleted file mode 100644 index 7f0102e..0000000 --- a/resources/creatures/humies.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0"?>
-<creatures>
- <creature gameID="HUMAN" sheetIndex="0" file="humies.png" color="bodypart" bodypart="skin">
- <subsprite sheetIndex="1" color="bodypart" bodypart="hair" />
- <subsprite sheetIndex="2" />
- <subsprite sheetIndex="3" color="profession" />
- <variant sex="F" sheetIndex="4" color="bodypart" bodypart="skin">
- <subsprite sheetIndex="5" color="bodypart" bodypart="hair" />
- <subsprite sheetIndex="6" />
- <subsprite sheetIndex="7" color="profession" />
- </variant>
- </creature>
-</creatures>
diff --git a/resources/creatures/index.txt b/resources/creatures/index.txt index ded7e65..649142c 100644 --- a/resources/creatures/index.txt +++ b/resources/creatures/index.txt @@ -1,10 +1,10 @@ -large_256/index.txt
+large_128/index.txt
caravan_animals.xml
beefmo_large_ocean.xml
beefmo_subterranean.xml
-humies.xml
+humans.xml
elfs.xml
wild_animals.xml
#goblins.xml
diff --git a/resources/creatures/large_128/crundle.png b/resources/creatures/large_128/crundle.png Binary files differnew file mode 100644 index 0000000..939b3df --- /dev/null +++ b/resources/creatures/large_128/crundle.png diff --git a/resources/creatures/large_128/crundle.xml b/resources/creatures/large_128/crundle.xml new file mode 100644 index 0000000..b0487a9 --- /dev/null +++ b/resources/creatures/large_128/crundle.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" ?> +<creatures> + <creature gameID="CRUNDLE" file="crundle.png" > + + <variant special="Normal" sex="F" sheetIndex="0" zoom="2" color="bodypart" bodypart="scales" > + <subsprite sheetIndex="1" zoom="2" /> + </variant> + + <variant special="Normal" sex="M" sheetIndex="0" zoom="2" color="bodypart" bodypart="scales" > + <subsprite sheetIndex="21" zoom="2" /> + </variant> + + </creature> + + <creature gameID="IMP_FIRE" file="crundle.png" > + + <variant special="Normal" sheetIndex="40" zoom="2" color="bodypart" bodypart="skin" > + <subsprite sheetIndex="41" zoom="2" /> + </variant> + + </creature> + +</creatures>
\ No newline at end of file diff --git a/resources/creatures/large_128/domestic.png b/resources/creatures/large_128/domestic.png Binary files differnew file mode 100644 index 0000000..b675a1f --- /dev/null +++ b/resources/creatures/large_128/domestic.png diff --git a/resources/creatures/large_128/domestic.xml b/resources/creatures/large_128/domestic.xml new file mode 100644 index 0000000..4761313 --- /dev/null +++ b/resources/creatures/large_128/domestic.xml @@ -0,0 +1,114 @@ +<?xml version="1.0" ?> +<creatures> + + <creature gameID="WATER_BUFFALO" file="domestic.png" > + + <variant special="Normal" prof="CHILD" sheetIndex="4" zoom="2" color="bodypart" bodypart="skin" > + <subsprite sheetIndex="5" zoom="2" color="bodypart" bodypart="hair" /> + <subsprite sheetIndex="6" zoom="2" /> + </variant> + + <variant special="Normal" sex="F" sheetIndex="0" zoom="2" color="bodypart" bodypart="skin" > + <subsprite sheetIndex="1" zoom="2" color="bodypart" bodypart="hair" /> + <subsprite sheetIndex="2" zoom="2" /> + </variant> + + <variant special="Normal" sex="M" sheetIndex="0" zoom="2" color="bodypart" bodypart="skin" > + <subsprite sheetIndex="1" zoom="2" color="bodypart" bodypart="hair" /> + <subsprite sheetIndex="3" zoom="2" /> + </variant> + + </creature> + + + <creature gameID="GOAT" file="domestic.png" > + + <variant special="Normal" prof="CHILD" sheetIndex="25" zoom="2" color="bodypart" bodypart="hair" > + <subsprite sheetIndex="26" zoom="2" /> + </variant> + + <variant special="Normal" sex="F" sheetIndex="20" zoom="2" color="bodypart" bodypart="hair" > + <subsprite sheetIndex="21" zoom="2" color="bodypart" bodypart="beard" /> + <subsprite sheetIndex="22" zoom="2" /> + </variant> + + <variant special="Normal" sex="M" sheetIndex="20" zoom="2" color="bodypart" bodypart="hair" > + <subsprite sheetIndex="23" zoom="2" color="bodypart" bodypart="beard" /> + <subsprite sheetIndex="24" zoom="2" /> + </variant> + + </creature> + + + <creature gameID="SHEEP" file="domestic.png" > + + <variant special="Normal" prof="CHILD" sheetIndex="44" zoom="2" color="bodypart" bodypart="skin" > + <subsprite sheetIndex="45" zoom="2" color="bodypart" bodypart="wool" /> + <subsprite sheetIndex="46" zoom="2" /> + </variant> + + <variant special="Normal" sex="F" sheetIndex="40" zoom="2" color="bodypart" bodypart="skin" > + <subsprite sheetIndex="41" zoom="2" color="bodypart" bodypart="wool" /> + <subsprite sheetIndex="42" zoom="2" /> + </variant> + + <variant special="Normal" sex="M" sheetIndex="40" zoom="2" color="bodypart" bodypart="skin" > + <subsprite sheetIndex="41" zoom="2" color="bodypart" bodypart="wool" /> + <subsprite sheetIndex="43" zoom="2" /> + </variant> + + </creature> + + + <creature gameID="REINDEER" file="domestic.png" > + + <variant special="Normal" prof="CHILD" sheetIndex="62" zoom="2" color="bodypart" bodypart="hair" > + <subsprite sheetIndex="63" zoom="2" /> + </variant> + + <variant special="Normal" sheetIndex="60" zoom="2" color="bodypart" bodypart="hair" > + <subsprite sheetIndex="61" zoom="2" /> + </variant> + + </creature> + + + <creature gameID="PIG" file="domestic.png" > + + <variant special="Normal" prof="CHILD" sheetIndex="81" zoom="2" color="bodypart" bodypart="skin" /> + + <variant special="Normal" sheetIndex="80" zoom="2" color="bodypart" bodypart="skin" /> + + </creature> + + + <creature gameID="BIRD_CHICKEN" file="domestic.png" > + + <variant special="Normal" prof="CHILD" sheetIndex="104" zoom="2" > + <subsprite sheetIndex="105" zoom="2" color="bodypart" bodypart="feathers" /> + </variant> + + <variant special="Normal" sex="F" sheetIndex="100" zoom="2" > + <subsprite sheetIndex="101" zoom="2" color="bodypart" bodypart="feathers" /> + </variant> + + <variant special="Normal" sex="M" sheetIndex="102" zoom="2" > + <subsprite sheetIndex="103" zoom="2" color="bodypart" bodypart="feathers" /> + </variant> + + </creature> + + + <creature gameID="BIRD_DUCK" file="domestic.png" > + + <variant special="Normal" prof="CHILD" sheetIndex="104" zoom="2" > + <subsprite sheetIndex="105" zoom="2" color="bodypart" bodypart="feathers" /> + </variant> + + <variant special="Normal" sheetIndex="120" zoom="2" > + <subsprite sheetIndex="121" zoom="2" color="bodypart" bodypart="feathers" /> + </variant> + + </creature> + +</creatures>
\ No newline at end of file diff --git a/resources/creatures/large_128/dwarf.xml b/resources/creatures/large_128/dwarf.xml new file mode 100644 index 0000000..44a8589 --- /dev/null +++ b/resources/creatures/large_128/dwarf.xml @@ -0,0 +1,786 @@ +<?xml version="1.0" ?> +<creatures> +<creature gameID="DWARF" > + + <variant special="Military" sex="M" file="dwarfm.png" > + + <!--rear pieces for shadowing between legs--> + <subsprite sheetIndex="148" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> + <subsprite sheetIndex="151" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> + + <subsprite sheetIndex="2" zoom="2" color="bodypart" bodypart="skin" /> + + <!--all the body clothes--> + <subsprite sheetIndex="80" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_THONG" color="equipment"/> + <subsprite sheetIndex="81" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_LEGGINGS" color="equipment"/> + <subsprite sheetIndex="20" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SOCKS" color="equipment"/> + <subsprite sheetIndex="41" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_CHAUSSE" color="equipment"/> + <subsprite sheetIndex="22" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SANDAL" color="equipment"/> + <subsprite sheetIndex="23" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SHOES" color="equipment"/> + <subsprite sheetIndex="24" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS_LOW" color="equipment"/> + <subsprite sheetIndex="45" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS" color="equipment"/> + <subsprite sheetIndex="82" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_BRAIES" color="equipment"/> + <subsprite sheetIndex="83" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_PANTS" color="equipment"/> + <subsprite sheetIndex="84" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_LOINCLOTH" color="equipment"/> + <subsprite sheetIndex="65" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_GREAVES" color="equipment"/> + <subsprite sheetIndex="86" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_SHORT" color="equipment"/> + <subsprite sheetIndex="87" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT" color="equipment"/> + <subsprite sheetIndex="88" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_LONG" color="equipment"/> + <subsprite sheetIndex="120" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_SHIRT" color="equipment"/> + <subsprite sheetIndex="121" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_VEST" color="equipment"/> + <subsprite sheetIndex="122" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_DRESS" color="equipment"/> + <subsprite sheetIndex="123" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_MAIL_SHIRT" color="equipment"/> + <subsprite sheetIndex="160" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GLOVES" color="equipment"/> + <subsprite sheetIndex="161" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_MITTENS" color="equipment"/> + <subsprite sheetIndex="124" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TUNIC" color="equipment"/> + <subsprite sheetIndex="125" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TOGA" color="equipment"/> + <subsprite sheetIndex="126" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_LEATHER" color="equipment"/> + <subsprite sheetIndex="127" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_BREASTPLATE" color="equipment"/> + <subsprite sheetIndex="128" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> + <subsprite sheetIndex="129" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_COAT" color="equipment"/> + <subsprite sheetIndex="162" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GAUNTLETS" color="equipment"/> + <subsprite sheetIndex="130" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_ROBE" color="equipment"/> + <subsprite sheetIndex="131" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> + + <!--beard goes here - on top of clothes but below hats--> + <subsprite sheetIndex="3" zoom="2" color="bodypart" bodypart="hair" /> + + <!--subsprite sheetIndex="100" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_HEAD" color="equipment"/--> + <!--subsprite sheetIndex="101" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_FACE" color="equipment"/--> + <subsprite sheetIndex="182" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_SCARF_HEAD" color="equipment"/> + <subsprite sheetIndex="183" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_CAP" color="equipment"/> + <subsprite sheetIndex="184" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_MASK" color="equipment"/> + <!--subsprite sheetIndex="107" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_TURBAN" color="equipment"/--> + <subsprite sheetIndex="186" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_HOOD" color="equipment"/> + <subsprite sheetIndex="185" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_HELM" color="equipment"/> + + <subsprite sheetIndex="200" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_WHIP" color="equipment"/> + <subsprite sheetIndex="201" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_BATTLE" color="equipment"/> + <subsprite sheetIndex="202" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_HAMMER_WAR" color="equipment"/> + <subsprite sheetIndex="203" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_SHORT" color="equipment"/> + <subsprite sheetIndex="204" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SPEAR" color="equipment"/> + <subsprite sheetIndex="205" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MACE" color="equipment"/> + <subsprite sheetIndex="206" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_CROSSBOW" color="equipment"/> + <subsprite sheetIndex="207" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PICK" color="equipment"/> + <subsprite sheetIndex="208" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_BOW" color="equipment"/> + <subsprite sheetIndex="209" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_BLOWGUN" color="equipment"/> + <subsprite sheetIndex="204" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PIKE" color="equipment"/> + <subsprite sheetIndex="210" offsety="-16" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PIKE" color="equipment"/> + <subsprite sheetIndex="211" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_HALBERD" color="equipment"/> + <subsprite sheetIndex="220" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_2H" color="equipment"/> + <subsprite sheetIndex="221" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_LONG" color="equipment"/> + <subsprite sheetIndex="222" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MAUL" color="equipment"/> + <subsprite sheetIndex="223" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_GREAT" color="equipment"/> + <subsprite sheetIndex="224" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_DAGGER_LARGE" color="equipment"/> + <subsprite sheetIndex="225" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SCOURGE" color="equipment"/> + <subsprite sheetIndex="226" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_FLAIL" color="equipment"/> + <subsprite sheetIndex="227" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MORNINGSTAR" color="equipment"/> + <subsprite sheetIndex="228" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SCIMITAR" color="equipment"/> + <subsprite sheetIndex="229" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_TRAINING" color="equipment"/> + <subsprite sheetIndex="230" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_SHORT_TRAINING" color="equipment"/> + <subsprite sheetIndex="231" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SPEAR_TRAINING" color="equipment"/> + + <subsprite sheetIndex="163" zoom="2" equipment_class="SHIELD" equipment_name="ITEM_SHIELD_BUCKLER" color="equipment"/> + <subsprite sheetIndex="164" zoom="2" equipment_class="SHIELD" equipment_name="ITEM_SHIELD_SHIELD" color="equipment"/> + + <subsprite sheetIndex="4" zoom="2" /> + </variant> + + <variant special="Military" sex="F" file="dwarff.png" > + + <!--rear pieces for shadowing between legs--> + <subsprite sheetIndex="148" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> + <subsprite sheetIndex="151" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> + + <subsprite sheetIndex="2" zoom="2" color="bodypart" bodypart="skin" /> + + <!--all the body clothes--> + <subsprite sheetIndex="80" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_THONG" color="equipment"/> + <subsprite sheetIndex="81" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_LEGGINGS" color="equipment"/> + <subsprite sheetIndex="20" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SOCKS" color="equipment"/> + <subsprite sheetIndex="41" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_CHAUSSE" color="equipment"/> + <subsprite sheetIndex="22" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SANDAL" color="equipment"/> + <subsprite sheetIndex="23" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SHOES" color="equipment"/> + <subsprite sheetIndex="24" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS_LOW" color="equipment"/> + <subsprite sheetIndex="45" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS" color="equipment"/> + <subsprite sheetIndex="82" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_BRAIES" color="equipment"/> + <subsprite sheetIndex="83" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_PANTS" color="equipment"/> + <subsprite sheetIndex="84" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_LOINCLOTH" color="equipment"/> + <subsprite sheetIndex="65" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_GREAVES" color="equipment"/> + <subsprite sheetIndex="86" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_SHORT" color="equipment"/> + <subsprite sheetIndex="87" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT" color="equipment"/> + <subsprite sheetIndex="88" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_LONG" color="equipment"/> + <subsprite sheetIndex="120" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_SHIRT" color="equipment"/> + <subsprite sheetIndex="121" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_VEST" color="equipment"/> + <subsprite sheetIndex="122" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_DRESS" color="equipment"/> + <subsprite sheetIndex="123" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_MAIL_SHIRT" color="equipment"/> + <subsprite sheetIndex="160" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GLOVES" color="equipment"/> + <subsprite sheetIndex="161" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_MITTENS" color="equipment"/> + <subsprite sheetIndex="124" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TUNIC" color="equipment"/> + <subsprite sheetIndex="125" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TOGA" color="equipment"/> + <subsprite sheetIndex="126" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_LEATHER" color="equipment"/> + <subsprite sheetIndex="127" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_BREASTPLATE" color="equipment"/> + <subsprite sheetIndex="128" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> + <subsprite sheetIndex="129" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_COAT" color="equipment"/> + <subsprite sheetIndex="162" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GAUNTLETS" color="equipment"/> + <subsprite sheetIndex="130" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_ROBE" color="equipment"/> + <subsprite sheetIndex="131" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> + + <!--hair goes here - on top of clothes but below hats--> + <subsprite sheetIndex="3" zoom="2" color="bodypart" bodypart="hair" /> + + <!--subsprite sheetIndex="100" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_HEAD" color="equipment"/--> + <!--subsprite sheetIndex="101" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_FACE" color="equipment"/--> + <subsprite sheetIndex="182" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_SCARF_HEAD" color="equipment"/> + <subsprite sheetIndex="183" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_CAP" color="equipment"/> + <subsprite sheetIndex="184" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_MASK" color="equipment"/> + <!--subsprite sheetIndex="107" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_TURBAN" color="equipment"/--> + <subsprite sheetIndex="186" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_HOOD" color="equipment"/> + <subsprite sheetIndex="185" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_HELM" color="equipment"/> + + <subsprite sheetIndex="200" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_WHIP" color="equipment"/> + <subsprite sheetIndex="201" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_BATTLE" color="equipment"/> + <subsprite sheetIndex="202" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_HAMMER_WAR" color="equipment"/> + <subsprite sheetIndex="203" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_SHORT" color="equipment"/> + <subsprite sheetIndex="204" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SPEAR" color="equipment"/> + <subsprite sheetIndex="205" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MACE" color="equipment"/> + <subsprite sheetIndex="206" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_CROSSBOW" color="equipment"/> + <subsprite sheetIndex="207" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PICK" color="equipment"/> + <subsprite sheetIndex="208" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_BOW" color="equipment"/> + <subsprite sheetIndex="209" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_BLOWGUN" color="equipment"/> + <subsprite sheetIndex="204" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PIKE" color="equipment"/> + <subsprite sheetIndex="210" offsety="-16" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PIKE" color="equipment"/> + <subsprite sheetIndex="211" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_HALBERD" color="equipment"/> + <subsprite sheetIndex="220" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_2H" color="equipment"/> + <subsprite sheetIndex="221" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_LONG" color="equipment"/> + <subsprite sheetIndex="222" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MAUL" color="equipment"/> + <subsprite sheetIndex="223" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_GREAT" color="equipment"/> + <subsprite sheetIndex="224" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_DAGGER_LARGE" color="equipment"/> + <subsprite sheetIndex="225" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SCOURGE" color="equipment"/> + <subsprite sheetIndex="226" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_FLAIL" color="equipment"/> + <subsprite sheetIndex="227" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MORNINGSTAR" color="equipment"/> + <subsprite sheetIndex="228" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SCIMITAR" color="equipment"/> + <subsprite sheetIndex="229" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_TRAINING" color="equipment"/> + <subsprite sheetIndex="230" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_SHORT_TRAINING" color="equipment"/> + <subsprite sheetIndex="231" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SPEAR_TRAINING" color="equipment"/> + + <subsprite sheetIndex="163" zoom="2" equipment_class="SHIELD" equipment_name="ITEM_SHIELD_BUCKLER" color="equipment"/> + <subsprite sheetIndex="164" zoom="2" equipment_class="SHIELD" equipment_name="ITEM_SHIELD_SHIELD" color="equipment"/> + + <subsprite sheetIndex="4" zoom="2" /> + </variant> + + <variant special="Normal" prof="MINER" sex="M" file="dwarfm.png" > + + <!--rear pieces for shadowing between legs--> + <subsprite sheetIndex="148" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> + <subsprite sheetIndex="151" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> + + <subsprite sheetIndex="2" zoom="2" color="bodypart" bodypart="skin" /> + + <!--all the body clothes--> + <subsprite sheetIndex="80" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_THONG" color="equipment"/> + <subsprite sheetIndex="81" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_LEGGINGS" color="equipment"/> + <subsprite sheetIndex="20" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SOCKS" color="equipment"/> + <subsprite sheetIndex="41" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_CHAUSSE" color="equipment"/> + <subsprite sheetIndex="22" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SANDAL" color="equipment"/> + <subsprite sheetIndex="23" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SHOES" color="equipment"/> + <subsprite sheetIndex="24" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS_LOW" color="equipment"/> + <subsprite sheetIndex="45" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS" color="equipment"/> + <subsprite sheetIndex="82" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_BRAIES" color="equipment"/> + <subsprite sheetIndex="83" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_PANTS" color="equipment"/> + <subsprite sheetIndex="84" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_LOINCLOTH" color="equipment"/> + <subsprite sheetIndex="65" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_GREAVES" color="equipment"/> + <subsprite sheetIndex="86" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_SHORT" color="equipment"/> + <subsprite sheetIndex="87" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT" color="equipment"/> + <subsprite sheetIndex="88" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_LONG" color="equipment"/> + <subsprite sheetIndex="120" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_SHIRT" color="equipment"/> + <subsprite sheetIndex="121" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_VEST" color="equipment"/> + <subsprite sheetIndex="122" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_DRESS" color="equipment"/> + <subsprite sheetIndex="123" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_MAIL_SHIRT" color="equipment"/> + <subsprite sheetIndex="160" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GLOVES" color="equipment"/> + <subsprite sheetIndex="161" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_MITTENS" color="equipment"/> + <subsprite sheetIndex="124" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TUNIC" color="equipment"/> + <subsprite sheetIndex="125" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TOGA" color="equipment"/> + <subsprite sheetIndex="126" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_LEATHER" color="equipment"/> + <subsprite sheetIndex="127" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_BREASTPLATE" color="equipment"/> + <subsprite sheetIndex="128" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> + <subsprite sheetIndex="129" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_COAT" color="equipment"/> + <subsprite sheetIndex="162" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GAUNTLETS" color="equipment"/> + <subsprite sheetIndex="130" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_ROBE" color="equipment"/> + <subsprite sheetIndex="131" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> + + <!--beard goes here - on top of clothes but below hats--> + <subsprite sheetIndex="3" zoom="2" color="bodypart" bodypart="hair" /> + + <!--subsprite sheetIndex="100" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_HEAD" color="equipment"/--> + <!--subsprite sheetIndex="101" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_FACE" color="equipment"/--> + <subsprite sheetIndex="182" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_SCARF_HEAD" color="equipment"/> + <subsprite sheetIndex="183" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_CAP" color="equipment"/> + <subsprite sheetIndex="184" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_MASK" color="equipment"/> + <!--subsprite sheetIndex="107" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_TURBAN" color="equipment"/--> + <subsprite sheetIndex="186" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_HOOD" color="equipment"/> + <subsprite sheetIndex="185" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_HELM" color="equipment"/> + + <subsprite sheetIndex="200" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_WHIP" color="equipment"/> + <subsprite sheetIndex="201" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_BATTLE" color="equipment"/> + <subsprite sheetIndex="202" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_HAMMER_WAR" color="equipment"/> + <subsprite sheetIndex="203" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_SHORT" color="equipment"/> + <subsprite sheetIndex="204" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SPEAR" color="equipment"/> + <subsprite sheetIndex="205" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MACE" color="equipment"/> + <subsprite sheetIndex="206" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_CROSSBOW" color="equipment"/> + <subsprite sheetIndex="207" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PICK" color="equipment"/> + <subsprite sheetIndex="208" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_BOW" color="equipment"/> + <subsprite sheetIndex="209" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_BLOWGUN" color="equipment"/> + <subsprite sheetIndex="204" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PIKE" color="equipment"/> + <subsprite sheetIndex="210" offsety="-16" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PIKE" color="equipment"/> + <subsprite sheetIndex="211" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_HALBERD" color="equipment"/> + <subsprite sheetIndex="220" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_2H" color="equipment"/> + <subsprite sheetIndex="221" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_LONG" color="equipment"/> + <subsprite sheetIndex="222" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MAUL" color="equipment"/> + <subsprite sheetIndex="223" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_GREAT" color="equipment"/> + <subsprite sheetIndex="224" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_DAGGER_LARGE" color="equipment"/> + <subsprite sheetIndex="225" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SCOURGE" color="equipment"/> + <subsprite sheetIndex="226" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_FLAIL" color="equipment"/> + <subsprite sheetIndex="227" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MORNINGSTAR" color="equipment"/> + <subsprite sheetIndex="228" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SCIMITAR" color="equipment"/> + <subsprite sheetIndex="229" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_TRAINING" color="equipment"/> + <subsprite sheetIndex="230" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_SHORT_TRAINING" color="equipment"/> + <subsprite sheetIndex="231" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SPEAR_TRAINING" color="equipment"/> + + <subsprite sheetIndex="163" zoom="2" equipment_class="SHIELD" equipment_name="ITEM_SHIELD_BUCKLER" color="equipment"/> + <subsprite sheetIndex="164" zoom="2" equipment_class="SHIELD" equipment_name="ITEM_SHIELD_SHIELD" color="equipment"/> + + <subsprite sheetIndex="4" zoom="2" /> + </variant> + + <variant special="Normal" prof="MINER" sex="F" file="dwarff.png" > + + <!--rear pieces for shadowing between legs--> + <subsprite sheetIndex="148" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> + <subsprite sheetIndex="151" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> + + <subsprite sheetIndex="2" zoom="2" color="bodypart" bodypart="skin" /> + + <!--all the body clothes--> + <subsprite sheetIndex="80" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_THONG" color="equipment"/> + <subsprite sheetIndex="81" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_LEGGINGS" color="equipment"/> + <subsprite sheetIndex="20" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SOCKS" color="equipment"/> + <subsprite sheetIndex="41" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_CHAUSSE" color="equipment"/> + <subsprite sheetIndex="22" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SANDAL" color="equipment"/> + <subsprite sheetIndex="23" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SHOES" color="equipment"/> + <subsprite sheetIndex="24" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS_LOW" color="equipment"/> + <subsprite sheetIndex="45" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS" color="equipment"/> + <subsprite sheetIndex="82" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_BRAIES" color="equipment"/> + <subsprite sheetIndex="83" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_PANTS" color="equipment"/> + <subsprite sheetIndex="84" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_LOINCLOTH" color="equipment"/> + <subsprite sheetIndex="65" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_GREAVES" color="equipment"/> + <subsprite sheetIndex="86" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_SHORT" color="equipment"/> + <subsprite sheetIndex="87" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT" color="equipment"/> + <subsprite sheetIndex="88" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_LONG" color="equipment"/> + <subsprite sheetIndex="120" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_SHIRT" color="equipment"/> + <subsprite sheetIndex="121" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_VEST" color="equipment"/> + <subsprite sheetIndex="122" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_DRESS" color="equipment"/> + <subsprite sheetIndex="123" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_MAIL_SHIRT" color="equipment"/> + <subsprite sheetIndex="160" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GLOVES" color="equipment"/> + <subsprite sheetIndex="161" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_MITTENS" color="equipment"/> + <subsprite sheetIndex="124" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TUNIC" color="equipment"/> + <subsprite sheetIndex="125" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TOGA" color="equipment"/> + <subsprite sheetIndex="126" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_LEATHER" color="equipment"/> + <subsprite sheetIndex="127" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_BREASTPLATE" color="equipment"/> + <subsprite sheetIndex="128" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> + <subsprite sheetIndex="129" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_COAT" color="equipment"/> + <subsprite sheetIndex="162" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GAUNTLETS" color="equipment"/> + <subsprite sheetIndex="130" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_ROBE" color="equipment"/> + <subsprite sheetIndex="131" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> + + <!--hair goes here - on top of clothes but below hats--> + <subsprite sheetIndex="3" zoom="2" color="bodypart" bodypart="hair" /> + + <!--subsprite sheetIndex="100" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_HEAD" color="equipment"/--> + <!--subsprite sheetIndex="101" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_FACE" color="equipment"/--> + <subsprite sheetIndex="182" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_SCARF_HEAD" color="equipment"/> + <subsprite sheetIndex="183" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_CAP" color="equipment"/> + <subsprite sheetIndex="184" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_MASK" color="equipment"/> + <!--subsprite sheetIndex="107" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_TURBAN" color="equipment"/--> + <subsprite sheetIndex="186" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_HOOD" color="equipment"/> + <subsprite sheetIndex="185" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_HELM" color="equipment"/> + + <subsprite sheetIndex="200" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_WHIP" color="equipment"/> + <subsprite sheetIndex="201" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_BATTLE" color="equipment"/> + <subsprite sheetIndex="202" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_HAMMER_WAR" color="equipment"/> + <subsprite sheetIndex="203" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_SHORT" color="equipment"/> + <subsprite sheetIndex="204" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SPEAR" color="equipment"/> + <subsprite sheetIndex="205" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MACE" color="equipment"/> + <subsprite sheetIndex="206" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_CROSSBOW" color="equipment"/> + <subsprite sheetIndex="207" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PICK" color="equipment"/> + <subsprite sheetIndex="208" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_BOW" color="equipment"/> + <subsprite sheetIndex="209" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_BLOWGUN" color="equipment"/> + <subsprite sheetIndex="204" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PIKE" color="equipment"/> + <subsprite sheetIndex="210" offsety="-16" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PIKE" color="equipment"/> + <subsprite sheetIndex="211" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_HALBERD" color="equipment"/> + <subsprite sheetIndex="220" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_2H" color="equipment"/> + <subsprite sheetIndex="221" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_LONG" color="equipment"/> + <subsprite sheetIndex="222" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MAUL" color="equipment"/> + <subsprite sheetIndex="223" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_GREAT" color="equipment"/> + <subsprite sheetIndex="224" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_DAGGER_LARGE" color="equipment"/> + <subsprite sheetIndex="225" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SCOURGE" color="equipment"/> + <subsprite sheetIndex="226" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_FLAIL" color="equipment"/> + <subsprite sheetIndex="227" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MORNINGSTAR" color="equipment"/> + <subsprite sheetIndex="228" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SCIMITAR" color="equipment"/> + <subsprite sheetIndex="229" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_TRAINING" color="equipment"/> + <subsprite sheetIndex="230" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_SHORT_TRAINING" color="equipment"/> + <subsprite sheetIndex="231" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SPEAR_TRAINING" color="equipment"/> + + <subsprite sheetIndex="163" zoom="2" equipment_class="SHIELD" equipment_name="ITEM_SHIELD_BUCKLER" color="equipment"/> + <subsprite sheetIndex="164" zoom="2" equipment_class="SHIELD" equipment_name="ITEM_SHIELD_SHIELD" color="equipment"/> + + <subsprite sheetIndex="4" zoom="2" /> + </variant> + + <variant special="Normal" prof="WOODCUTTER" sex="M" file="dwarfm.png" > + + <!--rear pieces for shadowing between legs--> + <subsprite sheetIndex="148" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> + <subsprite sheetIndex="151" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> + + <subsprite sheetIndex="2" zoom="2" color="bodypart" bodypart="skin" /> + + <!--all the body clothes--> + <subsprite sheetIndex="80" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_THONG" color="equipment"/> + <subsprite sheetIndex="81" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_LEGGINGS" color="equipment"/> + <subsprite sheetIndex="20" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SOCKS" color="equipment"/> + <subsprite sheetIndex="41" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_CHAUSSE" color="equipment"/> + <subsprite sheetIndex="22" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SANDAL" color="equipment"/> + <subsprite sheetIndex="23" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SHOES" color="equipment"/> + <subsprite sheetIndex="24" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS_LOW" color="equipment"/> + <subsprite sheetIndex="45" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS" color="equipment"/> + <subsprite sheetIndex="82" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_BRAIES" color="equipment"/> + <subsprite sheetIndex="83" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_PANTS" color="equipment"/> + <subsprite sheetIndex="84" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_LOINCLOTH" color="equipment"/> + <subsprite sheetIndex="65" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_GREAVES" color="equipment"/> + <subsprite sheetIndex="86" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_SHORT" color="equipment"/> + <subsprite sheetIndex="87" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT" color="equipment"/> + <subsprite sheetIndex="88" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_LONG" color="equipment"/> + <subsprite sheetIndex="120" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_SHIRT" color="equipment"/> + <subsprite sheetIndex="121" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_VEST" color="equipment"/> + <subsprite sheetIndex="122" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_DRESS" color="equipment"/> + <subsprite sheetIndex="123" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_MAIL_SHIRT" color="equipment"/> + <subsprite sheetIndex="160" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GLOVES" color="equipment"/> + <subsprite sheetIndex="161" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_MITTENS" color="equipment"/> + <subsprite sheetIndex="124" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TUNIC" color="equipment"/> + <subsprite sheetIndex="125" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TOGA" color="equipment"/> + <subsprite sheetIndex="126" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_LEATHER" color="equipment"/> + <subsprite sheetIndex="127" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_BREASTPLATE" color="equipment"/> + <subsprite sheetIndex="128" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> + <subsprite sheetIndex="129" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_COAT" color="equipment"/> + <subsprite sheetIndex="162" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GAUNTLETS" color="equipment"/> + <subsprite sheetIndex="130" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_ROBE" color="equipment"/> + <subsprite sheetIndex="131" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> + + <!--beard goes here - on top of clothes but below hats--> + <subsprite sheetIndex="3" zoom="2" color="bodypart" bodypart="hair" /> + + <!--subsprite sheetIndex="100" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_HEAD" color="equipment"/--> + <!--subsprite sheetIndex="101" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_FACE" color="equipment"/--> + <subsprite sheetIndex="182" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_SCARF_HEAD" color="equipment"/> + <subsprite sheetIndex="183" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_CAP" color="equipment"/> + <subsprite sheetIndex="184" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_MASK" color="equipment"/> + <!--subsprite sheetIndex="107" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_TURBAN" color="equipment"/--> + <subsprite sheetIndex="186" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_HOOD" color="equipment"/> + <subsprite sheetIndex="185" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_HELM" color="equipment"/> + + <subsprite sheetIndex="200" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_WHIP" color="equipment"/> + <subsprite sheetIndex="201" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_BATTLE" color="equipment"/> + <subsprite sheetIndex="202" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_HAMMER_WAR" color="equipment"/> + <subsprite sheetIndex="203" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_SHORT" color="equipment"/> + <subsprite sheetIndex="204" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SPEAR" color="equipment"/> + <subsprite sheetIndex="205" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MACE" color="equipment"/> + <subsprite sheetIndex="206" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_CROSSBOW" color="equipment"/> + <subsprite sheetIndex="207" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PICK" color="equipment"/> + <subsprite sheetIndex="208" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_BOW" color="equipment"/> + <subsprite sheetIndex="209" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_BLOWGUN" color="equipment"/> + <subsprite sheetIndex="204" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PIKE" color="equipment"/> + <subsprite sheetIndex="210" offsety="-16" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PIKE" color="equipment"/> + <subsprite sheetIndex="211" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_HALBERD" color="equipment"/> + <subsprite sheetIndex="220" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_2H" color="equipment"/> + <subsprite sheetIndex="221" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_LONG" color="equipment"/> + <subsprite sheetIndex="222" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MAUL" color="equipment"/> + <subsprite sheetIndex="223" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_GREAT" color="equipment"/> + <subsprite sheetIndex="224" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_DAGGER_LARGE" color="equipment"/> + <subsprite sheetIndex="225" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SCOURGE" color="equipment"/> + <subsprite sheetIndex="226" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_FLAIL" color="equipment"/> + <subsprite sheetIndex="227" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MORNINGSTAR" color="equipment"/> + <subsprite sheetIndex="228" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SCIMITAR" color="equipment"/> + <subsprite sheetIndex="229" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_TRAINING" color="equipment"/> + <subsprite sheetIndex="230" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_SHORT_TRAINING" color="equipment"/> + <subsprite sheetIndex="231" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SPEAR_TRAINING" color="equipment"/> + + <subsprite sheetIndex="163" zoom="2" equipment_class="SHIELD" equipment_name="ITEM_SHIELD_BUCKLER" color="equipment"/> + <subsprite sheetIndex="164" zoom="2" equipment_class="SHIELD" equipment_name="ITEM_SHIELD_SHIELD" color="equipment"/> + + <subsprite sheetIndex="4" zoom="2" /> + </variant> + + <variant special="Normal" prof="WOODCUTTER" sex="F" file="dwarff.png" > + + <!--rear pieces for shadowing between legs--> + <subsprite sheetIndex="148" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> + <subsprite sheetIndex="151" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> + + <subsprite sheetIndex="2" zoom="2" color="bodypart" bodypart="skin" /> + + <!--all the body clothes--> + <subsprite sheetIndex="80" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_THONG" color="equipment"/> + <subsprite sheetIndex="81" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_LEGGINGS" color="equipment"/> + <subsprite sheetIndex="20" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SOCKS" color="equipment"/> + <subsprite sheetIndex="41" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_CHAUSSE" color="equipment"/> + <subsprite sheetIndex="22" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SANDAL" color="equipment"/> + <subsprite sheetIndex="23" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SHOES" color="equipment"/> + <subsprite sheetIndex="24" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS_LOW" color="equipment"/> + <subsprite sheetIndex="45" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS" color="equipment"/> + <subsprite sheetIndex="82" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_BRAIES" color="equipment"/> + <subsprite sheetIndex="83" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_PANTS" color="equipment"/> + <subsprite sheetIndex="84" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_LOINCLOTH" color="equipment"/> + <subsprite sheetIndex="65" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_GREAVES" color="equipment"/> + <subsprite sheetIndex="86" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_SHORT" color="equipment"/> + <subsprite sheetIndex="87" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT" color="equipment"/> + <subsprite sheetIndex="88" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_LONG" color="equipment"/> + <subsprite sheetIndex="120" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_SHIRT" color="equipment"/> + <subsprite sheetIndex="121" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_VEST" color="equipment"/> + <subsprite sheetIndex="122" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_DRESS" color="equipment"/> + <subsprite sheetIndex="123" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_MAIL_SHIRT" color="equipment"/> + <subsprite sheetIndex="160" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GLOVES" color="equipment"/> + <subsprite sheetIndex="161" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_MITTENS" color="equipment"/> + <subsprite sheetIndex="124" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TUNIC" color="equipment"/> + <subsprite sheetIndex="125" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TOGA" color="equipment"/> + <subsprite sheetIndex="126" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_LEATHER" color="equipment"/> + <subsprite sheetIndex="127" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_BREASTPLATE" color="equipment"/> + <subsprite sheetIndex="128" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> + <subsprite sheetIndex="129" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_COAT" color="equipment"/> + <subsprite sheetIndex="162" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GAUNTLETS" color="equipment"/> + <subsprite sheetIndex="130" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_ROBE" color="equipment"/> + <subsprite sheetIndex="131" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> + + <!--hair goes here - on top of clothes but below hats--> + <subsprite sheetIndex="3" zoom="2" color="bodypart" bodypart="hair" /> + + <!--subsprite sheetIndex="100" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_HEAD" color="equipment"/--> + <!--subsprite sheetIndex="101" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_FACE" color="equipment"/--> + <subsprite sheetIndex="182" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_SCARF_HEAD" color="equipment"/> + <subsprite sheetIndex="183" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_CAP" color="equipment"/> + <subsprite sheetIndex="184" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_MASK" color="equipment"/> + <!--subsprite sheetIndex="107" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_TURBAN" color="equipment"/--> + <subsprite sheetIndex="186" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_HOOD" color="equipment"/> + <subsprite sheetIndex="185" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_HELM" color="equipment"/> + + <subsprite sheetIndex="200" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_WHIP" color="equipment"/> + <subsprite sheetIndex="201" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_BATTLE" color="equipment"/> + <subsprite sheetIndex="202" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_HAMMER_WAR" color="equipment"/> + <subsprite sheetIndex="203" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_SHORT" color="equipment"/> + <subsprite sheetIndex="204" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SPEAR" color="equipment"/> + <subsprite sheetIndex="205" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MACE" color="equipment"/> + <subsprite sheetIndex="206" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_CROSSBOW" color="equipment"/> + <subsprite sheetIndex="207" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PICK" color="equipment"/> + <subsprite sheetIndex="208" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_BOW" color="equipment"/> + <subsprite sheetIndex="209" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_BLOWGUN" color="equipment"/> + <subsprite sheetIndex="204" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PIKE" color="equipment"/> + <subsprite sheetIndex="210" offsety="-16" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PIKE" color="equipment"/> + <subsprite sheetIndex="211" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_HALBERD" color="equipment"/> + <subsprite sheetIndex="220" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_2H" color="equipment"/> + <subsprite sheetIndex="221" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_LONG" color="equipment"/> + <subsprite sheetIndex="222" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MAUL" color="equipment"/> + <subsprite sheetIndex="223" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_GREAT" color="equipment"/> + <subsprite sheetIndex="224" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_DAGGER_LARGE" color="equipment"/> + <subsprite sheetIndex="225" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SCOURGE" color="equipment"/> + <subsprite sheetIndex="226" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_FLAIL" color="equipment"/> + <subsprite sheetIndex="227" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MORNINGSTAR" color="equipment"/> + <subsprite sheetIndex="228" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SCIMITAR" color="equipment"/> + <subsprite sheetIndex="229" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_TRAINING" color="equipment"/> + <subsprite sheetIndex="230" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_SHORT_TRAINING" color="equipment"/> + <subsprite sheetIndex="231" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SPEAR_TRAINING" color="equipment"/> + + <subsprite sheetIndex="163" zoom="2" equipment_class="SHIELD" equipment_name="ITEM_SHIELD_BUCKLER" color="equipment"/> + <subsprite sheetIndex="164" zoom="2" equipment_class="SHIELD" equipment_name="ITEM_SHIELD_SHIELD" color="equipment"/> + + <subsprite sheetIndex="4" zoom="2" /> + </variant> + + <variant special="Normal" prof="HUNTER" sex="M" file="dwarfm.png" > + + <!--rear pieces for shadowing between legs--> + <subsprite sheetIndex="148" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> + <subsprite sheetIndex="151" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> + + <subsprite sheetIndex="2" zoom="2" color="bodypart" bodypart="skin" /> + + <!--all the body clothes--> + <subsprite sheetIndex="80" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_THONG" color="equipment"/> + <subsprite sheetIndex="81" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_LEGGINGS" color="equipment"/> + <subsprite sheetIndex="20" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SOCKS" color="equipment"/> + <subsprite sheetIndex="41" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_CHAUSSE" color="equipment"/> + <subsprite sheetIndex="22" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SANDAL" color="equipment"/> + <subsprite sheetIndex="23" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SHOES" color="equipment"/> + <subsprite sheetIndex="24" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS_LOW" color="equipment"/> + <subsprite sheetIndex="45" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS" color="equipment"/> + <subsprite sheetIndex="82" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_BRAIES" color="equipment"/> + <subsprite sheetIndex="83" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_PANTS" color="equipment"/> + <subsprite sheetIndex="84" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_LOINCLOTH" color="equipment"/> + <subsprite sheetIndex="65" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_GREAVES" color="equipment"/> + <subsprite sheetIndex="86" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_SHORT" color="equipment"/> + <subsprite sheetIndex="87" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT" color="equipment"/> + <subsprite sheetIndex="88" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_LONG" color="equipment"/> + <subsprite sheetIndex="120" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_SHIRT" color="equipment"/> + <subsprite sheetIndex="121" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_VEST" color="equipment"/> + <subsprite sheetIndex="122" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_DRESS" color="equipment"/> + <subsprite sheetIndex="123" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_MAIL_SHIRT" color="equipment"/> + <subsprite sheetIndex="160" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GLOVES" color="equipment"/> + <subsprite sheetIndex="161" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_MITTENS" color="equipment"/> + <subsprite sheetIndex="124" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TUNIC" color="equipment"/> + <subsprite sheetIndex="125" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TOGA" color="equipment"/> + <subsprite sheetIndex="126" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_LEATHER" color="equipment"/> + <subsprite sheetIndex="127" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_BREASTPLATE" color="equipment"/> + <subsprite sheetIndex="128" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> + <subsprite sheetIndex="129" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_COAT" color="equipment"/> + <subsprite sheetIndex="162" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GAUNTLETS" color="equipment"/> + <subsprite sheetIndex="130" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_ROBE" color="equipment"/> + <subsprite sheetIndex="131" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> + + <!--beard goes here - on top of clothes but below hats--> + <subsprite sheetIndex="3" zoom="2" color="bodypart" bodypart="hair" /> + + <!--subsprite sheetIndex="100" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_HEAD" color="equipment"/--> + <!--subsprite sheetIndex="101" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_FACE" color="equipment"/--> + <subsprite sheetIndex="182" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_SCARF_HEAD" color="equipment"/> + <subsprite sheetIndex="183" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_CAP" color="equipment"/> + <subsprite sheetIndex="184" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_MASK" color="equipment"/> + <!--subsprite sheetIndex="107" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_TURBAN" color="equipment"/--> + <subsprite sheetIndex="186" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_HOOD" color="equipment"/> + <subsprite sheetIndex="185" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_HELM" color="equipment"/> + + <subsprite sheetIndex="200" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_WHIP" color="equipment"/> + <subsprite sheetIndex="201" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_BATTLE" color="equipment"/> + <subsprite sheetIndex="202" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_HAMMER_WAR" color="equipment"/> + <subsprite sheetIndex="203" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_SHORT" color="equipment"/> + <subsprite sheetIndex="204" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SPEAR" color="equipment"/> + <subsprite sheetIndex="205" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MACE" color="equipment"/> + <subsprite sheetIndex="206" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_CROSSBOW" color="equipment"/> + <subsprite sheetIndex="207" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PICK" color="equipment"/> + <subsprite sheetIndex="208" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_BOW" color="equipment"/> + <subsprite sheetIndex="209" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_BLOWGUN" color="equipment"/> + <subsprite sheetIndex="204" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PIKE" color="equipment"/> + <subsprite sheetIndex="210" offsety="-16" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PIKE" color="equipment"/> + <subsprite sheetIndex="211" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_HALBERD" color="equipment"/> + <subsprite sheetIndex="220" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_2H" color="equipment"/> + <subsprite sheetIndex="221" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_LONG" color="equipment"/> + <subsprite sheetIndex="222" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MAUL" color="equipment"/> + <subsprite sheetIndex="223" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_GREAT" color="equipment"/> + <subsprite sheetIndex="224" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_DAGGER_LARGE" color="equipment"/> + <subsprite sheetIndex="225" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SCOURGE" color="equipment"/> + <subsprite sheetIndex="226" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_FLAIL" color="equipment"/> + <subsprite sheetIndex="227" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MORNINGSTAR" color="equipment"/> + <subsprite sheetIndex="228" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SCIMITAR" color="equipment"/> + <subsprite sheetIndex="229" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_TRAINING" color="equipment"/> + <subsprite sheetIndex="230" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_SHORT_TRAINING" color="equipment"/> + <subsprite sheetIndex="231" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SPEAR_TRAINING" color="equipment"/> + + <subsprite sheetIndex="163" zoom="2" equipment_class="SHIELD" equipment_name="ITEM_SHIELD_BUCKLER" color="equipment"/> + <subsprite sheetIndex="164" zoom="2" equipment_class="SHIELD" equipment_name="ITEM_SHIELD_SHIELD" color="equipment"/> + + <subsprite sheetIndex="4" zoom="2" /> + </variant> + + <variant special="Normal" prof="HUNTER" sex="F" file="dwarff.png" > + + <!--rear pieces for shadowing between legs--> + <subsprite sheetIndex="148" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> + <subsprite sheetIndex="151" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> + + <subsprite sheetIndex="2" zoom="2" color="bodypart" bodypart="skin" /> + + <!--all the body clothes--> + <subsprite sheetIndex="80" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_THONG" color="equipment"/> + <subsprite sheetIndex="81" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_LEGGINGS" color="equipment"/> + <subsprite sheetIndex="20" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SOCKS" color="equipment"/> + <subsprite sheetIndex="41" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_CHAUSSE" color="equipment"/> + <subsprite sheetIndex="22" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SANDAL" color="equipment"/> + <subsprite sheetIndex="23" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SHOES" color="equipment"/> + <subsprite sheetIndex="24" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS_LOW" color="equipment"/> + <subsprite sheetIndex="45" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS" color="equipment"/> + <subsprite sheetIndex="82" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_BRAIES" color="equipment"/> + <subsprite sheetIndex="83" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_PANTS" color="equipment"/> + <subsprite sheetIndex="84" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_LOINCLOTH" color="equipment"/> + <subsprite sheetIndex="65" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_GREAVES" color="equipment"/> + <subsprite sheetIndex="86" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_SHORT" color="equipment"/> + <subsprite sheetIndex="87" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT" color="equipment"/> + <subsprite sheetIndex="88" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_LONG" color="equipment"/> + <subsprite sheetIndex="120" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_SHIRT" color="equipment"/> + <subsprite sheetIndex="121" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_VEST" color="equipment"/> + <subsprite sheetIndex="122" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_DRESS" color="equipment"/> + <subsprite sheetIndex="123" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_MAIL_SHIRT" color="equipment"/> + <subsprite sheetIndex="160" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GLOVES" color="equipment"/> + <subsprite sheetIndex="161" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_MITTENS" color="equipment"/> + <subsprite sheetIndex="124" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TUNIC" color="equipment"/> + <subsprite sheetIndex="125" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TOGA" color="equipment"/> + <subsprite sheetIndex="126" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_LEATHER" color="equipment"/> + <subsprite sheetIndex="127" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_BREASTPLATE" color="equipment"/> + <subsprite sheetIndex="128" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> + <subsprite sheetIndex="129" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_COAT" color="equipment"/> + <subsprite sheetIndex="162" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GAUNTLETS" color="equipment"/> + <subsprite sheetIndex="130" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_ROBE" color="equipment"/> + <subsprite sheetIndex="131" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> + + <!--hair goes here - on top of clothes but below hats--> + <subsprite sheetIndex="3" zoom="2" color="bodypart" bodypart="hair" /> + + <!--subsprite sheetIndex="100" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_HEAD" color="equipment"/--> + <!--subsprite sheetIndex="101" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_FACE" color="equipment"/--> + <subsprite sheetIndex="182" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_SCARF_HEAD" color="equipment"/> + <subsprite sheetIndex="183" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_CAP" color="equipment"/> + <subsprite sheetIndex="184" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_MASK" color="equipment"/> + <!--subsprite sheetIndex="107" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_TURBAN" color="equipment"/--> + <subsprite sheetIndex="186" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_HOOD" color="equipment"/> + <subsprite sheetIndex="185" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_HELM" color="equipment"/> + + <subsprite sheetIndex="200" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_WHIP" color="equipment"/> + <subsprite sheetIndex="201" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_BATTLE" color="equipment"/> + <subsprite sheetIndex="202" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_HAMMER_WAR" color="equipment"/> + <subsprite sheetIndex="203" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_SHORT" color="equipment"/> + <subsprite sheetIndex="204" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SPEAR" color="equipment"/> + <subsprite sheetIndex="205" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MACE" color="equipment"/> + <subsprite sheetIndex="206" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_CROSSBOW" color="equipment"/> + <subsprite sheetIndex="207" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PICK" color="equipment"/> + <subsprite sheetIndex="208" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_BOW" color="equipment"/> + <subsprite sheetIndex="209" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_BLOWGUN" color="equipment"/> + <subsprite sheetIndex="204" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PIKE" color="equipment"/> + <subsprite sheetIndex="210" offsety="-16" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_PIKE" color="equipment"/> + <subsprite sheetIndex="211" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_HALBERD" color="equipment"/> + <subsprite sheetIndex="220" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_2H" color="equipment"/> + <subsprite sheetIndex="221" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_LONG" color="equipment"/> + <subsprite sheetIndex="222" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MAUL" color="equipment"/> + <subsprite sheetIndex="223" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_GREAT" color="equipment"/> + <subsprite sheetIndex="224" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_DAGGER_LARGE" color="equipment"/> + <subsprite sheetIndex="225" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SCOURGE" color="equipment"/> + <subsprite sheetIndex="226" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_FLAIL" color="equipment"/> + <subsprite sheetIndex="227" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_MORNINGSTAR" color="equipment"/> + <subsprite sheetIndex="228" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SCIMITAR" color="equipment"/> + <subsprite sheetIndex="229" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_AXE_TRAINING" color="equipment"/> + <subsprite sheetIndex="230" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SWORD_SHORT_TRAINING" color="equipment"/> + <subsprite sheetIndex="231" zoom="2" equipment_class="WEAPON" equipment_name="ITEM_WEAPON_SPEAR_TRAINING" color="equipment"/> + + <subsprite sheetIndex="163" zoom="2" equipment_class="SHIELD" equipment_name="ITEM_SHIELD_BUCKLER" color="equipment"/> + <subsprite sheetIndex="164" zoom="2" equipment_class="SHIELD" equipment_name="ITEM_SHIELD_SHIELD" color="equipment"/> + + <subsprite sheetIndex="4" zoom="2" /> + </variant> + + <variant special="Normal" sex="M" file="dwarfm.png" > + <!--rear pieces for shadowing between legs--> + <subsprite sheetIndex="148" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> + <subsprite sheetIndex="151" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> + + <subsprite sheetIndex="1" zoom="2" color="bodypart" bodypart="skin" /> + + <!--all the body clothes--> + <subsprite sheetIndex="60" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_THONG" color="equipment"/> + <subsprite sheetIndex="61" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_LEGGINGS" color="equipment"/> + <subsprite sheetIndex="20" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SOCKS" color="equipment"/> + <subsprite sheetIndex="21" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_CHAUSSE" color="equipment"/> + <subsprite sheetIndex="22" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SANDAL" color="equipment"/> + <subsprite sheetIndex="23" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SHOES" color="equipment"/> + <subsprite sheetIndex="24" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS_LOW" color="equipment"/> + <subsprite sheetIndex="25" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS" color="equipment"/> + <subsprite sheetIndex="62" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_BRAIES" color="equipment"/> + <subsprite sheetIndex="63" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_PANTS" color="equipment"/> + <subsprite sheetIndex="64" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_LOINCLOTH" color="equipment"/> + <subsprite sheetIndex="65" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_GREAVES" color="equipment"/> + <subsprite sheetIndex="66" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_SHORT" color="equipment"/> + <subsprite sheetIndex="67" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT" color="equipment"/> + <subsprite sheetIndex="68" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_LONG" color="equipment"/> + <subsprite sheetIndex="100" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_SHIRT" color="equipment"/> + <subsprite sheetIndex="101" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_VEST" color="equipment"/> + <subsprite sheetIndex="102" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_DRESS" color="equipment"/> + <subsprite sheetIndex="103" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_MAIL_SHIRT" color="equipment"/> + <subsprite sheetIndex="140" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GLOVES" color="equipment"/> + <subsprite sheetIndex="141" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_MITTENS" color="equipment"/> + <subsprite sheetIndex="104" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TUNIC" color="equipment"/> + <subsprite sheetIndex="105" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TOGA" color="equipment"/> + <subsprite sheetIndex="106" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_LEATHER" color="equipment"/> + <subsprite sheetIndex="107" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_BREASTPLATE" color="equipment"/> + <subsprite sheetIndex="108" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> + <subsprite sheetIndex="109" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_COAT" color="equipment"/> + <subsprite sheetIndex="142" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GAUNTLETS" color="equipment"/> + <subsprite sheetIndex="110" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_ROBE" color="equipment"/> + <subsprite sheetIndex="111" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> + + <!--beard goes here - on top of clothes but below hats--> + <subsprite sheetIndex="3" zoom="2" color="bodypart" bodypart="hair" /> + + <!--subsprite sheetIndex="100" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_HEAD" color="equipment"/--> + <!--subsprite sheetIndex="101" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_FACE" color="equipment"/--> + <subsprite sheetIndex="182" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_SCARF_HEAD" color="equipment"/> + <subsprite sheetIndex="183" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_CAP" color="equipment"/> + <subsprite sheetIndex="184" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_MASK" color="equipment"/> + <!--subsprite sheetIndex="107" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_TURBAN" color="equipment"/--> + <subsprite sheetIndex="186" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_HOOD" color="equipment"/> + <subsprite sheetIndex="185" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_HELM" color="equipment"/> + + <subsprite sheetIndex="4" zoom="2" /> + </variant> + + <variant special="Normal" sex="F" file="dwarff.png" > + <!--rear pieces for shadowing between legs--> + <subsprite sheetIndex="148" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> + <subsprite sheetIndex="151" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> + + <subsprite sheetIndex="1" zoom="2" color="bodypart" bodypart="skin" /> + + <!--all the body clothes--> + <subsprite sheetIndex="60" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_THONG" color="equipment"/> + <subsprite sheetIndex="61" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_LEGGINGS" color="equipment"/> + <subsprite sheetIndex="20" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SOCKS" color="equipment"/> + <subsprite sheetIndex="21" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_CHAUSSE" color="equipment"/> + <subsprite sheetIndex="22" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SANDAL" color="equipment"/> + <subsprite sheetIndex="23" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_SHOES" color="equipment"/> + <subsprite sheetIndex="24" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS_LOW" color="equipment"/> + <subsprite sheetIndex="25" zoom="2" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS" color="equipment"/> + <subsprite sheetIndex="62" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_BRAIES" color="equipment"/> + <subsprite sheetIndex="63" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_PANTS" color="equipment"/> + <subsprite sheetIndex="64" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_LOINCLOTH" color="equipment"/> + <subsprite sheetIndex="65" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_GREAVES" color="equipment"/> + <subsprite sheetIndex="66" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_SHORT" color="equipment"/> + <subsprite sheetIndex="67" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT" color="equipment"/> + <subsprite sheetIndex="68" zoom="2" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_LONG" color="equipment"/> + <subsprite sheetIndex="100" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_SHIRT" color="equipment"/> + <subsprite sheetIndex="101" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_VEST" color="equipment"/> + <subsprite sheetIndex="102" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_DRESS" color="equipment"/> + <subsprite sheetIndex="103" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_MAIL_SHIRT" color="equipment"/> + <subsprite sheetIndex="140" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GLOVES" color="equipment"/> + <subsprite sheetIndex="141" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_MITTENS" color="equipment"/> + <subsprite sheetIndex="104" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TUNIC" color="equipment"/> + <subsprite sheetIndex="105" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TOGA" color="equipment"/> + <subsprite sheetIndex="106" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_LEATHER" color="equipment"/> + <subsprite sheetIndex="107" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_BREASTPLATE" color="equipment"/> + <subsprite sheetIndex="108" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> + <subsprite sheetIndex="109" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_COAT" color="equipment"/> + <subsprite sheetIndex="142" zoom="2" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GAUNTLETS" color="equipment"/> + <subsprite sheetIndex="110" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_ROBE" color="equipment"/> + <subsprite sheetIndex="111" zoom="2" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> + + <!--hair goes here - on top of clothes but below hats--> + <subsprite sheetIndex="3" zoom="2" color="bodypart" bodypart="hair" /> + + <!--subsprite sheetIndex="100" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_HEAD" color="equipment"/--> + <!--subsprite sheetIndex="101" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_FACE" color="equipment"/--> + <subsprite sheetIndex="182" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_SCARF_HEAD" color="equipment"/> + <subsprite sheetIndex="183" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_CAP" color="equipment"/> + <subsprite sheetIndex="184" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_MASK" color="equipment"/> + <!--subsprite sheetIndex="107" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_TURBAN" color="equipment"/--> + <subsprite sheetIndex="186" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_HOOD" color="equipment"/> + <subsprite sheetIndex="185" zoom="2" equipment_class="HELM" equipment_name="ITEM_HELM_HELM" color="equipment"/> + + <subsprite sheetIndex="4" zoom="2" /> + </variant> + +</creature> +</creatures>
\ No newline at end of file diff --git a/resources/creatures/large_128/dwarff.png b/resources/creatures/large_128/dwarff.png Binary files differnew file mode 100644 index 0000000..e18fad1 --- /dev/null +++ b/resources/creatures/large_128/dwarff.png diff --git a/resources/creatures/large_128/dwarfm.png b/resources/creatures/large_128/dwarfm.png Binary files differnew file mode 100644 index 0000000..a1553ed --- /dev/null +++ b/resources/creatures/large_128/dwarfm.png diff --git a/resources/creatures/large_128/index.txt b/resources/creatures/large_128/index.txt new file mode 100644 index 0000000..d57f3e6 --- /dev/null +++ b/resources/creatures/large_128/index.txt @@ -0,0 +1,7 @@ +jabber.xml +crundle.xml + +wild.xml +domestic.xml + +dwarf.xml
\ No newline at end of file diff --git a/resources/creatures/large_128/jabber.png b/resources/creatures/large_128/jabber.png Binary files differnew file mode 100644 index 0000000..9e1ab9a --- /dev/null +++ b/resources/creatures/large_128/jabber.png diff --git a/resources/creatures/large_128/jabber.xml b/resources/creatures/large_128/jabber.xml new file mode 100644 index 0000000..1cc7cc6 --- /dev/null +++ b/resources/creatures/large_128/jabber.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" ?> +<creatures> + <creature gameID="JABBERER" file="jabber.png" > + + <variant special="Normal" prof="CHILD" sheetIndex="40" zoom="2" color="bodypart" bodypart="skin" > + <subsprite sheetIndex="42" zoom="2" color="xml" red="200" green="180" blue="50" /> + <subsprite sheetIndex="43" zoom="2" color="bodypart" bodypart="feathers" /> + <subsprite sheetIndex="44" zoom="2" /> + </variant> + + <variant special="Normal" sheetIndex="20" zoom="2" color="bodypart" bodypart="skin" > + <subsprite sheetIndex="0" zoom="2" color="bodypart" bodypart="skin" offsety="-32"/> + <subsprite sheetIndex="1" zoom="2" color="xml" red="240" green="120" blue="120" offsety="-32"/> + <subsprite sheetIndex="2" zoom="2" color="xml" red="250" green="200" blue="60" offsety="-32"/> + <subsprite sheetIndex="23" zoom="2" color="bodypart" bodypart="feathers" /> + <subsprite sheetIndex="3" zoom="2" color="bodypart" bodypart="feathers" offsety="-32"/> + <subsprite sheetIndex="24" zoom="2" /> + <subsprite sheetIndex="4" zoom="2" offsety="-32"/> + </variant> + + </creature> + +</creatures>
\ No newline at end of file diff --git a/resources/creatures/large_128/wild.png b/resources/creatures/large_128/wild.png Binary files differnew file mode 100644 index 0000000..2bc4cc1 --- /dev/null +++ b/resources/creatures/large_128/wild.png diff --git a/resources/creatures/large_128/wild.xml b/resources/creatures/large_128/wild.xml new file mode 100644 index 0000000..224204b --- /dev/null +++ b/resources/creatures/large_128/wild.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" ?> +<creatures> + + <creature gameID="GOAT_MOUNTAIN" file="wild.png" > + + <variant special="Normal" sheetIndex="0" zoom="2" color="bodypart" bodypart="hair" > + <subsprite sheetIndex="1" zoom="2" /> + </variant> + + </creature> + + + <creature gameID="GRAY_LANGUR" file="wild.png" > + + <variant special="Normal" sheetIndex="20" zoom="2" color="bodypart" bodypart="skin" > + <subsprite sheetIndex="21" zoom="2" color="bodypart" bodypart="hair" /> + <subsprite sheetIndex="22" zoom="2" /> + </variant> + + </creature> + +</creatures>
\ No newline at end of file diff --git a/resources/creatures/large_256/Thumbs.db b/resources/creatures/large_256/Thumbs.db Binary files differdeleted file mode 100644 index dce21fc..0000000 --- a/resources/creatures/large_256/Thumbs.db +++ /dev/null diff --git a/resources/creatures/large_256/crundle.png b/resources/creatures/large_256/crundle.png Binary files differdeleted file mode 100644 index 7c77939..0000000 --- a/resources/creatures/large_256/crundle.png +++ /dev/null diff --git a/resources/creatures/large_256/crundle.xml b/resources/creatures/large_256/crundle.xml deleted file mode 100644 index 7e67e0d..0000000 --- a/resources/creatures/large_256/crundle.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" ?> -<creatures> - <creature gameID="CRUNDLE" file="crundle.png" > - - <variant special="Normal" sex="F" sheetIndex="0" zoom="3" color="bodypart" bodypart="scales" > - <subsprite sheetIndex="1" zoom="3" /> - </variant> - - <variant special="Normal" sex="M" sheetIndex="0" zoom="3" color="bodypart" bodypart="scales" > - <subsprite sheetIndex="21" zoom="3" /> - </variant> - - </creature> - - <creature gameID="IMP_FIRE" file="crundle.png" > - - <variant special="Normal" sheetIndex="40" zoom="3" color="bodypart" bodypart="skin" > - <subsprite sheetIndex="41" zoom="3" /> - </variant> - - </creature> - -</creatures>
\ No newline at end of file diff --git a/resources/creatures/large_256/dwarf.xml b/resources/creatures/large_256/dwarf.xml deleted file mode 100644 index 5a97405..0000000 --- a/resources/creatures/large_256/dwarf.xml +++ /dev/null @@ -1,224 +0,0 @@ -<?xml version="1.0" ?> -<creatures> -<creature gameID="DWARF" > - - <variant special="Military" sex="M" file="dwarfm.png" > - - <!--rear pieces for shadowing between legs--> - <subsprite sheetIndex="148" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> - <subsprite sheetIndex="151" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> - - <subsprite sheetIndex="1" zoom="3" color="bodypart" bodypart="skin" /> - - <!--all the body clothes--> - <subsprite sheetIndex="80" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_THONG" color="equipment"/> - <subsprite sheetIndex="81" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_LEGGINGS" color="equipment"/> - <subsprite sheetIndex="20" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_SOCKS" color="equipment"/> - <subsprite sheetIndex="41" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_CHAUSSE" color="equipment"/> - <subsprite sheetIndex="22" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_SANDAL" color="equipment"/> - <subsprite sheetIndex="23" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_SHOES" color="equipment"/> - <subsprite sheetIndex="24" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS_LOW" color="equipment"/> - <subsprite sheetIndex="45" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS" color="equipment"/> - <subsprite sheetIndex="82" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_BRAIES" color="equipment"/> - <subsprite sheetIndex="83" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_PANTS" color="equipment"/> - <subsprite sheetIndex="84" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_LOINCLOTH" color="equipment"/> - <subsprite sheetIndex="65" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_GREAVES" color="equipment"/> - <subsprite sheetIndex="86" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_SHORT" color="equipment"/> - <subsprite sheetIndex="87" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT" color="equipment"/> - <subsprite sheetIndex="88" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_LONG" color="equipment"/> - <subsprite sheetIndex="120" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_SHIRT" color="equipment"/> - <subsprite sheetIndex="121" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_VEST" color="equipment"/> - <subsprite sheetIndex="122" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_DRESS" color="equipment"/> - <subsprite sheetIndex="123" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_MAIL_SHIRT" color="equipment"/> - <subsprite sheetIndex="160" zoom="3" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GLOVES" color="equipment"/> - <subsprite sheetIndex="161" zoom="3" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_MITTENS" color="equipment"/> - <subsprite sheetIndex="124" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TUNIC" color="equipment"/> - <subsprite sheetIndex="125" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TOGA" color="equipment"/> - <subsprite sheetIndex="126" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_LEATHER" color="equipment"/> - <subsprite sheetIndex="127" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_BREASTPLATE" color="equipment"/> - <subsprite sheetIndex="128" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> - <subsprite sheetIndex="129" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_COAT" color="equipment"/> - <subsprite sheetIndex="162" zoom="3" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GAUNTLETS" color="equipment"/> - <subsprite sheetIndex="130" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_ROBE" color="equipment"/> - <subsprite sheetIndex="131" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> - - <!--beard goes here - on top of clothes but below hats--> - <subsprite sheetIndex="2" zoom="3" color="bodypart" bodypart="hair" /> - - <!--subsprite sheetIndex="100" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_HEAD" color="equipment"/--> - <!--subsprite sheetIndex="101" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_FACE" color="equipment"/--> - <subsprite sheetIndex="182" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_SCARF_HEAD" color="equipment"/> - <subsprite sheetIndex="183" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_CAP" color="equipment"/> - <subsprite sheetIndex="184" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_MASK" color="equipment"/> - <!--subsprite sheetIndex="107" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_TURBAN" color="equipment"/--> - <subsprite sheetIndex="186" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_HOOD" color="equipment"/> - <subsprite sheetIndex="185" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_HELM" color="equipment"/> - - <subsprite sheetIndex="3" zoom="3" /> - </variant> - - <variant special="Military" sex="F" file="dwarff.png" > - - <!--rear pieces for shadowing between legs--> - <subsprite sheetIndex="148" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> - <subsprite sheetIndex="151" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> - - <subsprite sheetIndex="1" zoom="3" color="bodypart" bodypart="skin" /> - - <!--all the body clothes--> - <subsprite sheetIndex="80" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_THONG" color="equipment"/> - <subsprite sheetIndex="81" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_LEGGINGS" color="equipment"/> - <subsprite sheetIndex="20" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_SOCKS" color="equipment"/> - <subsprite sheetIndex="41" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_CHAUSSE" color="equipment"/> - <subsprite sheetIndex="22" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_SANDAL" color="equipment"/> - <subsprite sheetIndex="23" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_SHOES" color="equipment"/> - <subsprite sheetIndex="24" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS_LOW" color="equipment"/> - <subsprite sheetIndex="45" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS" color="equipment"/> - <subsprite sheetIndex="82" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_BRAIES" color="equipment"/> - <subsprite sheetIndex="83" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_PANTS" color="equipment"/> - <subsprite sheetIndex="84" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_LOINCLOTH" color="equipment"/> - <subsprite sheetIndex="65" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_GREAVES" color="equipment"/> - <subsprite sheetIndex="86" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_SHORT" color="equipment"/> - <subsprite sheetIndex="87" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT" color="equipment"/> - <subsprite sheetIndex="88" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_LONG" color="equipment"/> - <subsprite sheetIndex="120" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_SHIRT" color="equipment"/> - <subsprite sheetIndex="121" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_VEST" color="equipment"/> - <subsprite sheetIndex="122" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_DRESS" color="equipment"/> - <subsprite sheetIndex="123" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_MAIL_SHIRT" color="equipment"/> - <subsprite sheetIndex="160" zoom="3" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GLOVES" color="equipment"/> - <subsprite sheetIndex="161" zoom="3" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_MITTENS" color="equipment"/> - <subsprite sheetIndex="124" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TUNIC" color="equipment"/> - <subsprite sheetIndex="125" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TOGA" color="equipment"/> - <subsprite sheetIndex="126" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_LEATHER" color="equipment"/> - <subsprite sheetIndex="127" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_BREASTPLATE" color="equipment"/> - <subsprite sheetIndex="128" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> - <subsprite sheetIndex="129" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_COAT" color="equipment"/> - <subsprite sheetIndex="162" zoom="3" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GAUNTLETS" color="equipment"/> - <subsprite sheetIndex="130" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_ROBE" color="equipment"/> - <subsprite sheetIndex="131" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> - - <!--hair goes here - on top of clothes but below hats--> - <subsprite sheetIndex="2" zoom="3" color="bodypart" bodypart="hair" /> - - <!--subsprite sheetIndex="100" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_HEAD" color="equipment"/--> - <!--subsprite sheetIndex="101" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_FACE" color="equipment"/--> - <subsprite sheetIndex="182" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_SCARF_HEAD" color="equipment"/> - <subsprite sheetIndex="183" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_CAP" color="equipment"/> - <subsprite sheetIndex="184" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_MASK" color="equipment"/> - <!--subsprite sheetIndex="107" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_TURBAN" color="equipment"/--> - <subsprite sheetIndex="186" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_HOOD" color="equipment"/> - <subsprite sheetIndex="185" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_HELM" color="equipment"/> - - <subsprite sheetIndex="3" zoom="3" /> - </variant> - - <variant special="Normal" sex="M" file="dwarfm.png" > - <!--rear pieces for shadowing between legs--> - <subsprite sheetIndex="148" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> - <subsprite sheetIndex="151" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> - - <subsprite sheetIndex="0" zoom="3" color="bodypart" bodypart="skin" /> - - <!--all the body clothes--> - <subsprite sheetIndex="60" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_THONG" color="equipment"/> - <subsprite sheetIndex="61" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_LEGGINGS" color="equipment"/> - <subsprite sheetIndex="20" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_SOCKS" color="equipment"/> - <subsprite sheetIndex="21" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_CHAUSSE" color="equipment"/> - <subsprite sheetIndex="22" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_SANDAL" color="equipment"/> - <subsprite sheetIndex="23" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_SHOES" color="equipment"/> - <subsprite sheetIndex="24" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS_LOW" color="equipment"/> - <subsprite sheetIndex="25" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS" color="equipment"/> - <subsprite sheetIndex="62" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_BRAIES" color="equipment"/> - <subsprite sheetIndex="63" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_PANTS" color="equipment"/> - <subsprite sheetIndex="64" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_LOINCLOTH" color="equipment"/> - <subsprite sheetIndex="65" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_GREAVES" color="equipment"/> - <subsprite sheetIndex="66" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_SHORT" color="equipment"/> - <subsprite sheetIndex="67" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT" color="equipment"/> - <subsprite sheetIndex="68" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_LONG" color="equipment"/> - <subsprite sheetIndex="100" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_SHIRT" color="equipment"/> - <subsprite sheetIndex="101" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_VEST" color="equipment"/> - <subsprite sheetIndex="102" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_DRESS" color="equipment"/> - <subsprite sheetIndex="103" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_MAIL_SHIRT" color="equipment"/> - <subsprite sheetIndex="140" zoom="3" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GLOVES" color="equipment"/> - <subsprite sheetIndex="141" zoom="3" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_MITTENS" color="equipment"/> - <subsprite sheetIndex="104" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TUNIC" color="equipment"/> - <subsprite sheetIndex="105" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TOGA" color="equipment"/> - <subsprite sheetIndex="106" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_LEATHER" color="equipment"/> - <subsprite sheetIndex="107" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_BREASTPLATE" color="equipment"/> - <subsprite sheetIndex="108" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> - <subsprite sheetIndex="109" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_COAT" color="equipment"/> - <subsprite sheetIndex="142" zoom="3" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GAUNTLETS" color="equipment"/> - <subsprite sheetIndex="110" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_ROBE" color="equipment"/> - <subsprite sheetIndex="111" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> - - <!--beard goes here - on top of clothes but below hats--> - <subsprite sheetIndex="2" zoom="3" color="bodypart" bodypart="hair" /> - - <!--subsprite sheetIndex="100" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_HEAD" color="equipment"/--> - <!--subsprite sheetIndex="101" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_FACE" color="equipment"/--> - <subsprite sheetIndex="182" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_SCARF_HEAD" color="equipment"/> - <subsprite sheetIndex="183" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_CAP" color="equipment"/> - <subsprite sheetIndex="184" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_MASK" color="equipment"/> - <!--subsprite sheetIndex="107" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_TURBAN" color="equipment"/--> - <subsprite sheetIndex="186" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_HOOD" color="equipment"/> - <subsprite sheetIndex="185" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_HELM" color="equipment"/> - - <subsprite sheetIndex="3" zoom="3" /> - </variant> - - <variant special="Normal" sex="F" file="dwarff.png" > - <!--rear pieces for shadowing between legs--> - <subsprite sheetIndex="148" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> - <subsprite sheetIndex="151" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> - - <subsprite sheetIndex="0" zoom="3" color="bodypart" bodypart="skin" /> - - <!--all the body clothes--> - <subsprite sheetIndex="60" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_THONG" color="equipment"/> - <subsprite sheetIndex="61" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_LEGGINGS" color="equipment"/> - <subsprite sheetIndex="20" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_SOCKS" color="equipment"/> - <subsprite sheetIndex="21" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_CHAUSSE" color="equipment"/> - <subsprite sheetIndex="22" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_SANDAL" color="equipment"/> - <subsprite sheetIndex="23" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_SHOES" color="equipment"/> - <subsprite sheetIndex="24" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS_LOW" color="equipment"/> - <subsprite sheetIndex="25" zoom="3" equipment_class="SHOES" equipment_name="ITEM_SHOES_BOOTS" color="equipment"/> - <subsprite sheetIndex="62" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_BRAIES" color="equipment"/> - <subsprite sheetIndex="63" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_PANTS" color="equipment"/> - <subsprite sheetIndex="64" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_LOINCLOTH" color="equipment"/> - <subsprite sheetIndex="65" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_GREAVES" color="equipment"/> - <subsprite sheetIndex="66" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_SHORT" color="equipment"/> - <subsprite sheetIndex="67" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT" color="equipment"/> - <subsprite sheetIndex="68" zoom="3" equipment_class="PANTS" equipment_name="ITEM_PANTS_SKIRT_LONG" color="equipment"/> - <subsprite sheetIndex="100" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_SHIRT" color="equipment"/> - <subsprite sheetIndex="101" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_VEST" color="equipment"/> - <subsprite sheetIndex="102" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_DRESS" color="equipment"/> - <subsprite sheetIndex="103" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_MAIL_SHIRT" color="equipment"/> - <subsprite sheetIndex="140" zoom="3" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GLOVES" color="equipment"/> - <subsprite sheetIndex="141" zoom="3" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_MITTENS" color="equipment"/> - <subsprite sheetIndex="104" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TUNIC" color="equipment"/> - <subsprite sheetIndex="105" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_TOGA" color="equipment"/> - <subsprite sheetIndex="106" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_LEATHER" color="equipment"/> - <subsprite sheetIndex="107" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_BREASTPLATE" color="equipment"/> - <subsprite sheetIndex="108" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CAPE" color="equipment"/> - <subsprite sheetIndex="109" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_COAT" color="equipment"/> - <subsprite sheetIndex="142" zoom="3" equipment_class="GLOVES" equipment_name="ITEM_GLOVES_GAUNTLETS" color="equipment"/> - <subsprite sheetIndex="110" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_ROBE" color="equipment"/> - <subsprite sheetIndex="111" zoom="3" equipment_class="ARMOR" equipment_name="ITEM_ARMOR_CLOAK" color="equipment"/> - - <!--hair goes here - on top of clothes but below hats--> - <subsprite sheetIndex="2" zoom="3" color="bodypart" bodypart="hair" /> - - <!--subsprite sheetIndex="100" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_HEAD" color="equipment"/--> - <!--subsprite sheetIndex="101" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_VEIL_FACE" color="equipment"/--> - <subsprite sheetIndex="182" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_SCARF_HEAD" color="equipment"/> - <subsprite sheetIndex="183" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_CAP" color="equipment"/> - <subsprite sheetIndex="184" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_MASK" color="equipment"/> - <!--subsprite sheetIndex="107" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_TURBAN" color="equipment"/--> - <subsprite sheetIndex="186" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_HOOD" color="equipment"/> - <subsprite sheetIndex="185" zoom="3" equipment_class="HELM" equipment_name="ITEM_HELM_HELM" color="equipment"/> - - <subsprite sheetIndex="3" zoom="3" /> - </variant> - -</creature> -</creatures>
\ No newline at end of file diff --git a/resources/creatures/large_256/dwarff.png b/resources/creatures/large_256/dwarff.png Binary files differdeleted file mode 100644 index 1a856d9..0000000 --- a/resources/creatures/large_256/dwarff.png +++ /dev/null diff --git a/resources/creatures/large_256/dwarfm.png b/resources/creatures/large_256/dwarfm.png Binary files differdeleted file mode 100644 index 7fa586e..0000000 --- a/resources/creatures/large_256/dwarfm.png +++ /dev/null diff --git a/resources/creatures/large_256/goat.png b/resources/creatures/large_256/goat.png Binary files differdeleted file mode 100644 index 1b5023a..0000000 --- a/resources/creatures/large_256/goat.png +++ /dev/null diff --git a/resources/creatures/large_256/goat.xml b/resources/creatures/large_256/goat.xml deleted file mode 100644 index 7ab7659..0000000 --- a/resources/creatures/large_256/goat.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" ?> -<creatures> - - <creature gameID="GOAT_MOUNTAIN" file="goat.png" > - - <variant special="Normal" prof="CHILD" sheetIndex="40" zoom="3" color="bodypart" bodypart="hair" > - <subsprite sheetIndex="42" zoom="3" /> - </variant> - - <variant special="Normal" sheetIndex="60" zoom="3" color="bodypart" bodypart="hair" > - <subsprite sheetIndex="62" zoom="3" color="xml" red="160" green="140" blue="130" /> - <subsprite sheetIndex="63" zoom="3" /> - </variant> - - </creature> - - <creature gameID="GOAT" file="goat.png" > - - <variant special="Normal" prof="CHILD" sheetIndex="40" zoom="3" color="bodypart" bodypart="hair" > - <subsprite sheetIndex="42" zoom="3" /> - </variant> - - <variant special="Normal" sex="F" sheetIndex="0" zoom="3" color="bodypart" bodypart="hair" > - <subsprite sheetIndex="1" zoom="3" color="bodypart" bodypart="beard" /> - <subsprite sheetIndex="2" zoom="3" color="xml" red="160" green="140" blue="130" /> - <subsprite sheetIndex="3" zoom="3" /> - </variant> - - <variant special="Normal" sex="M" sheetIndex="20" zoom="3" color="bodypart" bodypart="hair" > - <subsprite sheetIndex="21" zoom="3" color="bodypart" bodypart="beard" /> - <subsprite sheetIndex="22" zoom="3" color="xml" red="160" green="140" blue="130" /> - <subsprite sheetIndex="3" zoom="3" /> - </variant> - - </creature> - -</creatures>
\ No newline at end of file diff --git a/resources/creatures/large_256/index.txt b/resources/creatures/large_256/index.txt deleted file mode 100644 index 02c787d..0000000 --- a/resources/creatures/large_256/index.txt +++ /dev/null @@ -1,8 +0,0 @@ -jabber.xml -crundle.xml - -waterbuf.xml -goat.xml -sheep.xml - -dwarf.xml
\ No newline at end of file diff --git a/resources/creatures/large_256/jabber.png b/resources/creatures/large_256/jabber.png Binary files differdeleted file mode 100644 index 1a8568f..0000000 --- a/resources/creatures/large_256/jabber.png +++ /dev/null diff --git a/resources/creatures/large_256/jabber.xml b/resources/creatures/large_256/jabber.xml deleted file mode 100644 index 25bea0d..0000000 --- a/resources/creatures/large_256/jabber.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" ?> -<creatures> - <creature gameID="JABBERER" file="jabber.png" > - - <variant special="Normal" prof="CHILD" sheetIndex="40" zoom="3" color="bodypart" bodypart="skin" > - <subsprite sheetIndex="42" zoom="3" color="xml" red="200" green="180" blue="50" /> - <subsprite sheetIndex="43" zoom="3" color="bodypart" bodypart="feathers" /> - <subsprite sheetIndex="44" zoom="3" /> - </variant> - - <variant special="Normal" sheetIndex="20" zoom="3" color="bodypart" bodypart="skin" > - <subsprite sheetIndex="0" zoom="3" color="bodypart" bodypart="skin" offsety="-32"/> - <subsprite sheetIndex="1" zoom="3" color="xml" red="240" green="120" blue="120" offsety="-32"/> - <subsprite sheetIndex="2" zoom="3" color="xml" red="250" green="200" blue="60" offsety="-32"/> - <subsprite sheetIndex="23" zoom="3" color="bodypart" bodypart="feathers" /> - <subsprite sheetIndex="3" zoom="3" color="bodypart" bodypart="feathers" offsety="-32"/> - <subsprite sheetIndex="24" zoom="3" /> - <subsprite sheetIndex="4" zoom="3" offsety="-32"/> - </variant> - - </creature> - -</creatures>
\ No newline at end of file diff --git a/resources/creatures/large_256/sheep.png b/resources/creatures/large_256/sheep.png Binary files differdeleted file mode 100644 index 37effe7..0000000 --- a/resources/creatures/large_256/sheep.png +++ /dev/null diff --git a/resources/creatures/large_256/sheep.xml b/resources/creatures/large_256/sheep.xml deleted file mode 100644 index 8eb13f6..0000000 --- a/resources/creatures/large_256/sheep.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" ?> -<creatures> - - <creature gameID="SHEEP" file="sheep.png" > - - <variant special="Normal" prof="CHILD" sheetIndex="40" zoom="3" color="bodypart" bodypart="skin" > - <subsprite sheetIndex="41" zoom="3" color="bodypart" bodypart="wool" /> - <subsprite sheetIndex="42" zoom="3" /> - <subsprite sheetIndex="43" zoom="3" color="xml" red="255" green="126" blue="0" /> - </variant> - - <variant special="Normal" sex="F" sheetIndex="0" zoom="3" color="bodypart" bodypart="skin" > - <subsprite sheetIndex="1" zoom="3" color="bodypart" bodypart="wool" /> - <subsprite sheetIndex="2" zoom="3" /> - <subsprite sheetIndex="3" zoom="3" color="xml" red="255" green="126" blue="0" /> - </variant> - - <variant special="Normal" sex="M" sheetIndex="0" zoom="3" color="bodypart" bodypart="skin" > - <subsprite sheetIndex="1" zoom="3" color="bodypart" bodypart="wool" /> - <subsprite sheetIndex="22" zoom="3" color="xml" red="160" green="140" blue="130" /> - <subsprite sheetIndex="3" zoom="3" color="xml" red="255" green="126" blue="0" /> - </variant> - - </creature> - -</creatures>
\ No newline at end of file diff --git a/resources/creatures/large_256/waterbuf.png b/resources/creatures/large_256/waterbuf.png Binary files differdeleted file mode 100644 index bcbdff0..0000000 --- a/resources/creatures/large_256/waterbuf.png +++ /dev/null diff --git a/resources/creatures/large_256/waterbuf.xml b/resources/creatures/large_256/waterbuf.xml deleted file mode 100644 index ed66d31..0000000 --- a/resources/creatures/large_256/waterbuf.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" ?> -<creatures> - <creature gameID="WATER_BUFFALO" file="waterbuf.png" > - - <variant special="Normal" prof="CHILD" sheetIndex="40" zoom="3" color="bodypart" bodypart="skin" > - <subsprite sheetIndex="41" zoom="3" color="bodypart" bodypart="hair" /> - <subsprite sheetIndex="42" zoom="3" /> - <subsprite sheetIndex="43" zoom="3" color="xml" red="180" green="160" blue="150" /> - </variant> - - <variant special="Normal" sex="F" sheetIndex="0" zoom="3" color="bodypart" bodypart="skin" > - <subsprite sheetIndex="1" zoom="3" color="bodypart" bodypart="hair" /> - <subsprite sheetIndex="2" zoom="3" /> - <subsprite sheetIndex="3" zoom="3" color="xml" red="180" green="160" blue="150" /> - </variant> - - <variant special="Normal" sex="M" sheetIndex="0" zoom="3" color="bodypart" bodypart="skin" > - <subsprite sheetIndex="1" zoom="3" color="bodypart" bodypart="hair" /> - <subsprite sheetIndex="2" zoom="3" /> - <subsprite sheetIndex="23" zoom="3" color="xml" red="180" green="160" blue="150" /> - </variant> - - </creature> - -</creatures>
\ No newline at end of file diff --git a/resources/objects.png b/resources/objects.png Binary files differindex 3c812bc..7557899 100644 --- a/resources/objects.png +++ b/resources/objects.png diff --git a/resources/terrain/Floors.xml b/resources/terrain/Floors.xml index 04ae837..ed977a3 100644 --- a/resources/terrain/Floors.xml +++ b/resources/terrain/Floors.xml @@ -2,10 +2,10 @@ <floors file="floors.png">
<!-- watery -->
<floor sheetIndex="4" color = "material">
- <!-- add some mud on top-->
- <subsprite sheetIndex="18"/>
<!-- pool -->
<terrain value="2" />
+ <!-- below pool ramp -->
+ <terrain value="3" />
<!-- waterfall -->
<terrain value="89" />
<!-- river src -->
@@ -19,6 +19,15 @@ <terrain value="370" />
<terrain value="371" />
<terrain value="372" />
+ <!-- below river ramp -->
+ <terrain value="469" />
+ <terrain value="470" />
+ <terrain value="471" />
+ <terrain value="472" />
+ <terrain value="473" />
+ <terrain value="474" />
+ <terrain value="475" />
+ <terrain value="476" />
<!-- stream -->
<terrain value="373" />
<terrain value="374" />
diff --git a/resources/terrain/Walls.xml b/resources/terrain/Walls.xml index f3cac3d..c8a53a2 100644 --- a/resources/terrain/Walls.xml +++ b/resources/terrain/Walls.xml @@ -30,9 +30,20 @@ <terrain value="234" />
<subsprite sheetIndex="9" file="ramps.png" />
</block>
- <block sheetIndex="8" file="ramps.png" color = "material">
+ <block sheetIndex="8" file="ramps.png" color = "material">
<!-- soil -->
<terrain value="241" />
+ <!-- murky pool -->
+ <terrain value="3" />
+ <!-- river -->
+ <terrain value="469" />
+ <terrain value="470" />
+ <terrain value="471" />
+ <terrain value="472" />
+ <terrain value="473" />
+ <terrain value="474" />
+ <terrain value="475" />
+ <terrain value="476" />
</block>
<!-- stone -->
|
