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; typedef u64 LUUID;
// The more complex Lunarium types
#include "types.h"
// Platform detection // Platform detection
#if defined(_WIN32) || defined(_WIN64) #if defined(_WIN32) || defined(_WIN64)
@ -54,7 +56,9 @@ typedef u64 LUUID;
#endif #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_ #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/folder16.h"
#include "data_headers/new_folder.h" #include "data_headers/new_folder.h"
#include "data_headers/up_arrow_icon.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> #include <fstream>
@ -29,6 +32,9 @@ namespace lunarium
Texture* DataManager::mFolderIcon = nullptr; Texture* DataManager::mFolderIcon = nullptr;
Texture* DataManager::mNewFolderIcon = nullptr; Texture* DataManager::mNewFolderIcon = nullptr;
Texture* DataManager::mUpArrowIcon = nullptr; Texture* DataManager::mUpArrowIcon = nullptr;
Texture* DataManager::mPlayArrow = nullptr;
Texture* DataManager::mPause = nullptr;
Texture* DataManager::mStop = nullptr;
void DataManager::Initialize() 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); 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() void DataManager::Shutdown()

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

@ -49,6 +49,7 @@ namespace editor
: mDoNewProject(false), mDoOpenProject(false), : mDoNewProject(false), mDoOpenProject(false),
mDoSaveProject(false), mDoSaveAs(false), mpMapEditor(nullptr) mDoSaveProject(false), mDoSaveAs(false), mpMapEditor(nullptr)
{ {
} }
OpRes Editor::Initialize() OpRes Editor::Initialize()
@ -74,7 +75,7 @@ namespace editor
mPanelManager.AddPanel(new AssetBrowser("", this), mPanels.AssetBrowser).LogIfFailed(LogCat); mPanelManager.AddPanel(new AssetBrowser("", this), mPanels.AssetBrowser).LogIfFailed(LogCat);
mPanelManager.AddPanel(new WorldTree(this), mPanels.WorldTree).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); mPanelManager.AddPanel(new PropertiesView(this), mPanels.PropertiesView).LogIfFailed(LogCat);
return OpRes::OK(); return OpRes::OK();
@ -500,5 +501,24 @@ namespace editor
{ {
((PropertiesView*)mPanelManager.GetPanel(mPanels.PropertiesView))->SetSelection((Entity*)nullptr); ((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 "project.h"
#include "panels/about.h" #include "panels/about.h"
#include <world/world.h>
#include <filesystem> #include <filesystem>
#include <map> #include <map>
namespace lunarium namespace lunarium
{ {
class World; //class World;
class Entity; class Entity;
} }
@ -62,6 +64,9 @@ namespace lunarium { namespace editor
void OnNewAsset(EditorAsset* pAsset); void OnNewAsset(EditorAsset* pAsset);
void OnAssetUpdate(EditorAsset* pAsset); void OnAssetUpdate(EditorAsset* pAsset);
void OnEntityDelete(Entity* pEnt); void OnEntityDelete(Entity* pEnt);
void OnPlay();
void OnPause();
void OnStop();
private: private:
Editor(const Editor&) = delete; Editor(const Editor&) = delete;

@ -17,12 +17,14 @@
#include <dearimgui/imgui.h> #include <dearimgui/imgui.h>
#include <editor/editor.h> #include <editor/editor.h>
#include <gui/panel_manager.h> #include <gui/panel_manager.h>
#include <internal_data/data_manager.h>
namespace lunarium { namespace editor namespace lunarium { namespace editor
{ {
WorldView::WorldView() WorldView::WorldView(Editor* pEditor)
: Panel("World View", PanelDockZone::DDZ_CENTER, true, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoScrollbar), mpWorld(nullptr), : 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); mEditorCamera->MoveUp(-ImGui::GetIO().MouseDelta.y);
} }
if (mSimRunning && !mSimPaused && mpWorld)
{
mpWorld->Update(delta);
}
// Render the current state of the world // Render the current state of the world
if (mpWorld && mFrameBuffer) if (mpWorld && mFrameBuffer)
{ {
@ -80,11 +87,11 @@ namespace lunarium { namespace editor
// TODO: Draw toolbar // TODO: Draw toolbar
ImVec2 window_size = ImGui::GetWindowSize(); ImVec2 window_size = ImGui::GetWindowSize();
float child_height = ImGui::GetFrameHeight() * 2; float child_height = ImGui::GetFrameHeight() * 2.5;
ImGui::BeginChild("World View Toolbar", ImVec2(ImGui::GetWindowSize().x, child_height), true); ImGui::BeginChild("World View Toolbar", ImVec2(ImGui::GetContentRegionAvailWidth(), child_height), true);
DoToolBar(); DoToolBar();
ImGui::EndChild(); 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) if (mWidth != ImGui::GetWindowSize().x || mHeight != ImGui::GetWindowSize().y)
{ {
@ -108,6 +115,39 @@ namespace lunarium { namespace editor
void WorldView::DoToolBar() 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_ #define WORLD_VIEW_H_
#include <gui/panel.h> #include <gui/panel.h>
#include <world/world.h>
namespace lunarium namespace lunarium
{ {
class Texture; class Texture;
class World;
class FrameBuffer; class FrameBuffer;
class OrthographicCamera; class OrthographicCamera;
@ -24,7 +24,7 @@ namespace editor
class WorldView : public Panel class WorldView : public Panel
{ {
public: public:
WorldView(); WorldView(Editor* pEditor);
void DoFrame(); void DoFrame();
void Update(float delta) override; void Update(float delta) override;
@ -39,6 +39,9 @@ namespace editor
int mHeight; int mHeight;
bool mNewViewSize; bool mNewViewSize;
bool mIsWindowHovered; bool mIsWindowHovered;
WorldState mWorldState;
bool mSimRunning;
bool mSimPaused;
lunarium::FrameBuffer* mFrameBuffer; lunarium::FrameBuffer* mFrameBuffer;
lunarium::OrthographicCamera* mEditorCamera; lunarium::OrthographicCamera* mEditorCamera;
lunarium::Texture* mpCanvasImage; lunarium::Texture* mpCanvasImage;

@ -14,6 +14,7 @@
#include <assets/types/script.h> #include <assets/types/script.h>
#include <assets/types/image.h> #include <assets/types/image.h>
#include <renderer/renderer2D.h> #include <renderer/renderer2D.h>
#include <renderer/frame_buffer.h>
#include <renderer/orthographic_camera.h> #include <renderer/orthographic_camera.h>
#include "entity.h" #include "entity.h"
@ -26,7 +27,7 @@ namespace lunarium
// } // }
World::World(std::string name) 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) void World::Update(float dt)
{ {
// TODO: Update all entities auto group = mECSRegistry.group<>(entt::get<VelocityComponent, TransformComponent>);
} // Render the group
for(auto entity: group)
void World::Render(lunarium::Renderer2D* pGraphics)
{ {
// Draw the Renderables that also have a transform auto &transform = group.get<TransformComponent>(entity);
// Code from: auto &velocity = group.get<VelocityComponent>(entity);
// 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);
// }
// 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)) void World::Render(lunarium::Renderer2D* pGraphics)
// { {
// DrawHeirarchy(pGraphics, entity, transform, blockout, glm::mat4(1.0f));
// }
// });
// NEW RENDER SYSTEM
// First get the group we want // First get the group we want
auto group = mECSRegistry.group<>(entt::get<BlockOutComponent, TransformComponent>); auto group = mECSRegistry.group<>(entt::get<BlockOutComponent, TransformComponent>);
@ -150,7 +128,6 @@ namespace lunarium
return new_ent->GetUUID(); return new_ent->GetUUID();
} }
void World::RemoveEntity(LUUID id) void World::RemoveEntity(LUUID id)
{ {
Entity* temp = mEntitiesByUUID[id]; Entity* temp = mEntitiesByUUID[id];
@ -169,7 +146,6 @@ namespace lunarium
delete temp; delete temp;
} }
Entity* World::GetEntity(LUUID id) Entity* World::GetEntity(LUUID id)
{ {
if (mEntitiesByUUID.find(id) == mEntitiesByUUID.end()) if (mEntitiesByUUID.find(id) == mEntitiesByUUID.end())
@ -256,6 +232,26 @@ namespace lunarium
// NOTE: MAY BE REMOVED // 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 // SERIALIZING
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
@ -316,7 +312,7 @@ namespace lunarium
if (node["Entities"].is_null()) { return false; } if (node["Entities"].is_null()) { return false; }
return false; return true;
} }
nlohmann::ordered_json World::AsJSON() nlohmann::ordered_json World::AsJSON()

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

Loading…
Cancel
Save