MiMoEngine ASM: x86-64 MASM汇编+C混合架构游戏引擎
核心热路径(数学/内存/字符串/性能分析)用MASM汇编(SSE/AVX2) 外围系统(窗口/渲染/ECS/音频/UI/脚本)用C语言 含自研编辑器、VisualScript积木编程、中文渲染(glyph_atlas)
This commit is contained in:
commit
2d56cb3bc9
91 files changed
+9988
No files matched your search
@@ -0,0 +1,55 @@
|
||||
#pragma once
|
||||
#include "uilayer.h"
|
||||
#include "bitmap_font.h"
|
||||
#include "../Rendering/graphics_device.h"
|
||||
#include <stdint.h>
|
||||
|
||||
#define EDITOR_MAX_PANELS 16
|
||||
|
||||
typedef enum {
|
||||
PANEL_SCENE,
|
||||
PANEL_INSPECTOR,
|
||||
PANEL_CONSOLE,
|
||||
PANEL_ASSETS,
|
||||
PANEL_VIEWPORT,
|
||||
} PanelType;
|
||||
|
||||
typedef struct {
|
||||
PanelType type;
|
||||
const char* title;
|
||||
int x, y, w, h;
|
||||
int visible;
|
||||
int collapsed;
|
||||
int active_tab;
|
||||
} EditorPanel;
|
||||
|
||||
typedef struct {
|
||||
int mouse_x, mouse_y;
|
||||
int mouse_lbtn;
|
||||
int mouse_rbtn;
|
||||
int key_down[256];
|
||||
char text_input[256];
|
||||
int text_len;
|
||||
} EditorInput;
|
||||
|
||||
typedef struct {
|
||||
GraphicsDevice* device;
|
||||
UILayer ui;
|
||||
BitmapFont font;
|
||||
EditorPanel panels[EDITOR_MAX_PANELS];
|
||||
int panel_count;
|
||||
EditorInput input;
|
||||
float time;
|
||||
char console_lines[32][256];
|
||||
int console_count;
|
||||
int console_scroll;
|
||||
char selected_entity[128];
|
||||
int scene_entities_count;
|
||||
float viewport_rotation;
|
||||
} Editor;
|
||||
|
||||
int editor_init(Editor* ed, GraphicsDevice* dev);
|
||||
void editor_shutdown(Editor* ed);
|
||||
void editor_update(Editor* ed, float dt);
|
||||
void editor_render(Editor* ed);
|
||||
void editor_handle_input(Editor* ed, int msg, int wp, int lp);
|
||||
Reference in new issue
Block a user