summaryrefslogtreecommitdiff
path: root/src/client.cpp
AgeCommit message (Collapse)AuthorFilesLines
2024-02-19Updated PhysicsFS API usageThorbjørn Lindeijer1-47/+9
Unfortunately, since we're making a difference between config and data, and also want to know where to write screenshots, we can't get rid of PHYSFS_getUserDir entirely. We'd need a replacement to get rid of the deprecation warnings. Also removed copying of old config file at "/.tmw/config.xml".
2024-01-26Apply C++11 fixitsThorbjørn Lindeijer1-21/+21
modernize-use-auto modernize-use-nullptr modernize-use-override modernize-use-using
2024-01-26Disable "opengl" by default and remove unused "hwaccel" optionThorbjørn Lindeijer1-3/+2
Since we now use SDL2, OpenGL is used through the SDL2 API. This appears to work very well and handles resizing better (with less flicker). Our manual OpenGL rendering code is probably obsolete. The "hwaccel" option referred to hardware accelerations supported by SDL1 and is no longer relevant.
2024-01-25Minor includes cleanupThorbjørn Lindeijer1-5/+0
2024-01-25Ported to SDL2Thorbjørn Lindeijer1-59/+62
2024-01-24Fixed potential crash on exitThorbjørn Lindeijer1-2/+1
2013-05-22paths.xml content is now read from settings.xmlPrzemysław Grzywacz1-3/+0
2013-05-07items.xml can be used from settings.xmlPrzemysław Grzywacz1-16/+8
2013-05-04Client-side settings are now available from settings.xmlPrzemysław Grzywacz1-12/+8
2013-04-27Added support for charcreation.xml settingsThorbjørn Lindeijer1-0/+3
This file was introduced by ManaPlus as a way of configuring the character creation process. It defines the number of hair styles and colors, how stat points should be divided and what the starting equipment of the player is. The minimum and maximum hair color/style IDs are not supported at the moment. This is mostly a backport of ManaPlus commits 10cf52b5 and dcc18eba, with some style changes. Mantis-issue: 501 Reviewed-by: Ablu
2012-08-11Removed two unused variablesThorbjørn Lindeijer1-3/+0
Reviewed-by: Erik Schilling
2012-08-05Enable OpenGL by default on all platformsThorbjørn Lindeijer1-5/+1
Before it was only enabled by default for Mac. Reviewed-by: Erik Schilling
2012-02-18Added notification sound on receiving whisperThorbjørn Lindeijer1-1/+2
One of the sound channels is reserved for notification sounds, of which the volume can be configured separately. Currently, the only notification sound that is played is for receiving whispers. That can be extended later. The newmessage.ogg sound used currently is the one for receiving a message with the Psi instant messenger. Parts of this patch are based on the new message notification in ManaPlus. Reviewed-by: Erik Schilling
2012-02-09Allow changing fullscreen resolution without restartThorbjørn Lindeijer1-15/+22
Unified Graphics:setFullscreen and Graphics:resize into a single Graphics:changeVideoMode function that tries to restore the existing mode when changing to the new mode didn't work, and exists with an error when that also fails. Split up handling of SDL_VIDEORESIZE and the adapting to new resolution in the Client class, so that the second part could also be called when changing resolution fullscreen mode. The Video tab in the Setup window now also filters out any modes smaller than 640x480 since the game won't properly adapt to that resolution anyway. Reviewed-by: Yohann Ferreira
2012-02-04Removing password from memoryStefan Dombrowski1-1/+2
If the player switches login, then the password field in the login window should be empty. This was not the case after registering or password change. Reviewed-by: Ablu, Bertram
2012-02-03Changed the setup button at login stage to use the icon.Yohann Ferreira1-1/+3
I also made the button not readjust its size when deleted to avoid a crash. Reviewed-by: Erik Schilling
2012-02-02Fix to the hair colors and styles handling.Yohann Ferreira1-4/+4
- I made the charCreatedialog handle a possible max permitted color Id and a minimum hair style id for tA. - Added a foundation to later load the styles and colors from the same file, to handle the Mana-issue #224 for manaserv. - Support for non-contiguous hair color and style ids has also been added. - I also replaced the < and > arrow signs with images. Reviewed-by: Ben Longbons, Thorbjørn Lindeijer
2012-01-28Make command line choose character only work onceThorbjørn Lindeijer1-0/+4
Previously it was interfering with the 'switch character' functionality. Reviewed-by: Erik Schilling
2012-01-26Updated copyrights to 2012Thorbjørn Lindeijer1-1/+1
2012-01-26Remember the window size after resizingThorbjørn Lindeijer1-0/+5
Makes sure that the client starts up again in the same size. Reviewed-by: Erik Schilling
2012-01-24Stream music files directly from the archivesThorbjørn Lindeijer1-5/+6
Use Mix_LoadMUS_RW to stream music files directly from PhysFS. I kept around ResourceManager:copyFile for now, since it may have other uses. Also cleaned up some initialization of configuration defaults. Reviewed-by: Yohann Ferreira
2012-01-22Allow resizing of the game in windowed modeThorbjørn Lindeijer1-13/+40
Window positions are semi-smartly corrected as a result of the resize. Not supported when using OpenGL on Windows for now. Reviewed-by: Yohann Ferreira
2012-01-18ColorDB -> HairDB.Yohann Ferreira1-3/+3
This will ease the reading of the next patch about hair handling at character creation time in tAthena. As requested by bjorn. Reviewed-by: bjorn
2012-01-16Renamed some file names for consistency with the class namesThorbjørn Lindeijer1-3/+3
This was already done by ManaPlus. It's a good idea anyway and it makes comparing the code a little easier. Reviewed-by: Yohann Ferreira
2012-01-10player_node -> local_playerYohann Ferreira1-2/+2
Reviewed-by: Ablu
2012-01-09Made the client able to remove the port from update urls.Yohann Ferreira1-33/+21
Resolves: Mana-Mantis #381. Reviewed-by: Ablu.
2011-10-25Change the wrong, but mostly supported WIN32 macro to the correct _WIN32, ↵Bernd Wachter1-9/+9
enforced by -std=c++0x Reviewed-by: Thorbjørn Lindeijer
2011-06-02Arbitrary code cleanupsThorbjørn Lindeijer1-3/+3
Just some stuff that piles up while "looking" at the code, which eventually gets annoying to ignore while staging real changes. * Replaced a few NULL occurrences with 0 * Rely on default parameter for std::vector::resize. * Replaced a few "" with std::string() * Prefer .empty() to == "" * Removed a few comparisons with NULL * Don't check pointers before deleting them * Removed a bunch of redundant semicolons * Made some global variables static (local to their compilation unit) * Prefer prefix ++/-- operators to postfix versions when possible * Corrected location of a comment
2011-05-04Avoid mixing the system login music with the existing song in TMW.Yohann Ferreira1-1/+2
Reviewed-by: CodyMartin.
2011-04-30De-dustify the get_elapsed-time function documentation a bit.Yohann Ferreira1-8/+4
Trivial.
2011-04-27Removed unused variable 'handledEvents'Thorbjørn Lindeijer1-4/+0
At some point this variable was used to avoid limiting the framerate when user input events were coming in. This is no longer relevant now that we limit the framerate globally using SDL_gfx.
2011-04-18A bit of cleanup in the way the Client pops up error dialogsThorbjørn Lindeijer1-64/+34
No point in using mCurrentDialog for the OkDialog, since it will clean up after itself, as was pointed out in many places throughout the code. Now there are two convenience functions for popping up the OkDialog and having it change to a specified state afterwards. This also gets rid of the 4 different ActionListener classes that existed solely for this purpose. Reviewed-by: Yohann Ferreira
2011-04-11Implemented a simple non-blocking fadeOutAndPlay system.Yohann Ferreira1-0/+2
It's currently used when changing maps. Resolves: TMW-Mantis: #750. Reviewed-by: Thorbjorn.
2011-04-09Removed the Mana namespaceThorbjørn Lindeijer1-9/+9
It's just an annoyance when it's only applied to a few classes. Either we place everything in this namespace or nothing, and at the moment I don't see any rationale for placing everything in a Mana namespace. Acked-by: Jared Adams
2011-04-09Moved Channels to Mana::Event::ChannelThorbjørn Lindeijer1-6/+6
Acked-by: Jared Adams
2011-04-09Moved Events to Mana::Event::TypeThorbjørn Lindeijer1-4/+4
Acked-by: Jared Adams
2011-02-21Merge branch '0.5'Thorbjørn Lindeijer1-6/+7
Translation file updates ignored. Conflicts: src/client.cpp src/commandhandler.cpp src/gui/popupmenu.cpp src/localplayer.cpp
2011-02-21Renamed local data directory back to just "mana"Thorbjørn Lindeijer1-7/+8
This name represents the name of the client software, not the branding it received. Cleaned up the rest of the code a bit. Reviewed-by: Jared Adams
2011-02-20Renamed default branding package from mana to manasource.Yohann Ferreira1-5/+5
Resolves: Mana-mantis #236. Reviewed-by: Mpa4Hu.
2011-02-15Fix compilation on Haiku and set config and data paths for it.DarkWind1-0/+7
2011-01-27Made the windows app able to load .ico files at runtime.Yohann Ferreira1-5/+17
Now the icon extension is computed against the os, except for mac where the behaviour is left untouched. This means that the 'icons/mana' appIcon branding parameter will now load icons/mana.png files for unices, and icons/mana.ico for Windows. Reviewed-by: Trapdoor. Resolves: Mana-Mantis: #135.
2011-01-27Made the windows app able to load .ico files at runtime.Yohann Ferreira1-5/+17
Now the icon extension is computed against the os. This means that the 'icons/mana' appIcon branding parameter will now load icons/mana.png files for unices and mac, and icons/mana.ico for Windows. Reviewed-by: Trapdoor. Resolves: Mana-Mantis: #135.
2011-01-24Refactored the item loading in a more extensible and per protocol way.Yohann Ferreira1-1/+13
This will greatly help into upgrading the need of each protocol separately. This is the first step to a new item and equipment system for manaserv. A subclassing of the EquipmentWindow will be done in the next commit, as requested by Thorbjorn. Reviewed-by: Thorbjorn.
2011-01-13Made the client handle better the lack of items.xml file.Yohann Ferreira1-1/+22
Now the client returns to server choice dialog with a warning instead of aborting. I'm kinda certain I'm not the only one getting crazy with such a lazy behaviour. Reviewed-by: Jaxad.
2010-11-13Replace config listeners with the event systemChuck Miller1-7/+18
Reviewed-by: Jared Adams
2010-11-11Replace Event names with enums instead of stringsChuck Miller1-2/+2
2010-11-11Have the event system channels use enums instead of stringsChuck Miller1-2/+2
Reviewed-by: Freeyorp
2010-11-02Adding double-click to server dialog and world select dialogStefan Dombrowski1-0/+16
This resolves http://bugs.manasource.org/view.php?id=259 Reviewed-by: Thorbjorn
2010-11-01Merge branch '0.5' of gitorious.org:mana/manaYohann Ferreira1-23/+77
Conflicts: src/being.cpp src/client.cpp src/commandhandler.cpp src/gui/setup_video.cpp src/gui/socialwindow.cpp src/gui/viewport.cpp src/gui/widgets/browserbox.cpp src/gui/widgets/itemcontainer.cpp src/imageparticle.cpp src/localplayer.cpp src/localplayer.h src/map.cpp src/net/tmwa/beinghandler.cpp src/particle.cpp src/particle.h src/player.cpp src/player.h
2010-10-22Changed 'Low CPU' options and related gui widgets name to 'Disable ↵Yohann Ferreira1-2/+2
transparency'. That name is more explicit about what it actually does. Reviewed-by: CodyMartin.