Age | Commit message (Collapse) | Author | Files | Lines |
|
The "Unspecified" gender was causing some older players to be invisible
since no sprites were displayed at all. I think this is a bug in TMWA,
which should never send SEX::UNSPECIFIED for player characters, but
while this bug exists we can make sure to map this to Gender::Neutral
(renamed from "Hidden").
The Gender::Unspecified value was removed entirely because it never
makes sense for beings. One "neutral" value should be enough.
|
|
TMWA supports a "neutral" gender, which in Mana client maps to "hidden". In
The Mana World, it means a player character is not displayed as clearly male
or female, using a dedicated base sprite with more underwear.
It is not possible to choose the neutral gender on account registration or
character creation. In TMW, these choices are not actually relevant anyway
and could probably be removed.
Fixes #114
|
|
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.
|
|
Sometimes I've used CamelCase and sometimes SNAKE_CASE for these values.
Since "enum class" values are always prefixed with the enum name, which
uses CamelCase, I find it more fitting to use it for the values as well.
Also fixes compilation on Windows where 'ERROR' was conflicting with a
define.
|
|
The GM command @class (alias @charclass) can be used by GMs to change
their character class (also referred to as job, race, base or species).
Changes of the class are now supported, even supporting switching
between appearing as player, monster or NPC.
Part of https://git.themanaworld.org/mana/mana/-/issues/92
|
|
* 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
|
|
This change fixes hair style to take into account "race", which makes
the faces visible again. Hair colors should also be fixed now, with
partial support for itemcolors.xml added.
The Mana client now also supports per-character gender, and it now hides
the hair style and color buttons on character creation, when there are
none to choose from.
Closes #43
|
|
* The code defining the message IDs and sizes are now generated by the
tools/protocol.py script in the tmwAthena repository.
* Reduced client version from 20 to 6, because that is currently the
minimum supported version, and any adjustments needed for later likely
still need to be made.
* Removed use of no longer handled messages:
- CMSG_SKILL_USE_BEING
- CMSG_SKILL_USE_POSITION
- CMSG_SKILL_USE_MAP
- SMSG_PARTY_MOVE
- CMSG_WHO_REQUEST
- SMSG_WHO_ANSWER
- SMSG_MVP
- SMSG_BEING_MOVE2
- SMSG_BEING_CHANGE_LOOKS
* Some messages were renamed to match the server side
- CMSG_PLAYER_ATTACK -> CMSG_PLAYER_CHANGE_ACT
- CMSG_PLAYER_RESTART -> CMSG_PLAYER_REBOOT
- SMSG_ADMIN_IP -> SMSG_BEING_IP_RESPONSE
Part of addressing issues #55 and #47, which we now know are about
handling SMSG_PLAYER_HP and SMSG_NPC_COMMAND respectively. The client
will now ignore them (with a warning) instead of crash.
|
|
modernize-use-auto
modernize-use-nullptr
modernize-use-override
modernize-use-using
|
|
This option was added in ManaPlus and support for it is required to
connect to The Mana World as it is currently set up, since the server
sends 127.0.0.1 for the character server and map server IP.
Can't play yet, because of an unknown packet 0x226 being received once
connecting to the map server.
|
|
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
|
|
This way it can also be used when connecting to a tmwAthena server for
customizing the min/max of attributes and the amount of starting points.
Mantis-issue: 501
Reviewed-by: Ablu
|
|
There wasn't a whole lot gained by sharing a common base class, and it makes
extending the manaserv Message{In,Out} classes with a debugging mode
unnecessarily complicated.
Reviewed-by: Yohann Ferreira
|
|
- 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
|
|
|
|
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
|
|
Reviewed-by: Ablu
|
|
This was introduced since Crush updated his mana lib pack.
I simply changed the names to avoid a collision.
Reviewed-by: Ablu.
|
|
- Made the map teleport distance fixed for manaserv.
- Small cleanups.
The branch is considered reviewed by: Cody.
Resolves Mana-Mantis: #74.
|
|
Also fix position of being names.
Reviewed-by: Bertram
|
|
This was made in favour of the manaserv way of doing things.
I also added a way to keep the original server speed value
so the pixel value can be recomputed at each map change, as this
was necessary since the speed is given before the first map
is loaded.
The code is much more simpler now about movement handling,
and we can already see improvements on other characters
movements in The Mana World with this.
Everything can't be perfect the first time; here are bugs
identified so far:
- Monsters direction isn't updated on TmwAthena for obscure reasons.
- Remote players walking animation is sometimes reset on each steps.
- When changing map, the local player sometimes walks randomly
until the player reacts.
Stay tuned!
|
|
Conflicts:
src/actorspritemanager.h
src/beingmanager.cpp
src/game.cpp
src/gui/beingpopup.cpp
src/gui/chat.cpp
src/gui/chat.h
src/gui/inventorywindow.h
src/gui/itempopup.cpp
src/gui/socialwindow.cpp
src/gui/statuswindow.cpp
src/gui/widgets/chattab.cpp
src/gui/widgets/chattab.h
src/net/tmwa/inventoryhandler.cpp
src/net/tmwa/partyhandler.cpp
src/party.cpp
src/sound.cpp
src/utils/stringutils.cpp
src/utils/stringutils.h
|
|
How to reproduce the bug: Switch the login to an account with
fewer characters. Then those character slots are not empty, but
show characters from the previous account.
Reviewed-by: thorbjorn
|
|
Handling moved from LocalPlayer to PlayerInfo class
Event system used to update windows
Reviewed-by: Jared Adams
|
|
Conflicts:
data/graphics/CMakeLists.txt
data/graphics/Makefile.am
src/client.cpp
|
|
Also fix a small compilation error sometimes reported.
Reviewed-by: Chuck Miller
|
|
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
|
|
accordingly.
This makes room for the actual eAthena protocol future inclusion.
|