summaryrefslogtreecommitdiff
path: root/src/game.cpp
AgeCommit message (Collapse)AuthorFilesLines
2010-08-16Move more to the event systemJared Adams1-0/+4
Most of Net::InventoryHandler is now done through events. The ActorSpriteManager was also replaced by events. A few odds and ends were taken care of too. Reviewed-by: Bertram
2010-08-15Remove the logToChat optionChuck Miller1-6/+0
This is a very old legacy option. Today its not very useful because the logger had become quite verbose that using it during run-time is not helpful. Reviewed-By: Jared Adams Reviewed-By: Freeyorp
2010-08-12Simplify working with the event systemJared Adams1-10/+10
EventManager has been merged into Event, with some new convinience methods added. Reviewed-by: Chuck Miller
2010-08-10Remove NpcDialog references from netcodeJared Adams1-0/+2
Reviewed-by: Chuck Miller
2010-08-01Remove isActive methods from NPC dialogs and InventoryWindowJared Adams1-1/+1
Uses counts in PlayerInfo instead. Reviewed-by: Chuck Miller
2010-08-01Remove isActive methods from buy/sell windowsJared Adams1-1/+1
Uses a state variable in PlayerInfo instead. Moves isTalking from Being to PlayerInfo. Also some small cleanups. Reviewed-by: Chuck Miller
2010-08-01Reduce localChatTab presence replacing it with the event systemChuck Miller1-8/+4
Reviewed-By: Jared Adams
2010-07-19Merge branch '1.0'Yohann Ferreira1-1/+2
Conflicts: src/gui/itempopup.cpp src/item.cpp src/monster.cpp src/net/manaserv/playerhandler.cpp src/net/tmwa/partyhandler.cpp src/npc.cpp src/player.cpp src/resources/itemdb.cpp src/resources/monsterdb.cpp src/resources/monsterinfo.cpp src/resources/npcdb.cpp src/resources/spritedef.cpp
2010-07-18Add event.h to eventmanager.h and listener.h to reduce total number of includesChuck Miller1-1/+0
You'll have to include it anyways 99% of the time
2010-07-18Replace some state-related netcode methods with eventsJared Adams1-9/+16
Also move the virtual destructors of the Net handler base classes to the top of their method lists. Reviewed-by: Chuck Miller
2010-07-18Move more from LocalPlayer to PlayerInfoJared Adams1-2/+10
Also cleanup PlayerInfo a bit. Reviewed-by: Chuck Miller
2010-07-11Made the different hard-coded paths and files be now taken from theYohann Ferreira1-1/+2
data/paths.xml configuration file. Also added default gui theme path in branding and default wallpaper path and file searched respectively in the branding and paths.xml files. Hard-coded values are still used as fallbacks. Resolves: Manasource Mantis #148. Reviewed-by: jaxad0127.
2010-06-10Merge BeingManager and FloorItemManager as ActorSpriteManagerJared Adams1-22/+16
No need for two different classes to manage ActorSprites. Reviewed-by: Chuck Miller
2010-05-17Remove Monster, Player, and NPC classesJared Adams1-11/+10
Instead of having these three subclasses with minor differences, this commit merges them back into Being. In the future, we can make Beings that are talkable to some, attackable by others, etc. This also puts back support for monster equipment. Also changes remaining references to Being::Type and the constants to refer to ActorSprite::Type. Reviewed-by: Freeyorp
2010-05-09Move target cursor management into ActorSpriteJared Adams1-0/+2
This simplifies handling of target cursors, centralizing their logic into a single class, instead of two. Also make them more flexible and move the image files outside of the theme so servers can can control them and give them better names. Reviewed-by: Thorbjørn Lindeijer
2010-05-06Add support for floor item spritesJared Adams1-0/+1
This commit adds a sprite hierarchy (Sprite->ImageSprite,AnimatedSprite,CompundSprite; CompoundSprite,Actor->ActorSprite;ActorSprite->Being,FloorItem) to collect common functionailty into new base classes which will make other Mantis tickets easier to do. Also allows monsters to use particle effects. Reviewed-by: Bertram
2010-04-19Add afk mode for player.Andrei Karas1-0/+2
Add variable cur_time for current time. Add command /away [text] Reviewed by: Bertram
2010-04-12Add support for map-server switching under eAthenaJared Adams1-17/+12
Also do some cleanup that's been needed for a while. Reviewed-by: Bertram
2010-03-26Replace most dynamic_casts with static_castsJared Adams1-1/+1
The remaining instances can't easily or safely be changed as the classes involved don't have type information like Being does. Reviewed-by: Freeyorp
2010-03-25Remove the type boolean from InventoryWindowJared Adams1-1/+1
This moves inventory/storage type into the Inventory class, having size default to a call to the netcode to get the sive for the given type. Reviewed-by: Chuck Miller
2010-03-25Merge StorageWindow into InventoryWindowJared Adams1-2/+1
Reviewed-by: Chuck Miller
2010-03-02Fix crash after viewport has been deletedJared Adams1-14/+9
2010-03-02Revert "Merge WindowContainer into Viewport and remove extra members"Jared Adams1-1/+12
This reverts commit 67e678094b9fddd21fb3c690130e772937ab2746. Conflicts: src/gui/gui.cpp src/gui/viewport.cpp
2010-03-01Merge WindowContainer into Viewport and remove extra membersJared Adams1-12/+1
Reviewed-by: Chuck Miller
2010-02-28Fix item pickupJared Adams1-2/+6
Reviewed-by: Freeyorp
2010-03-01Check and create screenshot directory only when a screenshot is madeBernd Wachter1-1/+11
2010-02-27Use appShort in screenshot nameJared Adams1-1/+2
Reviewed-by: http://pastebin.ca/1815165
2010-02-27No point in calling Viewport::setMap(0) before deleting itThorbjørn Lindeijer1-3/+0
Reviewed-by: Jared Adams
2010-02-26Fix calling setMap on deleted viewportAndrei Karas1-1/+1
Signed-off-by: Jared Adams <jaxad0127@gmail.com>
2010-02-24Fix talk request flood.Andrei Karas1-1/+2
Fix talk request flood from keyboard. Fix duplicate lines in NPC dialogs. Signed-off-by: Jared Adams <jaxad0127@gmail.com>
2010-02-24Move StorageWindow to instancing intead of globalJared Adams1-3/+0
Also make storage under eAthena more flexible. Reviewed-by: Dennis Friis
2010-02-23Fixed compile on WindowsThorbjørn Lindeijer1-2/+0
Reviewed-by: Bernd Wachter
2010-02-21Made tick counter and framerate limiter work during login sequenceThorbjørn Lindeijer1-141/+22
Much code was moved from main() to the new Client::exec(). This new event loop now integrates with the Game class, so that the tick counter and framerate limiter apply universally. The Client class is also responsible for some things that used to be global variables. Mantis-issue: ...
2010-02-22Modify copyright headersFreeyorp1-1/+2
2010-02-20License header update for The Mana ClientThorbjørn Lindeijer1-4/+3
2010-02-14Fixed windows appearing below the viewport when opened before getting inTametomo1-0/+1
game. Signed-off-by: Tametomo <irarice@gmail.com>
2010-02-14Don't create the viewport until it's really needed.Tametomo1-0/+10
Signed-off-by: Tametomo <irarice@gmail.com>
2010-02-13Make NPC dialogs instance instead of globalJared Adams1-46/+17
This change allows players to talk to multiple NPCs at a time (if the server agrees). Manaserv's netcode allows multiple commerce instances too. eAthena's is limited to one commerce instance, due to protocol limitations.
2010-02-13Moved keyboard input polling outside of the clock time loop. This isn'tTametomo1-1/+2
necessary so long as you're at least getting 1-2 fps (which would result in a typing speed between 60-120 wpm). Even then, you've got more serious things to be thinking about at that point than if all of your input is being tracked, and having it inside the clock time loop just cuts performance for everyone else. This loop should get removed altogether, but there are a few items left in it at the moment which would need to get reworked first before it can be eliminated. In cases where you can't accurately know where something would be because it's random, we should just scale the random formulas to take a more drastic adjustment to compensate for that lag. Signed-off-by: Tametomo <irarice@gmail.com> Manual-merge-by: Thorbjørn Lindeijer <thorbjorn@lindeijer.nl>
2010-02-12Add outfits wear and copy keys in settingsAndrei Karas1-65/+52
2010-02-08Merge PartyWindow and GuildWindow into SocialWindowJared Adams1-36/+32
2010-02-07Use SDL_gfx to limit the framerateThorbjørn Lindeijer1-28/+12
Makes sense if we depend on SDL_gfx anyway, and it seems to do a better job at it than the code we had.
2010-02-06Merged the Engine class into the Game classThorbjørn Lindeijer1-14/+90
There was little point in keeping the Engine class separate. It wasn't an engine at all, but only kept track of the currently active map, a job more suitable for the Game class anyway.
2010-01-31Unify eAthena and manaserv support in to one build.Daniel Bradshaw1-2/+2
Finish support for server types in the server dialog. Using the new server type function, strip out ifdefs, replacing them with if blocks for later merging in smaller atomic commits. Remove any remaining references to the support defs, including in build system.
2010-01-27Added mutators/accessors to being.h and smal cleanups.Bertram1-1/+1
2010-01-26Fix a few more _SUPPORT ifdefs and namespace PartyTabJared Adams1-5/+1
2010-01-18Unified BeingManager::findNearestLivingBeing for eAthena and manaservThorbjørn Lindeijer1-7/+2
It now always works with pixels.
2010-01-13Adds a follow manager for usersBlueSansDouze1-0/+4
Right click contextual menu on player "follow" entry Cancel the following by moving with mouse or keys Adds a special behavior for map changes
2010-01-12Standardize header orderJared Adams1-5/+7
Also remove some extra new lines and fix eAthena's PartyTab define guards.
2010-01-11Cleanup GUI classesJared Adams1-2/+2
Moved remaining widgets into widgets folder, standardized include order, moved TextRenderer out.