yaze 0.2.0
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze.cc
Go to the documentation of this file.
1#if defined(_WIN32)
2#define main SDL_main
3#elif __APPLE__
5#endif
6
7#include "absl/debugging/failure_signal_handler.h"
8#include "absl/debugging/symbolize.h"
10
15using namespace yaze::app;
16
20int main(int argc, char** argv) {
21 absl::InitializeSymbolizer(argv[0]);
22
23 absl::FailureSignalHandlerOptions options;
24 options.symbolize_stacktrace = true;
25 options.use_alternate_stack = true;
26 options.alarm_on_failure_secs = true;
27 options.call_previous_handler = true;
28 absl::InstallFailureSignalHandler(options);
29
30 std::string rom_filename;
31 if (argc > 1) {
32 rom_filename = argv[1];
33 }
34
35 core::Controller controller;
36 EXIT_IF_ERROR(controller.OnEntry(rom_filename))
37
38#ifdef __APPLE__
39 InitializeCocoa();
40#endif
41
42 while (controller.IsActive()) {
43 controller.OnInput();
44 if (auto status = controller.OnLoad(); !status.ok()) {
45 std::cerr << status.message() << std::endl;
46 break;
47 }
48 controller.DoRender();
49 }
50 controller.OnExit();
51
52 return EXIT_SUCCESS;
53}
int main(int argc, char **argv)
Main entry point for the application.
Definition yaze.cc:20
Main controller for the application.
Definition controller.h:34
absl::Status OnEntry(std::string filename="")
#define EXIT_IF_ERROR(expression)
Definition constants.h:51
Main namespace for the ImGui application.
Definition common.cc:22