diff options
author | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2005-02-21 14:41:13 +0000 |
---|---|---|
committer | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2005-02-21 14:41:13 +0000 |
commit | f498ede13039e938c2411b0bed6868d1f53e73ff (patch) | |
tree | ec5c3531d2207ac5c95d5c90e461fd9103636d23 | |
parent | e9a6d4270d37d455ab4ea88fb59351ed9c5ca430 (diff) | |
download | mana-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.am | 28 | ||||
-rw-r--r-- | docs/Makefile.am | 7 | ||||
-rw-r--r-- | src/gui/char_select.cpp | 33 |
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 { |