[Commits] [wesnoth/wesnoth] 586643: SDL/Window: set render scaling method to linear

GitHub noreply at github.com
Mon Jun 19 18:29:46 UTC 2017


  Branch: refs/heads/accelerated_rendering
  Home:   https://github.com/wesnoth/wesnoth
  Commit: 586643470e9669f1ff84a8dbd050c60214d0b938
      https://github.com/wesnoth/wesnoth/commit/586643470e9669f1ff84a8dbd050c60214d0b938
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 9e34dddc7b7474a5f620905f761029cbe63c0745
      https://github.com/wesnoth/wesnoth/commit/9e34dddc7b7474a5f620905f761029cbe63c0745
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M src/video.cpp

  Log Message:
  -----------
  Video: enabled accelerated rendering with texture target access


  Commit: de48ebb05e83b5019a9a6f90dba4e22c784a099f
      https://github.com/wesnoth/wesnoth/commit/de48ebb05e83b5019a9a6f90dba4e22c784a099f
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 8b014c0a51b3ff0d434013e53419bab8e4c7bbc8
      https://github.com/wesnoth/wesnoth/commit/8b014c0a51b3ff0d434013e53419bab8e4c7bbc8
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: ce04dad7abeb372868852446abaf3e5ff7fe373a
      https://github.com/wesnoth/wesnoth/commit/ce04dad7abeb372868852446abaf3e5ff7fe373a
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 327eebd364e59a987ca924939a09e2d2a4a7d381
      https://github.com/wesnoth/wesnoth/commit/327eebd364e59a987ca924939a09e2d2a4a7d381
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 5ee54c4e17175f9c057287c0a0e6117724334faa
      https://github.com/wesnoth/wesnoth/commit/5ee54c4e17175f9c057287c0a0e6117724334faa
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: e9c795ffac3876d7859f38fb493657218504c8bc
      https://github.com/wesnoth/wesnoth/commit/e9c795ffac3876d7859f38fb493657218504c8bc
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 51dcfb75c7528a7a480be3cc5bc45ca69559878e
      https://github.com/wesnoth/wesnoth/commit/51dcfb75c7528a7a480be3cc5bc45ca69559878e
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M src/font/text.cpp

  Log Message:
  -----------
  Hack to get text to render right


  Commit: 62f2b4e5174dce0cfaa20605c6d4f01cd5f8418b
      https://github.com/wesnoth/wesnoth/commit/62f2b4e5174dce0cfaa20605c6d4f01cd5f8418b
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: f9a53c95987c180606cd17aee78ff5212c2bb995
      https://github.com/wesnoth/wesnoth/commit/f9a53c95987c180606cd17aee78ff5212c2bb995
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: bbfa66ebb60ec3092c9928f2a7aed30df45f9582
      https://github.com/wesnoth/wesnoth/commit/bbfa66ebb60ec3092c9928f2a7aed30df45f9582
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M src/gui/widgets/window.cpp

  Log Message:
  -----------
  Removed some debug output

