Basic world simulation working in editor

master
Joey Pollack 3 years ago
parent 148dd8e1bc
commit ee9112897c

@ -41,6 +41,8 @@ static_assert(sizeof(f64) == 8, "Expected f64 to be 8 bytes");
typedef u64 LUUID;
// The more complex Lunarium types
#include "types.h"
// Platform detection
#if defined(_WIN32) || defined(_WIN64)
@ -54,7 +56,9 @@ typedef u64 LUUID;
#endif
// The more complex Lunarium types
#include "types.h"
// DEBUG HELPERS
// #define UNIMPLEMENTED #error __FILE__ line: __LINE__ func is unimplemented and should not be called
#endif // LUNARIUM_COMMON_DEFS_H_

@ -0,0 +1,66 @@
/******************************************************************************
* pause.h
* This file was automatically genereated from the source file: Pause.png
* Generated by data2c version 0.1.1
******************************************************************************/
namespace lunarium_data_pause
{
const unsigned int PauseDataSize = 4096;
const unsigned int PauseDataWidth = 32;
const unsigned int PauseDataHeight = 32;
const unsigned int PauseDataNumChannels = 4;
const unsigned char PauseData[] = { 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128,
128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 141, 141, 50, 255, 208, 208, 21, 255, 208, 208, 21, 255, 208, 208, 21, 255, 208, 208, 21, 255, 208, 208, 21, 255, 208, 208, 21, 255, 208, 208, 21, 255, 208, 208, 21, 255, 140, 140, 50, 255, 77, 77, 77, 255, 84, 84, 74, 255, 191, 191, 28, 255, 208, 208, 21, 255, 208, 208, 21, 255, 208, 208, 21, 255, 208, 208, 21, 255, 208, 208, 21, 255, 208, 208, 21, 255, 208,
208, 21, 255, 197, 197, 25, 255, 93, 93, 70, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 219, 219, 15, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255,
255, 0, 255, 255, 255, 0, 255, 219, 219, 15, 255, 77, 77, 77, 255, 120, 120, 59, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 142, 142, 49, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128,
128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122, 122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255,
255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255,
255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122, 122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122,
122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122, 122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255,
255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255,
255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122, 122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128,
128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122, 122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255,
255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255,
255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122, 122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122,
122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122, 122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255,
255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255,
255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122, 122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128,
128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122, 122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255,
255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255,
255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122, 122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122,
122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122, 122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255,
255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255,
255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122, 122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128,
128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122, 122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255,
255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255,
255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122, 122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122,
122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122, 122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255,
255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255,
255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122, 122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128,
128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122, 122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255,
255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255,
255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122, 122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 144, 144, 48, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 221, 221, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 221, 221, 14, 255, 77, 77, 77, 255, 122,
122, 58, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 143, 143, 48, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 175, 175, 35, 255, 254, 254, 1, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 254, 254, 1, 255, 174, 174, 35, 255, 77, 77, 77, 255, 93, 93, 70, 255, 235, 235, 8, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255,
255, 0, 255, 242, 242, 5, 255, 107, 107, 64, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128,
128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128,
128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128,
128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255
};
}

