Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
In an attempt to make the GUI code a little more structured, basic
widgets are now put in gui/widgets. Many includes were also cleaned up.
|
|
|
|
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.
|
|
NPCListDialog couldn't be opened because of infinite recursion, and it
and NPCTextDialog both had resize bugs.
|
|
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!
|
|
|
|
|
|
that position. This makes it so that when resolutions are changed, the
default locations stay relative to the window's position, and not the
800x600 screen resolution.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
|
|
|
|
Use the last location the user gave instead. Also, do the same for the
inventory dialog.
|
|
smaller than the minimum width and height (a check that should have
been enforced in the first place), as well as modified the NPC list and
text dialogs to remember where they were when they were moved or resized
last.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
|
|
Both packets do the same, but we should be explicit anyways. Also,
seperate out NPC client packets.
|
|
|
|
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>
|
|
The Being ID is used instead, as that is all that was ever really
needed.
|
|
text dialog.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
through the list requires the use of the mouse wheel at the moment),
fixed wrapping behavior for wrapping around lists to actually wrap
around lists properly, and placed a few checks for current_npc where
they were assumed before which could cause the client to hang or crash
in case the NPC is no longer around.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
Basically ensures that the NPC text dialog is visible before making NPC
input dialogs visible
|
|
|
|
|
|
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).
|
|
Please do remember that member variables are prefixes with 'm', so that
they are easily distinguishable.
|
|
useful since buddy lists are tracked through the player relation
interface instead)
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
include anything not needed by that specific widget or window. This
appears to have cleaned up system performance a bit on my current setup,
where it went from idling on 45% in game with opengl down to 30% now.
Also moved iptostring to the tostring header, as importing all of
network.h is a little overkill to use that function, and it goes along
with the basic functions that are in that header file anyways. TODO:
find out a way to get rid of warnings when a class doesn't use this
function.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
client loaders.
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.
|
|
list dialog to be more consistant with other windows. Also revised the
skill window to default to being only as big as the number of skills
listed.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
Merged from the mainline client. Originally implemented by Guillaume
Melquiond, starting with commit 1828eee6a6d91fd385ad1e69d93044516493aa91.
Conflicts:
INSTALL
configure.ac
src/Makefile.am
src/gui/buy.cpp
src/gui/confirm_dialog.cpp
src/gui/inventorywindow.cpp
src/gui/login.cpp
src/gui/menuwindow.cpp
src/gui/minimap.cpp
src/gui/ok_dialog.cpp
src/gui/popupmenu.cpp
src/gui/register.cpp
src/gui/sell.cpp
src/gui/setup.cpp
src/gui/setup_video.cpp
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
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.
|
|
The 'draw' method was confusingly named, and was actually for updating
the GUI after a resize. Its functionality has been merged into
'widgetResized'.
The wrapping was broken in the case where text was added to the NPC
dialog, cause it was added to an already wrapped string, causing the
wrapping to become permanent.
Sorry for all the reformatting.
Signed-off-by: Bjørn Lindeijer <bjorn@lindeijer.nl>
(cherry picked from eAthena commit 43eb6ba950dd8bf978e539c7c7460ef5096438de)
Conflicts:
src/gui/npclistdialog.cpp
src/gui/npclistdialog.h
|
|
Conflicts:
src/gui/inventorywindow.cpp
src/gui/npc_text.cpp
(cherry picked from eAthena commit 523eed88816298b1660ecb9e67db80776e4007bb)
|
|
The 'draw' method was confusingly named, and was actually for updating
the GUI after a resize. Its functionality has been merged into
'widgetResized'.
The wrapping was broken in the case where text was added to the NPC
dialog, cause it was added to an already wrapped string, causing the
wrapping to become permanent.
Sorry for all the reformatting.
Signed-off-by: Bjørn Lindeijer <bjorn@lindeijer.nl>
|
|
statements, as well as removing the new skill dialog, which we do not,
nor will we use (if we do, it'd be a new one that we'd make).
WARNING!!! This, and all other previous builds have a linker error for
the Gnome libraries version 4.3.2 on my setup. It's assumed that this is
also the case for other users of this library as well. I'm currently
assuming that there's a bug in the compiler itself, and will look into
reporting this, but in the mean time, it doesn't build for these users,
unfortunately. Sorry about this.
|
|
I don't know why we dealt with these things for so long. Did we ever get
anything out of it?
|
|
|
|
|
|
|
|
|
|
|