From 36eb92f9a41af0bb52f3dfbcbc9dd7c56a0acfa2 Mon Sep 17 00:00:00 2001 From: vladislavbelov Date: Fri, 12 Nov 2021 11:22:18 +0000 Subject: [PATCH] Adds render debug modes. Tested By: Langbart Differential Revision: https://code.wildfiregames.com/D4311 This was SVN commit r25992. --- .../developer_overlay/DeveloperOverlay.js | 21 ++++++++-- .../developer_overlay/DeveloperOverlay.xml | 9 +++-- .../DeveloperOverlayControl.js | 35 +++++++++++++++++ ....js => DeveloperOverlayControlCheckbox.js} | 31 +++------------ ...s => DeveloperOverlayControlCheckboxes.js} | 38 +++++++++---------- .../DeveloperOverlayControlDropDown.js | 38 +++++++++++++++++++ .../DeveloperOverlayControlDropDowns.js | 37 ++++++++++++++++++ .../data/mods/public/gui/session/styles.xml | 30 ++++++++++++++- .../shaders/glsl/common/debug_fragment.h | 20 ++++++++++ .../mods/public/shaders/glsl/model_common.fs | 16 ++++---- .../mods/public/shaders/glsl/model_water.fs | 4 +- .../public/shaders/glsl/model_waterfall.fs | 3 +- .../mods/public/shaders/glsl/overlayline.fs | 3 +- .../public/shaders/glsl/terrain_common.fs | 3 +- source/ps/CStrInternStatic.h | 3 ++ source/renderer/Renderer.cpp | 3 ++ source/renderer/RenderingOptions.cpp | 32 +++++++++++++++- source/renderer/RenderingOptions.h | 15 ++++++++ .../scripting/JSInterface_Renderer.cpp | 14 ++++++- 19 files changed, 288 insertions(+), 67 deletions(-) create mode 100644 binaries/data/mods/public/gui/session/developer_overlay/DeveloperOverlayControl.js rename binaries/data/mods/public/gui/session/developer_overlay/{DeveloperOverlayCheckbox.js => DeveloperOverlayControlCheckbox.js} (59%) rename binaries/data/mods/public/gui/session/developer_overlay/{DeveloperOverlayCheckboxes.js => DeveloperOverlayControlCheckboxes.js} (77%) create mode 100644 binaries/data/mods/public/gui/session/developer_overlay/DeveloperOverlayControlDropDown.js create mode 100644 binaries/data/mods/public/gui/session/developer_overlay/DeveloperOverlayControlDropDowns.js create mode 100644 binaries/data/mods/public/shaders/glsl/common/debug_fragment.h diff --git a/binaries/data/mods/public/gui/session/developer_overlay/DeveloperOverlay.js b/binaries/data/mods/public/gui/session/developer_overlay/DeveloperOverlay.js index a728416faf..ad1f2b2189 100644 --- a/binaries/data/mods/public/gui/session/developer_overlay/DeveloperOverlay.js +++ b/binaries/data/mods/public/gui/session/developer_overlay/DeveloperOverlay.js @@ -10,9 +10,13 @@ class DeveloperOverlay this.devCommandsOverlay.onPress = this.toggle.bind(this); this.checkBoxes = this.getCheckboxNames().map((name, i) => - new DeveloperOverlayCheckbox( - new DeveloperOverlayCheckboxes.prototype[name](playerViewControl, selection), + new DeveloperOverlayControlCheckbox( + new DeveloperOverlayControlCheckboxes.prototype[name](playerViewControl, selection), i)); + this.dropDowns = this.getDropDownNames().map((name, i) => + new DeveloperOverlayControlDropDown( + new DeveloperOverlayControlDrowDowns.prototype[name](playerViewControl, selection), + i + this.checkBoxes.length)); this.resize(); } @@ -22,7 +26,12 @@ class DeveloperOverlay */ getCheckboxNames() { - return Object.keys(DeveloperOverlayCheckboxes.prototype); + return Object.keys(DeveloperOverlayControlCheckboxes.prototype); + } + + getDropDownNames() + { + return Object.keys(DeveloperOverlayControlDrowDowns.prototype); } toggle() @@ -35,6 +44,9 @@ class DeveloperOverlay this.checkBoxes.forEach(checkbox => { checkbox.setHidden(this.devCommandsOverlay.hidden); }); + this.dropDowns.forEach(dropDown => { + dropDown.setHidden(this.devCommandsOverlay.hidden); + }); } sendNotification() @@ -59,7 +71,8 @@ class DeveloperOverlay let size = this.devCommandsOverlay.size; size.bottom = size.top + - this.checkBoxes.reduce((height, checkbox) => height + checkbox.getHeight(), 0); + this.checkBoxes.reduce((height, checkbox) => height + checkbox.getHeight(), 0) + + this.dropDowns.reduce((height, dropDown) => height + dropDown.getHeight(), 0); this.devCommandsOverlay.size = size; } } diff --git a/binaries/data/mods/public/gui/session/developer_overlay/DeveloperOverlay.xml b/binaries/data/mods/public/gui/session/developer_overlay/DeveloperOverlay.xml index 61172c047c..9e3185f37b 100644 --- a/binaries/data/mods/public/gui/session/developer_overlay/DeveloperOverlay.xml +++ b/binaries/data/mods/public/gui/session/developer_overlay/DeveloperOverlay.xml @@ -4,15 +4,16 @@ name="devCommandsOverlay" type="image" sprite="sessionOverlayBackground" - size="100%-250 50%-200 100%-8 50%" + size="100%-250 50%-280 100%-8 50%" z="40" hidden="true" hotkey="session.devcommands.toggle" > -