2005-10-09 Yohann Ferreira * ChangeLog, src/gui/browserbox.cpp, src/gui/ministatus.cpp, src/gui/debugwindow.h, src/gui/debugwindow.cpp, src/game.cpp, src/engine.cpp, src/Makefile.am: Corrected the white browser font bug and the black hp/mp bug which were linked. Added a debug window 2005-10-09 Bjørn Lindeijer * src/being.cpp, src/being.h, src/engine.cpp, src/engine.h, src/floor_item.cpp, src/floor_item.h, src/map.cpp, src/map.h, src/sprite.h: Made Sprite into an interface implemented by both FloorItem and Being, which hook themselves into the map on construction. The improved fringe layer is working as expected now. * src/equipment.cpp, src/equipment.h, src/game.cpp, src/game.h, src/graphics.cpp, src/guichanfwd.h, src/inventory.h, src/openglgraphics.cpp, src/sound.cpp, src/gui/chargedialog.cpp, src/gui/chargedialog.h, src/gui/chat.cpp, src/gui/chat.h, src/gui/equipmentwindow.cpp, src/gui/equipmentwindow.h, src/gui/gui.cpp, src/gui/help.cpp, src/gui/inventorywindow.cpp, src/gui/item_amount.cpp, src/gui/itemcontainer.cpp, src/gui/itemcontainer.h, src/gui/linkhandler.h, src/gui/login.cpp, src/gui/menuwindow.cpp, src/gui/newskill.cpp, src/gui/npc_text.cpp, src/gui/popupmenu.cpp, src/gui/popupmenu.h, src/gui/progressbar.cpp, src/gui/progressbar.h, src/gui/scrollarea.cpp, src/gui/scrollarea.h, src/gui/skill.cpp, src/gui/status.cpp, src/gui/trade.h, src/gui/window.cpp, src/gui/window.h, src/net/messagein.cpp, src/net/packet.cpp, src/net/packet.h, src/resources/image.cpp, src/resources/image.h, src/resources/iteminfo.cpp, src/resources/iteminfo.h, src/resources/music.cpp, src/resources/music.h, src/resources/soundeffect.cpp, src/resources/soundeffect.h: Made sure TMW compiles without warnings even when using "-Wconversion -Wshadow -Wcast-qual -Wwrite-strings -ansi -pedantic", lots of cleanups. * src/data/maps/new_3-1.tmx.gz, src/graphics/tiles/desert_x2.png, src/graphics/tiled/desert_x3.png: Added two new small tilesets that contain the desert tiles that are twice and three times the height of a normal tile. One well in new_3-1 has been converted to use the new double tiles for testing purposes. * src/being.cpp, src/game.cpp, src/engine.cpp: Fixed map switch crashing the client, display of [TARGET], Alt keys for toggling windows and names to overlap other players. 2005-10-06 Bjørn Lindeijer * src/being.cpp: Modified finding NPC as by timonator's suggestion in order to allow NPCs to be clicked on their heads too. * src/engine.cpp, src/engine.h, src/floor_item.cpp, src/floor_item.h, src/game.cpp, src/map.cpp, src/sprite.h: Added a Sprite class that represents something on the map. The map will make sure to draw the sprites top to bottom, at the same time as the fringe layer tiles. This is currently still only used by the floor items. * src/item.cpp, src/item.h: Changed formatting and added documentation. * src/properies.h: Separated properties class from Map class, in order to simplify Map class and to allow properties to be used by other classes. 2005-10-06 Björn Steinbrink * src/being.cpp, src/being.h, src/game.cpp: Use integer types from SDL and along the way fixed some long vs. int issues. * src/inventory.cpp: Return NULL when no valid item index is given to getItem() to bail out early. 2005-10-05 Bjørn Lindeijer * src/engine.cpp, src/main.cpp, src/gui/char_select.cpp, src/gui/skill.cpp, src/net/messagein.cpp: Fixed some resource cleanup and memory leaks. * src/resources/resource.h, src/resources/resourcemanager.cpp: Changed the way dangling references to resources are reported to be more informative. 2005-10-04 Yohann Ferreira * src/game.cpp, src/gui/menuwindow.cpp, src/gui/inventorywindow.cpp, src/gui/equipmentwindow.cpp: Move to top the requested window with shortcuts or with menu button, also corrected the default position of equipment and inventory windows. * src/gui/chat.cpp: Fixed the Chat Window scrolling bug. * src/gui/status.cpp, src/gui/ministatus.cpp: Changed the font used in mini-status. Dynamised previously statically placed widgets in status win to avoid some label over-drawings. * src/gui/setup.cpp: Enable the OpenGL Checkbox only if tmw has been compiled with its support. 2005-10-02 Bjørn Lindeijer * configure.ac, src/Makefile.am: Added check for pthread library and removed manual -lpthread and -lguichan linker flags. * src/map.cpp: A small start on supporting other tile height than the default (map) tile height. * src/gui/window.cpp, src/gui/window.h, src/resources/buddylist.cpp, src/resources/buddylist.h: Some cleanups (void argument list was something you had to do in C times, not necessary in C++). 2005-09-30 Yohann Ferreira * src/gui/inventorywindow.cpp, src/gui/inventorywindow.h, src/gui/window.h src/gui/window.cpp src/gui/setup.cpp: Made the inventory Win behave normally when resized by default size functions. 2005-09-29 Yohann Ferreira * src/game.cpp, src/gui/window.h, src/gui/window.cpp, src/gui/setup.h, src/gui/setup.cpp, src/gui/chat.cpp, src/gui/inventorywindow.h, src/gui/inventorywindow.cpp, src/gui/skill.cpp, src/gui/equipmentwindow.cpp, src/gui/menuwindow.cpp, src/gui/ministatus.cpp, src/gui/minimap.cpp, src/gui/status.cpp: Improved a lot windows reset to default size and pos. Also corrected a few the default win position. And moved the setposition from game to each win, to clarify the code. 2005-09-29 Bjørn Lindeijer * src/map.cpp, src/map.h, src/tileset.h, src/resources/mapreader.cpp, src/resources/mapreader.h: Moved tileset management into the map class and made sure the tilesets are cleaned up properly on switching maps. 2005-09-28 Yohann Ferreira * src/gui/updaterwindow.cpp: Fixed the scroll bug in the update window. * src/gui/ministatus.h, src/gui/ministatus.cpp: Added HP, MP Display in mini-status window. * src/gui/window.h, src/gui/window.cpp, src/gui/skill.cpp, src/gui/status.cpp, src/gui/equipmentwindow.cpp, src/gui/help.cpp, src/gui/inventorywindow.cpp, src/gui/minimap.cpp, src/gui/chat.cpp: Added window internal name to later get X, Y, height and width be saved. * src/gui/window.h, src/gui/window.cpp, src/game.cpp: Load and save X, Y, Width and Height of windows when useful. * src/gui/setup.cpp, src/gui/setup.h; src/gui/minimap.h: Added a 'Reset Windows to Default' Button in the Setup Window. 2005-09-28 Björn Steinbrink * src/gui/browserbox.cpp: Fix deletion of the gui font because of a missing check. * src/Makefile.am: Added -Werror to the CXXFLAGS to catch warnings easier. * src/gui/error.h: Removed unnecessary ambigous inheritance. 2005-09-26 Yohann Ferreira * src/gui/char_select.cpp, debian/control, debian/rules, debian/tmw.install, debian/changelog: Updated Debian files and fixed a typo let by Elven. 2005-09-26 Eugenio Favalli * The Mana World.dev, src/Makefile.am, src/game.cpp, src/gui/char_select.cpp, src/gui/char_server.cpp, src/gui/error.cpp, src/gui/error.h, src/gui/gui.cpp, src/gui/login.cpp, src/gui/updatewindow.cpp, src/main.cpp, src/main.h, src/net/network.cpp: Added a nicer handling of when you get disconnected from the server. * src/gui/char_select.cpp, src/gui/skill.cpp, src/main.cpp, src/main.h, src/net/network.cpp: Now error message is displayed properly when the map server is offline. 2005-09-25 Bjørn Lindeijer * src/openglgraphics.cpp: Fixed taking OpenGL screenshots and in addition made it flip the image using just a line buffer instead of a buffer for the complete image. Still needs testing on MacOS X. 2005-09-24 Bjørn Lindeijer * src/being.cpp, src/engine.cpp, src/game.cpp, src/main.cpp, src/map.cpp, src/sound.cpp, src/gui/char_select.cpp, src/gui/char_select.h, src/gui/char_server.cpp, src/gui/char_server.h, src/gui/chargedialog.cpp, src/gui/chargedialog.h, src/gui/chat.cpp, src/gui/equipmentwindow.cpp, src/gui/login.h, src/gui/setup.cpp, src/gui/setup.h, src/gui/status.cpp, src/gui/updatewindow.cpp, src/gui/updatewindow.h, src/resources/iteminfo.cpp, src/resources/iteminfo.h, src/resources/itemmanager.cpp, src/resources/itemmanager.h: Merged most of the changes in biggeruniverse's second memory cleanup patch. 2005-09-23 Duane Bailey * src/openglgraphics.cpp: Totally redid the OpenGL screenshot method. Needs to be tested on lil endian systems. Also made it smoother on OpenGL MacOSX. 2005-09-23 Eugenio Favalli * src/resources/imagewriter.cpp: Reverted the last change that broke the screenshots facility. 2005-19-22 Duane Bailey * src/net/win2mac.h, src/net/win2mac.cpp: Removed * src/net/network.h, src/net/messagein.h, src/net/messageout.h: Removed references to win2mac.h * src/net/messagein.cpp, src/net/messageout.cpp, src/net/network.cpp: Changed byte swapping support to SDL_endian 2005-09-21 Andrej Sinicyn * src/gui/chat.cpp: Show time of the messages in the chat window. * The Mana World.dev: Removed reference to src/gui/stats.* since they are in the attic now. 2005-09-20 Bjørn Lindeijer * src/game.cpp, src/gui/ok_dialog.cpp, src/gui/ok_dialog.h, src/gui/window.cpp: Enter is used to dismiss dialogs currently, removed the hacks for use in combination with non-modal dialogs that made the game crash. * src/openglgraphics.cpp: Changed glColor4f to glColor4ub. 2005-09-19 Bjørn Lindeijer * configure.ac: Replaced custom function FIND_PATH with AC_PATH_PROG, used for finding sdl-config. * src/Makefile.am: Removed -lphysfs which should be added automatically already. * src/engine.cpp, src/game.h, src/game.cpp, src/openglgraphics.h, src/gui/popupmenu.cpp, src/net/messagein.cpp, src/net/messageout.cpp, src/net/win2mac.h, src/net/win2mac.cpp: Some cleanups. * src/game.cpp: Actually show the overweight message, and only show it once for each time weight goes above half the max weight (apparently this code wasn't even tested once). * src/graphics.cpp: Surfaces passed to SDL_BlitSurface shouldn't be locked according to the manual. * src/main.cpp: Minimal fps limit is now 10 fps. * src/gui/updatewindow.cpp: Reverted change by Bertram that hardcoded the updatehost value. 2005-09-19 Eugenio Favalli * src/game.cpp, src/gui/trade.cpp, src/gui/updatewindow.cpp, src/inventory.cpp: Removed useless flush() calls. * src/being.cpp, src/game.cpp, src/gui/buy.cpp, src/gui/buysell.cpp, src/gui/char_select.cpp, src/gui/char_server.cpp, src/gui/chat.cpp, src/gui/login.cpp, src/gui/npc.cpp, src/gui, npc_text.cpp, src/gui/popipmenu.cpp, src/gui/requesttrade.cpp, src/gui/sell.cpp, src/gui/skill.cpp, src/gui/status.cpp, src/gui/trade.cpp, src/inventory.cpp, src/net/messageout.cpp, src/net/network.cpp, src/net/network.h, src/net/protocol.cpp: Got rid of writeSet() calls. * data/graphics/sprites/monster2.png: Fixed some non very bright pixels. 2005-09-18 Eugenio Favalli * The Mana World.dev, src/gui/npc.cpp: Updated dev-cpp project file to last changes, and fixed the bug with npc lists I introduced earlier. * data/items.xml: Updated the defense value of fancy hat as pointed out by xand. * src/game.cpp, src/gui/gui.cpp, src/gui/updatewindow.cpp, src/main.cpp, src/resources/mapreader.cpp: Applied biggeruniverse's patch to fix memory leaks. * src/game.cpp, src/main.cpp: Increased joypad tolerance which is safer and simplifyed joypad state reset code. 2005-09-18 Duane Bailey * game.cpp: Added weight notice; now notifies person when they are carrying more then half their weight 2005-09-18 Yohann Ferreira * src/game.cpp, src/graphics.cpp, src/graphics.h, src/resources/imagewriter.cpp, src/resources/imagewriter.h: Made the saveScreenShot makes its screenshots under user home dir in *nices, made it more C++ way to avoid a leak, and made it check for existence of a file with same name before writing; In that case the screenshot's number is incremented until it finds an adequate name. * src/gui/updatewindow.cpp: Corrected a bug in the determination of the update host I had. * src/gui/updatewindow.cpp, src/playerinfo.h, debian/control, debian/changelog: Corrected a range value bug for derived stats. Fixed the percentage of the update win, updated debian information. * src/gui/status.cpp: As m[a]tt noticed, made the status win a little more wide, and resizable. 2005-09-18 Björn Steinbrink * src/game.cpp, src/graphics.cpp, src/graphics.h: Move the writing logic out of the Graphics class once again... Some cleanups in the screenshot filename selection code. * src/resources/imagewriter.cpp: Small cleanups. * src/Makefile.am, src/game.cpp, src/graphics.cpp, src/graphics.h, src/openglgraphics.cpp, src/openglgraphics.h: Changed saveScreenshot function in Graphics to getScreenshot. We now use the ImageWriter to save that screenshot. * src/resources/imagewriter.cpp, src/resources/imagewriter.h: Added ImageWriter class that provides a function to save a SDL surface as png. 2005-09-17 Duane Bailey * src/net/messagin.cpp, src/net/messageout.cpp, src/net/network.cpp: removed replaced MACOSX defines with big endian defines * src/graphics.cpp, src/graphics.h: added screenshot method * src/game.cpp: added code, so that when one presses 'alt-p' (for picture), it takes a screenshot and saves it to a png * src/Makefile.am, config.ac: added png library stuff 2005-09-17 Matthias Hartmann * src/engine.cpp: [TARGET] text over player * src/game.cpp, src/game.h: PVP * src/gui/popupmenu.cpp: Added "attack" option to the popupmenu * src/net/protocol.cpp: findPlayer 2005-09-17 Bjørn Lindeijer * src/engine.cpp, src/game.cpp: Indent properly. 2005-09-17 Björn Steinbrink * configure.ac: Fix typo. * src/Makefile.am: Remove useless (duplicate) -lpng. * src/graphics.cpp: Add missing cstdarg header. * src/net/messagein.cpp: Fix some funny looking preprocessor statement. * src/net/messageout.cpp: Readd SDLnet header, for changed preprocessor stuff. * src/game.h: Remove inclusion of being.h, there was a forward declaration of class Being anyways... * src/openglgraphics.cpp: Use gl{Push,Pop}Matrix instead of calculating offsets, cause the values are stored as float and aren't accurate enough. 2005-09-17 Eugenio Favalli * The Mana World.dev, src/gui/skill.cpp: Updated to last changes, and wrong names fixes. * src/being.cpp, src/game.cpp, src/gui/buy.cpp, src/gui/buysell.cpp, src/gui/char_select.cpp, src/gui/char_server, src/gui/chat.cpp, src/gui/npc.cpp, src/gui/npc_text.cpp, src/gui/popupmenu.cpp, src/gui/requesttrade.cpp, src/gui/sell.cpp, src/gui/skill.cpp, src/gui/status.cpp, src/gui/trade.cpp, src/inventory.cpp, src/net/messageout.cpp, src/net/network.cpp, src/net/network.h, src/net/protocol.cpp, src/net/protocol.h: Completed transition to use MessageOut. 2005-09-17 Yohann Ferreira * src/game.cpp, src/gui/ministatus.cpp, src/gui/ministatus.h, src/gui/menuwindow.h, src/gui/menuwindow.cpp, src/gui/status.cpp, src/gui/status.h: Improving General Layout. * src/games.cpp, src/playerinfo.h, src/gui/char_server.cpp, src/gui/char_select.cpp, src/gui/ministatus.cpp, src/gui/skill.cpp, src/gui/status.cpp, src/gui/status.h : Now the derived stats values are got from the server, and then, are correct ones. * src/gui/minimap.cpp : Only shows the Minimap Window if there's actually a minimap to the current map. * src/gui/status.cpp, src/game.cpp: The derived stats are now updated correctly upon equipping/unequipping. 2005-09-16 Bjørn Lindeijer * src/resources/image.cpp: Report which error occured when loading of an image fails. 2005-09-14 Björn Steinbrink * src/game.cpp: Fix missing parentheses in a negated check. * src/engine.cpp, src/engine.h, src/game.cpp: Moved Map management code completely into engine.cpp. * src/net/messagein.cpp, src/net/messagein.h, src/net/messageout.cpp, src/net/messageout.h: Added stream operators for char, short and long reading and writing. * src/game.cpp, src/log.cpp, src/main.cpp, src/gui/char_select.cpp, src/gui/char_server.cpp, src/gui/login.cpp, src/net/messageout.cpp, src/net/messageout.h, src/net/network.cpp, src/net/network.h, src/net/packet.cpp, src/net/protocol.cpp: Header cleanups. * src/gui/popupmenu.cpp, src/gui/sell.cpp: Use cassert instead of assert.h. * src/net/network.cpp: Add missing cassert header, remove some unused headers. * src/net/messagein.cpp: Add missing cassert header. * src/being.cpp, src/being.h, src/game.cpp: Made Being::setDamage accept a short instead of a string. * src/game.cpp, src/game.h, src/gui/char_select.cpp: Converted map_path from char array to std::string. 2005-09-13 Eugenio Favalli * The Mana World.dev: Updated to last changes. * The Mana World.dev: Added latest changes to the proper branch. * src/gui/login.cpp, src/net/messageout.cpp, src/net/messageout.h, src/net/network.cpp, src/net/network.h: Started to use MessageOut to send login data. 2005-09-13 Björn Steinbrink * ChangeLog, The Mana World.dev, configure.ac, src/Makefile.am, src/being.cpp, src/being.h, src/engine.cpp, src/floor_item.cpp, src/floor_item.h, src/game.cpp, src/game.h, src/inventory.cpp, src/log.h, src/main.cpp, src/playerinfo.h, src/serverinfo.h, src/gui/buy.cpp, src/gui/buysell.cpp, src/gui/char_select.cpp, src/gui/char_server.cpp, src/gui/chargedialog.cpp, src/gui/chat.cpp, src/gui/inventorywindow.cpp, src/gui/login.cpp, src/gui/npc.cpp, src/gui/npc.h, src/gui/npc_text.cpp, src/gui/npc_text.h, src/gui/popupmenu.cpp, src/gui/requesttrade.cpp, src/gui/requesttrade.h, src/gui/sell.cpp, src/gui/skill.cpp, src/gui/stats.cpp, src/gui/status.cpp, src/gui/status.h, src/gui/trade.cpp, src/net/messagein.cpp, src/net/messagein.h, src/net/messageout.cpp, src/net/messageout.h, src/net/network.cpp, src/net/network.h, src/net/packet.cpp, src/net/packet.h, src/net/protocol.cpp, src/net/protocol.h, src/net/win2linux.h, src/net/win2mac.cpp, src/net/win2mac.h: Merged with SDL_NET_TEST branch. * src/being.cpp, src/being.h, src/game.cpp: Simplify remove_node. * src/being.cpp, src/being.h, src/game.cpp: Merged createBeing and add_node into createBeing. * src/main.cpp, src/main.h, src/gui/char_select.cpp, src/gui/login.cpp: Removed some globals. * src/main.cpp, src/main.h, src/gui/char_select.cpp, src/gui/char_select.h, src/gui/char_server.cpp, src/gui/char_server.h, src/gui/login.cpp, src/gui/login.h, src/gui/updatewindow.cpp, src/gui/updatewindow.h: Unified the loops for the various dialogs that are shown before the actual game starts. * src/gui/login.cpp: Removed a close_session call i missed. * src/gui/login.cpp: Close the session only when it was opened. 2005-09-13 Bjørn Lindeijer * src/floor_item.cpp, src/floor_item.h, src/engine.cpp, popupmenu.cpp: Made members private and provided more convenient constructor. * src/net/messageout.cpp: Fixed bug in destructor. * src/net/network.cpp: Initialize buffers and enforce only a single session at a time. * src/game.cpp, src/net/protocol.h: Converted all incoming messages handled in game.cpp to use the MessageIn class. This is a huge change so please test if everything is still working correctly. * src/gui/npc.cpp, src/gui/npc.h, src/gui/npc_text.cpp, src/gui/npc_text.h: Changed argument from char* to std::string for convenience. * src/gui/setup.cpp, src/gui/setup.h: Enabled OpenGL checkbox and added messagebox informing the user that apply this change requires restarting the client. * src/gui/updatewindow.cpp: Start displaying file progress at 0% and some small fixes. 2005-09-12 Björn Steinbrink * M src/Makefile.am, src/gui/browserbox.cpp, src/gui/gui.cpp, src/resources/resourcemanager.cpp, src/resources/resourcemanager.h, src/resources/sdlimageloader.cpp, src/resources/sdlimageloader.h: Added SDLImageLoader to make guichan support physfs. Removed ResourceManager::getRealPath() because it's no longer needed. 2005-09-12 Bjørn Lindeijer * data/graphics/gui/hits_blue.png, data/graphics/gui/hits_red.png, data/graphics/gui/hits_yellow.png: Made shadow translucent. * data/graphics/images/minimap_new_7-1.png: Added this minimap. * data/help/changes.txt, data/help/commands.txt: Added 0.0.16 changes. * data/maps/new_7-1.tmx.gz: Fixed well being in the wrong layer. 2005-09-11 Bjørn Lindeijer * src/net/network.cpp: Improved error reporting a bit and got rid of loop for sending data, which shouldn't be necessary according to SDL_net documentation. * src/Makefile.am, src/being.cpp, src/being.h, src/engine.cpp, src/game.cpp, src/main.cpp, src/playerinfo.h, src/gui/char_server.cpp, src/gui/chargedialog.cpp, src/gui/chat.cpp, src/gui/inventorywindow.cpp, src/gui/popupmenu.cpp, src/gui/skill.cpp, src/gui/stats.cpp, src/gui/status.cpp, src/gui/status.h, src/net/protocol.cpp: Changed char_info into the array it's used as for character selection and introduced player_info as the pointer to the player information. Should help towards support for multiple characters on the same account. Also changed PLAYER_INFO name field to a std::string. * src/net/win2mac.cpp, src/net/win2mac.h: A bit of clean up. * src/net/packet.h, src/net/packet.cpp, src/net/messagein.h, src/net/messagein.cpp, src/net/messageout.h, src/net/messageout.cpp: Added these packet reading/writing helpers, taken from the new server in development. * src/gui/char_select.cpp: Made new character message be parsed using MessageIn. Many other incoming messages should be ready to be ported similarly, simplifying the parsing of packets because of automatic incrementation of the read position. * src/game.cpp, src/game.h, src/gui/popupmenu.cpp, src/gui/requesttrade.cpp, src/gui/requesttrade.h: Changed tradePartnerName to std::string. * src/net/win2linux.h: Removed because it became redundant with the use of SDL_net. * src/game.cpp, src/game.h, src/gui/char_select.cpp, src/net/messagein.cpp, src/net/messagein.h, src/net/network.cpp, src/net/network.h: Got rid of usage of Packet by MessageIn, simplifying both its usage and implementation. Now also handling response to character selection through MessageIn. * src/main.cpp, src/serverinfo.h, src/gui/char_select.cpp, src/gui/char_server.cpp, src/gui/login.cpp, src/net/network.cpp, src/net/network.h, src/net/protocol.cpp, src/net/protocol.h: Introduced get_next_message function to reduce duplication of that process. Also now MessageIn is used for all incoming messages handled during the login sequence. * src/being.cpp, src/being.h, src/game.cpp, src/game.h, src/inventory.cpp, src/serverinfo.h, src/gui/login.cpp, src/gui/trade.cpp, src/net/messagein.cpp, src/net/messagein.h, src/net/network.cpp, src/net/protocol.cpp, src/net/protocol.h: Added readCoordinates and readCoordinatePair to MessageIn for reading the specific ways eAthena sends sends those, and converted part of game.cpp to use the MessageIn class. Also simplified cases where flush() was still called in a loop for sending and added asserts to MessageIn methods. 2005-09-10 Bjørn Lindeijer * src/log.cpp: Committed patch by Nayr for displaying a messagebox when an error occurs on MacOS. 2005-09-10 Björn Steinbrink * configure.ac: Add check for SDL_net. 2005-09-09 Eugenio Favalli * src/game.cpp: Fixes to dropped items network code 2005-09-09 Bjørn Lindeijer * src/net/win2linux.h: Removed inclusion of malloc.h header as it doens't seem necessary and was problematic on FreeBSD. 2005-09-08 Björn Steinbrink * src/game.cpp: Clean the floor items when the map changes. 2005-08-30 Eugenio Favalli * README, The Mana World.dev, data/graphics/sprites/items.png, data/graphics/sprites/npcs.png, data/help/header.txt, data/help/skills.txt, data/items.xml, data/maps/new_8-1.tmx.gz: Updated docs for release, fixed Dev-Cpp project file, added more items and npcs, fixed the new map and added it to the makefile. 2005-08-31 Björn Steinbrink * src/openglgraphics.cpp: Fix push/pop of clip area, we need to translate using the x/y offset, not the x/y coordinates of the clip area. This fixes the broken scrollareas. 2005-08-30 Eugenio Favalli * The Mana World.dev: Updated project file. * data/graphics/sprites/npcs.png, src/gui/sell.cpp: Added empty sprite and reorganized spriteset, fixed a typo. 2005-08-29 Björn Steinbrink * src/Makefile.am, src/configlistener.cpp, src/configlistener.h: Made the destructor inline, as it is an interface, we don't need a .cpp file, thus it was removed. * src/resources/image.cpp, src/resources/image.h, src/resources/music.cpp, src/resources/music.h, src/resources/resource.cpp, src/resources/resource.h, src/resources/resourcemanager.cpp, src/resources/soundeffect.cpp, src/resources/soundeffect.h: Removed the setIdPath() method from the Resource class and added the idPath as a Constructor parameter, as that value is not meant to be changed. 2005-08-29 Eugenio Favalli * data/maps/new_8-1.tmx.gz: Some layer and walkability fixes. 2005-08-28 Björn Steinbrink * src/openglgraphics.cpp, src/gui/browserbox.cpp, src/gui/buddywindow.cpp, src/gui/buddywindow.h, src/gui/buysell.h, src/gui/char_server.h, src/gui/chargedialog.h, src/gui/chat.cpp, src/gui/chat.h, src/gui/confirm_dialog.h, src/gui/equipmentwindow.h, src/gui/focushandler.h, src/gui/gui.cpp, src/gui/gui.h, src/gui/help.h, src/gui/inttextbox.cpp, src/gui/inventorywindow.cpp, src/gui/inventorywindow.h, src/gui/item_amount.h, src/gui/itemcontainer.cpp, src/gui/listbox.cpp, src/gui/newskill.h, src/gui/npc_text.h, src/gui/ok_dialog.h, src/gui/passwordfield.cpp, src/gui/requesttrade.h, src/gui/setup.h, src/gui/stats.h, src/gui/status.h, src/gui/textbox.cpp, src/gui/textfield.cpp, src/gui/trade.h, src/gui/updatewindow.h: Add #include's that just weren't necessary because the guichan folks don't provide clean headers. This is preparatory for the case that they ever do. ;) * src/gui/gui.cpp, src/gui/gui.h: Create a GuiConfigListener class. * src/gui/window.h: Small cleanup. * src/gui/window.cpp, src/gui/window.h: Create a static ConfigListener for the Window class. (Fixes each Window listening to config changes, although they only affect a static class member.) 2005-08-27 Björn Steinbrink * src/gui/npc.cpp: Fix a memory leak. * src/game.cpp, src/gui/npc.cpp, src/gui/npc.h: Fix the bug when sometimes the last entry in npc list windows is missing. The network buffer isn't reset to all zeros, thus we can't rely on the received string to be nul-terminated, instead we have to use the length parameter we receive from eAthena (and this way we're also safe against buffer overflows, because we can use strncpy()). * src/gui/window.cpp: Bail out early if there's no window container. * src/engine.cpp, src/game.cpp, src/gui/stats.cpp, src/gui/stats.h, src/gui/status.cpp, src/gui/status.h: Update the stats and status window contents only at a single location and let them do it automagically. * src/gui/updatewindow.cpp, src/gui/updatewindow.h: Small cleanups. 2005-08-25 Ferreira Yohann * src/gui/buy.h, src/gui/buy.cpp, src/gui/sell.h, src/gui/sell.cpp, src/gui/inventorywindow.h, src/gui/inventorywindow.cpp: Added effect description to those each windows, and also made some improvements and bugfixes as I was on it. * data/maps/new_7-1.tmx.gz: Added eyecandy to the map 7-1. 2005-08-26 Björn Steinbrink * ChangeLog: Fix indentation and line length. * docs/HACKING.txt: Fix the example (OOPS!). * src/configuration.cpp: Remove dependency on math.h. * src/openglgraphics.cpp: Remove useless code. * src/openglgraphics.cpp: Use glTranslatef instead of glTranslated. Remove some useless code. 2005-08-25 Ferreira Yohann * src/main.h, src/main.cpp, src/gui/login.cpp, src/resources/buddylist.cpp, gui/char_select.cpp: Adding min and max length check for password, more code cleanups in login and removing possible buffer overflows by replacing some global char[] by std::strings. * src/items.h, src/items.cpp, src/resources/itemmanager.h, src/resources/itemmanager.cpp, src/resources/iteminfo.h, src/resources/iteminfo.cpp, data/items.xml, data/items.xsd: Added Effects description to items. 2005-08-25 Bjørn Lindeijer * ChangeLog: Fixed line length using tab size of 8. * src/configuration.h, src/configuration.cpp: Removed some debug code and updated documentation a bit. * src/resources/resourcemanager.cpp: Removed unused (I think) headers for Windows. 2005-08-25 Björn Steinbrink * src/openglgraphics.cpp: Use the translation capabilities of OpenGL instead of doing it ourselves all the time. * src/graphics.cpp: Simplify the image rect drawing code a bit and remove an obsolete included header. * src/openglgraphics.cpp, src/openglgraphics.h: Reduce the code duplication even further. * src/engine.cpp, src/floor_item.cpp, src/floor_item.h: Move the extern declaration for the floor item list into engine.cpp as it's only used there. * src/log.cpp: Lower indentation level. * src/openglgraphics.cpp, src/openglgraphics.h: Reduce code duplication. * src/configuration.cpp: Fix compilation errors. * src/graphics.cpp, src/openglgraphics.cpp, src/gui/button.cpp, src/gui/checkbox.cpp, src/gui/equipmentwindow.cpp, src/gui/itemcontainer.cpp, src/gui/minimap.cpp, src/gui/passwordfield.cpp, src/gui/playerbox.cpp, stc/gui/progressbar.cpp, src/gui/radiobutton.cpp, src/gui/scrollarea.cpp, src/gui/slider.cpp, src/gui/textfield.cpp, src/gui/window.cpp: Made our Graphics::drawImage() method respect the clip area from the guichan part. Removed some obsolete code. * src/gui/tabbedcontainer.h: Fix include path for guichanfwd.h. * src/gui/tabbedcontainer.cpp, src/gui/tabbedcontainer.h: Added a new container type, that allows switching between the contents through a tab bar at the top of the container. * ChangeLog: Fixed intendation and line length. * docs/HACKING.txt: Added a notice about line length in ChangeLog and an example for the ChangeLog format. 2005-08-24 Ferreira Yohann * src/game.cpp: Simply don't show equipped items in sell dialog as it's annoying. * src/gui/login.h, src/gui/login.cpp: Code cleanups and improvements to the login sequence. 2005-08-23 Björn Steinbrink * src/gui/shop.h: Fixed using a forward declaration for std::string, where it was a class member. * src/game.cpp, src/gui/sell.cpp, src/gui/sell.h: Made the sell dialog accepts Items instead of looking them up in the inventory. * src/gui/sell.cpp: Some code cleanups, simplifications and removal of duplicate code. * src/gui/buy.cpp, src/gui/sell.cpp, src/gui/shop.h: Avoid possible buffer overflows by using a std::string instead of char[30]. * src/gui/buy.cpp: Some code cleanups, simplifications and removal of duplicate code. 2005-08-22 Ferreira Yohann * src/gui/buy.cpp, src/gui/sell.cpp, src/game.cpp: Removed asserts as they were not suitable for a stable implementation of buy/sell dialogs and made some improvements on them. Still has to clean up code. * src/gui/login.h, src/login.cpp: Code cleanups, little improvements of the login function. 2005-08-22 Eugenio Favalli * src/gui/skill.cpp: Disabled use button in skill dialog since is still not being used. 2005-08-20 Björn Steinbrink * src/openglgraphics.cpp: Added some missing state changes and checks. * src/gui/inventorywindow.cpp, src/gui/item_amount.cpp, src/gui/item_amount.h, src/gui/popupmenu.cpp, src/gui/trade.cpp: Made the item amount dialog work on a provided item, instead of having it ask the inventory window itself. 2005-08-19 Björn Steinbrink * src/engine.cpp, src/game.cpp: The engine isn't connected to all the gui windows, so move creation from its constructor into the game.cpp where most of them are actually used. * src/log.cpp, src/log.h, src/main.cpp: Added support for parsing command line options. Added option to skip the update process. Made logger being created immediately after startup, because some destructors use it. 2005-08-18 Eugenio Favalli * The Mana World.dev, src/game.cpp, src/gui/skill.h, src/gui/skill.cpp: Updated reference to latest libxml, fixed a bug in updating skills, updated skill names database. 2005-08-18 Björn Steinbrink * src/Makefile.am, src/graphics.cpp, src/graphics.h, src/main.cpp, src/openglgraphics.cpp src/openglgraphics.h, src/gui/gui.cpp, src/resources/image.h: Semi-separated OpenGL and SDL graphics classes, improves OpenGL performance quite a bit, while rewriting a good bunch of code provided by guichan (but maybe we'll diverge so much that we'd need that anyways...) 2005-08-17 Eugenio Favalli * src/configuration.cpp, src/resources/itemmanager.cpp, src/resources/mapreader.cpp: Removed special #ifdefs for libxml2 linking issues in Win32. 2005-08-16 Ferreira Yohann * src/gui/window.h, src/gui/window.cpp: Bugfixing and simplifying resize code. * debian/*: Updates to the debian packaging files. (The actual update was from a few days ago.) Now we have the tmw, tmw-data and tmw-music packages. * src/gui/setup.h, src/gui/setup.cpp: Now the setup (Config) windows works as it should be. (The actual update was from a few days ago.) 2005-08-16 Eugenio Favalli * The Mana World.dev, src/gui/status.cpp, src/gui/window.cpp, src/gui/window.h, src/gui/windowcontainer.h, data/graphics/gui/resize.png: Added a resize grip to resizable window, fixed some compiling errors. 2005-08-15 Björn Steinbrink * src/engine.cpp, src/gui/gui.cpp, src/gui/gui.h: Removed guiTop global variable. * src/graphics.cpp, src/graphics.h, src/main.cpp: Made the OpenGL related code fully #ifdef'ed. * src/main.cpp, src/gui/browserbox.cpp, src/gui/gui.cpp, src/resources/image.cpp, src/resources/image.h: Fully faded out the useOpenGL global. Image and Graphics keep track of the mode on their own now (the latter will go away once we have separate classes...) * src/graphics.cpp, src/graphics.h, src/main.cpp, src/main.h, src/gui/browserbox.cpp, src/gui/gui.cpp, src/resources/image.cpp: Started to fade out the useOpenGL global variable. * src/engine.cpp, src/gui/char_select.cpp, src/gui/char_server.cpp, src/gui/chat.cpp, src/gui/gui.cpp, src/gui/gui.h, src/gui/login.cpp, src/gui/popupmenu.cpp, src/gui/setup.cpp, src/gui/updatewindow.cpp, src/gui/window.cpp: Removed guiGraphics global pointer and removed dependencies on gui.h in some places. 2005-08-14 Björn Steinbrink * src/graphics.cpp, src/graphics.h, src/resources/image.cpp, src/resources/image.h: Moved the image drawing code into the graphics class. * src/being.cpp, src/engine.cpp, src/graphics.cpp, src/graphics.h: Made the wrapper functions in the Graphics class conditional on whether we compile with OpenGL support. 2005-08-13 Björn Steinbrink * src/Makefile.am, src/being.cpp, src/being.h, src/configlistener.cpp, src/configlistener.h, src/configuration.cpp, src/configuration.h, src/engine.cpp, src/engine.h, src/equipment.cpp, src/equipment.h, src/game.cpp, src/game.h, src/graphics.cpp, src/graphics.h, src/guichanfwd.h, src/inventory.cpp, src/inventory.h, src/item.h, src/log.cpp, src/log.h, src/main.cpp, src/main.h, src/map.cpp, src/map.h, src/playerinfo.h, src/sound.cpp, src/sound.h, src/graphic/imagerect.h, src/graphic/spriteset.cpp, src/graphic/spriteset.h, src/gui/box.h, src/gui/browserbox.cpp, src/gui/browserbox.h, src/gui/buddywindow.h, src/gui/button.cpp, src/gui/button.h, src/gui/buy.cpp, src/gui/buy.h, src/gui/buysell.h, src/gui/char_select.cpp, src/gui/char_select.h, src/gui/char_server.cpp, src/gui/char_server.h, src/gui/chargedialog.cpp, src/gui/chargedialog.h, src/gui/chat.cpp, src/gui/chat.h, src/gui/chatinput.cpp, src/gui/checkbox.cpp, src/gui/checkbox.h, src/gui/confirm_dialog.cpp, src/gui/confirm_dialog.h, src/gui/equipmentwindow.cpp, src/gui/equipmentwindow.h, src/gui/focushandler.h, src/gui/gui.cpp, src/gui/gui.h, src/gui/help.cpp, src/gui/help.h, src/gui/inttextbox.cpp, src/gui/inttextbox.h, src/gui/inventorywindow.cpp, src/gui/inventorywindow.h, src/gui/item_amount.cpp, src/gui/item_amount.h, src/gui/itemcontainer.cpp, src/gui/itemcontainer.h, src/gui/listbox.cpp, src/gui/listbox.h, src/gui/login.cpp, src/gui/login.h, src/gui/minimap.cpp, src/gui/minimap.h, src/gui/newskill.cpp, src/gui/newskill.h, src/gui/npc.h, src/gui/npc_text.h, src/gui/ok_dialog.cpp, src/gui/ok_dialog.h, src/gui/passwordfield.h, src/gui/playerbox.cpp, src/gui/playerbox.h, src/gui/popupmenu.cpp, src/gui/popupmenu.h, src/gui/progressbar.cpp, src/gui/progressbar.h, src/gui/radiobutton.cpp, src/gui/radiobutton.h, src/gui/requesttrade.cpp, src/gui/requesttrade.h, src/gui/scrollarea.cpp, src/gui/scrollarea.h, src/gui/sell.cpp, src/gui/sell.h, src/gui/setup.cpp, src/gui/setup.h, src/gui/skill.h, src/gui/slider.cpp, src/gui/slider.h, src/gui/stats.cpp, src/gui/stats.h, src/gui/status.cpp, src/gui/status.h, src/gui/textbox.cpp, src/gui/textbox.h, src/gui/textfield.cpp, src/gui/textfield.h, src/gui/trade.cpp, src/gui/trade.h, src/gui/updatewindow.cpp, src/gui/updatewindow.h, src/gui/window.cpp, src/gui/window.h, src/gui/windowcontainer.h, src/net/protocol.cpp, src/net/protocol.h, src/resources/buddylist.hm src/resources/image.cpp, src/resources/image.h, src/resources/itemmanager.cpp, src/resources/itemmanager.h, src/resources/mapreader.cpp, src/resources/mapreader.h, src/resources/music.h, src/resources/resource.cpp, src/resources/resourcemanager.cpp, src/resources/resourcemanager.h, src/resources/soundeffect.h: Huge header cleanup, removing nearly all #include's from headers to reduce dependencies and compile time. * src/engine.cpp, src/gui/char_select.cpp, src/gui/inventorywindow.cpp, src/gui/skill.cpp, src/gui/skill.h, src/gui/stats.cpp, src/gui/status.cpp: Another small header cleanup, should also solve compilation problems on windows. * src/gui/sell.cpp: Reset selection in the sell dialog if all items at the selected slot are sold. 2005-08-13 Eugenio Favalli * src/gui/status.h, src/gui/status.cpp: Reformatted status window layout to avoid overlapping and lowered saturation of bars' colors. * src/gui/status.cpp: Removed smooth color changing from xp bar which was causing problems and doesn't act as the job xp bar. * The Mana World.dev, src/game.cpp, src/playerinfo.h, src/net/protocol.cpp, src/resources/itemmanager.cpp, src/gui/inventorywindow.cpp: Updated dev-cpp project file, removed unnecessary header, fixed some include paths. 2005-08-12 Eugenio Favalli * src/buy.cpp, src/sell.cpp: Resetting quantity to 0 after selecting other items in buy/sell dialogs. 2005-08-11 Andrej Sinicyn * src/resources/image.cpp: Little cleanup and simplification. 2005-08-10 Björn Steinbrink * src/engine.cpp, src/graphics.cpp, src/graphics.h, src/gui/browserbox.cpp, src/gui/gui.cpp, src/gui/listbox.cpp, src/gui/minimap.cpp, src/gui/progressbar.cpp, src/gui/scrollarea.cpp: Moved knowledge about whether we use OpenGL into the Graphics class (as much as possible) * src/game.cpp: Added helper function for being creation to reduce code duplication. Some code simplifications. 2005-08-09 Björn Steinbrink * src/engine.cpp: Adjust drawing offset to have the player centered in higher resolutions as well. 2005-08-04 Björn Steinbrink * src/main.cpp: Use "true" instead of "1" as bool argument. * src/resources/resourcemanager.cpp, src/resources/resourcemanager.h: Added a method to determine the real path of a file in the PhysFS search path. * src/gui/browserbox.cpp: Make use of then new resource manager method to determine the real path of a file. * src/gui/gui.cpp: Dynamically determine the path to graphic files instead of using the try-catch fallback method. 2005-08-03 Andrej Sinicyn * src/game.cpp, src/game.h, src/gui/requesttrade.cpp, src/gui/requesttrade.h: Moved my invented variable, since it makes more sense. * src/game.cpp, src/game.h, src/gui/requesttrade.cpp: Fix my previous fix because it broke my own code. 2005-08-03 Björn Steinbrink * src/main.cpp: Use PhysFS to determine user's home directory on unix system. Removed an now unused header. * src/game.cpp: Commented a switch case label that was left uncommented though the rest was commented. * src/resources/buddylist.cpp, src/main.h: Removed unneeded header from main.h, added it to buddylist.cpp. * src/engine.cpp: Converted two global variables to function-local ones. 2005-08-02 Andrej Sinicyn * src/game.cpp: Fixed "Trade canceled" happening often. 2005-08-02 Björn Steinbrink * src/engine.cpp: Cleanups in the drawing code. * src/engine.cpp, src/game.cpp: Made autoTarget checks being handled at a single location. * src/being.cpp, src/being.h, src/engine.h: Small header cleanups. * src/graphics.cpp, src/graphics.h, src/main.cpp, src/main.h, src/gui/setup.cpp: Moved graphics setup code into the graphics class. 2005-08-02 Marcel W. Wysocki * tmw/src/gui/status.cpp: making setup dialog quitting when clicking on setup button while dialog is opened 2005-08-01 Björn Steinbrink * src/inventory.cpp, src/inventory.h, src/gui/itemcontainer.cpp, src/gui/itemcontainer.h: Added a logic function to dynamically adjust the size of the itemcontainer. * src/game.cpp: Fixed autoTarget not being set to NULL on map change. 2005-07-31 Andrej Sinicyn * src/game.cpp, src/game.h, src/gui/popupmenu.cpp: Show the name of the trade partner in the trade dialog. 2005-07-31 Björn Steinbrink * src/gui/listbox.cpp: Small cleanup of the drawing code. * src/engine.cpp: Added a check to stop scrolling when we hit the map border. 2005-07-31 Andrej Sinicyn * src/game.cpp: Don't allow more than one trade dialog or requesting it at once; if a trade is canceled on the other side, close the trade window. 2005-07-30 Andrej Sinicyn * src/main.cpp: Removed unnecessary value assignment to a variable. 2005-07-30 Björn Steinbrink * src/main.cpp, src/resources/resourcemanager.h, src/resources/resourcemanager.cpp: Fixed buggy check for the existence of the updates directory. Extended the resource manager with some physfs functions and moved the actual setup process from the resource manager constructor into the main initialization. 2005-07-29 Björn Steinbrink * src/game.cpp: Fixed popup window not always being correctly hidden when the player clicks somewhere else. 2005-07-28 Björn Steinbrink * src/main.cpp, src/gui/update.cpp, src/resources/resourcemanager.cpp, src/resources/resourcemanager.h: Added support for files downloaded through the update manager to the resource manager. Changed directory name for updates from "data" to "updates". * src/game.cpp, src/gui/inventorywindow.cpp, src/gui/popupmenu.cpp, src/gui/popupmenu.h: Cleaned up the showPopup() code, moved "map"-related code into game.cpp, made the popup show up at mouse coordinates instead of being aligned to tiles. * src/being.cpp, src/being.h, src/engine.cpp, src/game.cpp, src/game.h, src/gui/gui.cpp, src/net/protocol.cpp: Added an action enumeration to the Being class and removed the old #define's. * src/resources/resourcemanager.cpp: Fixed a location where a wrong dir-separator was used. * src/main.cpp: Fixed updates directory not being created on non-unix systems. Started using PhysFS write support. 2005-07-27 Bjørn Lindeijer * src/engine.cpp, src/game.cpp, src/graphics.cpp, src/graphics.h, src/main.cpp, src/gui/browserbox.cpp, src/gui/button.cpp, src/gui/gui.cpp, src/gui/listbox.cpp, src/gui/minimap.cpp, src/gui/playerbox.cpp, src/gui/progressbar.cpp, src/gui/scrollarea.cpp, src/gui/textfield.cpp, src/gui/window.cpp, src/resources/image.cpp, src/resources/image.h, src/resources/mapreader.h: Merged OpenGL/SDL merge patch by Andrej Sinicyn, and his followup patch for fixing SDL-only build. 2005-07-27 Björn Steinbrink * src/gui/gui.cpp, src/gui/gui.h: Removed continous mouse movement, that implementation wasn't suitable for a release. 2005-07-26 Björn Steinbrink * src/being.cpp, src/being.h, src/engine.cpp, src/game.cpp, src/gui/minimap.cpp, src/gui/popupmenu.cpp, src/net/protocol.cpp: Introduced a Being::Type enumeration. Added type-aware findNode() function. * src/being.cpp: Set font back to gui font after drawing speech. Draw auto-target marker in engine instead of being. * src/gui/popupmenu.cpp: Fixed empty popup window being shown when user right clicks on an empty tile while the popup is visible. 2005-07-26 Eugenio Favalli * The Mana World.dev: Updated release infos. * data/graphics/sprites/emotions.png: Added Modanung's smilies. * src/being.cpp, src/engine.cpp: Fixed text and smilies position. * src/game.cpp: Cleanups. * src/gui/skill.cpp: Added new skill names. * src/main.cpp: Moved sound playback to update screen and changed song. 2005-07-24 Björn Steinbrink * src/game.cpp: Made the key-event handler use switches instead of if-else. * src/gui/gui.cpp, src/gui/gui.h: Allow continous movement when holding down the left mouse button. 2005-07-23 Björn Steinbrink * src/being.h, src/being.cpp: Added a member to keep the current map, restored setDestination. * src/game.cpp, src/gui/gui.cpp: Change calls to Being::setPath() to Being::setDestination(). * src/map.h: Add a forward declaration for struct PATH_NODE. 2005-07-23 Bjørn Lindeijer * NEWS: Moved project news here. * ChangeLog: Started standard ChangeLog file here. * docs/HACKING.txt: Added info about member naming and ChangeLog format. * src/gui/updatewindow.h, src/gui/updatewindow.cpp: Changed member names, set a 15 second timeout for connecting to update server and restore some doxygen comments, improved size adaption and made the window a shorter. * data/graphics/images/login_wallpaper.png: New login wallpaper by Momotaro.