feat: major engine overhaul - scene demo with lighting, sphere, ground
- Scene Demo: cube + sphere + ground plane with proper lighting - Audio: XAudio2 dynamic loading + WAV playback - Physics: expanded collision system - Renderer: improved pipeline with materials - UI: extended widget system - VisualScript: enhanced serializer + block interactions - ASM: optimized math/memory/profiling routines - Window: mouse input + scroll support
This commit is contained in:
1 parent
2653926d85
commit
0669d102ce
35 files changed
+1844
-314
No files matched your search
@@ -12,25 +12,28 @@ set DEMO_DIR=Demo
|
||||
set OUTPUT=MiMoEngine_ASM.exe
|
||||
|
||||
set CFLAGS=-O2 -Wall -Wextra -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_WARNINGS -DMATH_ASM_AVAILABLE=0 -I%ENGINE_DIR% -I%ENGINE_DIR%\include
|
||||
set LDFLAGS=-ld3d11 -ldxgi -ld3dcompiler -lole32 -loleaut32 -luuid -lgdi32 -luser32 -lkernel32 -lwinmm -static
|
||||
set LDFLAGS=-ld3d11 -ldxgi -ld3dcompiler -lole32 -loleaut32 -luuid -lgdi32 -luser32 -lkernel32 -lwinmm -lxinput1_4 -lwindowscodecs -static
|
||||
|
||||
echo === MiMoEngine ASM Build ===
|
||||
echo Compiler: %GCC%
|
||||
|
||||
REM 创建输出目录
|
||||
REM 创建输出目录并清理旧对象
|
||||
if not exist build mkdir build
|
||||
if exist build\*.o del /Q build\*.o
|
||||
|
||||
REM 编译引擎 C 源文件
|
||||
echo [1/3] Compiling Engine sources...
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\Core\engine.c -o build\engine.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\Core\logger.c -o build\logger.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\Core\timer.c -o build\timer.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\Core\asset_manager.c -o build\asset_manager.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\Window\window.c -o build\window.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\Rendering\graphics_device.c -o build\graphics_device.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\Rendering\renderer.c -o build\renderer.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\Rendering\shader.c -o build\shader.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\Rendering\mesh.c -o build\mesh.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\Rendering\texture.c -o build\texture.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\Rendering\material.c -o build\material.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\Rendering\camera.c -o build\camera.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\ECS\world.c -o build\world.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\Input\input.c -o build\input.o
|
||||
@@ -38,9 +41,12 @@ echo [1/3] Compiling Engine sources...
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\Audio\audio.c -o build\audio.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\UI\ui.c -o build\ui.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\Scripting\lua_engine.c -o build\lua_engine.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\Scene\scene_graph.c -o build\scene_graph.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\Scene\scene_render.c -o build\scene_render.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\Scene\scene_serialize.c -o build\scene_serialize.o
|
||||
|
||||
REM 编译 VisualScript 模块
|
||||
echo [2/3] Compiling VisualScript...
|
||||
echo [2/4] Compiling VisualScript...
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\VisualScript\block_core.c -o build\block_core.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\VisualScript\block_types.c -o build\block_types.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\VisualScript\block_workspace.c -o build\block_workspace.o
|
||||
@@ -51,23 +57,36 @@ echo [2/3] Compiling VisualScript...
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\VisualScript\block_serializer.c -o build\block_serializer.o
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\VisualScript\block_editor.c -o build\block_editor.o
|
||||
|
||||
REM 编译 Demo
|
||||
echo [3/3] Compiling Demo...
|
||||
%GCC% %CFLAGS% -c %DEMO_DIR%\main.c -o build\main.o
|
||||
REM 编译 Editor 模块
|
||||
echo [3/4] Compiling Editor...
|
||||
%GCC% %CFLAGS% -c %ENGINE_DIR%\Editor\glyph_atlas.c -o build\glyph_atlas.o
|
||||
|
||||
REM 链接
|
||||
echo Linking...
|
||||
%GXX% build\*.o -o build\%OUTPUT% %LDFLAGS%
|
||||
REM 编译 Demo
|
||||
echo [4/4] Compiling Demo...
|
||||
%GCC% %CFLAGS% -c %DEMO_DIR%\main.c -o build\main.o
|
||||
%GCC% %CFLAGS% -c %DEMO_DIR%\audio_demo.c -o build\audio_demo.o
|
||||
%GCC% %CFLAGS% -c %DEMO_DIR%\editor_main.c -o build\editor_main.o
|
||||
|
||||
REM 链接主程序
|
||||
echo Linking main...
|
||||
%GXX% build\engine.o build\logger.o build\timer.o build\asset_manager.o build\window.o build\graphics_device.o build\renderer.o build\shader.o build\mesh.o build\texture.o build\material.o build\camera.o build\world.o build\input.o build\physics.o build\audio.o build\ui.o build\lua_engine.o build\scene_graph.o build\scene_render.o build\scene_serialize.o build\block_core.o build\block_types.o build\block_workspace.o build\block_interaction.o build\block_renderer.o build\block_palette.o build\block_executor.o build\block_serializer.o build\block_editor.o build\glyph_atlas.o build\main.o -o build\%OUTPUT% %LDFLAGS%
|
||||
|
||||
REM 链接音频演示
|
||||
echo Linking audio_demo...
|
||||
%GXX% build\engine.o build\logger.o build\timer.o build\asset_manager.o build\window.o build\graphics_device.o build\renderer.o build\shader.o build\mesh.o build\texture.o build\material.o build\camera.o build\world.o build\input.o build\physics.o build\audio.o build\ui.o build\lua_engine.o build\scene_graph.o build\scene_render.o build\scene_serialize.o build\block_core.o build\block_types.o build\block_workspace.o build\block_interaction.o build\block_renderer.o build\block_palette.o build\block_executor.o build\block_serializer.o build\block_editor.o build\glyph_atlas.o build\audio_demo.o -o build\audio_demo.exe %LDFLAGS%
|
||||
|
||||
REM 链接编辑器
|
||||
echo Linking editor...
|
||||
%GXX% build\engine.o build\logger.o build\timer.o build\asset_manager.o build\window.o build\graphics_device.o build\renderer.o build\shader.o build\mesh.o build\texture.o build\material.o build\camera.o build\world.o build\input.o build\physics.o build\audio.o build\ui.o build\lua_engine.o build\scene_graph.o build\scene_render.o build\scene_serialize.o build\block_core.o build\block_types.o build\block_workspace.o build\block_interaction.o build\block_renderer.o build\block_palette.o build\block_executor.o build\block_serializer.o build\block_editor.o build\glyph_atlas.o build\editor_main.o -o build\editor.exe %LDFLAGS% -mwindows
|
||||
|
||||
if %ERRORLEVEL% EQU 0 (
|
||||
echo.
|
||||
echo === Build succeeded! ===
|
||||
echo Output: build\%OUTPUT%
|
||||
echo Audio Demo: build\audio_demo.exe
|
||||
echo.
|
||||
echo Run with: build\%OUTPUT%
|
||||
echo Run with: build\%OUTPUT% or build\audio_demo.exe
|
||||
) else (
|
||||
echo.
|
||||
echo === Build FAILED! ===
|
||||
)
|
||||
|
||||
pause
|
||||
Reference in new issue
Block a user