Age | Commit message (Collapse) | Author | Files | Lines |
|
Ownership of the charInfo global variable wasn't well defined. It was
being locked, unlocked and generally modified from a lot of places, and
somewhere in this mess it ended up crashing when switching servers.
Now the CharHandler instances, for eAthena and manaserv respectively,
own this list of characters. A new class, Net::Character wraps up the
slot index in combination with the player dummy. The list is passed on
to the CharSelectDialog each time it changes.
Both related and unrelated cleanups were made as well.
Reviewed-by: Jared Adams
|
|
This reverts commit 20d2a17c8c0fa9220c257d61641a6459e154de26.
Going to try to remove this fix, people have still been reporting
crashes with minimap caption. Maybe if more people report it, we
can get more information.
|
|
Mantis-issue: 1
|
|
They'd be in the correct position, just that the link length would always
stay at the length of the original font.
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
|
|
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
It's not a fatal error.
|
|
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
game.
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
dependent on a tabbed area, and because of that, shouldn't get double
focus.
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
space was pressed.
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
released, this can cause the user to think that the client has frozen up
when dialogs such as the quit dialog take modal focus.
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
they happened within a contained widget.
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
Compiler warning seems unjustified, but the code could make this
more clear.
|
|
networking code will get stuck in an infinite loop currently if it tries
to handle these, and the packet id isn't helpful in identifying what
packet it is.
Since this specific case creates a rabbit, and will flood
logger with unhandled messages until the hard drive is completely
filled, it's a lot more friendly to force a client exit on detection
than to continue.
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
to move a window to the top when one of its contained widgets is
focused.
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
pressed by the mouse.
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
Update more frequently (every tick) and by a smaller amount.
|
|
button is pressed, instead of just moving one tick for each press.
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
at the same spot the scroll area does.
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
used to get one event from the dropdown, then another from the listbox
if dropped down. Otherwise, it only got one from the dropdown)
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
performance in ProgressBar logic loops.
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
|
|
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
style cleanups.
TODO: Either abstract out all of the shared information between these
two classes to a parent class, or combine the two if it can be done
without doing it clumsily.
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
This change allows players to talk to multiple NPCs at a time (if the server agrees). Manaserv's netcode allows multiple commerce instances too. eAthena's is limited to one commerce instance, due to protocol limitations.
|
|
Not really useful to be able to edit it by hand.
|
|
cancel events.
Signed-off-by: Tametomo <irarice@gmail.com>
|
|
necessary so long as you're at least getting 1-2 fps (which would
result in a typing speed between 60-120 wpm). Even then, you've got
more serious things to be thinking about at that point than if all of
your input is being tracked, and having it inside the clock time loop
just cuts performance for everyone else.
This loop should get removed altogether, but there are a few items left
in it at the moment which would need to get reworked first before it can
be eliminated. In cases where you can't accurately know where something
would be because it's random, we should just scale the random formulas
to take a more drastic adjustment to compensate for that lag.
Signed-off-by: Tametomo <irarice@gmail.com>
Manual-merge-by: Thorbjørn Lindeijer <thorbjorn@lindeijer.nl>
|
|
|
|
Use the cache created by TTF::drawString, drops the cost of
TTF::getWidth from 5% of runtime to 0.5%.
It increases the cost of calculating line-wrapping in the BrowserBox,
but overall it's a saving, even with the BrowserBox recalculating on
every redraw.
|
|
Mantis-issue: 938 (TMW Mantis)
|
|
|
|
Reviewed-by: Thorbjørn Lindeijer <thorbjorn@lindeijer.nl>
|
|
To use simply add something like: missile-particle="graphics/particles/arrow.particle.xml"
to the item's or monster's xml entry
This will only work on equipped weapons, and on specified monster attacks.
This patch also fixes a memory leak with target particles
|
|
|
|
|
|
It's not meant for the user, translating it only burdens both us and our
translators unnecessarily.
|
|
Just because something is the kind of calculation that seems to be
required does not mean it makes sense in general. Let's try to keep
things understandable.
|
|
But I added some logs when speed and other actions where refused due to game/map
uninitialized. This could help.
|
|
|
|
|
|
|