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

master
Zed A. Shaw 3 weeks 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

Loading…
Cancel
Save