Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
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.
|
|
Conflicts:
src/being.cpp
src/being.h
src/floor_item.cpp
src/floor_item.h
src/flooritemmanager.cpp
src/gui/inventorywindow.cpp
src/gui/inventorywindow.h
src/gui/itemcontainer.cpp
src/gui/popupmenu.cpp
src/net/beinghandler.cpp
src/npc.cpp
|
|
as some other optimizations that I could see that cut down on some
unneeded redraws, which in turn improved frame rates slightly.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
Using unsigned rarely makes sense, especially when the server doesn't
use it either. Other uses of unsigned should be reviewed.
In all other cases, int is the fastest integer type on any architecture.
Using 8 or 16 bits can basically only be a memory optimization.
|
|
Using unsigned rarely makes sense, especially when the server doesn't
use it either. Other uses of unsigned should be reviewed.
In all other cases, int is the fastest integer type on any architecture.
Using 8 or 16 bits can basically only be a memory optimization.
|
|
Conflicts:
data/graphics/images/login_wallpaper.png
src/being.cpp
src/beingmanager.cpp
src/engine.cpp
src/game.cpp
src/gui/buysell.cpp
src/gui/buysell.h
src/gui/gui.h
src/gui/npc_text.cpp
src/gui/npc_text.h
src/gui/npcintegerdialog.cpp
src/gui/npclistdialog.cpp
src/gui/npclistdialog.h
src/gui/npcstringdialog.cpp
src/gui/sell.cpp
src/gui/shop.cpp
src/gui/table.cpp
src/net/beinghandler.cpp
src/net/npchandler.cpp
src/net/playerhandler.cpp
src/npc.cpp
src/npc.h
src/shopitem.cpp
src/shopitem.h
src/utils/stringutils.cpp
src/utils/stringutils.h
src/utils/trim.h
|