Age | Commit message (Collapse) | Author | Files | Lines |
|
I turned the CharacterEntries into a vector.
As for now, it's basically working but I discovered bugs about
slots handling mainly for Manaserv that were already present
before that patch.
Hence, there are three remaining issues:
- Under ManaServ, the character's slots numbers aren't handled
when loading the characters but used when sending selection
or deletion attempts.
For instance, if you delete the character at slot 1, you won't
be able to select or delete characters at slots 2 and 3,
since the server believes that the characters are now in slots 1 and 2,
even thought the client still displays them at the former slots.
- Also under manaserv, you won't be able to create a character at slot 1
and 3, the server will automatically add the new one to the next slot,
which is not corresponding to where you clicked to the 'Create' button.
I propose to make Manaserv send again the character slots numbers
and store them in database since we used them in creation,
selection, and deletion attempts. It would make more sense IMHO.
- The last remaining issue found is that when switching between different
servers, the loginData don't get cleaned up, make the characterSelect dialog
look crazy when the number of slots is different between two servers.
If this one is accepted, my next patch will make the logindata be cleaned up
between each login attempts (as for the slot number, and maybe other sensible
data) and the next ones will readd character slot handling server
and client side.
Reviewed-by: Jaxad0127.
|
|
Resolves: Mana-Mantis #265.
Trivial fix.
|
|
Instead of having these three subclasses with minor differences, this
commit merges them back into Being. In the future, we can make Beings
that are talkable to some, attackable by others, etc. This also puts
back support for monster equipment.
Also changes remaining references to Being::Type and the constants to
refer to ActorSprite::Type.
Reviewed-by: Freeyorp
|
|
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: ...
|
|
|
|
|
|
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
|
|
Also added the update copyright tool from the Wormux Team.
( And not forgetting credit's due. :P )
|
|
The --help options tells:
-D --default : Choose default character server and character
The client now choose the defaulted last character entry when --default is set.
The --character option still has precedence.
Also added a return value to the CharSelectDialog->chooseSelected() function while on it,
in case of someone willing to add errors handling at this stage.
|
|
Also remove some extra new lines and fix eAthena's PartyTab define guards.
|
|
How to reproduce the bug: Start eathenas login-server and char-server
but not the map-server. On the second attempt to login all slots of the
charselectdialog show the same character and login fails.
|
|
Enter and Escape now move forward and backwards for all dialogs except ServerSelectDialog (Escape quits) and CharSelectDialog (Enter doesn't do anything special).
|
|
|
|
Better to ask when needed that rely on static booleans to be set from
somewhere. Also tried to fix the layouting a bit, but it's still not
perfect.
|
|
It was only selecting it when found, instead of also logging in with the
character.
|
|
|
|
|
|
Also do some cleanup and refactoring of related code.
|
|
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.
|
|
|
|
their function, this is a much better place to put them.
Signed-off-by: Tametomo <irarice@gmail.com>
Signed-off-by: Bjørn Lindeijer <bjorn@lindeijer.nl>
|
|
We don't use underscores in the filenames generally, and let's be
consistent on that matter.
|