Age | Commit message (Collapse) | Author | Files | Lines |
|
are enabled or not in a static member of class Particle instead of an instanced member of Being.
|
|
Move hair changes back over to them; related server change was reverted.
Also move NPCs back over to extending Player. NPCs will have equipment
in the future too, but for now, disable that part while we finish the
system.
|
|
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.
|
|
No need for NPCs to inherit from Player. Player has functions NPC
doesn't need and overrides that NPC doesn't need. This change reduces
the number of functions needed to be overrided by NPC.
|
|
|
|
~Being does this too, so let's leave it there.
|
|
Also add support for the new TMWServ NPC packets
|
|
We don't use underscores in the filenames generally, and let's be
consistent on that matter.
|
|
|
|
eAthena NPC handler has been implemented and is being used for NPC
interraction.
|
|
Now that messages can be sent without requiring a pointer to the
Network instance, a lot of cleanup was possible.
|
|
Now the instance doesn't need to be passed into the MessageOut class
anymore. Expect a lot of cleanup in the next commit.
|
|
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:
A lot of files.
|
|
Also fix several instances where the same net handler was being used for
both servers, and a few other related oddities.
|
|
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.
|
|
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
|
|
Loosely based on TMW commit f04a8713ffc83db8b3dc4a472b28aad25a2b2bd1
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
Based on commit a1e483913672e55704e8fbafeff5ea0ccc0c9b07 from Aethyra.
|
|
The Being ID is used instead, as that is all that was ever really
needed.
|
|
The BeingManager will clean it up when it's next cleared. One hanging
Being isn't too much. A reference count system like resources use might
be a better way to handle Beings.
|
|
Based on TMW commit a996d4bff3cc5a35ee5cdb6cb5bdef920cf44120
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
|
|
Only checks in these two palces for now, as missing network in the
others would indicate a design flaw.
|
|
|
|
(which would happen from using the keyboard instead of the mouse).
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
Let it be set by the netcode if the NPC responds. This caused a movement
bug if they didn't.
|
|
Let it be set by the netcode if the NPC responds. This caused a movement
bug if they didn't.
|
|
It was for testing and shouldn't have been committed
|
|
|
|
Conflicts:
src/gui/npc_text.cpp
src/gui/npc_text.h
src/gui/npcintegerdialog.cpp
src/gui/npclistdialog.cpp
src/gui/npcstringdialog.cpp
src/net/npchandler.cpp
src/npc.cpp
|
|
done to ensure that the client doesn't crash if the target dies and is
removed from the map (since target drawing is based off of the specific
target reporting its x and y coordinates).
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
When an NPC got deleted it would reset the player target. I'm assuming
what was meant was to reset the target when the deleted NPC was the
target.
|
|
|
|
When an NPC got deleted it would reset the player target. I'm assuming
what was meant was to reset the target when the deleted NPC was the
target.
|
|
And keep the text dialog open for the whole transaction, logging user
input and keep a full record of text from the NPC (for the current
transaction only).
|
|
useful since buddy lists are tracked through the player relation
interface instead)
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
Conflicts:
A lot of files...
|
|
Conflicts:
Almost everywhere.
|
|
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>
|
|
The speech bitmap font can't handle unicode, so it has now been replaced
by the standard GUI font, drawn with a shadow for chat and with a full
outline for names.
|
|
The speech bitmap font can't handle unicode, so it has now been replaced
by the standard GUI font, drawn with a shadow for chat and with a full
outline for names.
|
|
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.
|
|
completing, as well as making it so that the server can actually
use the string to match to the same value (which it wasn't doing before.
Did anyone think to test that?) Would eventually like to whittle down
the wasted bytes sent, but this so far is the least number that can be
done, make it so that strings can be matched, and on top of that, NOT
crash the map server.
Signed-off-by: Ira Rice <irarice@gmail.com>
|