Did some work checking the build on OSX. Looks like clang 14 is too old, will try later version.

master
Zed A. Shaw 10 months ago
parent 8d9c2d8c05
commit 2a4ada81bb
  1. 99
      ansi_parser.cpp
  2. 4
      ansi_parser.rl
  3. 1
      lel.hpp
  4. 1
      lights.cpp
  5. 2
      map_view.cpp
  6. 23
      meson.build
  7. 3
      scripts/reset_build.sh

@ -16,83 +16,83 @@ using namespace fmt;
#line 13 "ansi_parser.cpp" #line 13 "ansi_parser.cpp"
static const char _ansi_parser_actions[] = { static const char _ansi_parser_actions[] = {
0, 1, 0, 1, 3, 1, 4, 1, 0, 1, 0, 1, 3, 1, 4, 1,
5, 1, 6, 1, 7, 1, 8, 1, 5, 1, 6, 1, 7, 1, 8, 1,
9, 1, 10, 1, 11, 1, 15, 1, 9, 1, 10, 1, 11, 1, 15, 1,
16, 2, 1, 12, 2, 1, 13, 2, 16, 2, 1, 12, 2, 1, 13, 2,
6, 7, 2, 16, 5, 3, 1, 14, 6, 7, 2, 16, 5, 3, 1, 14,
2 2
}; };
static const char _ansi_parser_key_offsets[] = { static const char _ansi_parser_key_offsets[] = {
0, 0, 1, 2, 11, 12, 14, 17, 0, 0, 1, 2, 11, 12, 14, 17,
18, 22, 23, 27, 28, 29, 30, 31, 18, 22, 23, 27, 28, 29, 30, 31,
33, 36, 38, 41, 43, 46, 47, 50, 33, 36, 38, 41, 43, 46, 47, 50,
51, 52, 53, 54, 55 51, 52, 53, 54, 55
}; };
static const int _ansi_parser_trans_keys[] = { static const int _ansi_parser_trans_keys[] = {
27, 91, 48, 49, 50, 51, 52, 55, 27, 91, 48, 49, 50, 51, 52, 55,
57, 53, 54, 109, 48, 109, 34, 48, 57, 53, 54, 109, 48, 109, 34, 48,
55, 109, 50, 52, 55, 109, 109, 49, 55, 109, 50, 52, 55, 109, 109, 49,
56, 57, 109, 109, 59, 50, 59, 48, 56, 57, 109, 109, 59, 50, 59, 48,
57, 59, 48, 57, 48, 57, 59, 48, 57, 59, 48, 57, 48, 57, 59, 48,
57, 48, 57, 109, 48, 57, 109, 56, 57, 48, 57, 109, 48, 57, 109, 56,
57, 109, 59, 50, 109, 109, 27, 27, 57, 109, 59, 50, 109, 109, 27, 27,
0 0
}; };
static const char _ansi_parser_single_lengths[] = { static const char _ansi_parser_single_lengths[] = {
0, 1, 1, 7, 1, 2, 3, 1, 0, 1, 1, 7, 1, 2, 3, 1,
4, 1, 4, 1, 1, 1, 1, 0, 4, 1, 4, 1, 1, 1, 1, 0,
1, 0, 1, 0, 1, 1, 3, 1, 1, 0, 1, 0, 1, 1, 3, 1,
1, 1, 1, 1, 1 1, 1, 1, 1, 1
}; };
static const char _ansi_parser_range_lengths[] = { static const char _ansi_parser_range_lengths[] = {
0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1,
1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0,
0, 0, 0, 0, 0 0, 0, 0, 0, 0
}; };
static const char _ansi_parser_index_offsets[] = { static const char _ansi_parser_index_offsets[] = {
0, 0, 2, 4, 13, 15, 18, 22, 0, 0, 2, 4, 13, 15, 18, 22,
24, 29, 31, 36, 38, 40, 42, 44, 24, 29, 31, 36, 38, 40, 42, 44,
46, 49, 51, 54, 56, 59, 61, 65, 46, 49, 51, 54, 56, 59, 61, 65,
67, 69, 71, 73, 75 67, 69, 71, 73, 75
}; };
static const char _ansi_parser_trans_targs[] = { static const char _ansi_parser_trans_targs[] = {
2, 1, 3, 0, 4, 5, 8, 10, 2, 1, 3, 0, 4, 5, 8, 10,
22, 26, 6, 7, 0, 28, 0, 6, 22, 26, 6, 7, 0, 28, 0, 6,
28, 0, 7, 7, 7, 0, 28, 0, 28, 0, 7, 7, 7, 0, 28, 0,
7, 7, 9, 28, 0, 28, 0, 11, 7, 7, 9, 28, 0, 28, 0, 11,
12, 21, 28, 0, 28, 0, 13, 0, 12, 21, 28, 0, 28, 0, 13, 0,
14, 0, 15, 0, 16, 0, 17, 16, 14, 0, 15, 0, 16, 0, 17, 16,
0, 18, 0, 19, 18, 0, 20, 0, 0, 18, 0, 19, 18, 0, 20, 0,
28, 20, 0, 28, 0, 23, 25, 28, 28, 20, 0, 28, 0, 23, 25, 28,
0, 24, 0, 14, 0, 28, 0, 28, 0, 24, 0, 14, 0, 28, 0, 28,
0, 2, 1, 2, 1, 0 0, 2, 1, 2, 1, 0
}; };
static const char _ansi_parser_trans_actions[] = { static const char _ansi_parser_trans_actions[] = {
0, 7, 0, 0, 21, 21, 21, 21, 0, 7, 0, 0, 21, 21, 21, 21,
21, 21, 21, 21, 0, 31, 0, 0, 21, 21, 21, 21, 0, 31, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 17, 0, 15, 0, 0, 0, 0, 0, 17, 0, 15, 0, 0,
0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0,
3, 0, 0, 0, 1, 0, 25, 0, 3, 0, 0, 0, 1, 0, 25, 0,
0, 1, 0, 28, 0, 0, 1, 0, 0, 1, 0, 28, 0, 0, 1, 0,
37, 0, 0, 9, 0, 0, 0, 0, 37, 0, 0, 9, 0, 0, 0, 0,
0, 0, 0, 5, 0, 11, 0, 13, 0, 0, 0, 5, 0, 11, 0, 13,
0, 0, 7, 23, 34, 0 0, 0, 7, 23, 34, 0
}; };
static const char _ansi_parser_eof_actions[] = { 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 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 color($default_fg);
sf::Color* target = &color; sf::Color* target = &color;
#line 120 "ansi_parser.cpp" #line 120 "ansi_parser.cpp"
{ {
cs = ansi_parser_start; cs = ansi_parser_start;
} }
#line 146 "ansi_parser.rl" #line 146 "ansi_parser.rl"
#line 123 "ansi_parser.cpp" #line 123 "ansi_parser.cpp"
{ {
int _klen; int _klen;
@ -367,5 +367,10 @@ _again:
} }
} }
(void)ansi_parser_first_final;
(void)ansi_parser_error;
(void)ansi_parser_en_main;
return good; return good;
} }