@ -0,0 +1,66 @@
/******************************************************************************
* play_arrow.h
* This file was automatically genereated from the source file: Play_Arrow.png
* Generated by data2c version 0.1.1
******************************************************************************/
namespace lunarium_data_play
{
const unsigned int Play_ArrowDataSize = 4096;
const unsigned int Play_ArrowDataWidth = 32;
const unsigned int Play_ArrowDataHeight = 32;
const unsigned int Play_ArrowDataNumChannels = 4;
const unsigned char Play_ArrowData[] = { 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128,
128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 73, 87, 73, 255, 27, 192, 27, 255, 66, 104, 66, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 73, 87, 73, 255, 0, 255, 0, 255, 1, 254, 1, 255, 26, 196, 26, 255, 66, 102, 66, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128,
128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 73, 86, 73, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 2, 252, 2, 255, 31, 184, 31, 255, 69, 96, 69, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 73, 85, 73, 255, 0, 255, 0, 255, 0,
255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 2, 251, 2, 255, 31, 184, 31, 255, 69, 94, 69, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 74, 84, 74, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 3, 247, 3, 255, 33, 178, 33, 255, 70,
92, 70, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 74, 83, 74, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 4, 247, 4, 255, 36, 172, 36, 255, 72, 88, 72, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 75, 82, 75, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0,
255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 5, 242, 5, 255, 38, 166, 38, 255, 73, 87, 73, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128,
128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 75, 81, 75, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 6,
241, 6, 255, 41, 160, 41, 255, 74, 83, 74, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 75, 80, 75, 255, 0, 255, 0, 255, 0,
255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 8, 235, 8, 255, 43, 154, 43, 255, 75, 82, 75, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 76, 79, 76, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0,
255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 9, 234, 9, 255, 46, 148, 46, 255, 76, 80, 76, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 76, 78, 76, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0,
255, 0, 255, 0, 255, 0, 255, 12, 228, 12, 255, 50, 138, 50, 255, 77, 78, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 78, 77, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0,
255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 6, 240, 6, 255, 52, 135, 52, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128,
128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0,
255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 22, 203, 22, 255, 69, 95, 69, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 0, 254, 0, 255, 0,
255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 5, 245, 5, 255, 46, 148, 46, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 1, 253, 1, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0,
255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 21, 206, 21, 255, 69, 97, 69, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 1, 252, 1, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 3, 248, 3, 255, 43, 154, 43, 255, 77, 78, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 2, 252, 2, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0,
255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 18, 214, 18, 255, 66, 102, 66, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128,
128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 2, 250, 2, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 3, 249, 3, 255, 41, 160, 41, 255, 76, 78, 76, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 2, 249, 2, 255, 0,
255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 17, 217, 17, 255, 65, 104, 65, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 3, 249, 3, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 2, 252, 2, 255, 38, 166, 38, 255, 76,
79, 76, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 3, 247, 3, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 14, 224, 14, 255, 63, 111, 63, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 4, 247, 4, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 1, 252, 1, 255, 36,
172, 36, 255, 75, 81, 75, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128,
128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 4, 245, 4, 255, 0, 255, 0, 255, 0, 255, 0, 255, 13, 226, 13, 255, 61, 113, 61, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 5, 245, 5, 255, 1,
254, 1, 255, 33, 178, 33, 255, 75, 82, 75, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 15, 220, 15, 255, 58, 120, 58, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 75, 82, 75, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128,
128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128,
128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128,
128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255
};
}

@ -0,0 +1,66 @@
/******************************************************************************
* stop.h
* This file was automatically genereated from the source file: Stop.png
* Generated by data2c version 0.1.1
******************************************************************************/
namespace lunarium_data_stop
{
const unsigned int StopDataSize = 4096;
const unsigned int StopDataWidth = 32;
const unsigned int StopDataHeight = 32;
const unsigned int StopDataNumChannels = 4;
const unsigned char StopData[] = { 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128,
128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 228, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 212, 18, 18, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 211, 19, 19, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128,
128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128,
128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128,
128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128,
128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128,
128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 211, 19, 19, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255,
0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 210, 19, 19, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128,
128, 128, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77,
77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 77, 77, 77, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128,
128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128,
128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255, 128, 128, 128, 255
};
}

@ -20,6 +20,9 @@
#include "data_headers/folder16.h"
#include "data_headers/new_folder.h"
#include "data_headers/up_arrow_icon.h"
#include "data_headers/play_arrow.h"
#include "data_headers/pause.h"
#include "data_headers/stop.h"
#include <fstream>
@ -29,6 +32,9 @@ namespace lunarium
Texture* DataManager::mFolderIcon = nullptr;
Texture* DataManager::mNewFolderIcon = nullptr;
Texture* DataManager::mUpArrowIcon = nullptr;
Texture* DataManager::mPlayArrow = nullptr;
Texture* DataManager::mPause = nullptr;
Texture* DataManager::mStop = nullptr;
void DataManager::Initialize()
{
@ -68,6 +74,42 @@ namespace lunarium
mUpArrowIcon = Texture::Create(pData, lunarium_data_uparrow::up_arrow_iconDataWidth, lunarium_data_uparrow::up_arrow_iconDataHeight, format);
//////////////////////////////////////////
/////////////////////////////////////////
// play arrow
format = TextureFormat::RGB;
if (lunarium_data_play::Play_ArrowDataNumChannels == 4)
{
format = TextureFormat::RGBA;
}
pData = new unsigned char[lunarium_data_play::Play_ArrowDataSize];
memcpy(pData, lunarium_data_play::Play_ArrowData, lunarium_data_play::Play_ArrowDataSize);
mPlayArrow = Texture::Create(pData, lunarium_data_play::Play_ArrowDataWidth, lunarium_data_play::Play_ArrowDataHeight, format);
//////////////////////////////////////////
/////////////////////////////////////////
// pause
format = TextureFormat::RGB;
if (lunarium_data_pause::PauseDataNumChannels == 4)
{
format = TextureFormat::RGBA;
}
pData = new unsigned char[lunarium_data_pause::PauseDataSize];
memcpy(pData, lunarium_data_pause::PauseData, lunarium_data_pause::PauseDataSize);
mPause = Texture::Create(pData, lunarium_data_pause::PauseDataWidth, lunarium_data_pause::PauseDataHeight, format);
//////////////////////////////////////////
/////////////////////////////////////////
// stop
format = TextureFormat::RGB;
if (lunarium_data_stop::StopDataNumChannels == 4)
{
format = TextureFormat::RGBA;
}
pData = new unsigned char[lunarium_data_stop::StopDataSize];
memcpy(pData, lunarium_data_stop::StopData, lunarium_data_stop::StopDataSize);
mStop = Texture::Create(pData, lunarium_data_stop::StopDataWidth, lunarium_data_stop::StopDataHeight, format);
//////////////////////////////////////////
}
void DataManager::Shutdown()

