Age | Commit message (Collapse) | Author | Files | Lines |
|
Much code was moved from main() to the new Client::exec(). This new
event loop now integrates with the Game class, so that the tick counter
and framerate limiter apply universally.
The Client class is also responsible for some things that used to be
global variables.
Mantis-issue: ...
|
|
|
|
|
|
But I added some logs when speed and other actions where refused due to game/map
uninitialized. This could help.
|
|
|
|
Also added the update copyright tool from the Wormux Team.
( And not forgetting credit's due. :P )
|
|
|
|
|
|
Looks for "graphics/minimap/MAPID.png"
|
|
Also remove some extra new lines and fix eAthena's PartyTab define guards.
|
|
|
|
|
|
This mode hide big map objects and show collisions.
|
|
to avoid graphic errors.
|
|
just that they are drawn before the tiles instead of afterwards. Renamed overlays to foregrounds (but kept backward compatibility intact)
|
|
|
|
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 ;)
|
|
This "optional action" specifies whether the server expects to get an
email address during registration. It is used now instead of having the
general handlers of eAthena and tmwserv set a pointer to an email
string on the GUI dialogs (to keep things understandable, the dependency
should preferably go one way).
|
|
more logical...
Now, the setAlpha() function is called with less changing numbers
which can help increasing FPS a bit...
|
|
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.
|
|
|
|
|
|
resolution isn't the default.
You'll have to add this in map properties, for instance if you're want to keep ratio on overlay 0:
<map version="1.0" orientation="orthogonal" width="128" height="128" tilewidth="32" tileheight="32">
<properties>
...
<property name="overlay0keepratio" value="true"/>
...
</properties>
</map>
|
|
to map.
|
|
Makes sure the player walks around other players and beings when
reasonably possible. This was meant to be based on the blockmask stuff,
but I half removed that a few months ago.
|
|
Skipping corners is only allowed around other beings (you can even walk
through them), but not for collision tiles. The server doesn't allow
this, so allowing it client-side leads to synchronization problems.
Mantis-issue: 730
|
|
|
|
Instead of shutting down, the client will now draw a gray background.
This allows the player to still contact a GM in order to be helped out
of the situation.
It also helps me warp out of the non-existing map I accidentally warped
myself onto. ;)
|
|
|
|
need to poll the CPU for them, when they already can compensate for
missed clock ticks.
Signed-off-by: Tametomo <irarice@gmail.com>
Signed-off-by: Bjørn Lindeijer <bjorn@lindeijer.nl>
|
|
No need to complicate the item containers and inventory classes with a
silly offset used by the eAthena server.
Also fixed the logToStandardOut option by reading it from the config
after the configuration has been initialized.
|
|
|
|
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.
|
|
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!
|
|
the open source project Wormux. To improve SDL performance, the number
of layers that are pushed out to the hardware or software buffers should
be reduced, which is where this function comes into play, as it combines
two surfaces together so that the number of blit operations is reduced.
This function is currently not used, but will be used once a good way to
link each of the target systems is determined so that it only initiates
when SDL is enabled, as well as making sure that each hook that uses
this function is benefiting from it sufficiently. At the moment, it's
suspected that the particle engine will likely be the most likely to
benefit from this function, followed by tile drawing, then sprite drawing.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
|
|
|
|
The string utility methods are now grouped together in the stringutils.h
header. Also, a toLower method was added for convenience.
|
|
The string utility methods are now grouped together in the stringutils.h
header. Also, a toLower method was added for convenience.
|
|
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>
|
|
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>
|
|
|
|
|
|
Conflicts:
A lot of files...
|
|
Conflicts:
Almost everywhere.
|
|
Signed-off-by: Ira Rice <irarice@gmail.com>
|