MiMoEngine ASM: x86-64 MASM汇编+C混合架构游戏引擎

核心热路径(数学/内存/字符串/性能分析)用MASM汇编(SSE/AVX2)
外围系统(窗口/渲染/ECS/音频/UI/脚本)用C语言
含自研编辑器、VisualScript积木编程、中文渲染(glyph_atlas)
This commit is contained in:
shuiyu1123 committed 2026-07-10 19:20:40 +08:00
commit 2d56cb3bc9
91 files changed
+9988

No files matched your search

+34
View File
@@ -0,0 +1,34 @@
#include "audio.h"
#include <stdlib.h>
#include <string.h>
AudioSystem* audio_create(void) {
AudioSystem* audio = (AudioSystem*)calloc(1, sizeof(AudioSystem));
return audio;
}
void audio_destroy(AudioSystem* audio) {
free(audio);
}
AudioSource* audio_source_create(AudioSystem* audio) {
AudioSource* source = (AudioSource*)calloc(1, sizeof(AudioSource));
source->volume = 1.0f;
source->pitch = 1.0f;
return source;
}
void audio_source_destroy(AudioSource* source) {
free(source);
}
void audio_source_play(AudioSource* source) { (void)source; }
void audio_source_stop(AudioSource* source) { (void)source; }
void audio_source_pause(AudioSource* source) { (void)source; }
void audio_source_resume(AudioSource* source) { (void)source; }
void audio_source_set_volume(AudioSource* source, float v) { if (source) source->volume = v; }
void audio_source_set_pitch(AudioSource* source, float p) { if (source) source->pitch = p; }
void audio_source_set_loop(AudioSource* source, int l) { if (source) source->loop = l; }
int audio_load_wav(AudioSource* source, const char* path) { (void)source; (void)path; return 0; }
int audio_load_wav_memory(AudioSource* source, const uint8_t* data, uint32_t size) { (void)source; (void)data; (void)size; return 0; }
void audio_set_master_volume(AudioSystem* audio, float v) { (void)audio; (void)v; }
+49
View File
@@ -0,0 +1,49 @@
#pragma once
// ============================================================================
// audio.h - 音频系统 (XAudio2)
// ============================================================================
#include <xaudio2.h>
#include <stdint.h>
// 音频源
typedef struct {
IXAudio2SourceVoice* source;
IXAudio2Voice* mastering;
float volume;
float pitch;
int loop;
} AudioSource;
// 音频管理器
typedef struct {
IXAudio2* xaudio2;
IXAudio2MasteringVoice* mastering_voice;
} AudioSystem;
// 初始化/销毁
AudioSystem* audio_create(void);
void audio_destroy(AudioSystem* audio);
// 音频源
AudioSource* audio_source_create(AudioSystem* audio);
void audio_source_destroy(AudioSource* source);
// 播放
void audio_source_play(AudioSource* source);
void audio_source_stop(AudioSource* source);
void audio_source_pause(AudioSource* source);
void audio_source_resume(AudioSource* source);
// 音量/音调
void audio_source_set_volume(AudioSource* source, float volume);
void audio_source_set_pitch(AudioSource* source, float pitch);
void audio_source_set_loop(AudioSource* source, int loop);
// WAV加载
int audio_load_wav(AudioSource* source, const char* path);
int audio_load_wav_memory(AudioSource* source, const uint8_t* data, uint32_t size);
// 主音量
void audio_set_master_volume(AudioSystem* audio, float volume);