Age | Commit message (Collapse) | Author | Files | Lines |
|
By using SDL logging, we can rely on SDL to filter the log messages by
their priority before they get sent to our custom output function. For
example, we now no longer get entries for created and destroyed Window
instances by default, since these have only "debug" priority whereas the
default priority for the "app" category is "info".
We can also get log messages raised by SDL itself in our log now. Log
levels can be controlled per category through the "SDL_LOGGING"
environment variable.
Many existing log messages have been assigned a category based on their
existing prefix.
|
|
All ResourceManager functions that load resources now return respective
ResourceRef values, which helps to make sure resources are properly
cleaned up.
The Sound class was cleaned up and now also allows SoundEffect resources
to be unloaded.
The Animation class now keeps its ImageSet loaded only as long as
necessary. Previously, SimpleAnimation and ParticleEmitter would keep
the ImageSet loaded indefinitely by never decreasing its reference
count.
Reduced duplicated animation loading code between SimpleAnimation and
ParticleEmitter.
|
|
Slightly more ergonomic and this eliminates direct libxml2 usage from
many places.
|
|
The new XML::Children class enables using a C++11 range-based for loop
to iterate over the children of an xmlNodePtr.
|
|
* Use final for all message handlers, Client, LocalPlayer,
Being::getType, Being::setPosition and Being::setMap.
(avoids some warnings about virtual dispatch in constructors)
* Use auto in more places
* Use emplace_back instead of push_back in some places
* Use default member initializers
* Less else after return
* Removed superfluous .c_str()
* Removed type aliases that are only used once
* Removed more unused includes
|
|
modernize-loop-convert
modernize-deprecated-headers
|
|
modernize-use-auto
modernize-use-nullptr
modernize-use-override
modernize-use-using
|
|
Reviewed-by: bjorn.
|
|
Reviewed-by: Bjorn.
|
|
|
|
This happened when an NPC, monster or item couldn't be found and it had
to fall back on Being::Unknown. This instance was bugged since it had a
0 pointer in its sprites list, because when the Being::Unknown was
created, the SpriteDef::Empty was not initialized yet (since both were
global static variables, the initialization order was not well
defined).
Fixed it by removing SpriteDef::Empty and instead creating it in the
BeingInfo constructor. I've also changed the SpriteReference instances
to be inline values rather than instances on the heap, since they're
quite small. That also fixed a leak since those instances were never
getting deleted.
Reviewed-by: Yohann Ferreira
|
|
When including a file that already is included the client won't try to load it
again and end in an endless loop but stops parsing and logs and warning.
Reviewed-by: bjorn.
|
|
Now the death animation is set to the minimum of 1.5 seconds
just as in the older versions, but permit longer sequences
as well.
I didn't put a maximum hard cap on it as it may be a burden
for the maintainers whatever the hard cap would be,
and as it isn't vital to set one anyway.
Resolves: Mana-Mantis #364.
Reviewed-by: bjorn, Jaxad0127.
|
|
Reviewed-by: Yohann Ferreira
|
|
Conflicts:
CMakeLists.txt
po/fi.po
po/fr.po
src/gui/skilldialog.cpp
src/localplayer.cpp
src/net/manaserv/generalhandler.cpp
src/net/tmwa/buysellhandler.cpp
src/net/tmwa/generalhandler.cpp
src/net/tmwa/playerhandler.cpp
src/net/tmwa/specialhandler.cpp
src/winver.h
|
|
Reviewed-by: Bertram
|
|
Pass std::string as const & when it makes sense.
|
|
The old behaviour was to load the weapon-type value and do many
unnecessary checks and transformation on it:
The weapon-type was transformed using hard-coded values into
an integer enum value.
The exact same thing was done on the opposite side in the animation
files before comparing the two.
As both data were string values, I simplified all of it by using
the value taken in items.xml to call the corresponding action.
This now also permit to set up new attack animation in items.xml
and in the playerset.xml without having the need
to modify the client code.
Last but not least, the weapon-type value was used by both the skills
and the actions and avoided the possibility to set up a definite action
for a weapon-type.
Note: The weapon-type parameter will become deprecated for the server
in favor of a 'skill' parameter to reflect more it's actual use.
This patch is the first step to fix Manasource issue: #157.
|
|
Please note that I didn't turned all the getValue() call into new ones,
simply because I have to have config object initiated which is not
forcefully the case the branding file.
Resolves: Manasource Mantis #170.
|
|
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
|
|
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.
|
|
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
|
|
|
|
|
|
Also added the update copyright tool from the Wormux Team.
( And not forgetting credit's due. :P )
|
|
Also remove some extra new lines and fix eAthena's PartyTab define guards.
|
|
|
|
There is also a new rule that trivial constructors and destructors
should no longer be trivially "documented", since this just takes up
space with no gain.
|
|
Mostly putting & and * in the right place and making some getters const.
|
|
|
|
This merge involved major changes on both sides, and as such took
several weeks. Lots of things are expected to be broken now, however, we
now have a single code base to improve and extend, which can be compiled
to support either eAthena or tmwserv.
In the coming months, the plan is to work towards a client that supports
both eAthena and tmwserv, without needing to be recompiled.
Conflicts:
Everywhere!
|
|
When not passing any parameters to constructors, there is no reason for
using parenthesis.
|
|
|
|
Conflicts:
Almost everywhere.
|
|
This dates back to the old days of TMW, but the usage instructions of
GPLv2 don't mention this being necessary. Since it doesn't add anything,
avoid the branding in these sections.
|
|
This dates back to the old days of TMW, but the usage instructions of
GPLv2 don't mention this being necessary. Since it doesn't add anything,
avoid the branding in these sections.
|
|
the function names should no longer be around.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
Mainly making sure 'const std::string &' is used everywhere instead of
'std::string const &'. The former has always been the preferred order in
this project.
(cherry picked from mainline)
|
|
Mainly making sure 'const std::string &' is used everywhere instead of
'std::string const &'. The former has always been the preferred order in
this project.
|
|
|
|
statements, as well as removing the new skill dialog, which we do not,
nor will we use (if we do, it'd be a new one that we'd make).
WARNING!!! This, and all other previous builds have a linker error for
the Gnome libraries version 4.3.2 on my setup. It's assumed that this is
also the case for other users of this library as well. I'm currently
assuming that there's a bug in the compiler itself, and will look into
reporting this, but in the mean time, it doesn't build for these users,
unfortunately. Sorry about this.
|
|
I don't know why we dealt with these things for so long. Did we ever get
anything out of it?
|
|
I don't know why we dealt with these things for so long. Did we ever get
anything out of it?
|
|
properly implemented line wrapping. Now, there are no more visual
artifacts for speech boxes, and it always chooses the most optimal box
size (which required that npc_text use it also. Do any other gui
classes use the textbox class?).
|
|
I consider this the only way forward. In my tests this code isn't actually
doing worse than what was there before. Of course some cases are a bit broken,
and I'm open to any kind of feedback so that we can fix those issues.
|
|
error messages.
|
|
|
|
|
|
https://themanaworld.svn.sourceforge.net/svnroot/themanaworld/tmw/trunk
........
r4044 | b_lindeijer | 2008-04-07 11:02:38 +0200 (Mon, 07 Apr 2008) | 2 lines
Added support for basing one sprite definition on another by including it.
........
r4057 | b_lindeijer | 2008-04-08 20:43:44 +0200 (Tue, 08 Apr 2008) | 4 lines
Implemented support for an arbitrary number of map layers. The only layer
requirement for map layers are now that the fringe layer is called "Fringe" and
that the collision layer is called "Collision".
........
r4067 | b_lindeijer | 2008-04-11 00:03:57 +0200 (Fri, 11 Apr 2008) | 3 lines
Fixed some compiler warnings and don't try to load particle effects when no
file is set.
........
|
|
problems when files with the same name are served by different update hosts,
the updates are now stored in an update host specific directory. Based on a
patch by Sanga.
|