Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
There is also a new rule that trivial constructors and destructors
should no longer be trivially "documented", since this just takes up
space with no gain.
|
|
|
|
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.
|
|
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
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:
CMakeLists.txt
configure.ac
data/help/header.txt
packaging/windows/setup.nsi
po/POTFILES.in
src/being.cpp
src/being.h
src/game.cpp
src/gui/color.cpp
src/gui/color.h
src/gui/equipmentwindow.h
src/gui/popupmenu.cpp
src/gui/recorder.cpp
src/gui/setup_colors.h
src/gui/setup_keyboard.cpp
src/gui/setup_keyboard.h
src/gui/skill.cpp
src/gui/speechbubble.cpp
src/gui/speechbubble.h
src/gui/table.cpp
src/keyboardconfig.cpp
src/keyboardconfig.h
src/localplayer.cpp
src/main.cpp
src/main.h
src/map.cpp
src/resources/colordb.cpp
src/resources/colordb.h
src/resources/emotedb.cpp
src/resources/emotedb.h
src/text.cpp
src/text.h
src/tmw.rc
src/winver.h
|
|
useful since buddy lists are tracked through the player relation
interface instead)
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
all and show speech bubbles without names). Since a checkbox won't work
any more for all of these modes, it's now a slider.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
that it creates when initializing the target cursors in the first place.
This behavior was carried over in the first place from the Viewport
class. Also moved target drawing responsibility from the map to the
being being targeted in the first place. This allows for assuring that
targets are always drawn below the sprite being targeted (which the
previous solution was designed to do, but didn't do correctly).
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
Removed tab characters and trailing spaces and added spaces between
"if(", "for(", "while(" and "switch(".
|
|
Conflicts:
A lot of files...
|
|
Removed tab characters and trailing spaces and added spaces between
"if(", "for(", "while(" and "switch(".
|
|
Conflicts:
Almost everywhere.
|
|
removed the need for sending graphics to the setSpeech function (since
it isn't needed) and started actually using the time variable which it's
passed (could be set to show the speech longer if the dialog is
longer, for example).
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
that uses it anyways.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
users from a channel
|
|
equipment screen on TMW's mainline client. Also fixed up the player box
so that it can be used in game as well, which could potentially be
useful in the future for making future equipment dialog changes.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
out of being.h, so that they aren't included in any classes that don't
need them and cut the number of divisions in half in the being manager)
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
clickable. Also set a minimum clickable area so that small mobs like
maggots aren't too difficult to click.
Been wanting this patched for a while, but didn't know where to look
until Crush's patch for mainline click zones on TMW.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
|
|
|
|
|
|
regular player) is displayed in the speech bubbles now. No need to
view your own name to be able to see whether you're showing as a GM now.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
This dates back to the old days of TMW, but the usage instructions of
GPLv2 don't mention this being necessary. Since it doesn't add anything,
avoid the branding in these sections.
|
|
This dates back to the old days of TMW, but the usage instructions of
GPLv2 don't mention this being necessary. Since it doesn't add anything,
avoid the branding in these sections.
|
|
being so that the last emote draws (which got broken).
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
Also changed all emotes to be animated sprites now, and to load from
emotes.xml. This gives us a bit more flexibility to not only add more
emotes in the future, but allowing them to be animated as well.
NOTE: This commit, unlike the previous emote commits, breaks emotes if
you don't have the xml file. This will be available on Aethyra soon, but
is not rolled into an update at the moment.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
|
|
(cherry picked from mainline commit d3adc61aa4b4924f82d8cbc23bea26da7257da97)
Conflicts:
src/net/beinghandler.cpp
src/net/charserverhandler.cpp
src/player.cpp
src/player.h
|
|
(cherry picked from mainline commit d3adc61aa4b4924f82d8cbc23bea26da7257da97)
Conflicts:
src/net/beinghandler.cpp
src/net/charserverhandler.cpp
src/player.cpp
src/player.h
|
|
|
|
Mainly making sure 'const std::string &' is used everywhere instead of
'std::string const &'. The former has always been the preferred order in
this project.
|