mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-04 13:42:55 +01:00
Allow fine-tuning the virtual floor style (#7577)
The virtual floor by @JeroenDStout, introduced in the v0.1.2 release, has generally been well-received. However, some players find it too intrusive in its current appearance (cf. #7221). This PR gives them the option of a toned-down version, rather than having to turn it off completely.  The clear/transparent style, introduced by this PR, looks like the virtual floor as originally introduced in #6338:  The glassy/translucent style is the virtual floor as we've come to know it since the v0.1.2 release, and remains the default setting.
This commit is contained in:
committed by
Hielke Morsink
parent
2127a0170e
commit
bf44007197
@@ -4508,7 +4508,7 @@ STR_6198 :{BLACK}Day:
|
||||
STR_6199 :Set date
|
||||
STR_6200 :Reset date
|
||||
STR_6201 :{MONTH}
|
||||
STR_6202 :Enable virtual floor
|
||||
STR_6202 :Virtual floor style:
|
||||
STR_6203 :{SMALLFONT}{BLACK}When enabled, a virtual floor will be rendered when holding Ctrl or Shift to ease vertical placement of elements.
|
||||
STR_6204 :Brick
|
||||
STR_6205 :Iron
|
||||
@@ -4562,6 +4562,10 @@ STR_6252 :Twitch API URL
|
||||
STR_6253 :{SMALLFONT}{BLACK}Provide URL of Twitch integration API. Required in order to enable Twitch integration.
|
||||
STR_6254 :URL of Twitch integration API:
|
||||
STR_6255 :URL is not valid
|
||||
STR_6256 :Rendering effects
|
||||
STR_6257 :Glassy (translucent)
|
||||
STR_6258 :Clear (transparent)
|
||||
STR_6259 :Disabled
|
||||
|
||||
#############
|
||||
# Scenarios #
|
||||
|
||||
@@ -176,7 +176,7 @@ void input_handle_keyboard(bool isTitle)
|
||||
}
|
||||
}
|
||||
|
||||
if (gConfigGeneral.use_virtual_floor)
|
||||
if (gConfigGeneral.virtual_floor_style != VIRTUAL_FLOOR_STYLE_OFF)
|
||||
{
|
||||
if (gInputPlaceObjectModifier & (PLACE_OBJECT_MODIFIER_COPY_Z | PLACE_OBJECT_MODIFIER_SHIFT_Z))
|
||||
virtual_floor_enable();
|
||||
|
||||
@@ -102,13 +102,16 @@ enum WINDOW_OPTIONS_WIDGET_IDX {
|
||||
WIDX_RENDERING_GROUP = WIDX_PAGE_START,
|
||||
WIDX_TILE_SMOOTHING_CHECKBOX,
|
||||
WIDX_GRIDLINES_CHECKBOX,
|
||||
WIDX_VIRTUAL_FLOOR_CHECKBOX,
|
||||
WIDX_UPPER_CASE_BANNERS_CHECKBOX,
|
||||
WIDX_SHOW_GUEST_PURCHASES_CHECKBOX,
|
||||
WIDX_VIRTUAL_FLOOR_LABEL,
|
||||
WIDX_VIRTUAL_FLOOR,
|
||||
WIDX_VIRTUAL_FLOOR_DROPDOWN,
|
||||
WIDX_EFFECTS_GROUP,
|
||||
WIDX_DAY_NIGHT_CHECKBOX,
|
||||
WIDX_ENABLE_LIGHT_FX_CHECKBOX,
|
||||
WIDX_UPPER_CASE_BANNERS_CHECKBOX,
|
||||
WIDX_RENDER_WEATHER_EFFECTS_CHECKBOX,
|
||||
WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX,
|
||||
WIDX_SHOW_GUEST_PURCHASES_CHECKBOX,
|
||||
|
||||
// Culture / Units
|
||||
WIDX_LANGUAGE = WIDX_PAGE_START,
|
||||
@@ -253,17 +256,22 @@ static rct_widget window_options_display_widgets[] = {
|
||||
static rct_widget window_options_rendering_widgets[] = {
|
||||
MAIN_OPTIONS_WIDGETS,
|
||||
#define FRAME_RENDERING_START 53
|
||||
{ WWT_GROUPBOX, 1, 5, 304, FRAME_RENDERING_START + 0, FRAME_RENDERING_START + 151, STR_RENDERING_GROUP, STR_NONE }, // Rendering group
|
||||
{ WWT_GROUPBOX, 1, 5, 304, FRAME_RENDERING_START + 0, FRAME_RENDERING_START + 92, STR_RENDERING_GROUP, STR_NONE }, // Rendering group
|
||||
{ WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 15, FRAME_RENDERING_START + 26, STR_TILE_SMOOTHING, STR_TILE_SMOOTHING_TIP }, // Landscape smoothing
|
||||
{ WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 30, FRAME_RENDERING_START + 41, STR_GRIDLINES, STR_GRIDLINES_TIP }, // Gridlines
|
||||
{ WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 45, FRAME_RENDERING_START + 56, STR_ENABLE_VIRTUAL_FLOOR, STR_ENABLE_VIRTUAL_FLOOR_TIP }, // Virtual floor
|
||||
{ WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 60, FRAME_RENDERING_START + 71, STR_CYCLE_DAY_NIGHT, STR_CYCLE_DAY_NIGHT_TIP }, // Cycle day-night
|
||||
{ WWT_CHECKBOX, 1, 25, 290, FRAME_RENDERING_START + 75, FRAME_RENDERING_START + 86, STR_ENABLE_LIGHTING_EFFECTS, STR_ENABLE_LIGHTING_EFFECTS_TIP }, // Enable light fx
|
||||
{ WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 90, FRAME_RENDERING_START + 101, STR_UPPERCASE_BANNERS, STR_UPPERCASE_BANNERS_TIP }, // Uppercase banners
|
||||
{ WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 105, FRAME_RENDERING_START + 116, STR_RENDER_WEATHER_EFFECTS, STR_RENDER_WEATHER_EFFECTS_TIP }, // Render weather effects
|
||||
{ WWT_CHECKBOX, 1, 25, 290, FRAME_RENDERING_START + 120, FRAME_RENDERING_START + 131, STR_DISABLE_LIGHTNING_EFFECT, STR_DISABLE_LIGHTNING_EFFECT_TIP }, // Disable lightning effect
|
||||
{ WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 135, FRAME_RENDERING_START + 146, STR_SHOW_GUEST_PURCHASES, STR_SHOW_GUEST_PURCHASES_TIP },
|
||||
{ WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 45, FRAME_RENDERING_START + 56, STR_UPPERCASE_BANNERS, STR_UPPERCASE_BANNERS_TIP }, // Uppercase banners
|
||||
{ WWT_CHECKBOX, 1, 10, 290, FRAME_RENDERING_START + 60, FRAME_RENDERING_START + 71, STR_SHOW_GUEST_PURCHASES, STR_SHOW_GUEST_PURCHASES_TIP }, // Guest purchases
|
||||
{ WWT_LABEL, 1, 10, 290, FRAME_RENDERING_START + 75, FRAME_RENDERING_START + 86, STR_VIRTUAL_FLOOR_STYLE, STR_NONE }, // Virtual floor
|
||||
{ WWT_DROPDOWN, 1, 155, 299, FRAME_RENDERING_START + 75, FRAME_RENDERING_START + 86, STR_NONE, STR_VIRTUAL_FLOOR_STYLE_TIP }, // Virtual floor dropdown
|
||||
{ WWT_BUTTON, 1, 288, 298, FRAME_RENDERING_START + 76, FRAME_RENDERING_START + 85, STR_DROPDOWN_GLYPH, STR_VIRTUAL_FLOOR_STYLE_TIP }, // Virtual floor dropdown
|
||||
#undef FRAME_RENDERING_START
|
||||
#define FRAME_EFFECTS_START 148
|
||||
{ WWT_GROUPBOX, 1, 5, 304, FRAME_EFFECTS_START + 0, FRAME_EFFECTS_START + 78, STR_EFFECTS_GROUP, STR_NONE }, // Rendering group
|
||||
{ WWT_CHECKBOX, 1, 10, 290, FRAME_EFFECTS_START + 15, FRAME_EFFECTS_START + 26, STR_CYCLE_DAY_NIGHT, STR_CYCLE_DAY_NIGHT_TIP }, // Cycle day-night
|
||||
{ WWT_CHECKBOX, 1, 25, 290, FRAME_EFFECTS_START + 30, FRAME_EFFECTS_START + 41, STR_ENABLE_LIGHTING_EFFECTS, STR_ENABLE_LIGHTING_EFFECTS_TIP }, // Enable light fx
|
||||
{ WWT_CHECKBOX, 1, 10, 290, FRAME_EFFECTS_START + 45, FRAME_EFFECTS_START + 56, STR_RENDER_WEATHER_EFFECTS, STR_RENDER_WEATHER_EFFECTS_TIP }, // Render weather effects
|
||||
{ WWT_CHECKBOX, 1, 25, 290, FRAME_EFFECTS_START + 60, FRAME_EFFECTS_START + 71, STR_DISABLE_LIGHTNING_EFFECT, STR_DISABLE_LIGHTNING_EFFECT_TIP }, // Disable lightning effect
|
||||
#undef FRAME_EFFECTS_START
|
||||
{ WIDGETS_END },
|
||||
};
|
||||
|
||||
@@ -533,13 +541,14 @@ static uint64 window_options_page_enabled_widgets[] = {
|
||||
MAIN_OPTIONS_ENABLED_WIDGETS |
|
||||
(1 << WIDX_TILE_SMOOTHING_CHECKBOX) |
|
||||
(1 << WIDX_GRIDLINES_CHECKBOX) |
|
||||
(1 << WIDX_VIRTUAL_FLOOR_CHECKBOX) |
|
||||
(1 << WIDX_UPPER_CASE_BANNERS_CHECKBOX) |
|
||||
(1 << WIDX_SHOW_GUEST_PURCHASES_CHECKBOX) |
|
||||
(1 << WIDX_VIRTUAL_FLOOR) |
|
||||
(1 << WIDX_VIRTUAL_FLOOR_DROPDOWN) |
|
||||
(1 << WIDX_DAY_NIGHT_CHECKBOX) |
|
||||
(1 << WIDX_ENABLE_LIGHT_FX_CHECKBOX) |
|
||||
(1 << WIDX_UPPER_CASE_BANNERS_CHECKBOX) |
|
||||
(1 << WIDX_RENDER_WEATHER_EFFECTS_CHECKBOX) |
|
||||
(1 << WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX) |
|
||||
(1 << WIDX_SHOW_GUEST_PURCHASES_CHECKBOX),
|
||||
(1 << WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX),
|
||||
|
||||
MAIN_OPTIONS_ENABLED_WIDGETS |
|
||||
(1 << WIDX_LANGUAGE) |
|
||||
@@ -725,11 +734,6 @@ static void window_options_mouseup(rct_window *w, rct_widgetindex widgetIndex)
|
||||
w->viewport->flags &= ~VIEWPORT_FLAG_GRIDLINES;
|
||||
}
|
||||
break;
|
||||
case WIDX_VIRTUAL_FLOOR_CHECKBOX:
|
||||
gConfigGeneral.use_virtual_floor ^= 1;
|
||||
config_save_default();
|
||||
window_invalidate(w);
|
||||
break;
|
||||
case WIDX_DAY_NIGHT_CHECKBOX:
|
||||
gConfigGeneral.day_night_cycle ^= 1;
|
||||
config_save_default();
|
||||
@@ -1095,6 +1099,23 @@ static void window_options_mousedown(rct_window *w, rct_widgetindex widgetIndex,
|
||||
}
|
||||
break;
|
||||
|
||||
case WINDOW_OPTIONS_PAGE_RENDERING:
|
||||
switch (widgetIndex) {
|
||||
case WIDX_VIRTUAL_FLOOR_DROPDOWN:
|
||||
gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdownItemsFormat[2] = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdownItemsArgs[0] = STR_VIRTUAL_FLOOR_STYLE_DISABLED;
|
||||
gDropdownItemsArgs[1] = STR_VIRTUAL_FLOOR_STYLE_TRANSPARENT;
|
||||
gDropdownItemsArgs[2] = STR_VIRTUAL_FLOOR_STYLE_GLASSY;
|
||||
|
||||
window_options_show_dropdown(w, widget, 3);
|
||||
|
||||
dropdown_set_checked(gConfigGeneral.virtual_floor_style, true);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case WINDOW_OPTIONS_PAGE_CULTURE:
|
||||
switch (widgetIndex) {
|
||||
case WIDX_HEIGHT_LABELS_DROPDOWN:
|
||||
@@ -1363,6 +1384,16 @@ static void window_options_dropdown(rct_window *w, rct_widgetindex widgetIndex,
|
||||
}
|
||||
break;
|
||||
|
||||
case WINDOW_OPTIONS_PAGE_RENDERING:
|
||||
switch (widgetIndex)
|
||||
{
|
||||
case WIDX_VIRTUAL_FLOOR_DROPDOWN:
|
||||
gConfigGeneral.virtual_floor_style = dropdownIndex;
|
||||
config_save_default();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case WINDOW_OPTIONS_PAGE_CULTURE:
|
||||
switch (widgetIndex) {
|
||||
case WIDX_HEIGHT_LABELS_DROPDOWN:
|
||||
@@ -1614,8 +1645,18 @@ static void window_options_invalidate(rct_window *w)
|
||||
{
|
||||
widget_set_checkbox_value(w, WIDX_TILE_SMOOTHING_CHECKBOX, gConfigGeneral.landscape_smoothing);
|
||||
widget_set_checkbox_value(w, WIDX_GRIDLINES_CHECKBOX, gConfigGeneral.always_show_gridlines);
|
||||
widget_set_checkbox_value(w, WIDX_VIRTUAL_FLOOR_CHECKBOX, gConfigGeneral.use_virtual_floor);
|
||||
widget_set_checkbox_value(w, WIDX_DAY_NIGHT_CHECKBOX, gConfigGeneral.day_night_cycle);
|
||||
widget_set_checkbox_value(w, WIDX_SHOW_GUEST_PURCHASES_CHECKBOX, gConfigGeneral.show_guest_purchases);
|
||||
widget_set_checkbox_value(w, WIDX_UPPER_CASE_BANNERS_CHECKBOX, gConfigGeneral.upper_case_banners);
|
||||
|
||||
rct_string_id VirtualFloorStyleStrings[] = {
|
||||
STR_VIRTUAL_FLOOR_STYLE_DISABLED,
|
||||
STR_VIRTUAL_FLOOR_STYLE_TRANSPARENT,
|
||||
STR_VIRTUAL_FLOOR_STYLE_GLASSY
|
||||
};
|
||||
|
||||
window_options_rendering_widgets[WIDX_VIRTUAL_FLOOR].text = VirtualFloorStyleStrings[gConfigGeneral.virtual_floor_style];
|
||||
|
||||
widget_set_checkbox_value(w, WIDX_ENABLE_LIGHT_FX_CHECKBOX, gConfigGeneral.enable_light_fx);
|
||||
if (gConfigGeneral.day_night_cycle &&
|
||||
gConfigGeneral.drawing_engine == DRAWING_ENGINE_SOFTWARE_WITH_HARDWARE_DISPLAY
|
||||
@@ -1625,7 +1666,6 @@ static void window_options_invalidate(rct_window *w)
|
||||
w->disabled_widgets |= (1 << WIDX_ENABLE_LIGHT_FX_CHECKBOX);
|
||||
}
|
||||
|
||||
widget_set_checkbox_value(w, WIDX_UPPER_CASE_BANNERS_CHECKBOX, gConfigGeneral.upper_case_banners);
|
||||
widget_set_checkbox_value(w, WIDX_RENDER_WEATHER_EFFECTS_CHECKBOX, gConfigGeneral.render_weather_effects || gConfigGeneral.render_weather_gloom);
|
||||
widget_set_checkbox_value(w, WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX, gConfigGeneral.disable_lightning_effect);
|
||||
if (!gConfigGeneral.render_weather_effects && !gConfigGeneral.render_weather_gloom) {
|
||||
@@ -1638,8 +1678,6 @@ static void window_options_invalidate(rct_window *w)
|
||||
w->disabled_widgets &= ~(1 << WIDX_DISABLE_LIGHTNING_EFFECT_CHECKBOX);
|
||||
}
|
||||
|
||||
widget_set_checkbox_value(w, WIDX_SHOW_GUEST_PURCHASES_CHECKBOX, gConfigGeneral.show_guest_purchases);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -1299,7 +1299,7 @@ static void sub_6E1F34(sint16 x, sint16 y, uint16 selected_scenery, sint16* grid
|
||||
*parameter_2 = (cl ^ (1 << 1)) | (gWindowSceneryPrimaryColour << 8);
|
||||
*parameter_3 = rotation | (gWindowScenerySecondaryColour << 16);
|
||||
|
||||
if (gConfigGeneral.use_virtual_floor)
|
||||
if (gConfigGeneral.virtual_floor_style != VIRTUAL_FLOOR_STYLE_OFF)
|
||||
{
|
||||
virtual_floor_set_height(gSceneryPlaceZ);
|
||||
}
|
||||
@@ -1556,7 +1556,7 @@ static void sub_6E1F34(sint16 x, sint16 y, uint16 selected_scenery, sint16* grid
|
||||
}
|
||||
}
|
||||
|
||||
if (gConfigGeneral.use_virtual_floor)
|
||||
if (gConfigGeneral.virtual_floor_style != VIRTUAL_FLOOR_STYLE_OFF)
|
||||
{
|
||||
virtual_floor_set_height(gSceneryPlaceZ);
|
||||
}
|
||||
@@ -2465,7 +2465,7 @@ static void top_toolbar_tool_update_scenery(sint16 x, sint16 y){
|
||||
map_invalidate_selection_rect();
|
||||
map_invalidate_map_selection_tiles();
|
||||
|
||||
if (gConfigGeneral.use_virtual_floor)
|
||||
if (gConfigGeneral.virtual_floor_style != VIRTUAL_FLOOR_STYLE_OFF)
|
||||
{
|
||||
virtual_floor_invalidate();
|
||||
}
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
#include "../localisation/Currency.h"
|
||||
#include "../localisation/Date.h"
|
||||
#include "../localisation/Language.h"
|
||||
#include "../paint/VirtualFloor.h"
|
||||
#include "../platform/platform.h"
|
||||
#include "../scenario/Scenario.h"
|
||||
|
||||
@@ -107,6 +108,13 @@ namespace Config
|
||||
ConfigEnumEntry<sint32>("SMOOTH_NEAREST_NEIGHBOUR", SCALE_QUALITY_SMOOTH_NN),
|
||||
});
|
||||
|
||||
static const auto Enum_VirtualFloorStyle = ConfigEnum<sint32>(
|
||||
{
|
||||
ConfigEnumEntry<sint32>("OFF", VIRTUAL_FLOOR_STYLE_OFF),
|
||||
ConfigEnumEntry<sint32>("CLEAR", VIRTUAL_FLOOR_STYLE_CLEAR),
|
||||
ConfigEnumEntry<sint32>("GLASSY", VIRTUAL_FLOOR_STYLE_GLASSY),
|
||||
});
|
||||
|
||||
/**
|
||||
* Config enum wrapping LanguagesDescriptors.
|
||||
*/
|
||||
@@ -169,7 +177,7 @@ namespace Config
|
||||
model->drawing_engine = reader->GetEnum<sint32>("drawing_engine", DRAWING_ENGINE_SOFTWARE, Enum_DrawingEngine);
|
||||
model->uncap_fps = reader->GetBoolean("uncap_fps", false);
|
||||
model->use_vsync = reader->GetBoolean("use_vsync", true);
|
||||
model->use_virtual_floor = reader->GetBoolean("use_virtual_floor", true);
|
||||
model->virtual_floor_style = reader->GetEnum<sint32>("virtual_floor_style", VIRTUAL_FLOOR_STYLE_GLASSY, Enum_VirtualFloorStyle);
|
||||
|
||||
// Default config setting is false until ghost trains are implemented #4540
|
||||
model->test_unfinished_tracks = reader->GetBoolean("test_unfinished_tracks", false);
|
||||
@@ -281,8 +289,8 @@ namespace Config
|
||||
writer->WriteBoolean("render_weather_gloom", model->render_weather_gloom);
|
||||
writer->WriteBoolean("show_guest_purchases", model->show_guest_purchases);
|
||||
writer->WriteBoolean("show_real_names_of_guests", model->show_real_names_of_guests);
|
||||
writer->WriteBoolean("use_virtual_floor", model->use_virtual_floor);
|
||||
writer->WriteBoolean("allow_early_completion", model->allow_early_completion);
|
||||
writer->WriteEnum<sint32>("virtual_floor_style", model->virtual_floor_style, Enum_VirtualFloorStyle);
|
||||
}
|
||||
|
||||
static void ReadInterface(IIniReader * reader)
|
||||
|
||||
@@ -42,7 +42,7 @@ struct GeneralConfiguration
|
||||
// Map rendering
|
||||
bool landscape_smoothing;
|
||||
bool always_show_gridlines;
|
||||
bool use_virtual_floor;
|
||||
sint32 virtual_floor_style;
|
||||
bool day_night_cycle;
|
||||
bool enable_light_fx;
|
||||
bool upper_case_banners;
|
||||
|
||||
@@ -3855,8 +3855,8 @@ enum {
|
||||
STR_DATE_RESET = 6200,
|
||||
STR_FORMAT_MONTH = 6201,
|
||||
|
||||
STR_ENABLE_VIRTUAL_FLOOR = 6202,
|
||||
STR_ENABLE_VIRTUAL_FLOOR_TIP = 6203,
|
||||
STR_VIRTUAL_FLOOR_STYLE = 6202,
|
||||
STR_VIRTUAL_FLOOR_STYLE_TIP = 6203,
|
||||
|
||||
STR_TILE_INSPECTOR_TERRAIN_EDGE_BRICK = 6204,
|
||||
STR_TILE_INSPECTOR_TERRAIN_EDGE_IRON = 6205,
|
||||
@@ -3925,6 +3925,11 @@ enum {
|
||||
STR_TWITCH_API_URL_DESC = 6254,
|
||||
STR_INVALID_URL = 6255,
|
||||
|
||||
STR_EFFECTS_GROUP = 6256,
|
||||
STR_VIRTUAL_FLOOR_STYLE_GLASSY = 6257,
|
||||
STR_VIRTUAL_FLOOR_STYLE_TRANSPARENT = 6258,
|
||||
STR_VIRTUAL_FLOOR_STYLE_DISABLED = 6259,
|
||||
|
||||
// Have to include resource strings (from scenarios and objects) for the time being now that language is partially working
|
||||
STR_COUNT = 32768
|
||||
};
|
||||
|
||||
@@ -14,7 +14,9 @@
|
||||
*****************************************************************************/
|
||||
#pragma endregion
|
||||
|
||||
#include "VirtualFloor.h"
|
||||
#include "../Input.h"
|
||||
#include "../config/Config.h"
|
||||
#include "../interface/Viewport.h"
|
||||
#include "../sprites.h"
|
||||
#include "../world/Map.h"
|
||||
@@ -396,6 +398,9 @@ void virtual_floor_paint(paint_session * session)
|
||||
0, 0, 0, 1, _virtualFloorHeight, 5, 5, _virtualFloorHeight + ((dullEdges & 0x8) ? -2 : 0));
|
||||
}
|
||||
|
||||
if (gConfigGeneral.virtual_floor_style != VIRTUAL_FLOOR_STYLE_GLASSY)
|
||||
return;
|
||||
|
||||
if (!weAreOccupied && !weAreLit)
|
||||
{
|
||||
sint32 imageColourFlats = SPR_G2_SURFACE_GLASSY_RECOLOURABLE | IMAGE_TYPE_REMAP | IMAGE_TYPE_TRANSPARENT | PALETTE_WATER << 19;
|
||||
|
||||
@@ -19,6 +19,13 @@
|
||||
|
||||
#include "../common.h"
|
||||
|
||||
enum VirtualFloorStyles
|
||||
{
|
||||
VIRTUAL_FLOOR_STYLE_OFF,
|
||||
VIRTUAL_FLOOR_STYLE_CLEAR,
|
||||
VIRTUAL_FLOOR_STYLE_GLASSY
|
||||
};
|
||||
|
||||
struct paint_session;
|
||||
|
||||
uint16 virtual_floor_get_height();
|
||||
|
||||
@@ -165,7 +165,7 @@ static void sub_68B3FB(paint_session * session, sint32 x, sint32 y)
|
||||
|
||||
bool partOfVirtualFloor = false;
|
||||
#ifndef __TESTPAINT__
|
||||
if (gConfigGeneral.use_virtual_floor)
|
||||
if (gConfigGeneral.virtual_floor_style != VIRTUAL_FLOOR_STYLE_OFF)
|
||||
{
|
||||
partOfVirtualFloor = virtual_floor_tile_is_floor(session->MapPosition.x, session->MapPosition.y);
|
||||
}
|
||||
@@ -339,7 +339,7 @@ static void sub_68B3FB(paint_session * session, sint32 x, sint32 y)
|
||||
} while (!(tile_element++)->IsLastForTile());
|
||||
|
||||
#ifndef __TESTPAINT__
|
||||
if (gConfigGeneral.use_virtual_floor && partOfVirtualFloor)
|
||||
if (gConfigGeneral.virtual_floor_style != VIRTUAL_FLOOR_STYLE_OFF && partOfVirtualFloor)
|
||||
{
|
||||
virtual_floor_paint(session);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user