[Commits] [wesnoth/wesnoth] ade2c5: SDL/Window: set render scaling method to linear
GitHub
noreply at github.com
Sun Jul 9 07:06:00 UTC 2017
Branch: refs/heads/accelerated_rendering
Home: https://github.com/wesnoth/wesnoth
Commit: ade2c5fa5b6f629b22f6d7bdadf669bb0b342000
https://github.com/wesnoth/wesnoth/commit/ade2c5fa5b6f629b22f6d7bdadf669bb0b342000
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/sdl/window.cpp
Log Message:
-----------
SDL/Window: set render scaling method to linear
This looks better than NN scaling (default);
Commit: 9594a469972c22ba9d03171a119765e54280c367
https://github.com/wesnoth/wesnoth/commit/9594a469972c22ba9d03171a119765e54280c367
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/video.cpp
Log Message:
-----------
Video: enabled accelerated rendering with texture target access
Commit: 7015cd6a63345cdfb8d7033d8d48f69ddd40e26a
https://github.com/wesnoth/wesnoth/commit/7015cd6a63345cdfb8d7033d8d48f69ddd40e26a
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M data/gui/widget/button_default.cfg
M src/gui/core/canvas.cpp
M src/gui/core/canvas.hpp
M src/gui/core/canvas_private.hpp
M src/gui/core/event/handler.cpp
M src/gui/widgets/widget.cpp
M src/gui/widgets/window.cpp
Log Message:
-----------
GUI2/Canvas: refactor surface blitting out of drawing routines
This entirely refactors surface blitting out of the canvas. Instead, each canvas owns a texture. This texture
is completely redrawn any time the canvas if marked dirty, else the result is cached and drawn to the screen
each draw cycle.
All windows are now redrawn every draw cycle. The use of the cached canvas textures means there's no noticeable
performance difference (likely a performance gain, actually) from using surface blitting.
There's still some code to clean up and a few things to fix.
Commit: b57c0db5919e53540c1c313ef93b4869b6ae9723
https://github.com/wesnoth/wesnoth/commit/b57c0db5919e53540c1c313ef93b4869b6ae9723
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/widgets/window.cpp
Log Message:
-----------
GUI2/Window: properly re-implement draw and restore code
We don't need all this dirty list or handling or surface restoration anymore.
Commit: 25c51feca2508bf4c55f890d2de3bc19eb78a6b2
https://github.com/wesnoth/wesnoth/commit/25c51feca2508bf4c55f890d2de3bc19eb78a6b2
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/core/event/handler.cpp
M src/gui/dialogs/debug_clock.cpp
M src/gui/dialogs/editor/custom_tod.cpp
M src/gui/dialogs/lua_interpreter.cpp
M src/gui/dialogs/outro.cpp
M src/gui/dialogs/story_viewer.cpp
M src/gui/dialogs/story_viewer.hpp
M src/gui/dialogs/title_screen.cpp
M src/gui/widgets/button.cpp
M src/gui/widgets/container_base.cpp
M src/gui/widgets/container_base.hpp
M src/gui/widgets/generator.hpp
M src/gui/widgets/generator_private.hpp
M src/gui/widgets/grid.cpp
M src/gui/widgets/grid.hpp
M src/gui/widgets/label.cpp
M src/gui/widgets/list.cpp
M src/gui/widgets/listbox.cpp
M src/gui/widgets/listbox.hpp
M src/gui/widgets/matrix.cpp
M src/gui/widgets/matrix.hpp
M src/gui/widgets/menu_button.cpp
M src/gui/widgets/minimap.hpp
M src/gui/widgets/multimenu_button.cpp
M src/gui/widgets/pane.cpp
M src/gui/widgets/pane.hpp
M src/gui/widgets/progress_bar.cpp
M src/gui/widgets/repeating_button.cpp
M src/gui/widgets/scrollbar.cpp
M src/gui/widgets/scrollbar_container.cpp
M src/gui/widgets/scrollbar_container.hpp
M src/gui/widgets/slider.hpp
M src/gui/widgets/styled_widget.cpp
M src/gui/widgets/text_box.cpp
M src/gui/widgets/text_box_base.cpp
M src/gui/widgets/toggle_button.cpp
M src/gui/widgets/toggle_panel.cpp
M src/gui/widgets/tree_view.cpp
M src/gui/widgets/tree_view.hpp
M src/gui/widgets/tree_view_node.cpp
M src/gui/widgets/tree_view_node.hpp
M src/gui/widgets/viewport.cpp
M src/gui/widgets/viewport.hpp
M src/gui/widgets/widget.cpp
M src/gui/widgets/widget.hpp
M src/gui/widgets/window.hpp
M src/scripting/lua_gui2.cpp
Log Message:
-----------
GUI2: removed dirty widget interface
This is no longer needed since we redraw everything every frame. The dirty flag in the canvas remains
as that controls whether the cached texture is used or recreated.
Commit: 5ed7abfa8fdc06c796b9db31ac0ad0f121aaf64d
https://github.com/wesnoth/wesnoth/commit/5ed7abfa8fdc06c796b9db31ac0ad0f121aaf64d
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/widgets/window.cpp
M src/gui/widgets/window.hpp
Log Message:
-----------
GUI2/Window: removed restore flag and restorer surface
Commit: 006cebed2e157b4bfd44c0deacdd9280815a3d32
https://github.com/wesnoth/wesnoth/commit/006cebed2e157b4bfd44c0deacdd9280815a3d32
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/core/canvas.cpp
M src/gui/core/canvas.hpp
M src/gui/widgets/panel.cpp
M src/gui/widgets/styled_widget.cpp
Log Message:
-----------
GUI2/Canvas: renamed blit function and removed surface argument
Commit: bef18917876e8b6595d80ee34e9864b6a662ec9c
https://github.com/wesnoth/wesnoth/commit/bef18917876e8b6595d80ee34e9864b6a662ec9c
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/widgets/container_base.cpp
M src/gui/widgets/container_base.hpp
M src/gui/widgets/generator.hpp
M src/gui/widgets/generator_private.hpp
M src/gui/widgets/grid.cpp
M src/gui/widgets/grid.hpp
M src/gui/widgets/matrix.cpp
M src/gui/widgets/matrix.hpp
M src/gui/widgets/minimap.cpp
M src/gui/widgets/minimap.hpp
M src/gui/widgets/multi_page.cpp
M src/gui/widgets/multi_page.hpp
M src/gui/widgets/pane.cpp
M src/gui/widgets/pane.hpp
M src/gui/widgets/panel.cpp
M src/gui/widgets/panel.hpp
M src/gui/widgets/scrollbar_container.cpp
M src/gui/widgets/scrollbar_container.hpp
M src/gui/widgets/spacer.cpp
M src/gui/widgets/spacer.hpp
M src/gui/widgets/styled_widget.cpp
M src/gui/widgets/styled_widget.hpp
M src/gui/widgets/toggle_panel.cpp
M src/gui/widgets/toggle_panel.hpp
M src/gui/widgets/tree_view_node.cpp
M src/gui/widgets/tree_view_node.hpp
M src/gui/widgets/viewport.cpp
M src/gui/widgets/viewport.hpp
M src/gui/widgets/widget.cpp
M src/gui/widgets/widget.hpp
M src/gui/widgets/window.cpp
Log Message:
-----------
GUI2: removed framebuffer code from draw impl functions
Commit: df4c2493e4d5b24f0a9a742019e5145a45d31e1a
https://github.com/wesnoth/wesnoth/commit/df4c2493e4d5b24f0a9a742019e5145a45d31e1a
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/font/text.cpp
Log Message:
-----------
Hack to get text to render right
Commit: c334b06716b6529fd61d39fd48c7a9acb8e18cb9
https://github.com/wesnoth/wesnoth/commit/c334b06716b6529fd61d39fd48c7a9acb8e18cb9
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/core/canvas.cpp
M src/gui/core/canvas.hpp
M src/gui/widgets/panel.cpp
M src/gui/widgets/styled_widget.cpp
M src/gui/widgets/widget.cpp
M src/gui/widgets/widget.hpp
Log Message:
-----------
GUI2: refactored viewport setting and re-added clip rect setting
It turns out I had removed the clip rect setting in error; it prevented items in, say, a listbox from drawing
outside the widget's boundaries. I've re-added that now.
I've also moved viewport setting to the same place. It turns out it didn't need to be set every canvas draw.
The only reason the old code was passing the blitting rect to the canvas was it was needed for the sdl_blit call.
Since I can now set the viewport independent of a canvas state, there's no longer a need to set the viewport in
the canvas.
Commit: 643529fa55513870573fdd6fac54bb186835dfeb
https://github.com/wesnoth/wesnoth/commit/643529fa55513870573fdd6fac54bb186835dfeb
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/core/event/handler.cpp
M src/gui/dialogs/lua_interpreter.cpp
Log Message:
-----------
Fixed some unused parameter warnings
Commit: f0f103a7a54a6c980de291bee32adcb67b7f524c
https://github.com/wesnoth/wesnoth/commit/f0f103a7a54a6c980de291bee32adcb67b7f524c
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/widgets/window.cpp
Log Message:
-----------
Removed some debug output
[ci skip]
Commit: 2345fd3d1b37c98f2e64b23060e214c78801e501
https://github.com/wesnoth/wesnoth/commit/2345fd3d1b37c98f2e64b23060e214c78801e501
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/core/canvas.cpp
M src/gui/widgets/widget.cpp
M src/video.cpp
Log Message:
-----------
Added some code to make my recent changes work with a software renderer
Commit: cc29dc4ec93f5722b59d0d1c0f83795b13094a2f
https://github.com/wesnoth/wesnoth/commit/cc29dc4ec93f5722b59d0d1c0f83795b13094a2f
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/core/canvas.cpp
Log Message:
-----------
GUI2/Canvas: removed surface_lock objects
The canvas surface isn't even passed to these functions anymore so I have no idea how this built.
Commit: 8816bd2c76ad2507b7adca6a68680029a3d722f6
https://github.com/wesnoth/wesnoth/commit/8816bd2c76ad2507b7adca6a68680029a3d722f6
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/core/event/handler.cpp
Log Message:
-----------
Small code simplification
Commit: eb33c18e62662a1ebf64ba44ef52d8ef61d11932
https://github.com/wesnoth/wesnoth/commit/eb33c18e62662a1ebf64ba44ef52d8ef61d11932
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/core/canvas.cpp
Log Message:
-----------
GUI2/Canvas: add error logging if canvas texture creation fails
Commit: cb90c509ade8a06e494b1213c8bbbc1a95e5e351
https://github.com/wesnoth/wesnoth/commit/cb90c509ade8a06e494b1213c8bbbc1a95e5e351
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M projectfiles/CodeBlocks/wesnoth.cbp
M source_lists/libwesnoth_sdl
M src/display.cpp
M src/gui/core/canvas.cpp
M src/gui/core/canvas.hpp
M src/gui/core/event/handler.cpp
M src/help/help.cpp
A src/sdl/texture.cpp
A src/sdl/texture.hpp
M src/video.cpp
M src/video.hpp
Log Message:
-----------
Added SDL_Texture wrapper class and some utility functions
Commit: 8d1c4bcd08b56da9d9d29087892e23391b671c88
https://github.com/wesnoth/wesnoth/commit/8d1c4bcd08b56da9d9d29087892e23391b671c88
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/widgets/minimap.cpp
Log Message:
-----------
GUI2/Minimap: quick fix to get the minimap drawing again
Commit: a7f730ce4504abbe70c54634d7af49b5a9d2cfe2
https://github.com/wesnoth/wesnoth/commit/a7f730ce4504abbe70c54634d7af49b5a9d2cfe2
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M projectfiles/CodeBlocks/wesnoth.cbp
M src/gui/core/canvas.cpp
A src/sdl/render_utils.hpp
M src/sdl/texture.cpp
M src/sdl/texture.hpp
Log Message:
-----------
Moved renderer RAII helpers to their own file and added ones for clip rect and viewport
Commit: a4b372ca7113ff891338c88c28cccced9a2c81c5
https://github.com/wesnoth/wesnoth/commit/a4b372ca7113ff891338c88c28cccced9a2c81c5
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/video.cpp
Log Message:
-----------
CVideo: convert blit_surface to handle input as textures instead of blitting to framebuffer
Commit: c617983d03b280c43734e6afa8c7f0bfce16fbc2
https://github.com/wesnoth/wesnoth/commit/c617983d03b280c43734e6afa8c7f0bfce16fbc2
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/widgets/widget.cpp
M src/sdl/rect.cpp
Log Message:
-----------
Use get_renderer() over *get_window()
This doesn't appear to have been an issue in the rectangle drawing code at least, but it should guard
against possible segfaults in the future.
Commit: eee0880bfb313b97d069b6d536f55831efefc332
https://github.com/wesnoth/wesnoth/commit/eee0880bfb313b97d069b6d536f55831efefc332
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/image.cpp
M src/image.hpp
Log Message:
-----------
Added a texture cache
Note this probably doesn't work properly yet since I haven't properly implemented shared management
of textures in their wrapper class.
Commit: 38cf75cb411c1994774160c13fabff6375fc0e49
https://github.com/wesnoth/wesnoth/commit/38cf75cb411c1994774160c13fabff6375fc0e49
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/sdl/texture.cpp
M src/sdl/texture.hpp
Log Message:
-----------
Texture: converted internal handling to use a shared_ptr
This allows multiple texture objects to refer to the same texture without destroying them prematurely.
This is different from the SDL_Surface wrapper's implementation since surfaces have their own internal
refcounting system; textures do not.
Commit: 277b97834d8b13b1c027de813b872c2f0d7e4331
https://github.com/wesnoth/wesnoth/commit/277b97834d8b13b1c027de813b872c2f0d7e4331
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/core/canvas.cpp
Log Message:
-----------
GUI2/Canvas: disable surface manip w/ accelerated rendering for stretch resize mode
RenderCopy handles that automatically.
Commit: b55ac521045523237299d3a659aecf8c8e92d081
https://github.com/wesnoth/wesnoth/commit/b55ac521045523237299d3a659aecf8c8e92d081
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/sdl/render_utils.hpp
Log Message:
-----------
Fixed raii renderer rect setters
This fixes a problem that occurred if no previous set rect was available. In that case, both SDL_RenderGetClipRect
and SDL_RenderGetViewport returned empty rects and those were being set as the appropriate clip rects when the raii
object was destroyed.
Commit: 0ca1a9359a8569ed19abd8f5e4e8e793058dd54c
https://github.com/wesnoth/wesnoth/commit/0ca1a9359a8569ed19abd8f5e4e8e793058dd54c
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/display.cpp
M src/sdl/utils.cpp
M src/sdl/utils.hpp
Log Message:
-----------
Enabled drawing of minimap in-game
Commit: d0e2d3a07c94c1df9091d6416d58b7211f6d6a8c
https://github.com/wesnoth/wesnoth/commit/d0e2d3a07c94c1df9091d6416d58b7211f6d6a8c
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/controller_base.cpp
M src/editor/controller/editor_controller.cpp
M src/events.cpp
M src/events.hpp
M src/gui/core/event/handler.cpp
M src/gui/widgets/window.cpp
M src/wesnoth.cpp
Log Message:
-----------
Moved GUI2's per-frame drawing trigger to global scope
This is derived from work originally done by @aginor (48bcb277d4). I cherry-picked that commit and made a few alterations.
Commit: 9da6be7429b5e50dc2418073c36b449a47df2da7
https://github.com/wesnoth/wesnoth/commit/9da6be7429b5e50dc2418073c36b449a47df2da7
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M data/gui/widget/image_default.cfg
Log Message:
-----------
GUI2/Image: added tiled-to-size image definition
Commit: ba9fd0ba1e4e143d009500a613aa9fe254896236
https://github.com/wesnoth/wesnoth/commit/ba9fd0ba1e4e143d009500a613aa9fe254896236
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/widgets/minimap.cpp
Log Message:
-----------
GUI2/Miniap: draw any provided canvas data before the minimap
Commit: 64a47ebc3ea40916809b4eabbda096344703578f
https://github.com/wesnoth/wesnoth/commit/64a47ebc3ea40916809b4eabbda096344703578f
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M data/gui/widget/toggle_button_icon.cfg
Log Message:
-----------
GUI2: fixed some overlay drawing issues with icon toggle buttons
Not sure why, but in some cases the overlay calculations were getting screwed up. This makes them use
the general centered image macro, with accompanying fallback safety checks.
Commit: 6a37d0c29606f685098dc25cdb29ab722564f687
https://github.com/wesnoth/wesnoth/commit/6a37d0c29606f685098dc25cdb29ab722564f687
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M data/gui/widget/image_default.cfg
Log Message:
-----------
GUI2/Image: added scaled-to-size definition
Commit: 2f6034d699ca2eeef1b39c045c328056b356c478
https://github.com/wesnoth/wesnoth/commit/2f6034d699ca2eeef1b39c045c328056b356c478
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M data/gui/widget/toggle_button_icon.cfg
Log Message:
-----------
GUI2/Toggle Button: added medium-sized icon button definition
Commit: 8499d0fddf8dca9402b52c9bb2f5384d8077a012
https://github.com/wesnoth/wesnoth/commit/8499d0fddf8dca9402b52c9bb2f5384d8077a012
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M data/core/images/themes/classic/menubar.png
A data/gui/window/game_ui.cfg
M projectfiles/CodeBlocks/wesnoth.cbp
M source_lists/wesnoth
A src/gui/dialogs/game_ui.cpp
A src/gui/dialogs/game_ui.hpp
M src/playsingle_controller.cpp
Log Message:
-----------
Added static prototype for GUI2 in-game theme
Commit: 73aeddf48c532328428cae1c4ba9baefbaa45795
https://github.com/wesnoth/wesnoth/commit/73aeddf48c532328428cae1c4ba9baefbaa45795
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M projectfiles/CodeBlocks/wesnoth.cbp
M source_lists/libwesnoth
M src/arrow.cpp
M src/arrow.hpp
M src/display.cpp
M src/display.hpp
A src/drawing_buffer.cpp
A src/drawing_buffer.hpp
M src/editor/editor_display.cpp
M src/game_display.cpp
M src/units/animation.cpp
M src/units/drawer.cpp
M src/units/frame.cpp
M src/whiteboard/attack.cpp
M src/whiteboard/manager.cpp
M src/whiteboard/move.cpp
M src/whiteboard/recall.cpp
M src/whiteboard/recruit.cpp
M src/whiteboard/suppose_dead.cpp
Log Message:
-----------
Decoupled drawing buffer code from display class
Commit: f528a642a4af335a22c3f9bded7581c55280dfa1
https://github.com/wesnoth/wesnoth/commit/f528a642a4af335a22c3f9bded7581c55280dfa1
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/units/unit.cpp
Log Message:
-----------
Unit: fixed hp and xp colors having 0 alpha
Commit: 96f2e151bcb143b3062b8737269fc10cff528b30
https://github.com/wesnoth/wesnoth/commit/96f2e151bcb143b3062b8737269fc10cff528b30
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/display.cpp
M src/display.hpp
M src/editor/editor_display.cpp
M src/gui/widgets/minimap.cpp
M src/playsingle_controller.cpp
M src/sdl/utils.cpp
M src/units/drawer.cpp
M src/units/drawer.hpp
M src/units/frame.cpp
M src/video.cpp
M src/video.hpp
M src/whiteboard/attack.cpp
M src/whiteboard/suppose_dead.cpp
Log Message:
-----------
Initial refactor for main-screen accelerated rendering
Commit: ddadb3f1eab19569627599b8f1478ab24a35b58f
https://github.com/wesnoth/wesnoth/commit/ddadb3f1eab19569627599b8f1478ab24a35b58f
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/core/event/handler.cpp
Log Message:
-----------
GUI2: moved event handling into main context
Not sure why I need to call join() in connect() instead of the ctor, though.
Commit: 6054bd4296e02f9f6a2a8b49ed710de1fceaf532
https://github.com/wesnoth/wesnoth/commit/6054bd4296e02f9f6a2a8b49ed710de1fceaf532
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/units/drawer.cpp
Log Message:
-----------
Draw units under bars/orbs/etc
Commit: f08c8a356a425f1ed629cba3ede6758081ebd5d6
https://github.com/wesnoth/wesnoth/commit/f08c8a356a425f1ed629cba3ede6758081ebd5d6
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/video.cpp
M src/video.hpp
Log Message:
-----------
Video: expand render_copy to take flip arguments
Still needs to handle rotation.
Commit: 59fbd4742b96ecba23c505e9b7bd2f90775834f0
https://github.com/wesnoth/wesnoth/commit/59fbd4742b96ecba23c505e9b7bd2f90775834f0
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/core/canvas.cpp
Log Message:
-----------
GUI2/Canvas: made use of CVideo::render_copy
Commit: 02fc3b451bc5c1bf6593379e170d08f9309dba91
https://github.com/wesnoth/wesnoth/commit/02fc3b451bc5c1bf6593379e170d08f9309dba91
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/play_controller.cpp
Log Message:
-----------
Fixed play_controller not joining current event context
Was broken when I moved the GUI2 drawing trigger code to global scope probably.
Commit: 454876c6dd806abfd83278dcc1961fc4d2225e93
https://github.com/wesnoth/wesnoth/commit/454876c6dd806abfd83278dcc1961fc4d2225e93
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/units/drawer.cpp
Log Message:
-----------
Uint: fixed bad bar alpha on unit mouseover
Commit: d1e8dc5f4f3fc0007d4d7a8dcfb22deb406c2f78
https://github.com/wesnoth/wesnoth/commit/d1e8dc5f4f3fc0007d4d7a8dcfb22deb406c2f78
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/arrow.cpp
M src/display.cpp
M src/display.hpp
M src/editor/editor_display.cpp
M src/floating_label.cpp
M src/floating_label.hpp
M src/game_display.cpp
M src/game_display.hpp
M src/units/drawer.cpp
M src/units/frame.cpp
M src/units/udisplay.cpp
M src/whiteboard/attack.cpp
M src/whiteboard/suppose_dead.cpp
Log Message:
-----------
Another huge chunk of progress
Commit: cd149a2141ac39a0e43f8004d0ccba21c580906f
https://github.com/wesnoth/wesnoth/commit/cd149a2141ac39a0e43f8004d0ccba21c580906f
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/actions/advancement.cpp
M src/actions/move.cpp
M src/actions/undo.cpp
M src/actions/unit_creator.cpp
M src/controller_base.cpp
M src/editor/action/action_item.cpp
M src/editor/action/action_unit.cpp
M src/menu_events.cpp
M src/mouse_events.cpp
M src/mouse_handler_base.cpp
M src/playmp_controller.cpp
M src/playsingle_controller.cpp
M src/scripting/game_lua_kernel.cpp
Log Message:
-----------
Removed draw() calls into the display class
Not needed anymore since per-frame drawing is handled within said class.
Commit: 18e1144490c9a56810f4b6528b5b914ceda4ba2a
https://github.com/wesnoth/wesnoth/commit/18e1144490c9a56810f4b6528b5b914ceda4ba2a
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/sdl/window.cpp
M src/sdl/window.hpp
Log Message:
-----------
SDL/Window: added getter for output size (pixels)
Commit: 298d896a0a8738dbf02d7cb05934d13cdf95b522
https://github.com/wesnoth/wesnoth/commit/298d896a0a8738dbf02d7cb05934d13cdf95b522
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/video.cpp
Log Message:
-----------
Video: removed reliance on framebuffer for window dimensions
Apparently there is no window surface when using accelerated rendering. This is likely why there
were crashes on Linux.
Commit: 1e5708772c22d08d12d9035aa136e2d9cd3e965c
https://github.com/wesnoth/wesnoth/commit/1e5708772c22d08d12d9035aa136e2d9cd3e965c
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/events.cpp
M src/video.cpp
M src/video.hpp
Log Message:
-----------
Video: (almost) completely removed framebuffer surface
Again, useless since there's no more window surface with accelerated rendering.
getSurface() remains since it's still used in quite a lot of places. Will removed ASAP.
Commit: a41a4e87ad9b6742fba5b8065a38330b2401d190
https://github.com/wesnoth/wesnoth/commit/a41a4e87ad9b6742fba5b8065a38330b2401d190
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/tests/utils/fake_display.cpp
M src/video.cpp
M src/video.hpp
Log Message:
-----------
Video: removed unused arguments from make_test_fake
Commit: e68d0b63499f8616ecaa1eac09568414129d3b60
https://github.com/wesnoth/wesnoth/commit/e68d0b63499f8616ecaa1eac09568414129d3b60
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/display.cpp
M src/display.hpp
M src/game_display.cpp
M src/units/drawer.cpp
Log Message:
-----------
Got a bunch more components drawing
Reachmaps, attack indicators, shroud/fog (incomplete).
Commit: 9dae0507bd3d5a1386cc1a8f20ce8154ed0fa668
https://github.com/wesnoth/wesnoth/commit/9dae0507bd3d5a1386cc1a8f20ce8154ed0fa668
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/display.cpp
Log Message:
-----------
Enabled more stuff drawing
Hex overlay, map items, fog/shroud transitions.
Commit: a02c4382b571c43e2a14b7fef0e02313f32e9304
https://github.com/wesnoth/wesnoth/commit/a02c4382b571c43e2a14b7fef0e02313f32e9304
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/controller_base.cpp
M src/editor/controller/editor_controller.cpp
M src/play_controller.cpp
M src/playsingle_controller.cpp
M src/replay_controller.cpp
Log Message:
-----------
Removed most call to raise_draw_event
These don't seem necessary anymore since draw handling happens per-frame and doesn't rely
on calling derived class's draw() member.
Commit: bfb67f31a753f0a392810ea763aa9c5aeae514fc
https://github.com/wesnoth/wesnoth/commit/bfb67f31a753f0a392810ea763aa9c5aeae514fc
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/video.cpp
Log Message:
-----------
Video: enabled VSync for renderer (experimental)
Commit: a3f909c7794b7df402648af941aad7cab23409ac
https://github.com/wesnoth/wesnoth/commit/a3f909c7794b7df402648af941aad7cab23409ac
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/units/drawer.cpp
Log Message:
-----------
Units: fixed bad HP/XP bars fill rect offset
Commit: c882e91854316ce2e552700f7050b0400611cb57
https://github.com/wesnoth/wesnoth/commit/c882e91854316ce2e552700f7050b0400611cb57
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/core/canvas.cpp
Log Message:
-----------
GUI2/Canvas: fixed mirrored images being flipped on the wrong axis.
Commit: 0b7e5924a77c8f3637014639fd6f2b3a16096177
https://github.com/wesnoth/wesnoth/commit/0b7e5924a77c8f3637014639fd6f2b3a16096177
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/display.cpp
Log Message:
-----------
Cleaned up the implementation of display::scroll()
Commit: 8ac0b0cd9f21ebf62c407b8f150cbde8978fb38b
https://github.com/wesnoth/wesnoth/commit/8ac0b0cd9f21ebf62c407b8f150cbde8978fb38b
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/actions/move.cpp
Log Message:
-----------
Removed an unused variable
Not needed after I removed the draw() calls into the display class
Commit: 31c39a3ab390e1202d8befc541d9e331e937b461
https://github.com/wesnoth/wesnoth/commit/31c39a3ab390e1202d8befc541d9e331e937b461
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/image.cpp
M src/image.hpp
Log Message:
-----------
Extended implementation of the texture cache
Instead of always loading a surface at the same time, textures are now loaded directly from disk if applicable.
Instead, surfaces are only loaded if applicable to apply some effect that cannot as of now be done with texture
manipulation since we dont have shader support yet.
In that vein, I've also added two new texture caches, one for masked-to-hex images and one for ToD colored images.
Commit: ac4deaff60e5f57a5dde6b84fa1dd90093ed0ed2
https://github.com/wesnoth/wesnoth/commit/ac4deaff60e5f57a5dde6b84fa1dd90093ed0ed2
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/display.cpp
Log Message:
-----------
Trim ToD images to hex
Commit: cf0c42cbce262c2a339d267002a42b4aae0f9862
https://github.com/wesnoth/wesnoth/commit/cf0c42cbce262c2a339d267002a42b4aae0f9862
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/display.cpp
Log Message:
-----------
Temporarily disable map label position update on map scroll
There are a bunch of problems with this I need to fix.
Commit: 3b34cbb3b31e175152729aff64aeffdeafb8f8c1
https://github.com/wesnoth/wesnoth/commit/3b34cbb3b31e175152729aff64aeffdeafb8f8c1
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/core/canvas.cpp
M src/gui/widgets/widget.cpp
M src/video.cpp
Log Message:
-----------
Removed software rendering fallback
I've decided to commit fully to accelerated rendering.
Commit: bbc0f25fea65f7302bd71c97fcc87636155792c3
https://github.com/wesnoth/wesnoth/commit/bbc0f25fea65f7302bd71c97fcc87636155792c3
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/core/canvas.cpp
M src/gui/core/canvas_private.hpp
Log Message:
-----------
GUI2/Canvas: refactor surface use out of image rendering
The only real reason to keep using a surface was in order to have resize mode manipulations. I've now added
texture-only handling methods (the tiling one was borrowed from display.cpp's draw_background function).
Commit: 441acdaf3e26c5b16e88a4e222a31a56e9fb6ea7
https://github.com/wesnoth/wesnoth/commit/441acdaf3e26c5b16e88a4e222a31a56e9fb6ea7
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M projectfiles/CodeBlocks/wesnoth.cbp
M source_lists/libwesnoth_sdl
M src/editor/editor_display.cpp
M src/events.cpp
M src/game_display.cpp
A src/ogl/context.cpp
A src/ogl/context.hpp
A src/ogl/utils.cpp
A src/ogl/utils.hpp
M src/playsingle_controller.cpp
M src/sdl/window.cpp
M src/video.cpp
M src/video.hpp
Log Message:
-----------
Some initial code (disabled for now) for setting up an OGL context
In the interests of getting this all done faster, I've decided to postpone work on the OGL implementation for now
and focus on the SDL_Renderer version. This contains some basic code (include-guarded) for setting up an OGL context
for the main SDL window.
Commit: d3527e9eba3a709847fcf0502081c6069cc453e6
https://github.com/wesnoth/wesnoth/commit/d3527e9eba3a709847fcf0502081c6069cc453e6
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/image.cpp
M src/image.hpp
Log Message:
-----------
Allowed IPFs to work again when using the texture cache
See create_texture_from_sub_file doc comment for more info.
Commit: bb02ae366c2b15c0b0fcdbbe07bd7f06fa27c2b5
https://github.com/wesnoth/wesnoth/commit/bb02ae366c2b15c0b0fcdbbe07bd7f06fa27c2b5
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/core/canvas.cpp
Log Message:
-----------
GUI2/Canvas: set clip rect when tiling images
This fixes an issue where images could be tiled outside their desired size area.
Commit: 81c0d4c69299947711f2b055473da2f3747cb494
https://github.com/wesnoth/wesnoth/commit/81c0d4c69299947711f2b055473da2f3747cb494
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M data/gui/widget/window_default.cfg
Log Message:
-----------
GUI2/Window: draw background image first instead of last
Originally was going to do this as workaround for the background tiling over the borders,
but I fixed the root cause of that instead. Still, this just makes more sense.
Commit: f8cf25496d622aafe9bb70f7058d0071ab932fbb
https://github.com/wesnoth/wesnoth/commit/f8cf25496d622aafe9bb70f7058d0071ab932fbb
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/dialogs/outro.cpp
M src/gui/dialogs/story_viewer.cpp
Log Message:
-----------
GUI2: removed some unnecessary calls to canvas::set_is_dirty
The one in Outro was unnecessary since set_variable already calls set_is_dirty.
The one in the Story Viewer was there to deal with some background redraw issues which no longer appear
with the new drawing methods.
Commit: f9c0995ce02a757cd321697ccdcfe0864d45474a
https://github.com/wesnoth/wesnoth/commit/f9c0995ce02a757cd321697ccdcfe0864d45474a
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/sdl/window.cpp
M src/sdl/window.hpp
Log Message:
-----------
SDL/Window: removed pixel format member and promoted renderer info wholly to class member
The pixel format member was really rather useless, since SDL_RenderInfo returns an array of supported
formats and only the first one was being saved.
Commit: 20f3f47740d42fe50e4c5ca86ffd717befbd1971
https://github.com/wesnoth/wesnoth/commit/20f3f47740d42fe50e4c5ca86ffd717befbd1971
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/sdl/render_utils.hpp
M src/sdl/texture.cpp
Log Message:
-----------
Added some inline wrappers for SDL_SetTexture* functions
Commit: f095e576c1f8b783629cb627b4f82d93840d9094
https://github.com/wesnoth/wesnoth/commit/f095e576c1f8b783629cb627b4f82d93840d9094
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/display.cpp
M src/game_display.cpp
M src/halo.cpp
M src/halo.hpp
Log Message:
-----------
Refactored halo code to bring it in line with new drawing methods
This basically rips out all the unrendering and invalidation code. Neither is needed anymore.
Instead, we can have a simple, clean, "just draw the managed halos" interface.
Note there's an issue unrelated to this where halos aren't removed when a unit is killed with
the debug kill menu command.
Commit: 61a1122f6c99c58e962e9669e64b578d09f768e8
https://github.com/wesnoth/wesnoth/commit/61a1122f6c99c58e962e9669e64b578d09f768e8
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/units/animation.cpp
M src/units/animation_component.cpp
M src/units/drawer.cpp
M src/units/frame.cpp
Log Message:
-----------
Use shared_ptr::reset for clearing halo handlers
Commit: e2677d791d5078e6813bbe8f9204140d3aa8e4af
https://github.com/wesnoth/wesnoth/commit/e2677d791d5078e6813bbe8f9204140d3aa8e4af
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/units/frame.cpp
Log Message:
-----------
Restored alpha handling of unit frames
Still need to figure out the blending effects or submerge alpha.
Commit: f98c22514a307b54fd4de042af39dec74d4be60e
https://github.com/wesnoth/wesnoth/commit/f98c22514a307b54fd4de042af39dec74d4be60e
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/dialogs/editor/custom_tod.cpp
M src/gui/dialogs/editor/custom_tod.hpp
M src/gui/dialogs/loading_screen.cpp
M src/gui/dialogs/modeless_dialog.cpp
M src/gui/widgets/window.cpp
M src/gui/widgets/window.hpp
Log Message:
-----------
GUI2/Window: removed empty undraw() function
This was emptied earlier in my refactor when window unrendering was removed. I simply hadn't
removed the function yet.
Commit: 943ab656aaa39e5481d5364383543dc63d1990b5
https://github.com/wesnoth/wesnoth/commit/943ab656aaa39e5481d5364383543dc63d1990b5
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/gui/core/canvas.cpp
M src/image.cpp
M src/image.hpp
M src/sdl/render_utils.hpp
M src/sdl/window.cpp
Log Message:
-----------
Split texture caches into linear and NN scaled versions
With textures, you can't change render scale quality once they've been created. To rectify this, I've
made the texture caches a map of caches, sorted by scale quality. This should result in no performance
overhead, since an image is simply added to the appropriate quality cache on creation instead of in
a single cache. If a different version of a texture is needed it will be loaded later.
By default, load_texture will return images using nearest neighbor scaling. GUI2 always fetches images
using linear scaling. This is consistent with the old software rendering method. Plus, we don't have
any way (as of now) to specify the render quality on a per-image basis.
Commit: 5ae0a556d83aeebf7a0d88845f9d6737e141804d
https://github.com/wesnoth/wesnoth/commit/5ae0a556d83aeebf7a0d88845f9d6737e141804d
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/font/text.cpp
M src/font/text.hpp
M src/gui/core/canvas.cpp
M src/gui/widgets/styled_widget.hpp
Log Message:
-----------
Added a getter for a static pango_text object
The reason I added this was so I can refactor some temporary pango_text objects out of the display class.
styled_widget doesn't use this for reasons explained in the comment.
Commit: 674dae10b2601eeb0b1936480c5a5df58ef36334
https://github.com/wesnoth/wesnoth/commit/674dae10b2601eeb0b1936480c5a5df58ef36334
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M data/gui/window/addon_manager.cfg
Log Message:
-----------
GUI2/Addon Manager: removed some excessive borders in the low resolution definition
Commit: cd357f2805a68f1d650b6d6a183b1cefecb4c8eb
https://github.com/wesnoth/wesnoth/commit/cd357f2805a68f1d650b6d6a183b1cefecb4c8eb
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M data/gui/widget/addon_list.cfg
M src/gui/widgets/addon_list.cpp
Log Message:
-----------
GUI2/Addon List: restrict markup to name and installation status fields
We don't want markup in any of the other fields. I still need to find a slightly better solution for the name
field, though. We don't want users to be able to use markup unnecessairly, but we do need markup to highlight
the names of ready-to-upload addons.
This fixes warnings about unescaped ampersands in the Author field.
Commit: dcbd625014c56e125dceed1b6f138415272d07b2
https://github.com/wesnoth/wesnoth/commit/dcbd625014c56e125dceed1b6f138415272d07b2
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
A data/gui/window/command_console.cfg
M projectfiles/CodeBlocks/wesnoth.cbp
M source_lists/wesnoth
M src/controller_base.cpp
A src/gui/dialogs/command_console.cpp
A src/gui/dialogs/command_console.hpp
M src/menu_events.cpp
M src/menu_events.hpp
M src/play_controller.cpp
M src/play_controller.hpp
M src/playsingle_controller.cpp
M src/playsingle_controller.hpp
Log Message:
-----------
Port floating textbox/command console to GUI2
The old floating textbox was extremely entwined with the controller_base, play_controller, and menu_handler
classes. controller_base::have_keyboard_focus essentially controlled whether some events were executed based
on whether the floating textbox was open or not. Additionally, those events weren't even reached if a UI dialog
was open at all.
The new design features a singleton console class that can be called from anywhere, not just the game. I've also
decoupled the execution object from play_controller. The relevant functions in menu_handler are now passed to
the console as callbacks.
To work around map events such as clicking not being available if the console was open, I removed the exclusionary
is-in-dialog check from controller_base::handle_event and instead exit early out certain types of events using
controller_base::have_keyboard_focus. As mentioned in the accompanying comment, this isn't the best solution, but
it will do for now.
The new console also isn't fully feature-comparable with the old GUI1 one. The following are still missing:
* The checbox, for use when sending messages.
* Tab completion.
* A crash occurs when existing the app if a game was exited with the console open.
I'm leaving the old floating_textbox code around for now for reference.
Commit: 79787a786a5673539cc37115afae91e24304bb35
https://github.com/wesnoth/wesnoth/commit/79787a786a5673539cc37115afae91e24304bb35
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M data/gui/widget/panel_box_display.cfg
Log Message:
-----------
GUI2/Panel: remove border from small-res box_display_no_blur_no_border definition
Commit: 3b5683f6defa2a00d2e79db4a5ac07a978c61d9b
https://github.com/wesnoth/wesnoth/commit/3b5683f6defa2a00d2e79db4a5ac07a978c61d9b
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/floating_label.cpp
Log Message:
-----------
Floating Label: formatting update
Commit: 612a865ff99935c1ad7334267157dd310b1ad3f9
https://github.com/wesnoth/wesnoth/commit/612a865ff99935c1ad7334267157dd310b1ad3f9
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/floating_label.cpp
M src/floating_label.hpp
M src/tooltips.cpp
Log Message:
-----------
Refactored floating_label implementation
* Store label as a texture instead of creating a texture from a surface every draw cycle
* Restored expired label removal and alpha fadeout (was accidentally removed earlier in my refactoring)
* Use alpha field of bg_color member for background color
* Draw tooltip backgrounds procedurally instead of with surfaces and part of the label texture itself.
See included comment for small caveat.
Commit: a01efca8c9fdeb74438ce387457ee174f9eca436
https://github.com/wesnoth/wesnoth/commit/a01efca8c9fdeb74438ce387457ee174f9eca436
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/display.cpp
Log Message:
-----------
Display: restrict render clip rect setter to map drawing scope only
This prevents tooltips from being cut off.
Commit: aa8f6c7e78cc1c920632ecc8ac25706cf9f9a1a5
https://github.com/wesnoth/wesnoth/commit/aa8f6c7e78cc1c920632ecc8ac25706cf9f9a1a5
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/sdl/window.cpp
M src/sdl/window.hpp
M src/video.cpp
Log Message:
-----------
Fixed some issues with the resolution list (fixes #1772)
Awhile back I added some code to remove any resolutions from the list that exceeded the current DPI.
I seem to have misunderstood some of the functionality.
First, off, GetCurrentDisplayMode doesn't seem to return current resolution. From my tests, it seems
to return a "maximum maximized size" of some sort equal to GetUsableDisplayBounds - 1 (see below):
* Render output size: 800, 600
* Display mode size: 1536, 864
* Window size: 800, 600
* Display Bounds: x: 0, y: 0, w: 1537, h: 865
* Usable display bounds: x: 0, y: 0, w: 1537, h: 865
The actual
window size, which @celticminstrel informs me is what we should be measuring here, is actually returned
by either GetWindowSize or GetRenderOutputSize. According to SDL, the latter should return pixel size
and the former screen coordinates. In my tests, though, the results are the same. This might be different
on macOS or iOS. Either way, I've changed current_resolution(), getx(), and gety() to use the results of
GetWindowSize().
Additionally, it seems I don't need to multiply any display modes by the DPI scale factor if I check the
sizes against the aforementioned "max maximized area" w/h. For that I use GetDisplayBounds however...
though again, I'm not sure that's the best way to do this. It does seem to work correctly to fix the
aforementioned bug, anyway. I'll need to figure out more about the handling of DPI on Windows vs macOS
or iOS. There's an implication that the measurements some of these functions return is different.
Commit: ac1bdd25bb18be9e8e8076faa309fc141dd079e8
https://github.com/wesnoth/wesnoth/commit/ac1bdd25bb18be9e8e8076faa309fc141dd079e8
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/video.cpp
Log Message:
-----------
CVideo: create window with high DPI enabled
Commit: da5795718c37b29a95b6907d66841152697f3739
https://github.com/wesnoth/wesnoth/commit/da5795718c37b29a95b6907d66841152697f3739
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/image.cpp
Log Message:
-----------
Improved console output on IPF fail
Yes, I know the duplicate code should be consolidated.
Commit: f5a302aa60aa1d8957a45896cf7d35f61dde3221
https://github.com/wesnoth/wesnoth/commit/f5a302aa60aa1d8957a45896cf7d35f61dde3221
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/display.cpp
M src/events.cpp
M src/events.hpp
M src/gui/core/event/handler.cpp
M src/show_dialog.cpp
M src/video.cpp
M src/video.hpp
M src/widgets/widget.cpp
Log Message:
-----------
Refactor and cleanup of the drawing dispatch system
Previously, drawing was handled with custom DRAW and DRAW_ALL events which individual event handlers
managed. DRAW was used for only-as-needed draws, and DRAW_ALL for drawing everything. As we've switched
to accelerated rendering, we've switched to the latter model all the time; everything is always drawn.
Both DRAW and DRAW_ALL events aren't needed anymore and have been removed. Instead, we simply call each
handler's draw() function directly from events::pump. The two main cases that handled draw events - the
display class and GUI2 - just forwarded the event handler calls to their respective draw() functions anyway.
Awhile back to unconditionally send draw events to the event queue constantly every 20 ms. However, to prevent
draw calls from becoming backed up, the queue already had code to remove all but 1 draw event from the queue
anyway, so the actual rate of drawing was still reliant on the rate at which events::pump was called. Therefor
this commit should result in no change at the rate the screen is drawn.
Commit: 6638add3037e45923b09c3441b990c70eda6cedc
https://github.com/wesnoth/wesnoth/commit/6638add3037e45923b09c3441b990c70eda6cedc
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M projectfiles/CodeBlocks/wesnoth.cbp
M source_lists/libwesnoth
M src/arrow.cpp
M src/arrow.hpp
M src/display.cpp
M src/display.hpp
R src/drawing_buffer.cpp
R src/drawing_buffer.hpp
A src/drawing_queue.cpp
A src/drawing_queue.hpp
M src/editor/editor_display.cpp
M src/game_display.cpp
M src/units/animation.cpp
M src/units/drawer.cpp
M src/units/frame.cpp
M src/units/frame.hpp
M src/whiteboard/attack.cpp
M src/whiteboard/manager.cpp
M src/whiteboard/move.cpp
M src/whiteboard/recall.cpp
M src/whiteboard/recruit.cpp
M src/whiteboard/suppose_dead.cpp
Log Message:
-----------
Renamed drawing_buffer to drawing_queue
Also renamed drawing_queue::drawing_layer to just 'layer'.
Commit: 151bc644b26df337911073a1dd8bc2a9d26faa24
https://github.com/wesnoth/wesnoth/commit/151bc644b26df337911073a1dd8bc2a9d26faa24
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/display.cpp
Log Message:
-----------
Fixed halos drawing over fog and shroud (fixes #1406)
Commit: d10ed8511afb864b6d55c08f9e2f8e72ab5448b5
https://github.com/wesnoth/wesnoth/commit/d10ed8511afb864b6d55c08f9e2f8e72ab5448b5
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/display.cpp
Log Message:
-----------
Restore map label position anchoring
Also optimized the scroll() function a little to exit early if no change would occur.
Commit: f2c27564d84d113de15594dc68213697b686a9cc
https://github.com/wesnoth/wesnoth/commit/f2c27564d84d113de15594dc68213697b686a9cc
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/sdl/window.cpp
Log Message:
-----------
SDL/Window: throw exception if render-to-texture is not enabled
NOTE: for some reason, if I remove the `SDL_RENDERER_TARGETTEXTURE` flag from sdl::window's ctor
render_flags argument, this assertion still doesn't throw. Not sure if that means by GPU supports
it by default, or what.
Commit: 166aad8f2598e2e76084bb53fee81205b3f4f6b8
https://github.com/wesnoth/wesnoth/commit/166aad8f2598e2e76084bb53fee81205b3f4f6b8
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/actions/advancement.cpp
M src/actions/attack.cpp
M src/actions/create.cpp
M src/actions/move.cpp
M src/actions/undo_recall_action.cpp
M src/actions/undo_recruit_action.cpp
M src/actions/unit_creator.cpp
M src/actions/vision.cpp
M src/arrow.cpp
M src/arrow.hpp
M src/display.cpp
M src/display.hpp
M src/editor/action/mouse/mouse_action_item.cpp
M src/editor/action/mouse/mouse_action_unit.cpp
M src/editor/controller/editor_controller.cpp
M src/editor/editor_display.cpp
M src/editor/map/context_manager.cpp
M src/fake_unit_manager.cpp
M src/floating_textbox.cpp
M src/game_display.cpp
M src/game_display.hpp
M src/gui/dialogs/editor/custom_tod.cpp
M src/menu_events.cpp
M src/play_controller.cpp
M src/playsingle_controller.cpp
M src/replay_controller.cpp
M src/scripting/game_lua_kernel.cpp
M src/synced_commands.cpp
M src/units/animation.cpp
M src/units/udisplay.cpp
M src/whiteboard/attack.cpp
M src/whiteboard/attack.hpp
M src/whiteboard/manager.cpp
M src/whiteboard/move.cpp
M src/whiteboard/recall.cpp
M src/whiteboard/recall.hpp
M src/whiteboard/recruit.cpp
M src/whiteboard/recruit.hpp
M src/whiteboard/side_actions.cpp
M src/whiteboard/suppose_dead.cpp
M src/whiteboard/suppose_dead.hpp
M src/whiteboard/utility.cpp
Log Message:
-----------
Display: removed all the invalidated locations code
This removes all the code related to invalidating locations, any functions used to set, modify, or propagate
location invalidation, and several functions that no longer serve any purpose anymore since their only purpose
was to handle invalidated locations.
Commit: 60111e08c270b1c08fa5c301afcc71d98b492a0e
https://github.com/wesnoth/wesnoth/commit/60111e08c270b1c08fa5c301afcc71d98b492a0e
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/actions/move.cpp
M src/display.cpp
M src/units/animation.cpp
M src/units/animation.hpp
M src/units/animation_component.cpp
M src/units/animation_component.hpp
M src/whiteboard/manager.cpp
Log Message:
-----------
Removed animation invalidation code
This no longer actually does anything now that location invalidation is removed. If you follow the code
animation_component::invalidate called unit_animation::invalidate which was responsible for generating
the overlaped_hex_ set. Previously, this is what locations were invalidated. Now it didn't do anything.
Commit: 728d761f3f410459bc879fe1ae8d5ae76928465e
https://github.com/wesnoth/wesnoth/commit/728d761f3f410459bc879fe1ae8d5ae76928465e
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/actions/attack.cpp
M src/actions/vision.cpp
M src/display.cpp
M src/display.hpp
M src/editor/controller/editor_controller.cpp
M src/editor/map/context_manager.cpp
M src/gui/dialogs/editor/custom_tod.cpp
M src/play_controller.cpp
M src/replay_controller.cpp
M src/scripting/game_lua_kernel.cpp
M src/units/udisplay.cpp
Log Message:
-----------
Display: removed old drawing code and external draw calls
Commit: 725eac9bbfb2bf8aadf0447afabb04cbbc7c3318
https://github.com/wesnoth/wesnoth/commit/725eac9bbfb2bf8aadf0447afabb04cbbc7c3318
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/units/drawer.cpp
M src/units/frame.cpp
Log Message:
-----------
Fixed some bad drawing offsets and sizes when zoomed in
This fixes HP/XP bar size (wasn't scaled to zoom) and placement, as well as crown/orb and main sprite placement.
Commit: df95c4291d37c78a1bada2fbf7ecdaab2305f0b3
https://github.com/wesnoth/wesnoth/commit/df95c4291d37c78a1bada2fbf7ecdaab2305f0b3
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/sdl/texture.cpp
M src/sdl/texture.hpp
Log Message:
-----------
SDL/Texture: made info struct take a texture ptr directly
Will allow me to construct one directly from a pointer if I don't have a wrapper object.
Commit: c743cc6db3186732c49cb65dfcf2750858b6bdc9
https://github.com/wesnoth/wesnoth/commit/c743cc6db3186732c49cb65dfcf2750858b6bdc9
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/display.cpp
M src/display.hpp
M src/editor/editor_display.cpp
M src/editor/editor_display.hpp
M src/game_display.cpp
M src/game_display.hpp
Log Message:
-----------
Display: work on refactoring the main drawing system
Previously, every visible hex was iterated over and every element in that hex draw. This was inefficient
for two reasons: First, it meant the performance footprint for many operations like unit drawing was O(n²),
since the list of elements had to be checked for every single hex. Second, it meant the renderer had to
switch active textures many more times than necessary.
My new system involved drawing every element of a specific type at once - ie, all background terrains at
once, all units, all items, etc. This reduces lookup time from O(n²) to O(n) and results in a noticeable
performance increase. It also reduces the number of times the renderer needs to switch active textures,
since bulk draws such as the map grid overlay are now done all at once while that specific texture is
active.
There are still some layering issues and missing elements that need to be sorted, especially in game_display.
Commit: 314f2d049d3c0b3850317cb029e501024a9feea2
https://github.com/wesnoth/wesnoth/commit/314f2d049d3c0b3850317cb029e501024a9feea2
Author: Charles Dang <exodia339 at gmail.com>
Date: 2017-07-09 (Sun, 09 Jul 2017)
Changed paths:
M src/video.cpp
Log Message:
-----------
Video: don't render null textures
Compare: https://github.com/wesnoth/wesnoth/compare/646816cf430c...314f2d049d3c
More information about the Commits
mailing list