Age | Commit message (Collapse) | Author | Files | Lines |
|
Also merge the guialpha ConfigListener into Theme.
Reviewed-by: Thorbjørn Lindeijer
|
|
Reviewed-by: Chuck Miller
|
|
This reverts commit 67e678094b9fddd21fb3c690130e772937ab2746.
Conflicts:
src/gui/gui.cpp
src/gui/viewport.cpp
|
|
Reviewed-by: Chuck Miller
|
|
The older gray theme and the new wood theme are available as themes.
The gray theme needs some new graphics for hilights.
Add a theme option for branding and add path/to/branding/data to the
PhysFS search path.
Reviewed-by: Thorbjørn Lindeijer
Reviewed-by: Chuck Miller
|
|
Also make storage under eAthena more flexible.
Reviewed-by: Dennis Friis
|
|
to Being.
This fixes some movement glitches under ManaServ and make the code much cleaner
even if it's not perfect enough yet.
First of all, many checks have been gathered in the Being::setDestination() calls.
Also, now all path nodes including destination are checked against surrounding
tiles to correct the path when necessary.
The LocalPlayer::nextTile() still needs to be reviewed and some checks are missing
but it's almost done :)
|
|
This will help simplifying setDestination() calls.
No regression seen in both client.
|
|
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 )
|
|
|
|
Finish support for server types in the server dialog.
Using the new server type function, strip out ifdefs, replacing them with if
blocks for later merging in smaller atomic commits.
Remove any remaining references to the support defs, including in build system.
|
|
Many warnings removed.
Reviewed-by: Thorbjørn Lindeijer <thorbjorn@lindeijer.nl>
|
|
|
|
|
|
|
|
|
|
|
|
Right click contextual menu on player "follow" entry
Cancel the following by moving with mouse or keys
Adds a special behavior for map changes
|
|
Also remove some extra new lines and fix eAthena's PartyTab define guards.
|
|
|
|
|
|
level on Manaserv
|
|
are enabled or not in a static member of class Particle instead of an instanced member of Being.
|
|
Also some related chenges elsewhere
|
|
Ad start eAthena's GuildHandler
|
|
|
|
|
|
I just discovered that the X,Y offsets aren't handled
the same way between eAthena and Manaserv to draw the player's character.
So, this patch hopefully fix the walk on water bug.
There are some glitches left:
- Like walking diagonally to a blocked corner.
- Or Some times the character miss a blocked tile and correct its route.
- The character's name is drawn in the wrong place for Manaserv client.
- The playerBox draws the player at the wrong location; He's not centered at login
and isn't diplayed at all in equipment window...
But anyway, it's better than before.
I'll go on for some polishing before continuing. Some cleanups
are becoming vital for code's understanding.
|
|
The current code tells that the character must stop in the middle of a tile
when the tile to the north is blocking.
But even now with respecting this, the player is still on water. So, what to do?
Correct the water tile?
|
|
|
|
|
|
What's left is working on player corner handling and directions while walking.
|
|
- Making sure that keyboard and mouse are fully working on eAthena.
- Making sure the mouse code isn't broken again.
There are some glitches left but it's coming!
What's left to be fixed:
- Come a little closer to walls (localPlyer::nextStep() improvement to be done).
- Adapt the next Step range according to the being speed. (again in nextStep()).
- Handle more nicely player's direction when walking diagonally.
- Get player's speed from server.
Enjoy :)
|
|
TMWserv client.
|
|
By removing a stopWalking() call on each being->logic() because of setWalkingdir()
when the current path wasn't empty.
|
|
|
|
I'll go step by step, in order no to screww everything...
I also removed hard coded ticks reference in game.cpp
|
|
|
|
Also removed an (now) unuseful debug piece of information.
Thanks Kage for reporting this case.
|
|
|
|
The only case left in mouse movement is that the client doesn't check
for walkability of the destination point when you click on a unwalkable point.
Let me explain this NASTY bug:
The bug remained in the Being::SetDestination() function,
when recalculating the path from tiles to pixels.
The changeX and changeY variables went crazy when (endX - startX) gave a negative value.
That why the given path became random, and the player went anywhere.
This didn't happened to monsters, NPCs, and when walking using the keyboard
because the patnodes system isn't used for movement up to 1 tile at a time.
I removed some dead code (in viewpoint.cpp), made the keyboard navigation a little
bit more bearable, and fixed this client bug.
Now, I'll be up to finish fixing the movement system using mouse (What's remaining is a joke
next to what I had to do to discover this...),
and I'll look at a third time to the keyboard system which is a bit raw, just for now...
Regards,
P.S.: Kage, I'd like to get a three-cheese pizza!
|
|
|
|
|
|
went on vacation.
|
|
|
|
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.
|