[ci skip]


  Commit: 10362f2a4b4eb39ff6d5e2ecccf6026b863b5100
      https://github.com/wesnoth/wesnoth/commit/10362f2a4b4eb39ff6d5e2ecccf6026b863b5100
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: f18d50aa011c344b336942d70b89271c6fefcdc6
      https://github.com/wesnoth/wesnoth/commit/f18d50aa011c344b336942d70b89271c6fefcdc6
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 0b6c258b73274be6fd97c70d90d2111f55976ec1
      https://github.com/wesnoth/wesnoth/commit/0b6c258b73274be6fd97c70d90d2111f55976ec1
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M src/gui/core/event/handler.cpp

  Log Message:
  -----------
  Small code simplification


  Commit: 48082701fbc68546b263691bae0576a8d83b692f
      https://github.com/wesnoth/wesnoth/commit/48082701fbc68546b263691bae0576a8d83b692f
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M src/gui/core/canvas.cpp

  Log Message:
  -----------
  GUI2/Canvas: add error logging if canvas texture creation fails


  Commit: b203f5111484a6c089f4148d69fed28283a51435
      https://github.com/wesnoth/wesnoth/commit/b203f5111484a6c089f4148d69fed28283a51435
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: b0ec0b97062b51a7091fb5753440d1eeb4714f76
      https://github.com/wesnoth/wesnoth/commit/b0ec0b97062b51a7091fb5753440d1eeb4714f76
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M src/gui/widgets/minimap.cpp

  Log Message:
  -----------
  GUI2/Minimap: quick fix to get the minimap drawing again


  Commit: 44de75dc65169cd43b4f097395897209cb767b7e
      https://github.com/wesnoth/wesnoth/commit/44de75dc65169cd43b4f097395897209cb767b7e
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: b7c788a3ec1e0898126e3276b1b8202c3fcc54e8
      https://github.com/wesnoth/wesnoth/commit/b7c788a3ec1e0898126e3276b1b8202c3fcc54e8
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M src/video.cpp

  Log Message:
  -----------
  CVideo: convert blit_surface to handle input as textures instead of blitting to framebuffer


  Commit: 83f8b009b099e8d35eb5447bd08578be18d5d381
      https://github.com/wesnoth/wesnoth/commit/83f8b009b099e8d35eb5447bd08578be18d5d381
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: f4cbc397dc3eb030dd633809ce9cda4b049e6ed0
      https://github.com/wesnoth/wesnoth/commit/f4cbc397dc3eb030dd633809ce9cda4b049e6ed0
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 6b86e79c0dcc52e0d515b4bff6e6db0c59fdcf07
      https://github.com/wesnoth/wesnoth/commit/6b86e79c0dcc52e0d515b4bff6e6db0c59fdcf07
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 81ea7eb272eebfa39aff29b37609037aeaea084c
      https://github.com/wesnoth/wesnoth/commit/81ea7eb272eebfa39aff29b37609037aeaea084c
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 60da3eaa7e52b29cda53f000d250cd689c14bba3
      https://github.com/wesnoth/wesnoth/commit/60da3eaa7e52b29cda53f000d250cd689c14bba3
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 4c24ed69740baa603797a91555681d78ebda1b22
      https://github.com/wesnoth/wesnoth/commit/4c24ed69740baa603797a91555681d78ebda1b22
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: cf9eaec03a3488ba3694fac317c6bd2fc806ef0c
      https://github.com/wesnoth/wesnoth/commit/cf9eaec03a3488ba3694fac317c6bd2fc806ef0c
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 06d31604550357c090a321fc0a59c4666aced57e
      https://github.com/wesnoth/wesnoth/commit/06d31604550357c090a321fc0a59c4666aced57e
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M data/gui/widget/image_default.cfg

  Log Message:
  -----------
  GUI2/Image: added tiled-to-size image definition


  Commit: 29dcc50ff68f2ac054023ce5becdc8e74f83ca32
      https://github.com/wesnoth/wesnoth/commit/29dcc50ff68f2ac054023ce5becdc8e74f83ca32
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M src/gui/widgets/minimap.cpp

  Log Message:
  -----------
  GUI2/Miniap: draw any provided canvas data before the minimap


  Commit: bea9c279b91baa5ea718b28725a531a85b0e3ebe
      https://github.com/wesnoth/wesnoth/commit/bea9c279b91baa5ea718b28725a531a85b0e3ebe
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: c38d3d86ba99b4ed892102624073b07e0db1ebc9
      https://github.com/wesnoth/wesnoth/commit/c38d3d86ba99b4ed892102624073b07e0db1ebc9
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M data/gui/widget/image_default.cfg

  Log Message:
  -----------
  GUI2/Image: added scaled-to-size definition


  Commit: 7b57b20e19cda6cf4c6727043355dff94193807d
      https://github.com/wesnoth/wesnoth/commit/7b57b20e19cda6cf4c6727043355dff94193807d
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M data/gui/widget/toggle_button_icon.cfg

  Log Message:
  -----------
  GUI2/Toggle Button: added medium-sized icon button definition


  Commit: 7b7b65ef5a9e0a8525e32a53358005e8551514d6
      https://github.com/wesnoth/wesnoth/commit/7b7b65ef5a9e0a8525e32a53358005e8551514d6
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: aede8582122f8b23d53030d7a534e55c02792dcd
      https://github.com/wesnoth/wesnoth/commit/aede8582122f8b23d53030d7a534e55c02792dcd
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 56eb6b751644079c2f56809c174151fe2c5f682e
      https://github.com/wesnoth/wesnoth/commit/56eb6b751644079c2f56809c174151fe2c5f682e
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M src/units/unit.cpp

  Log Message:
  -----------
  Unit: fixed hp and xp colors having 0 alpha


  Commit: d2ec0c9fcf6aa3a3dd101d5e58c8760ea5eea51b
      https://github.com/wesnoth/wesnoth/commit/d2ec0c9fcf6aa3a3dd101d5e58c8760ea5eea51b
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 85cc78f8639b912963c3e9e11b83fa3bcfe6bbd8
      https://github.com/wesnoth/wesnoth/commit/85cc78f8639b912963c3e9e11b83fa3bcfe6bbd8
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 0e89b7ed2ae199548f5926d1be39cdace91b48a4
      https://github.com/wesnoth/wesnoth/commit/0e89b7ed2ae199548f5926d1be39cdace91b48a4
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M src/gui/widgets/text_box_base.cpp

  Log Message:
  -----------
  Removed set_is_dirty call (do squash later)


  Commit: 8aa028bda1fa85c3f537c68e2e0b6bea5a802b1f
      https://github.com/wesnoth/wesnoth/commit/8aa028bda1fa85c3f537c68e2e0b6bea5a802b1f
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M src/units/drawer.cpp

  Log Message:
  -----------
  Draw units under bars/orbs/etc


  Commit: 4cfd11a8cbe142d80a938b88ba342b5ac006d93a
      https://github.com/wesnoth/wesnoth/commit/4cfd11a8cbe142d80a938b88ba342b5ac006d93a
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 2cb7ab18b6e958164251cc7b04b4e0b49e90a6d9
      https://github.com/wesnoth/wesnoth/commit/2cb7ab18b6e958164251cc7b04b4e0b49e90a6d9
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M src/gui/core/canvas.cpp

  Log Message:
  -----------
  GUI2/Canvas: made use of CVideo::render_copy


  Commit: 99614d332cfdd5d69ceef5b1872b82f84d131b7e
      https://github.com/wesnoth/wesnoth/commit/99614d332cfdd5d69ceef5b1872b82f84d131b7e
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: b3ff442e5809230711c7d97e5d7d13ec9f7f7a3f
      https://github.com/wesnoth/wesnoth/commit/b3ff442e5809230711c7d97e5d7d13ec9f7f7a3f
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M src/units/drawer.cpp

  Log Message:
  -----------
  Uint: fixed bad bar alpha on unit mouseover


  Commit: 3d157dd6dfc7062c889264b4d2fe800c0fbf533c
      https://github.com/wesnoth/wesnoth/commit/3d157dd6dfc7062c889264b4d2fe800c0fbf533c
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: eba8770b1bfa142a9f76d41cc985ad81b05d72c4
      https://github.com/wesnoth/wesnoth/commit/eba8770b1bfa142a9f76d41cc985ad81b05d72c4
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 3ea1ae8cbd78b3e36deed2243da141f7e7f514aa
      https://github.com/wesnoth/wesnoth/commit/3ea1ae8cbd78b3e36deed2243da141f7e7f514aa
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M src/sdl/window.cpp
    M src/sdl/window.hpp

  Log Message:
  -----------
  SDL/Window: added getter for output size (pixels)


  Commit: e81843335e7315e89174b7f58ea89cd6e295d0bf
      https://github.com/wesnoth/wesnoth/commit/e81843335e7315e89174b7f58ea89cd6e295d0bf
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: aeb33e5d70ef284d13e0353f9d8c096a59c09525
      https://github.com/wesnoth/wesnoth/commit/aeb33e5d70ef284d13e0353f9d8c096a59c09525
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: f8e9a123394fab61496af9ef1ac4f13d3fdec314
      https://github.com/wesnoth/wesnoth/commit/f8e9a123394fab61496af9ef1ac4f13d3fdec314
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 737a50cdc551b510ce49bea33b92ff276bd8b6c6
      https://github.com/wesnoth/wesnoth/commit/737a50cdc551b510ce49bea33b92ff276bd8b6c6
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 0f56a42b6aa8e0169c1131a3427aed965ad27606
      https://github.com/wesnoth/wesnoth/commit/0f56a42b6aa8e0169c1131a3427aed965ad27606
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M src/display.cpp

  Log Message:
  -----------
  Enabled more stuff drawing