@ -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; return good;
} }

@ -3,6 +3,7 @@
#include <unordered_map> #include <unordered_map>
#include <functional> #include <functional>
#include <optional> #include <optional>
#include <vector>
namespace lel { namespace lel {
using Row = std::vector<std::string>; using Row = std::vector<std::string>;

@ -22,7 +22,6 @@ namespace lighting {
* thing that would need to be calculated each time is the walls. * thing that would need to be calculated each time is the walls.
*/ */
void LightRender::render_light(LightSource source, Point at) { void LightRender::render_light(LightSource source, Point at) {
Point min, max;
clear_light_target(at); clear_light_target(at);
PointList has_light; PointList has_light;

@ -40,7 +40,7 @@ namespace gui {
if(debug.PATHS && dnum != WALL_PATH_LIMIT) { if(debug.PATHS && dnum != WALL_PATH_LIMIT) {
string num = dnum > 15 ? "*" : fmt::format("{:x}", dnum); 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.foreground_color = Color::HSV(dnum * 20, 150, 200);
pixel.background_color = Color::HSV(30, 20, tile.foreground[2] * 50 * PERCENT); pixel.background_color = Color::HSV(30, 20, tile.foreground[2] * 50 * PERCENT);
}); });

@ -16,9 +16,7 @@ catch2 = dependency('catch2-with-main')
fmt = dependency('fmt', allow_fallback: true) fmt = dependency('fmt', allow_fallback: true)
json = dependency('nlohmann_json') json = dependency('nlohmann_json')
freetype2 = dependency('freetype2') 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') flac = dependency('flac')
ogg = dependency('ogg') ogg = dependency('ogg')
vorbis = dependency('vorbis') vorbis = dependency('vorbis')
@ -26,7 +24,6 @@ vorbisfile = dependency('vorbisfile')
vorbisenc = dependency('vorbisenc') vorbisenc = dependency('vorbisenc')
sfml_audio = dependency('sfml_audio') sfml_audio = dependency('sfml_audio')
sfml_graphics = dependency('sfml_graphics') sfml_graphics = dependency('sfml_graphics')
sfml_main = dependency('sfml_main')
sfml_network = dependency('sfml_network') sfml_network = dependency('sfml_network')
sfml_system = dependency('sfml_system') sfml_system = dependency('sfml_system')
sfml_window = dependency('sfml_window') sfml_window = dependency('sfml_window')
@ -35,13 +32,25 @@ ftxui_dom = dependency('ftxui-dom')
ftxui_component = dependency('ftxui-component') ftxui_component = dependency('ftxui-component')
dependencies = [ dependencies = [
fmt, json, opengl32, freetype2, fmt, json, freetype2,
flac, ogg, vorbis, vorbisfile, vorbisenc, flac, ogg, vorbis, vorbisfile, vorbisenc,
winmm, gdi32, sfml_audio, sfml_graphics, sfml_audio, sfml_graphics,
sfml_main, sfml_network, sfml_system, sfml_network, sfml_system,
sfml_window, ftxui_screen, ftxui_dom, ftxui_component 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 = [ sources = [
'animator.cpp', 'animator.cpp',
'ansi_parser.cpp', 'ansi_parser.cpp',

@ -1,10 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
mv -f ./subprojects/packagecache . mv -f ./subprojects/packagecache .
rm -rf subprojects builddir rm -rf subprojects builddir
mkdir subprojects mkdir subprojects
mv packagecache ./subprojects/ mv -f packagecache ./subprojects/ && true
mkdir builddir mkdir builddir
cp wraps/*.wrap subprojects/ cp wraps/*.wrap subprojects/
# on OSX you can't do this with static # on OSX you can't do this with static