@ -34,6 +34,9 @@ namespace lunarium
static Texture* mFolderIcon;
static Texture* mNewFolderIcon;
static Texture* mUpArrowIcon;
static Texture* mPlayArrow;
static Texture* mPause;
static Texture* mStop;
};
}

@ -49,6 +49,7 @@ namespace editor
: mDoNewProject(false), mDoOpenProject(false),
mDoSaveProject(false), mDoSaveAs(false), mpMapEditor(nullptr)
{
}
OpRes Editor::Initialize()
@ -74,7 +75,7 @@ namespace editor
mPanelManager.AddPanel(new AssetBrowser("", this), mPanels.AssetBrowser).LogIfFailed(LogCat);
mPanelManager.AddPanel(new WorldTree(this), mPanels.WorldTree).LogIfFailed(LogCat);
mPanelManager.AddPanel(new WorldView(), mPanels.WorldView).LogIfFailed(LogCat);
mPanelManager.AddPanel(new WorldView(this), mPanels.WorldView).LogIfFailed(LogCat);
mPanelManager.AddPanel(new PropertiesView(this), mPanels.PropertiesView).LogIfFailed(LogCat);
return OpRes::OK();
@ -500,5 +501,24 @@ namespace editor
{
((PropertiesView*)mPanelManager.GetPanel(mPanels.PropertiesView))->SetSelection((Entity*)nullptr);
}
void Editor::OnPlay()
{
// mWorldState = mpWorld->GetState();
// mSimRunning = true;
}
void Editor::OnPause()
{
//mSimRunning = !mSimRunning;
}
void Editor::OnStop()
{
// Need to unset the selection because the ECS ids are invalid after the reset
// TODO: Find a way around this
((PropertiesView*)mPanelManager.GetPanel(mPanels.PropertiesView))->SetSelection((Entity*)nullptr);
}
}
}

