Age | Commit message (Collapse) | Author | Files | Lines |
|
Previous code was assuming there would be no gaps in the emote IDs.
Also cleaned up some confusion where the "emote ID" being passed around
in the code was often offset by 1. Now it is only offset in
communication with tmwAthena and when saving the shortcuts.
|
|
It happened to me a few times. Needs checking whether we could instead
make sure we always have a Game instance when receiving this message,
because this way a map mask might get ignored.
Or maybe the map mask just needs to be stored elsewhere.
|
|
* 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.
|
|
This stuff was removed from tmwAthena, so it will never be supported.
|
|
* Removed /announce command
* Changed "Kick player" in player pop-up to kick by name
Other messages, like CMSG_ADMIN_HIDE, CMSG_ADMIN_MUTE and
CMSG_ADMIN_LOCAL_ANNOUNCE were already not used by the client. Also,
none of this was implemented for Manaserv.
|
|
* Removing unused includes
* Use member initialization
* Use range-based for loops
* Use nullptr
* Removed no longer used aliases
* Use override
* Don't use else after return
* Use '= delete' to remove implicit members
* Use std::string::empty instead of comparing to ""
|
|
This patch is not exhaustive.
|
|
Closes #51
|
|
|
|
|
|
modernize-loop-convert
modernize-deprecated-headers
|
|
A custom "Mask" property on a layer or a "foregroundXmask" property on a
map can now be used in combination with the SMSG_MAP_MASK to dynamically
disable certain map layers from the server.
Feature previously seen on ManaPlus and implemented for Mana client for
compatibility.
Also added a ResourceRef class for automating the Resource reference
counting.
Closes #44
|
|
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.
|
|
|
|
It is unclear whether there are any protocol differences that should be
dealt with at this point, but without this the login fails with "Client
too old." error.
|
|
|
|
* Fixed compiler errors due to dynamic exception specifications
* Replace std::auto_ptr with std::unique_ptr
* Replace std::mem_fun with std::mem_fn
* Prefix for_each with std:: (apparently not needed before)
* Just use lambda instead of std::bind2nd
* Removed usages of std::unary_function
|
|
The CMSG_NPC_STR_RESPONSE packet transmits a string
of variable length.
|
|
It should not return large numbers after reading past the end of a
message. This can cause infinite loops in several places in the client
when a message happened to be shorter than expected.
|
|
|
|
The delayed actor deletion was meant to be used during the logic calls,
to avoid modifying the container while it is being iterated. The
deletions happening from the network layer are not done while iterating
the set of actors, so it can delete immediately.
This fixes an issue where an NPC would disappear when changing
appearance on tmwAthena, because this was implemented as a remove + add,
which broke due to the delayed deletion.
Mantis-issue: 507
Reviewed-by: Jared Adams
|
|
This is so that master and lpc2012 use the same protocol again,
where starting attributes are sent on character creation.
|
|
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
|
|
Reviewed-by: Erik Schilling.
|
|
Reviewed-by: Stefan Beller.
|
|
Server was already sending a error message. But the client ignored it.
Reviewed-by: Stefan Beller.
|
|
Reviewed-by: Thorbjørn Lindeijer.
|
|
Change is tested.
Reviewed-by: bjorn.
|
|
- shows manaserv skills at all
- shows the progress bar for manaserv skills again
- shows the level for this skills (server side patch needed)
TODO: URGENT: Fix attributes and skills getting stored in same list.
Reviewed-by: Bertram.
|
|
They are no longer sent as fixed-length string since this doesn't work
when the new protocol debugging mode is used.
Reviewed-by: Ben Longbons
|
|
|
|
This makes the client able to send and receive messages sent in debugging
mode, where the contents of the messages are annotated.
For messages sent from the client the debugging mode is currently always
enabled. Later on this could be an internal option or controlled from the
server side.
Reviewed-by: Erik Schilling
|
|
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
|
|
Also, since GCC 4.7 there is a binary compatibility issue when linking with a
Guichan that was not compiled in C++11 mode. This commit also allows compiling
with GCC 4.7 with C++11 mode turned off.
Reviewed-by: Erik Schilling
|
|
- kick code untested because no kick button exists yet
Reviewed-by: bjorn.
|
|
Reviewed-by: bjorn.
|
|
|
|
The tmwa/BeingHandler was adjusting the effect id rather than the emote
id, causing it to not find the last emote (and the rest of the emotes
only worked correctly because the effect ids were consecutive in the same
order as the emote ids).
Furthermore, the EmoteShortcutContainer refused to draw the icon for the
last emote due to an off-by-one error in dealing with the 1-adjusted
emote ids used by the EmoteShortcut class.
Also cleaned up some old remains of a player ignore strategy that used
to use the two balloon emotes (this had been their original purpose).
Reviewed-by: Erik Schilling
|
|
The Windows releases have not been properly identifying themselves, and
it seems to be due to a compiler issue, as discovered by Stefan Dombrowski
(@cody). He did a similar change but didn't push it anywhere so I've redone
it.
The line that is now split up was very preprocessor-heavy, which may have
been part of the problem, but we'll probably never know what it was
exactly.
|
|
Also added Xcode project for others to compile for Mac OSX.
Reviewed-by: Thorbjørn Lindeijer
|
|
When creating a custom server entry, the default port is used if no
other port is specified.
Reviewed-by: Thorbjørn Lindeijer
Mantis-issue: 464
|
|
Wrong define was used in the code.
|
|
I tested it with the Towel and the Wedding Ring
on the testing server.
Spotted-by: Jenalya, cody.
Reviewed-by: Erik Schilling
|
|
Reviewed-by: Ablu and Bjorn
|
|
The thanks messages got removed, because they are useless and when
selling many items they completely trashed the chat.
In Mana 0.5 this was already fixed, see commit
13c4a1131854887ac9ec83f80c7964f6b2949c87.
Reviewed-by: Ablu
|
|
I made sure the manaserv based custom server don't get deleted
when running a manaserv-less client session.
Reviewed-by: Thorbjørn Lindeijer
|
|
This shopping mechanism is not supported by this client at the moment,
and it's annoying to have these turn up in whispers.
Reviewed-by: Stefan Beller
Reviewed-by: Erik Schilling
|
|
Reviewed-by: Erik Schilling
|