feat(资源加载): 替换stb_image为SDL_image并添加脚本解析功能

- 将stb_image替换为SDL_image以解决Switch平台兼容性问题
- 添加PVF资源包解析器和脚本解析器功能
- 修改各平台配置文件添加SDL_image依赖
- 更新纹理加载逻辑使用SDL_image API
- 新增脚本解析相关类用于处理游戏脚本数据
This commit is contained in:
2026-03-18 04:18:57 +08:00
parent a4883b433e
commit cb9f497fbb
17 changed files with 1647 additions and 32 deletions

View File

@@ -1,5 +1,6 @@
add_requires("libsdl2", {configs = {shared = true,wayland = true}})
add_requires("libsdl2_image")
add_requires("glm")
target("Frostbite2D")
@@ -12,6 +13,7 @@ target("Frostbite2D")
add_includedirs(path.join(os.projectdir(), "Game/include"))
add_packages("libsdl2")
add_packages("libsdl2_image")
add_packages("glm")
-- 复制着色器文件到输出目录

View File

@@ -2,6 +2,7 @@
set_toolchains("mingw")
add_requires("libsdl2", {configs = {shared = true}})
add_requires("libsdl2_image", {configs = {shared = true}})
add_requires("glm")
target("Frostbite2D")
@@ -14,6 +15,7 @@ target("Frostbite2D")
add_includedirs(path.join(os.projectdir(), "Game/include"))
add_packages("libsdl2")
add_packages("libsdl2_image")
add_packages("glm")
-- 复制 assets 目录到输出目录

View File

@@ -40,9 +40,9 @@ target("Frostbite2D")
add_includedirs(path.join(devkitPro, "portlibs/switch/include/SDL2"))
add_linkdirs(path.join(devkitPro, "portlibs/switch/lib"))
add_syslinks("SDL2_mixer", "SDL2", "opusfile", "opus", "vorbisidec", "ogg",
"modplug", "mpg123", "FLAC", "GLESv2", "EGL", "glapi", "drm_nouveau",
{public = true})
add_syslinks("SDL2_mixer", "SDL2_image", "SDL2", "webp", "png", "jpeg", "z", "opusfile", "opus", "vorbisidec", "ogg",
"modplug", "mpg123", "FLAC", "GLESv2", "EGL", "glapi", "drm_nouveau",
{public = true})
add_syslinks("nx", "m")