summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugenio Favalli <elvenprogrammer@gmail.com>2005-04-19 12:27:11 +0000
committerEugenio Favalli <elvenprogrammer@gmail.com>2005-04-19 12:27:11 +0000
commit4f92acafbe35fb0ad9d5d0e03b3cbbf7967a7019 (patch)
tree9e0a31b30f08b5d54444c74527f5ce1a3bdfb5d6
parent7a92c4c076cefc2463347190f50b9bddf8d4ef6b (diff)
downloadmana-client-4f92acafbe35fb0ad9d5d0e03b3cbbf7967a7019.tar.gz
mana-client-4f92acafbe35fb0ad9d5d0e03b3cbbf7967a7019.tar.bz2
mana-client-4f92acafbe35fb0ad9d5d0e03b3cbbf7967a7019.tar.xz
mana-client-4f92acafbe35fb0ad9d5d0e03b3cbbf7967a7019.zip
Improving hair management
-rw-r--r--src/being.cpp24
-rw-r--r--src/being.h13
-rw-r--r--src/engine.cpp10
3 files changed, 38 insertions, 9 deletions
diff --git a/src/being.cpp b/src/being.cpp
index 70259cf3..1b2e595c 100644
--- a/src/being.cpp
+++ b/src/being.cpp
@@ -146,7 +146,7 @@ Being::Being():
speed(150),
emotion(0), emotion_time(0),
text_x(0), text_y(0),
- hair_style(1), hair_color(1),
+ hairStyle(1), hairColor(1),
weapon(0),
speech_time(0),
damage_time(0),
@@ -173,12 +173,30 @@ void Being::setPath(std::list<PATH_NODE> path)
void Being::setHairColor(int color)
{
- hair_color = color;
+ hairColor = color;
+ if (hairColor < 1 || hairColor > 11)
+ {
+ hairColor = 1;
+ }
}
void Being::setHairStyle(int style)
{
- hair_style = style;
+ hairStyle = style;
+ if (hairStyle < 1 || hairStyle > 2)
+ {
+ hairStyle = 1;
+ }
+}
+
+unsigned short Being::getHairColor()
+{
+ return hairColor;
+}
+
+unsigned short Being::getHairStyle()
+{
+ return hairStyle;
}
void Being::setSpeech(const std::string &text, int time)
diff --git a/src/being.h b/src/being.h
index 173b1d3c..9e65793d 100644
--- a/src/being.h
+++ b/src/being.h
@@ -42,6 +42,7 @@ class Being {
std::list<PATH_NODE> path;
std::string speech;
std::string damage;
+ unsigned short hairStyle, hairColor;
public:
unsigned int id;
@@ -58,7 +59,7 @@ class Being {
unsigned char emotion;
unsigned char emotion_time;
unsigned int text_x, text_y; // temp solution to fix speech position
- unsigned short hair_style, hair_color;
+
unsigned short weapon;
char name[24];
unsigned int speech_time;
@@ -120,6 +121,16 @@ class Being {
* Sets the hair style for this being.
*/
void setHairStyle(int style);
+
+ /**
+ * Gets the hair color for this being.
+ */
+ unsigned short getHairColor();
+
+ /**
+ * Gets the hair style for this being.
+ */
+ unsigned short getHairStyle();
/**
* Makes this being take the next step of his path.
diff --git a/src/engine.cpp b/src/engine.cpp
index 417bbb92..d1feacf2 100644
--- a/src/engine.cpp
+++ b/src/engine.cpp
@@ -394,9 +394,9 @@ void Engine::draw()
being->text_x - 64, being->text_y - 80);
}
- if (being->hair_color <= 10) {
- int hf = being->hair_color - 1 + 10 * (dir + 4 *
- (being->hair_style - 1));
+ if (being->getHairColor() <= 10) {
+ int hf = being->getHairColor() - 1 + 10 * (dir + 4 *
+ (being->getHairStyle() - 1));
hairset->spriteset[hf]->draw(screen,
being->text_x - 2 + 2 * hairtable[pf][dir][0],
@@ -433,7 +433,7 @@ void Engine::draw()
being->text_x + 30, being->text_y + 40);
}
else {
- monsterset[being->job - 1002]->spriteset[dir + 4 * mf]->draw(
+ monsterset[being->job-1002]->spriteset[dir + 4 * mf]->draw(
screen, being->text_x + 30, being->text_y + 40);
}
@@ -446,7 +446,7 @@ void Engine::draw()
}
}
}
-
+
beingIterator++;
// nodes are ordered so if the next being y is > then the