summaryrefslogtreecommitdiff
path: root/src/net/tmwa
AgeCommit message (Collapse)AuthorFilesLines
2011-09-28Got rid of the superfluous definition of the slot number for tA.Yohann Ferreira1-2/+4
2011-09-15Improve handling of packet lengths.Ben Longbons1-42/+46
* Use a symbol, VAR, instead of -1 for variable-length packets. * Also change it's value to 1, so the length can be properly unsigned. Note: A packet can't actually have length 1, since packet ID is 2 bytes. * Use correct type (uint16_t) for packet id and length in more places. * Avoid reading beyond the length of the array. * Immediately parse variable length packets with length 4 (i.e. no body) instead of waiting for another byte to arrive first. Reviewed-by: Thorbjørn Lindeijer <thorbjorn@lindeijer.nl>
2011-09-15Instead of SDL_mutex, use Mutex wrapper and MutexLocker for safetyBen Longbons2-23/+12
Reviewed-by: Thorbjørn Lindeijer <thorbjorn@lindeijer.nl>
2011-09-13Made the delay between to keyboard move calls functional.Yohann Ferreira2-0/+8
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. Reviewed-by: o11c.
2011-07-01make update-po + gettext special comment added.Yohann Ferreira1-0/+5
I added the //xgettext:no-c-format comment because gettext was wrongly guessing the no-c type of those strings. Nicely suggested by Byakushin a lot of time ago.
2011-06-24Made use of the attack speed sent by the tA server.Yohann Ferreira1-2/+5
Part of issue #343.
2011-06-23Fixed type in the guildhandler message as reported by Der Loisl.Yohann Ferreira1-1/+1
Thanks for the report. :) Resolves: Mana-issue: 367.
2011-06-22Applied fixes requested by cody.Yohann Ferreira3-5/+5
- Made the map teleport distance fixed for manaserv. - Small cleanups. The branch is considered reviewed by: Cody. Resolves Mana-Mantis: #74.
2011-06-16Remove useless ping packetBen Longbons3-16/+0
The comment in game.cpp about the server waiting for this is a lie. Reviewed-by: Bertram.
2011-06-04Fixing movement on tAStefan Dombrowski1-2/+2
Signed-off-by: Jared Adams <jaxad0127@gmail.com>
2011-06-04Revert "Fix sending coordinates for tmwAthena"Jared Adams1-12/+6
This reverts commit d2c548e091f203196d93c011fc65944fb1cdc986.
2011-06-04Fix sending coordinates for tmwAthenaJared Adams1-6/+12
2011-06-04Fix handling of 16- and 32-bit number in tmwAthena netcodeJared Adams2-8/+29
2011-06-03Replace SDL_types.h with cstdintJared Adams10-33/+20
This required moving to C++0x, so it does that too, and fixes a few errors with that. Reviewed-by: Thorbjørn Lindeijer <thorbjorn@lindeijer.nl>
2011-06-03Cleanup network code to use unsigned integers of the relevant sizeBen Longbons4-59/+30
2011-06-02Arbitrary code cleanupsThorbjørn Lindeijer4-21/+11
Just some stuff that piles up while "looking" at the code, which eventually gets annoying to ignore while staging real changes. * Replaced a few NULL occurrences with 0 * Rely on default parameter for std::vector::resize. * Replaced a few "" with std::string() * Prefer .empty() to == "" * Removed a few comparisons with NULL * Don't check pointers before deleting them * Removed a bunch of redundant semicolons * Made some global variables static (local to their compilation unit) * Prefer prefix ++/-- operators to postfix versions when possible * Corrected location of a comment
2011-05-30Remove some uneeded offsettingJared Adams1-1/+1
Also fix position of being names. Reviewed-by: Bertram
2011-05-28Fixing setting of being positionStefan Dombrowski1-2/+3
2011-05-26tmwAthena supports 9 characters per accountJared Adams1-5/+1
2011-05-15Starting to fix party inviteStefan Dombrowski1-1/+1
2011-05-09Remove or comment duplicate tmwA packets, and fix a typoBen Longbons2-8/+6
Signed-off-by: Jared Adams <jaxad0127@gmail.com>
2011-05-02Remove an unused variable in packet handling.Jared Adams1-2/+2
Trivial change, no review needed.
2011-04-30Merge branch '0.5'Yohann Ferreira5-14/+40
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
2011-04-29Made the client load the skills.xml again.Yohann Ferreira1-1/+1
This, instead of the protocol specific filenames that are mana-skills.xml and ea-skills.xml. This is backward compatible as the old skills.xml file was once used before the 0.0.29.1 release which is the last alive from the 0.0.x serie. The skills.xml will have to added to world data to make this working, though. (Done in another patch.)
2011-04-27Fixing crash when selecting a character that has a Dark Talisman equippedStefan Dombrowski2-1/+4
This resolves http://bugs.manasource.org/view.php?id=330 Reviewed-by: Bertram
2011-04-26Made the client use a unique kind of movement code.Yohann Ferreira8-52/+188
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.
2011-04-14Add missing auth failure reasonsBen Longbons1-0/+9
2011-04-12Limit the number of pick-up packets to avoid kick from the serverStefan Dombrowski1-0/+5
Reviewd-by: Thorbjorn
2011-04-11Removing annoying NPC trade messages from chatStefan Dombrowski2-15/+15
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
2011-04-09Removed a lot of useless "documentation"Thorbjørn Lindeijer3-7/+2
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
2011-04-09Renamed Listener to EventListenerThorbjørn Lindeijer4-7/+7
Makes it clear what kind of listener it is, since there are other listener classes as well. Acked-by: Jared Adams
2011-04-09Removed the Mana namespaceThorbjørn Lindeijer10-67/+67
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
2011-04-09Moved Channels to Mana::Event::ChannelThorbjørn Lindeijer9-31/+31
Acked-by: Jared Adams
2011-04-09Moved Events to Mana::Event::TypeThorbjørn Lindeijer7-30/+30
Acked-by: Jared Adams
2011-03-29Made the flooritems position set back in pixels.Yohann Ferreira1-3/+11
The position is centered to the nearest tile center in tA.
2011-03-29Added the Map::getTileCenter() convenience function.Yohann Ferreira2-31/+19
and made use of it through the tA code. I also remove the obsolete TODO in the flooritem class.
2011-03-28Random cleanups - Part 2Yohann Ferreira1-5/+5
- 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()
2011-03-28Random code cleanups requested righteously by Thorbjorn - part 1.Yohann Ferreira3-19/+9
- 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.
2011-03-28Added some tolerance on the tA being position message.Yohann Ferreira1-1/+11
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.
2011-03-17Simplified the get/setAttackRange() functions as requested.Yohann Ferreira1-2/+2
The attack range is still hardcoded for Manaserv as long as generic equipment handling hasn't been implemented.
2011-03-17Handle ta move and position message in a more generic way.Yohann Ferreira1-86/+47
This avoids code duplication.
2011-03-17Now the client centers the pixel positions when using tA.Yohann Ferreira1-0/+3
I made it so that the behaviour can be changed with only a boolean setting in the playerhandler.
2011-03-16Fixed the bug with remote player movement animation,Yohann Ferreira1-7/+9
by removing a now useless reset in the beinghandler. Also added checks for flawed directions.
2011-03-16Fixed the attack range handling for both servers.Yohann Ferreira1-1/+22
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.
2011-03-15Made the tA Beinghandler avoid dealing with flawed coordinates.Yohann Ferreira1-51/+81
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..
2011-03-15Add a tolerance check on current position to limit desyncs.Yohann Ferreira1-11/+42
Also removed dead code.
2011-03-15Implemented a screen shake effect system in the viewport class.Philipp Sehmisch1-0/+1
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.
2011-03-15Reset destination to position at warp time for TmwAthena.Yohann Ferreira1-2/+5
This fix the following bug: When changing map, the local player sometimes walks randomly until the player reacts.
2011-03-15Simplify the tmwAthena calculation of the pixel/tick speed.Yohann Ferreira1-11/+3
2011-03-15Basically merged the two movement algorithms into one.Yohann Ferreira7-35/+132
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!