Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Also, fixed sit to stand action change.
|
|
second in TMWserv.
While I was on it, I tweaked the default speed value to its final 6 tiles per second value,
which seems to be nice to me.
Another notice, the server does already send speed value to the player.
The keyboard movement protocol is one step ahead Release Candidate, enjoy ;)
|
|
- Making sure that keyboard and mouse are fully working on eAthena.
- Making sure the mouse code isn't broken again.
There are some glitches left but it's coming!
What's left to be fixed:
- Come a little closer to walls (localPlyer::nextStep() improvement to be done).
- Adapt the next Step range according to the being speed. (again in nextStep()).
- Handle more nicely player's direction when walking diagonally.
- Get player's speed from server.
Enjoy :)
|
|
|
|
|
|
Also removed an (now) unuseful debug piece of information.
Thanks Kage for reporting this case.
|
|
The only case left in mouse movement is that the client doesn't check
for walkability of the destination point when you click on a unwalkable point.
Let me explain this NASTY bug:
The bug remained in the Being::SetDestination() function,
when recalculating the path from tiles to pixels.
The changeX and changeY variables went crazy when (endX - startX) gave a negative value.
That why the given path became random, and the player went anywhere.
This didn't happened to monsters, NPCs, and when walking using the keyboard
because the patnodes system isn't used for movement up to 1 tile at a time.
I removed some dead code (in viewpoint.cpp), made the keyboard navigation a little
bit more bearable, and fixed this client bug.
Now, I'll be up to finish fixing the movement system using mouse (What's remaining is a joke
next to what I had to do to discover this...),
and I'll look at a third time to the keyboard system which is a bit raw, just for now...
Regards,
P.S.: Kage, I'd like to get a three-cheese pizza!
|
|
Floor Items visible even covered.
Next Step would be to add a caching system for multi-layered sprites + copy functions for SDL and OpenGL.
Then, I'll be able to finish this, by making also players visible when covered...
But Kage asked me (each and every hour) to do something else first ;)
|
|
Move stuff only needed for Players into Player (like slots and sprite
limits). Move name handling into Being (no need for three copies of
this code). Clean up terminology (including Map terminology). Remove
hair-related variables.
|
|
Trying to use the same kind of capitalization and interpunctuation
for various parts of the gui, melding a few split strings, updating
POTFILES.in and adding translators' notes.
|
|
|
|
|
|
|
|
to map.
|
|
|
|
I also removed Being::handleAttack() and Monster::handleAttack() for TMWserv since they are not used
|
|
|
|
|
|
|
|
Looked pretty good so I removed annoying debug information.
Also should note that movement between two players is still off.
|
|
|
|
This is most similar to the way 0.0.28.1 was, and the bubbles still have
some style and readability issues.
|
|
Plus some small code cleanups.
|
|
|
|
~Being does this too, so let's leave it there.
|
|
|
|
|
|
|
|
shoots them.
|
|
|
|
Also fixed positioning for emoticons above the player sprite.
Mantis-issue: 675
|
|
Started with not being able to click NPCs properly, and I ended up
correcting the draw positions of overhead text, targets and sprite
ordering.
It's now a bit more straight-forward. The position of a being is simply
in the middle of the sprite at the bottom. When drawing the sprite, an
offset remains because all the sprites are compensating for getting
drawn half a tile to the left and one tile up.
|
|
Also made mPx and mPy private and synchronize with mPos on
setPosition(). The side effects of setting destination and clearing the
path have been removed from setPosition(). Only the tmwserv
PlayerHandler seemed to rely on that feature.
Mantis-issue: 672
|
|
Conflicts:
src/beingmanager.cpp
src/gui/confirm_dialog.cpp
src/gui/inventorywindow.cpp
src/gui/inventorywindow.h
src/gui/label.cpp
src/gui/label.h
src/gui/popup.cpp
src/gui/popup.h
src/gui/scrollarea.cpp
src/gui/skin.cpp
src/gui/skin.h
src/gui/speechbubble.cpp
src/gui/window.cpp
src/gui/window.h
src/localplayer.h
src/main.cpp
src/net/ea/playerhandler.cpp
src/resources/ambientoverlay.h
src/resources/dye.cpp
src/resources/imagewriter.cpp
src/resources/itemdb.cpp
src/shopitem.cpp
|
|
|
|
dfcc6397848d4597b386b688f689352de6c19ae2
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
|
|
Conflicts:
A lot of files.
|
|
Conflicts:
Many files.
|
|
This merge involved major changes on both sides, and as such took
several weeks. Lots of things are expected to be broken now, however, we
now have a single code base to improve and extend, which can be compiled
to support either eAthena or tmwserv.
In the coming months, the plan is to work towards a client that supports
both eAthena and tmwserv, without needing to be recompiled.
Conflicts:
Everywhere!
|
|
This patch lets all being derivatives use the palette to set their
name's colors. Text Particle Effects all respect the new settings. Some
widgets were updated to use the colors.
|
|
This patch lets all being derivatives use the palette to set their
name's colors. Text Particle Effects all respect the new settings. Some
widgets were updated to use the colors.
|
|
from TMW broke this, as it deleted the Being::load() method, which also
loaded the hair styles). Also removed some unused variables in the being
class.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
The client can now differentiate between the following hit types:
- hit (normal)
- critical (full attack)
- multi (more than one hit at once, currently not used)
- reflect (reflected damage, currently not used)
- flee (dodging criticals)
The Being's showCrit method is now merged into takeDamage.
Being's takeDamage and handleAttack now both get the opponent, the amount of
damage and the attack type as parameter.
|