summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2005-02-21 14:41:13 +0000
committerBjørn Lindeijer <bjorn@lindeijer.nl>2005-02-21 14:41:13 +0000
commitf498ede13039e938c2411b0bed6868d1f53e73ff (patch)
treeec5c3531d2207ac5c95d5c90e461fd9103636d23
parente9a6d4270d37d455ab4ea88fb59351ed9c5ca430 (diff)
downloadmana-client-f498ede13039e938c2411b0bed6868d1f53e73ff.tar.gz
mana-client-f498ede13039e938c2411b0bed6868d1f53e73ff.tar.bz2
mana-client-f498ede13039e938c2411b0bed6868d1f53e73ff.tar.xz
mana-client-f498ede13039e938c2411b0bed6868d1f53e73ff.zip
Don't allow character names shorter than 4 (they fail) and handle character
creation and deletion errors properly (character selection errors were handled instead).
-rw-r--r--data/Makefile.am28
-rw-r--r--docs/Makefile.am7
-rw-r--r--src/gui/char_select.cpp33
3 files changed, 30 insertions, 38 deletions
diff --git a/data/Makefile.am b/data/Makefile.am
index 0b2f6f9e..ea129975 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1,25 +1,25 @@
EXTRA_DIST = map/new_3-1.gat \
- core/graphics/gui/mouse.png \
- core/graphics/gui/radioout.png \
- core/graphics/gui/radioin.png \
- core/graphics/gui/dialog_middle.png \
- core/graphics/gui/fixedfont.png \
- core/graphics/gui/buttonpress.png \
- core/graphics/gui/slider.png \
+ core/graphics/gui/bg_quad_dis.png \
core/graphics/gui/button.png \
+ core/graphics/gui/button_disabled.png \
core/graphics/gui/buttonhi.png \
- core/graphics/gui/dialog_left.png \
- core/graphics/gui/vscroll.png \
+ core/graphics/gui/buttonpress.png \
core/graphics/gui/checkbox.png \
- core/graphics/gui/dialog_right.png \
+ core/graphics/gui/fixedfont.png \
+ core/graphics/gui/mouse.png \
+ core/graphics/gui/radioin.png \
+ core/graphics/gui/radioout.png \
+ core/graphics/gui/slider.png \
core/graphics/gui/textbox.png \
- core/graphics/gui/button_disabled.png \
+ core/graphics/gui/vscroll_blue.png \
+ core/graphics/gui/vscroll_grey.png \
+ core/graphics/gui/vscroll_red.png \
core/graphics/tiles/desert.png \
- core/graphics/sprites/npcs.png \
- core/graphics/sprites/monsters.png \
- core/graphics/sprites/player_male_base.png \
core/graphics/sprites/emotions.png \
core/graphics/sprites/items.png \
+ core/graphics/sprites/monsters.png \
+ core/graphics/sprites/npcs.png \
+ core/graphics/sprites/player_male_base.png \
core/graphics/sprites/player_male_hair.png \
core/graphics/images/login_wallpaper.png \
sound/wavs/level.ogg
diff --git a/docs/Makefile.am b/docs/Makefile.am
index 0b818af5..9969de03 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -1,13 +1,14 @@
EXTRA_DIST = packages.txt \
FAQ.txt \
+ HACKING.txt \
SOURCE/tmwdox.sh \
SOURCE/tmw.doxcfg \
- HACKING.txt \
items.txt \
- server.txt \
progression.txt \
+ server.txt \
INSTALL/debian.txt \
INSTALL/win32.txt \
INSTALL/linux.txt \
meetings/dev-20050204.txt \
- meetings/dev-20050211.txt
+ meetings/dev-20050211.txt \
+ meetings/dev-20050218.txt
diff --git a/src/gui/char_select.cpp b/src/gui/char_select.cpp
index ba18a93d..fa8d6f9e 100644
--- a/src/gui/char_select.cpp
+++ b/src/gui/char_select.cpp
@@ -184,15 +184,8 @@ void CharSelectDialog::serverCharDelete() {
setPlayerInfo(NULL);
new OkDialog(this, "Info", "Player deleted");
}
- else if (RFIFOW(0) == 0x006c) {
- switch (RFIFOB(2)) {
- case 0:
- new OkDialog(this, "Error", "Access denied");
- break;
- case 1:
- new OkDialog(this, "Error", "Cannot use this ID");
- break;
- }
+ else if (RFIFOW(0) == 0x0070) {
+ new OkDialog(this, "Error", "Failed to delete character.");
RFIFOSKIP(3);
}
else {
@@ -331,9 +324,14 @@ CharCreateDialog::~CharCreateDialog()
void CharCreateDialog::action(const std::string& eventId)
{
if (eventId == "create") {
- // Attempt to create the character and schedule this dialog for
- // deletion.
- serverCharCreate();
+ if (getName().length() >= 4) {
+ // Attempt to create the character
+ serverCharCreate();
+ }
+ else {
+ new OkDialog(this, "Error",
+ "Your name needs to be at least 4 characters.");
+ }
}
else if (eventId == "cancel") {
windowContainer->scheduleDelete(this);
@@ -403,15 +401,8 @@ void CharCreateDialog::serverCharCreate()
char_info->weapon = RFIFOW(2 + 56);
RFIFOSKIP(108);
//n_character++;
- } else if (RFIFOW(0) == 0x006c) {
- switch (RFIFOB(2)) {
- case 0:
- new OkDialog(this, "Error", "Access denied");
- break;
- case 1:
- new OkDialog(this, "Error", "Cannot use this ID");
- break;
- }
+ } else if (RFIFOW(0) == 0x006e) {
+ new OkDialog(this, "Error", "Failed to create character");
RFIFOSKIP(3);
n_character = 0;
} else {