Hex overlay, map items, fog/shroud transitions.


  Commit: 7048bfbee5d7553f2e90dcd488a9a376edc3ed54
      https://github.com/wesnoth/wesnoth/commit/7048bfbee5d7553f2e90dcd488a9a376edc3ed54
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: fdce26922b10d0a65543bd9a2eac1d22fc8016fc
      https://github.com/wesnoth/wesnoth/commit/fdce26922b10d0a65543bd9a2eac1d22fc8016fc
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M src/video.cpp

  Log Message:
  -----------
  Video: enabled VSync for renderer (experimental)


  Commit: 03c8ab410ed52ee16789a26e5b3adabb33ff27b1
      https://github.com/wesnoth/wesnoth/commit/03c8ab410ed52ee16789a26e5b3adabb33ff27b1
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M src/units/drawer.cpp

  Log Message:
  -----------
  Units: fixed bad HP/XP bars fill rect offset


  Commit: 150f8cc38387039761f11f0691ef27bb7620a2cc
      https://github.com/wesnoth/wesnoth/commit/150f8cc38387039761f11f0691ef27bb7620a2cc
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M src/gui/core/canvas.cpp

  Log Message:
  -----------
  GUI2/Canvas: fixed mirrored images being flipped on the wrong axis.


  Commit: 17b19f71352cf6eaeeb14f3ad9bced55b66a608a
      https://github.com/wesnoth/wesnoth/commit/17b19f71352cf6eaeeb14f3ad9bced55b66a608a
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M src/display.cpp

  Log Message:
  -----------
  Cleaned up the implementation of display::scroll()


  Commit: 7ec043f326e2260040272e8a07091f3d939424d9
      https://github.com/wesnoth/wesnoth/commit/7ec043f326e2260040272e8a07091f3d939424d9
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: c74deaf9f64e6729143c5fc2b8da0a0f794492b2
      https://github.com/wesnoth/wesnoth/commit/c74deaf9f64e6729143c5fc2b8da0a0f794492b2
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 483e5b3bd749595bfd5f4d469a36a72dbbcf0e80
      https://github.com/wesnoth/wesnoth/commit/483e5b3bd749595bfd5f4d469a36a72dbbcf0e80
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M src/display.cpp

  Log Message:
  -----------
  Trim ToD images to hex


  Commit: 961f625a6046c700ad736147887dae51628d7e1f
      https://github.com/wesnoth/wesnoth/commit/961f625a6046c700ad736147887dae51628d7e1f
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 00fded0a16f122132d51450b3cab6d7bab7f5bcf
      https://github.com/wesnoth/wesnoth/commit/00fded0a16f122132d51450b3cab6d7bab7f5bcf
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: d8b583c8749913333d25b5148218715dea870492
      https://github.com/wesnoth/wesnoth/commit/d8b583c8749913333d25b5148218715dea870492
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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: 515b42b602e49ce68eefdc35b8a4bd48e43371a2
      https://github.com/wesnoth/wesnoth/commit/515b42b602e49ce68eefdc35b8a4bd48e43371a2
  Author: Charles Dang <exodia339 at gmail.com>
  Date:   2017-06-20 (Tue, 20 Jun 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.


Compare: https://github.com/wesnoth/wesnoth/compare/7a19b9eb39cd...515b42b602e4


More information about the Commits mailing list