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.