Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
|
|
This is based on the information given by the server which now
permit resyncs when necessary.
Reviewed-by: Thorbjorn.
|
|
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
|
|
Reviewed-by: Stefan Dombrowski
|
|
The protocol uses ERRMSG_EMAIL_ALREADY_EXISTS instead.
Reviewed-by: Jaxad0127
|
|
- Removed unnecessary comments
- Removed a useless contains() check in getTileCenter()
- Fix the above function documentation
- Don't permit FloorItem to be created without a map object.
Reviewed-by: Thorbjorn Lindeijer.
|
|
The new destination wasn't sent correctly since the destination
was centered but checked pixel exact afterward.
Now the destination check has been adapted for tile-wise
implementation, leading to an almost desync free movement.
Hurray!
|
|
That simply make the game a bit more realistic as I saw many
archers back fire arrows lately ;)
Plus, that's what the servers should expect.
|
|
We're now using it when picking up items.
Also, de-overnested the Game::handleInput() function when
handling pickups.
|
|
It's currently used when changing maps.
Resolves: TMW-Mantis: #750.
Reviewed-by: Thorbjorn.
|
|
1 action per second was annoyingly slow.
Reviewed-by: Thorbjørn Lindeijer
Reviewed-by: Yohann Ferreira
|
|
Reviewed-by: Thorbjørn Lindeijer
|
|
|
|
I have to admit I contributed a large part of these. Sorry for that.
Less empty space, more attention to the code.
Acked-by: Jared Adams
|
|
Makes it clear what kind of listener it is, since there are other
listener classes as well.
Acked-by: Jared Adams
|
|
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
|
|
Reviewed-By: Jared Adams
|
|
|
|
How to reproduce the bug:
* Delete a character.
* Create a new character in another slot.
* Now the deleted character reappears.
Also fixing handling of error messages from character select response.
This resolves http://bugs.manasource.org/view.php?id=322
Reviewed-by: Jaxad0127, VUT
|
|
I also precised the find/Pixel/Tile/Path() documentation.
|
|
The position is centered to the nearest tile center in tA.
|
|
and made use of it through the tA code.
I also remove the obsolete TODO in the flooritem class.
|
|
- Removed another bogus comment.
- Made functions used only in the tA::beinghandler static.
- Don't init the destination to an irrelevant value
in being::setDestination()
|
|
- 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.
|
|
Also made the destination equal to the desired position
in that case since it's what the tA server expects.
This fixes monsters going to strange destinations while fighting
them, and makes it all much smoother.
|
|
|
|
Reviewed-by: thorbjorn
|
|
Conflicts:
CMakeLists.txt
po/pt_BR.po
po/ru.po
src/winver.h
|
|
|
|
|
|
The character picks up one item at a time (to remain kinda realistic)
and turns to the item picked up.
|
|
|
|
The code was simplified a bit, too.
|
|
The attack range is still hardcoded for Manaserv as long
as generic equipment handling hasn't been implemented.
|
|
Luckily or not, the code did the intended without even
being right. :)
|
|
This avoids code duplication.
|
|
I made it so that the behaviour can be changed with only
a boolean setting in the playerhandler.
|
|
by removing a now useless reset in the beinghandler.
Also added checks for flawed directions.
|
|
The attack range is always the default for manaserv, as proper
equipment handling is to be added.
Anyway, now the proper attack range is handled in tmwAthena
and is always set a proper minimum for both protocols.
|
|
This fixes the bug about monsters direction not being updated.
The good news is that the bug was also present for Manaserv
and is now corrected.
I also moved back the ActorSprite::logic() call at its initial
place.
|
|
Also fixed again a condition in Being::logic().
I'll beautify the code in tmwAthena:Beinghandler once everything
will be working better.
Note: I also suspect current clients to flood the server with
keyboard messages, hence blocking the animation when they are remote.
I'll need to test that with someone having the same client than here..
|
|
Should be invisible on behaviour change.
|
|
Also removed dead code.
|
|
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!
|