Start the storyboard tool for designing/playing the cutscenes.

This commit is contained in:
Zed A. Shaw 2025-11-03 00:37:21 -05:00
parent 5b57fb2033
commit e915baf6fc
2 changed files with 50 additions and 0 deletions

View file

@ -178,6 +178,13 @@ executable('arena',
override_options: exe_defaults,
dependencies: dependencies)
executable('storyboard',
sources + [ 'tools/storyboard.cpp' ],
cpp_args: cpp_args,
link_args: link_args,
override_options: exe_defaults,
dependencies: dependencies)
executable('icongen',
[ 'palette.cpp', 'textures.cpp', 'config.cpp', 'dbc.cpp', 'tools/icongen.cpp' ],
cpp_args: cpp_args,

43
tools/storyboard.cpp Normal file
View file

@ -0,0 +1,43 @@
#include "gui/fsm.hpp"
#include "textures.hpp"
#include "sound.hpp"
#include "autowalker.hpp"
#include "ai.hpp"
#include "animation.hpp"
#include <iostream>
#include "shaders.hpp"
#include "backend.hpp"
#include "game_level.hpp"
#include "gui/fsm_events.hpp"
#include "events.hpp"
#include "constants.hpp"
#include "gui/event_router.hpp"
#include "camera.hpp"
int main(int, char*[]) {
components::init();
sfml::Backend backend;
guecs::init(&backend);
animation::init();
cinematic::init();
sf::RenderWindow window(sf::VideoMode({SCREEN_WIDTH, SCREEN_HEIGHT}), "Storyboard Editor");
window.setVerticalSyncEnabled(VSYNC);
if(FRAME_LIMIT) window.setFramerateLimit(FRAME_LIMIT);
window.setPosition({0,0});
gui::routing::Router router;
while(true) {
while(const auto ev = window.pollEvent()) {
auto gui_ev = router.process_event(ev);
if(gui_ev == gui::Event::QUIT) {
return 0;
}
}
window.display();
}
return 0;
}