From bd8ebabfee75f1f8f05512808dcb690495e6b82a Mon Sep 17 00:00:00 2001 From: Eidolon Date: Thu, 14 Dec 2023 21:00:42 -0600 Subject: [PATCH] Enforce C++17 standard compliance --- src/CMakeLists.txt | 5 +++++ src/hwr2/twodee_renderer.cpp | 6 +++--- src/hwr2/twodee_renderer.hpp | 3 ++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6f1a3bf1b..d285752c0 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -200,6 +200,11 @@ if("${CMAKE_COMPILER_IS_GNUCC}" AND "${CMAKE_SYSTEM_NAME}" MATCHES "Windows") endif() target_compile_features(SRB2SDL2 PRIVATE c_std_11 cxx_std_17) +set_target_properties(SRB2SDL2 PROPERTIES + CXX_STANDARD 17 + CXX_STANDARD_REQUIRED ON + CXX_EXTENSIONS OFF +) set(SRB2_ASM_SOURCES vid_copy.s) diff --git a/src/hwr2/twodee_renderer.cpp b/src/hwr2/twodee_renderer.cpp index ac9ed0dbd..95f64bd11 100644 --- a/src/hwr2/twodee_renderer.cpp +++ b/src/hwr2/twodee_renderer.cpp @@ -397,7 +397,7 @@ void TwodeeRenderer::flush(Rhi& rhi, Handle ctx, Twodee& twodee else { srb2::NotNull atlas = patch_atlas_cache_->find_patch(cmd.patch); - typeof(merged_cmd.texture) atlas_index_texture = atlas->texture(); + std::optional atlas_index_texture = atlas->texture(); new_cmd_needed = new_cmd_needed || (merged_cmd.texture != atlas_index_texture); } @@ -411,7 +411,7 @@ void TwodeeRenderer::flush(Rhi& rhi, Handle ctx, Twodee& twodee } else { - typeof(merged_cmd.texture) flat_tex = MergedTwodeeCommandFlatTexture {cmd.flat_lump}; + std::optional flat_tex = MergedTwodeeCommandFlatTexture {cmd.flat_lump}; new_cmd_needed |= (merged_cmd.texture != flat_tex); } @@ -444,7 +444,7 @@ void TwodeeRenderer::flush(Rhi& rhi, Handle ctx, Twodee& twodee if (cmd.flat_lump != LUMPERROR) { flat_manager_->find_or_create_indexed(rhi, ctx, cmd.flat_lump); - typeof(the_new_one.texture) t = MergedTwodeeCommandFlatTexture {cmd.flat_lump}; + std::optional t = MergedTwodeeCommandFlatTexture {cmd.flat_lump}; the_new_one.texture = t; } else diff --git a/src/hwr2/twodee_renderer.hpp b/src/hwr2/twodee_renderer.hpp index fe674c009..68096daf4 100644 --- a/src/hwr2/twodee_renderer.hpp +++ b/src/hwr2/twodee_renderer.hpp @@ -63,9 +63,10 @@ struct MergedTwodeeCommandFlatTexture struct MergedTwodeeCommand { + using Texture = std::variant, MergedTwodeeCommandFlatTexture>; TwodeePipelineKey pipeline_key = {}; rhi::Handle binding_set = {}; - std::optional, MergedTwodeeCommandFlatTexture>> texture; + std::optional texture; const uint8_t* colormap; uint32_t index_offset = 0; uint32_t elements = 0;