Age | Commit message (Collapse) | Author | Files | Lines |
|
Now the experience mightes better with what it was before the logic
update change (59a7d5c58f8b3af21b3e19d4e78f5653bf011bfb). The per-frame
effect is reduced and less constant, based on a sine wave.
The effect is no longer applied directly to the mPixelViewX/Y values,
but is rather only taken into account when rendering the view.
|
|
The Timer is efficient because it does not depend on incrementing a
counter to keep track of time, nor does it call SDL_GetTicks every time
its state is checked (this happens once per frame instead).
Along with global functions Time::absoluteTimeMs() and
Time::deltaTimeMs(), this replaces previous globals tick_time, cur_time
and get_elapsed_time().
For now, there is still a fixed 100 times per second logic call rate,
but the new Time::deltaTimeMs() function should allow getting rid of
this.
|
|
Shows outlines of visible widgets as well as highlighting modal focus,
modal mouse focus and regular focus.
Can currently only be toggled in the Debug window, so needs source code
modification to be used during login sequence for now.
|
|
* Use default member initializers
* Use range-based for loops
* Avoid needless pointer references for ShopItem::mDuplicates
* Removed type aliases that are only used once or twice
* Removed more unused includes
* Removed some unused functions
* Removed superfluous .c_str()
* Rely on default copy and assignment operators for Vector class
* Use std::unique_ptr in some places
* Removed duplicated mPlayerMoney updating in SellDialog
* Removed duplicated Game::handleInput call
* Removed unused SDLInput::mMouseInWindow
* Removed remnant of manual widget positioning in HelpWindow
* Removed superfluous initialization of static pointers
|
|
This patch is not exhaustive.
|
|
modernize-use-auto
modernize-use-nullptr
modernize-use-override
modernize-use-using
|
|
|
|
I disabled the drop from equipment window since it was more
simple to implement, and because it seemed useless or even bad
for the user experience to me.
|
|
Reviewed-by: Bjorn
|
|
* The f-key is no longer used. That means new players are less likely
to get into trouble by accidentally activating the debug mode.
* The debug mode can now be activated in a new tab in the debug window.
* The main advantage of using a gui is its extensibility. At the moment
the debug mode does show too much information at once. In a follow-up
patch the user should get more choices.
Reviewed-by: Bjorn
|
|
I have to admit I contributed a large part of these. Sorry for that.
Less empty space, more attention to the code.
Acked-by: Jared Adams
|
|
Makes it clear what kind of listener it is, since there are other
listener classes as well.
Acked-by: Jared Adams
|
|
It's just an annoyance when it's only applied to a few classes. Either
we place everything in this namespace or nothing, and at the moment I
don't see any rationale for placing everything in a Mana namespace.
Acked-by: Jared Adams
|
|
Acked-by: Jared Adams
|
|
The screen can either be "nudged" in a random direction with a specific
intensity or you can define an exact x and y intensity, decay factor and
duration. On a tmwAthena server an effect is triggered when the player
character dies. A method for stopping all shake effects is also
implemented, but not used yet. I added a netcode message for Manaserv to
trigger an effect server-sided. Because our protocol has currently no way
to transport floating point values, the decay is transported as a fixed
point value with 4 decimals which is entirely sufficient for this purpose.
|
|
Resolves: Mana-Mantis #265.
Trivial fix.
|
|
Reviewed-by: Jared Adams
|
|
Reviewed-by: Freeyorp
|
|
Conflicts:
src/being.cpp
src/client.cpp
src/commandhandler.cpp
src/gui/setup_video.cpp
src/gui/socialwindow.cpp
src/gui/viewport.cpp
src/gui/widgets/browserbox.cpp
src/gui/widgets/itemcontainer.cpp
src/imageparticle.cpp
src/localplayer.cpp
src/localplayer.h
src/map.cpp
src/net/tmwa/beinghandler.cpp
src/particle.cpp
src/particle.h
src/player.cpp
src/player.h
|
|
Until now the being was only set after a mouse move. If the mouse was
pressed after the being was out of sight or dead, then a segmentation
fault happened. Furthermore, pressing the mouse now updates the cursor
type and sets the being popup invisible.
Reviewed-by: Thorbjorn
|
|
Most of Net::InventoryHandler is now done through events. The
ActorSpriteManager was also replaced by events. A few odds and
ends were taken care of too.
Reviewed-by: Bertram
|
|
Reviewed-by: Freeyorp
|
|
No need for two different classes to manage ActorSprites.
Reviewed-by: Chuck Miller
|
|
|
|
Clear the Viewport's hover being when it gets removed and make sure
LocalPlayer's target pointer get's cleared.
Reviewed-by: Freeyorp
|
|
Reviewed-by: Chuck Miller
|
|
This reverts commit 67e678094b9fddd21fb3c690130e772937ab2746.
Conflicts:
src/gui/gui.cpp
src/gui/viewport.cpp
|
|
Reviewed-by: Chuck Miller
|
|
Reviewed-by: Thorbjørn Lindeijer
Reviewed-by: Chuck Miller
|
|
Signed-off-by: Jared Adams <jaxad0127@gmail.com>
|
|
Also make storage under eAthena more flexible.
Reviewed-by: Dennis Friis
|
|
|
|
|
|
|
|
|
|
Also added the update copyright tool from the Wormux Team.
( And not forgetting credit's due. :P )
|
|
http://gitorious.org/mana/mana/commit/58149dca937410826971f99b72e304121e61abb7
by merging ViewPort::mLocalWalkTime and ::mLocalWalktime into the first one,
removing ifdefs, and making sure the setDestination() calls aren't done each
ticks by setting the mLocalWalkTime equal to player->mWalkTime while Mouse Left Dragging,
I also set it back to -1 when stop walking to avoid the bug where you have to start
walking using the keyboard before being able to walk dragging the mouse under eAthena.
|
|
Also remove some extra new lines and fix eAthena's PartyTab define guards.
|
|
This mode hide big map objects and show collisions.
|
|
Now, both eAthena and ManaServ clients follow the mouse correctly
when it is dragged.
|
|
|
|
|
|
Signed-off-by: Tametomo <irarice@gmail.com>
Signed-off-by: Bjørn Lindeijer <bjorn@lindeijer.nl>
|
|
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.
|
|
Conflicts:
A lot of 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!
|
|
Conflicts:
src/being.cpp
src/being.h
src/floor_item.cpp
src/floor_item.h
src/flooritemmanager.cpp
src/gui/inventorywindow.cpp
src/gui/inventorywindow.h
src/gui/itemcontainer.cpp
src/gui/popupmenu.cpp
src/net/beinghandler.cpp
src/npc.cpp
|
|
as some other optimizations that I could see that cut down on some
unneeded redraws, which in turn improved frame rates slightly.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
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>
|