From 2a4ada81bb00b5c23e5f69d2b8cd934477cd3981 Mon Sep 17 00:00:00 2001 From: "Zed A. Shaw" Date: Thu, 13 Feb 2025 13:15:23 -0500 Subject: [PATCH] Did some work checking the build on OSX. Looks like clang 14 is too old, will try later version. --- ansi_parser.cpp | 99 ++++++++++++++++++++++-------------------- ansi_parser.rl | 4 ++ lel.hpp | 1 + lights.cpp | 1 - map_view.cpp | 2 +- meson.build | 23 +++++++--- scripts/reset_build.sh | 3 +- 7 files changed, 75 insertions(+), 58 deletions(-) mode change 100644 => 100755 scripts/reset_build.sh diff --git a/ansi_parser.cpp b/ansi_parser.cpp index 893486d..19f4d7c 100644 --- a/ansi_parser.cpp +++ b/ansi_parser.cpp @@ -16,83 +16,83 @@ using namespace fmt; #line 13 "ansi_parser.cpp" static const char _ansi_parser_actions[] = { - 0, 1, 0, 1, 3, 1, 4, 1, - 5, 1, 6, 1, 7, 1, 8, 1, - 9, 1, 10, 1, 11, 1, 15, 1, - 16, 2, 1, 12, 2, 1, 13, 2, - 6, 7, 2, 16, 5, 3, 1, 14, + 0, 1, 0, 1, 3, 1, 4, 1, + 5, 1, 6, 1, 7, 1, 8, 1, + 9, 1, 10, 1, 11, 1, 15, 1, + 16, 2, 1, 12, 2, 1, 13, 2, + 6, 7, 2, 16, 5, 3, 1, 14, 2 }; static const char _ansi_parser_key_offsets[] = { - 0, 0, 1, 2, 11, 12, 14, 17, - 18, 22, 23, 27, 28, 29, 30, 31, - 33, 36, 38, 41, 43, 46, 47, 50, + 0, 0, 1, 2, 11, 12, 14, 17, + 18, 22, 23, 27, 28, 29, 30, 31, + 33, 36, 38, 41, 43, 46, 47, 50, 51, 52, 53, 54, 55 }; static const int _ansi_parser_trans_keys[] = { - 27, 91, 48, 49, 50, 51, 52, 55, - 57, 53, 54, 109, 48, 109, 34, 48, - 55, 109, 50, 52, 55, 109, 109, 49, - 56, 57, 109, 109, 59, 50, 59, 48, - 57, 59, 48, 57, 48, 57, 59, 48, - 57, 48, 57, 109, 48, 57, 109, 56, - 57, 109, 59, 50, 109, 109, 27, 27, + 27, 91, 48, 49, 50, 51, 52, 55, + 57, 53, 54, 109, 48, 109, 34, 48, + 55, 109, 50, 52, 55, 109, 109, 49, + 56, 57, 109, 109, 59, 50, 59, 48, + 57, 59, 48, 57, 48, 57, 59, 48, + 57, 48, 57, 109, 48, 57, 109, 56, + 57, 109, 59, 50, 109, 109, 27, 27, 0 }; static const char _ansi_parser_single_lengths[] = { - 0, 1, 1, 7, 1, 2, 3, 1, - 4, 1, 4, 1, 1, 1, 1, 0, - 1, 0, 1, 0, 1, 1, 3, 1, + 0, 1, 1, 7, 1, 2, 3, 1, + 4, 1, 4, 1, 1, 1, 1, 0, + 1, 0, 1, 0, 1, 1, 3, 1, 1, 1, 1, 1, 1 }; static const char _ansi_parser_range_lengths[] = { - 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, - 1, 1, 1, 1, 1, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, + 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; static const char _ansi_parser_index_offsets[] = { - 0, 0, 2, 4, 13, 15, 18, 22, - 24, 29, 31, 36, 38, 40, 42, 44, - 46, 49, 51, 54, 56, 59, 61, 65, + 0, 0, 2, 4, 13, 15, 18, 22, + 24, 29, 31, 36, 38, 40, 42, 44, + 46, 49, 51, 54, 56, 59, 61, 65, 67, 69, 71, 73, 75 }; static const char _ansi_parser_trans_targs[] = { - 2, 1, 3, 0, 4, 5, 8, 10, - 22, 26, 6, 7, 0, 28, 0, 6, - 28, 0, 7, 7, 7, 0, 28, 0, - 7, 7, 9, 28, 0, 28, 0, 11, - 12, 21, 28, 0, 28, 0, 13, 0, - 14, 0, 15, 0, 16, 0, 17, 16, - 0, 18, 0, 19, 18, 0, 20, 0, - 28, 20, 0, 28, 0, 23, 25, 28, - 0, 24, 0, 14, 0, 28, 0, 28, + 2, 1, 3, 0, 4, 5, 8, 10, + 22, 26, 6, 7, 0, 28, 0, 6, + 28, 0, 7, 7, 7, 0, 28, 0, + 7, 7, 9, 28, 0, 28, 0, 11, + 12, 21, 28, 0, 28, 0, 13, 0, + 14, 0, 15, 0, 16, 0, 17, 16, + 0, 18, 0, 19, 18, 0, 20, 0, + 28, 20, 0, 28, 0, 23, 25, 28, + 0, 24, 0, 14, 0, 28, 0, 28, 0, 2, 1, 2, 1, 0 }; static const char _ansi_parser_trans_actions[] = { - 0, 7, 0, 0, 21, 21, 21, 21, - 21, 21, 21, 21, 0, 31, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 17, 0, 15, 0, 0, - 0, 0, 0, 0, 19, 0, 0, 0, - 3, 0, 0, 0, 1, 0, 25, 0, - 0, 1, 0, 28, 0, 0, 1, 0, - 37, 0, 0, 9, 0, 0, 0, 0, - 0, 0, 0, 5, 0, 11, 0, 13, + 0, 7, 0, 0, 21, 21, 21, 21, + 21, 21, 21, 21, 0, 31, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 17, 0, 15, 0, 0, + 0, 0, 0, 0, 19, 0, 0, 0, + 3, 0, 0, 0, 1, 0, 25, 0, + 0, 1, 0, 28, 0, 0, 1, 0, + 37, 0, 0, 9, 0, 0, 0, 0, + 0, 0, 0, 5, 0, 11, 0, 13, 0, 0, 7, 23, 34, 0 }; static const char _ansi_parser_eof_actions[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23 }; @@ -124,14 +124,14 @@ bool ANSIParser::parse(std::wstring_view codes, ColorCB color_cb, WriteCB write_ sf::Color color($default_fg); sf::Color* target = &color; - + #line 120 "ansi_parser.cpp" { cs = ansi_parser_start; } #line 146 "ansi_parser.rl" - + #line 123 "ansi_parser.cpp" { int _klen; @@ -367,5 +367,10 @@ _again: } } + (void)ansi_parser_first_final; + (void)ansi_parser_error; + (void)ansi_parser_en_main; + + return good; } diff --git a/ansi_parser.rl b/ansi_parser.rl index 0c000eb..cc2219e 100644 --- a/ansi_parser.rl +++ b/ansi_parser.rl @@ -159,5 +159,9 @@ bool ANSIParser::parse(std::wstring_view codes, ColorCB color_cb, WriteCB write_ } } + (void)ansi_parser_first_final; + (void)ansi_parser_error; + (void)ansi_parser_en_main; + return good; } diff --git a/lel.hpp b/lel.hpp index 5401473..bbdb857 100644 --- a/lel.hpp +++ b/lel.hpp @@ -3,6 +3,7 @@ #include #include #include +#include namespace lel { using Row = std::vector; diff --git a/lights.cpp b/lights.cpp index dbd6cf8..1efa236 100644 --- a/lights.cpp +++ b/lights.cpp @@ -22,7 +22,6 @@ namespace lighting { * thing that would need to be calculated each time is the walls. */ void LightRender::render_light(LightSource source, Point at) { - Point min, max; clear_light_target(at); PointList has_light; diff --git a/map_view.cpp b/map_view.cpp index 4f132b7..074066a 100644 --- a/map_view.cpp +++ b/map_view.cpp @@ -40,7 +40,7 @@ namespace gui { if(debug.PATHS && dnum != WALL_PATH_LIMIT) { string num = dnum > 15 ? "*" : fmt::format("{:x}", dnum); - $canvas.DrawText(x * 2, y * 4, num, [dnum, tile, light_value](auto &pixel) { + $canvas.DrawText(x * 2, y * 4, num, [dnum, tile](auto &pixel) { pixel.foreground_color = Color::HSV(dnum * 20, 150, 200); pixel.background_color = Color::HSV(30, 20, tile.foreground[2] * 50 * PERCENT); }); diff --git a/meson.build b/meson.build index fd2a3bd..62f81d1 100644 --- a/meson.build +++ b/meson.build @@ -16,9 +16,7 @@ catch2 = dependency('catch2-with-main') fmt = dependency('fmt', allow_fallback: true) json = dependency('nlohmann_json') freetype2 = dependency('freetype2') -opengl32 = cc.find_library('opengl32', required: true) -winmm = cc.find_library('winmm', required: true) -gdi32 = cc.find_library('gdi32', required: true) + flac = dependency('flac') ogg = dependency('ogg') vorbis = dependency('vorbis') @@ -26,7 +24,6 @@ vorbisfile = dependency('vorbisfile') vorbisenc = dependency('vorbisenc') sfml_audio = dependency('sfml_audio') sfml_graphics = dependency('sfml_graphics') -sfml_main = dependency('sfml_main') sfml_network = dependency('sfml_network') sfml_system = dependency('sfml_system') sfml_window = dependency('sfml_window') @@ -35,13 +32,25 @@ ftxui_dom = dependency('ftxui-dom') ftxui_component = dependency('ftxui-component') dependencies = [ - fmt, json, opengl32, freetype2, + fmt, json, freetype2, flac, ogg, vorbis, vorbisfile, vorbisenc, - winmm, gdi32, sfml_audio, sfml_graphics, - sfml_main, sfml_network, sfml_system, + sfml_audio, sfml_graphics, + sfml_network, sfml_system, sfml_window, ftxui_screen, ftxui_dom, ftxui_component ] +if build_machine.system() == 'windows' +sfml_main = dependency('sfml_main') + opengl32 = cc.find_library('opengl32', required: true) + winmm = cc.find_library('winmm', required: true) + gdi32 = cc.find_library('gdi32', required: true) + + dependencies += [ + opengl32, winmm, gdi32, sfml_main + ] +endif + + sources = [ 'animator.cpp', 'ansi_parser.cpp', diff --git a/scripts/reset_build.sh b/scripts/reset_build.sh old mode 100644 new mode 100755 index 9d56a7f..8dcc646 --- a/scripts/reset_build.sh +++ b/scripts/reset_build.sh @@ -1,10 +1,9 @@ #!/usr/bin/env bash -set -e mv -f ./subprojects/packagecache . rm -rf subprojects builddir mkdir subprojects -mv packagecache ./subprojects/ +mv -f packagecache ./subprojects/ && true mkdir builddir cp wraps/*.wrap subprojects/ # on OSX you can't do this with static