@ -17,12 +17,14 @@
#include "project.h"
#include "panels/about.h"
#include <world/world.h>
#include <filesystem>
#include <map>
namespace lunarium
{
class World;
//class World;
class Entity;
}
@ -62,6 +64,9 @@ namespace lunarium { namespace editor
void OnNewAsset(EditorAsset* pAsset);
void OnAssetUpdate(EditorAsset* pAsset);
void OnEntityDelete(Entity* pEnt);
void OnPlay();
void OnPause();
void OnStop();
private:
Editor(const Editor&) = delete;

@ -17,12 +17,14 @@
#include <dearimgui/imgui.h>
#include <editor/editor.h>
#include <gui/panel_manager.h>
#include <internal_data/data_manager.h>
namespace lunarium { namespace editor
{
WorldView::WorldView()
WorldView::WorldView(Editor* pEditor)
: Panel("World View", PanelDockZone::DDZ_CENTER, true, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoScrollbar), mpWorld(nullptr),
mFrameBuffer(nullptr), mWidth(0), mHeight(0), mNewViewSize(false), mIsWindowHovered(false), mpCanvasImage(nullptr), mEditorCamera(nullptr)
mFrameBuffer(nullptr), mWidth(0), mHeight(0), mNewViewSize(false), mIsWindowHovered(false), mpCanvasImage(nullptr), mEditorCamera(nullptr),
mSimRunning(false), mpEditor(pEditor), mSimPaused(false)
{
}
@ -63,6 +65,11 @@ namespace lunarium { namespace editor
mEditorCamera->MoveUp(-ImGui::GetIO().MouseDelta.y);
}
if (mSimRunning && !mSimPaused && mpWorld)
{
mpWorld->Update(delta);
}
// Render the current state of the world
if (mpWorld && mFrameBuffer)
{
@ -80,11 +87,11 @@ namespace lunarium { namespace editor
// TODO: Draw toolbar
ImVec2 window_size = ImGui::GetWindowSize();
float child_height = ImGui::GetFrameHeight() * 2;
ImGui::BeginChild("World View Toolbar", ImVec2(ImGui::GetWindowSize().x, child_height), true);
float child_height = ImGui::GetFrameHeight() * 2.5;
ImGui::BeginChild("World View Toolbar", ImVec2(ImGui::GetContentRegionAvailWidth(), child_height), true);
DoToolBar();
ImGui::EndChild();
ImGui::BeginChild("World View", ImVec2(ImGui::GetWindowSize().x, ImGui::GetWindowSize().y - child_height), true);
ImGui::BeginChild("World View", ImVec2(ImGui::GetContentRegionAvailWidth(), ImGui::GetWindowSize().y - child_height), true);
if (mWidth != ImGui::GetWindowSize().x || mHeight != ImGui::GetWindowSize().y)
{
@ -108,6 +115,39 @@ namespace lunarium { namespace editor
void WorldView::DoToolBar()
{
ImGui::SetCursorPosX(ImGui::GetContentRegionAvailWidth() / 2 - 48); // 48 is 32 + 16 which is 1 and a half button widths
if (ImGui::ImageButton((ImTextureID)DataManager::mPlayArrow->GetGLID64(),
ImVec2(DataManager::mPlayArrow->GetWidth(), DataManager::mPlayArrow->GetHeight())) && !mSimRunning)
{
if (mSimPaused)
{
mSimPaused = false;
}
else
{
mpEditor->OnPlay();
mWorldState = mpWorld->GetState();
mSimRunning = true;
}
}
ImGui::SameLine();
if (ImGui::ImageButton((ImTextureID)DataManager::mPause->GetGLID64(),
ImVec2(DataManager::mPause->GetWidth(), DataManager::mPause->GetHeight())))
{
mpEditor->OnPause();
mSimPaused = !mSimPaused;
}
ImGui::SameLine();
if (ImGui::ImageButton((ImTextureID)DataManager::mStop->GetGLID64(),
ImVec2(DataManager::mStop->GetWidth(), DataManager::mStop->GetHeight())))
{
mpEditor->OnStop();
mpWorld->ResetState(mWorldState);
mSimRunning = false;
}
}
}}

@ -10,11 +10,11 @@
#define WORLD_VIEW_H_
#include <gui/panel.h>
#include <world/world.h>
namespace lunarium
{
class Texture;
class World;
class FrameBuffer;
class OrthographicCamera;
@ -24,7 +24,7 @@ namespace editor
class WorldView : public Panel
{
public:
WorldView();
WorldView(Editor* pEditor);
void DoFrame();
void Update(float delta) override;
@ -39,6 +39,9 @@ namespace editor
int mHeight;
bool mNewViewSize;
bool mIsWindowHovered;
WorldState mWorldState;
bool mSimRunning;
bool mSimPaused;
lunarium::FrameBuffer* mFrameBuffer;
lunarium::OrthographicCamera* mEditorCamera;
lunarium::Texture* mpCanvasImage;

@ -14,6 +14,7 @@
#include <assets/types/script.h>
#include <assets/types/image.h>
#include <renderer/renderer2D.h>
#include <renderer/frame_buffer.h>
#include <renderer/orthographic_camera.h>
#include "entity.h"
@ -26,7 +27,7 @@ namespace lunarium
// }
World::World(std::string name)
: mUUID(UUID::GetNewID()), mName(name), mpActiveCamera(nullptr)
: mUUID(UUID::GetNewID()), mName(name), mpActiveCamera(nullptr), mFrameBuffer(nullptr)
{
}
@ -53,45 +54,22 @@ namespace lunarium
void World::Update(float dt)
{
// TODO: Update all entities
auto group = mECSRegistry.group<>(entt::get<VelocityComponent, TransformComponent>);
}
void World::Render(lunarium::Renderer2D* pGraphics)
// Render the group
for(auto entity: group)
{
// Draw the Renderables that also have a transform
// Code from:
// https://github.com/skypjack/entt/wiki/Crash-Course:-entity-component-system#views-and-groups
// mECSRegistry.view<TransformComponent, BlockOutComponent>().each([&](auto entity, auto &transform, auto &blockout)
// {
// Rectangle rect(transform.Position.x, transform.Position.y, blockout.Size.x, blockout.Size.y);
// Color color(blockout.Color.x, blockout.Color.y, blockout.Color.z, blockout.Color.w);
// glm::mat4 parent_transform(1.0f);
// if (mECSRegistry.all_of<ParentEntityComponent>(entity))
// {
// // UUIDComponent uuid = mECSRegistry.get<UUIDComponent>(entity);
// // LUUID uid = uuid.UUID;
// ParentEntityComponent& parent = mECSRegistry.get<ParentEntityComponent>(entity);
// parent_transform = GetParentTransform(parent.Parent);
// }
auto &transform = group.get<TransformComponent>(entity);
auto &velocity = group.get<VelocityComponent>(entity);
// pGraphics->DrawQuad(rect, color, nullptr, 0.0f, Rectangle(-1, -1, -1, -1), parent_transform);
// });
transform.Position += velocity.Velocity * dt;
}
// OLD RENDER HEIRARCHY RENDER SYSTEM
// mECSRegistry.view<TransformComponent, BlockOutComponent>().each([&](auto entity, auto &transform, auto &blockout)
// {
// Rectangle rect(transform.Position.x, transform.Position.y, blockout.Size.x, blockout.Size.y);
// Color color(blockout.Color.x, blockout.Color.y, blockout.Color.z, blockout.Color.w);
}
// if (!mECSRegistry.all_of<ParentEntityComponent>(entity))
// {
// DrawHeirarchy(pGraphics, entity, transform, blockout, glm::mat4(1.0f));
// }
// });
void World::Render(lunarium::Renderer2D* pGraphics)
{
// NEW RENDER SYSTEM
// First get the group we want
auto group = mECSRegistry.group<>(entt::get<BlockOutComponent, TransformComponent>);
@ -150,7 +128,6 @@ namespace lunarium
return new_ent->GetUUID();
}
void World::RemoveEntity(LUUID id)
{
Entity* temp = mEntitiesByUUID[id];
@ -169,7 +146,6 @@ namespace lunarium
delete temp;
}
Entity* World::GetEntity(LUUID id)
{
if (mEntitiesByUUID.find(id) == mEntitiesByUUID.end())
@ -256,6 +232,26 @@ namespace lunarium
// NOTE: MAY BE REMOVED
}
WorldState World::GetState()
{
return { AsJSON() };
}
void World::ResetState(WorldState& state)
{
if (!IsValidNode(state.State))
{
Logger::Warn(LogCategory::GAME_SYSTEM, "World state could not be set - state is invalid");
return;
}
mECSRegistry.clear();
mEntities.clear();
mEntitiesByUUID.clear();
Deserialize(state.State);
}
/////////////////////////////////////////////////////////////////////
// SERIALIZING
/////////////////////////////////////////////////////////////////////
@ -316,7 +312,7 @@ namespace lunarium
if (node["Entities"].is_null()) { return false; }
return false;
return true;
}
nlohmann::ordered_json World::AsJSON()

@ -30,10 +30,17 @@ namespace lunarium
class OrthographicCamera;
//class GameObject;
class Entity;
class FrameBuffer;
}
namespace lunarium
{
struct WorldState
{
nlohmann::ordered_json State;
};
struct EntityIterator
{
Entity* mEntity;
@ -83,6 +90,9 @@ namespace lunarium
std::vector<Entity*>::iterator EntitiesBegin();
bool EntitiesIsEnd(std::vector<Entity*>::iterator& iter);
WorldState GetState();
void ResetState(WorldState& state);
// Serializing
[[nodiscard]] virtual OpRes Serialize(nlohmann::ordered_json& node);
[[nodiscard]] virtual OpRes Deserialize(nlohmann::ordered_json& node);
@ -93,11 +103,15 @@ namespace lunarium
private:
LUUID mUUID;
std::string mName;
// State critical Data
entt::registry mECSRegistry;
std::vector<Entity*> mEntities;
std::map<LUUID, Entity*> mEntitiesByUUID;
RunMode mMode;
FrameBuffer* mFrameBuffer;
OrthographicCamera* mpActiveCamera;
//
// TODO: Move these into a TileMap class?
// This would allow worlds to support non-tile based levels/worlds
@ -107,7 +121,6 @@ namespace lunarium
// TEST STUFF
std::map<LUUID, Entity*> mEntitiesByUUID;
private: // HELPERS
void RenderEditor(lunarium::Renderer2D* pGraphics) const;

Loading…
Cancel
Save