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.
|
|
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
|
|
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
|
|
|
|
The patch also takes care of not spamming the different servers,
when the servers are setting the being speed correctly.
The most problems were coming from the keyboard movement functions
handling 1 tile paths. To void the issues seen in #405, #439,
and #440, I simply prevented to set a new path before reaching
the destination of the former one, when using the keyboard.
The mouse path system remains unchanged.
I also made some functions private (or here protected)
to show they shouldn't be called by something else than
the localplayer object.
And I removed the nextTile() function, since it was obsolete,
unused, and replaced by the nextTile(direction) function.
That patch was tested on both servers with mouse/keyboard
mixed use.
Resolves: Mana-Mantis #405, #439, #440.
Reviewed-by: bjorn
|
|
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
|
|
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.
|
|
It has been fixed and be made adapted
to the being movement speed.
Now, for instance, the client sends 3x times less move calls
to the tA server, and roughly 20x times for the Manaserv's one.
Resolves: Mana-Mantis #346.
|
|
- Made the map teleport distance fixed for manaserv.
- Small cleanups.
The branch is considered reviewed by: Cody.
Resolves Mana-Mantis: #74.
|
|
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
|
|
This resolves http://bugs.manasource.org/view.php?id=330
Reviewed-by: Bertram
|
|
This is fixng many issues and (hopefully) will make the movement
rendering much smoother.
Merge branch 'master' of gitorious.org:~bertram/mana/mana-movement-code-merge
Conflicts:
src/being.cpp
src/net/manaserv/beinghandler.cpp
Resolves: TMW-Mantis #946.
Reviewed-by: Thorbjorn.
|
|
Reviewd-by: Thorbjorn
|
|
The thanks messages got removed, because they are useless and when
selling many items they completely trashed the chat.
The pick-up information for money now respects the configuration.
Reviewed-by: thorbjorn
|
|
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
|
|
Acked-by: Jared Adams
|
|
Acked-by: Jared Adams
|
|
and made use of it through the tA code.
I also remove the obsolete TODO in the flooritem class.
|
|
- Fixed bogus documentation.
- Fixed Vector parameters to const Vector& where releavant.
- Removed a false comment.
- Removed superfluous headers in src/net/tmwa/beinghandler.h.
- Optimize a bit the tmwa::beingHandler::getPixelsPerTickMoveSpeed()
function.
|
|
The screen can either be "nudged" in a random direction with a specific
intensity or you can define an exact x and y intensity, decay factor and
duration. On a tmwAthena server an effect is triggered when the player
character dies. A method for stopping all shake effects is also
implemented, but not used yet. I added a netcode message for Manaserv to
trigger an effect server-sided. Because our protocol has currently no way
to transport floating point values, the decay is transported as a fixed
point value with 4 decimals which is entirely sufficient for this purpose.
|
|
This fix the following bug:
When changing map, the local player sometimes walks randomly
until the player reacts.
|
|
|
|
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!
|
|
|
|
Reviewed-by: Freeyorp
|
|
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
|
|
Reviewed-by: Thorbjorn
|
|
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
|
|
Reviewed-by: Thorbjorn
|
|
Signed-off-by: Jared Adams <jaxad0127@gmail.com>
|
|
EventManager has been merged into Event, with some new convinience methods
added.
Reviewed-by: Chuck Miller
|
|
Reviewed-by: Chuck Miller
|
|
You'll have to include it anyways 99% of the time
|
|
There is still a good way to go, but this should get us
started
Reviewed-by: Jared Adams
|
|
Handling moved from LocalPlayer to PlayerInfo class
Event system used to update windows
Reviewed-by: Jared Adams
|
|
Adds ActorSpriteListener to manage ActorSprite destruction as
recommended by Jaxad0127. This likewise includes the changes made by
Bertram.
Reviewed-by: Jaxad0127, Bertram.
Resolves: Manasource Mantis #160
|
|
Also removes the Monster/Player difference in tmwAthena's Being::logic
and moves the particle code from Being::setAttack to Being::Logic for
tmwAthena.
Reviewed-by: Chuck Miller
|
|
Conflicts:
src/beingmanager.cpp
src/beingmanager.h
src/client.cpp
src/localplayer.cpp
|
|
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
|
|
Reviewed-by: Freeyorp
|
|
accordingly.
This makes room for the actual eAthena protocol future inclusion.
|