·
88 commits
to master
since this release
Changes from Contributors
- Port to non-Windows platforms by @chrox in #16
- 支持过场动画渲染 by @chrox in #18
- Android support by @chrox in #19
- feat: add command: CameraRotate by @a4rnx in #32
- feat: add DlgFace, then make dialog look better by @a4rnx in #34
- Fix RoleTurnFace and RolePathTo by @a4rnx in #33
- add command: FadeIn, FadeOut, FadeInWhite, FadeOutWhite by @a4rnx in #35
- fix already borrowed error by @a4rnx in #36
- fix implemention of repeat mode, support hold animation by @a4rnx in #37
- Fix warnings and errors by @a4rnx in #38
- fix: fade out should keep until fade in by @a4rnx in #39
- add command: Quake by @a4rnx in #40
- fix already borrowed error by @a4rnx in #42
- fix: don't draw curtain when player starts to control by @a4rnx in #41
- mv3: migrate manually loader to binrw by @a4rnx in #43
- fix: add missing submodule: yaobow-assets by @a4rnx in #44
- pol: migrate manually loader to binrw by @a4rnx in #45
- docs: add Windows build instructions by @leopeng1995 in #55
- Change default openpal3.toml and yaobow-assets path for linux by @amazingfate in #57
- workflow: bump actions/upload-artifact to v4 by @amazingfate in #58
- get avatar role_id from scn scene instead of hardcoding by @amazingfate in #61
- use rust stable channel instead of nightly by @amazingfate in #62
- change i8/u8 type to c_char for arm64 by @amazingfate in #59
- add loongarch support and bump ffmpeg by @amazingfate in #56
🎮 New Game Support
- PAL4: actor controller, player/camera scripting, scene loading (scene clip + sky), event triggers, item triggers, raycasting for floor height, npcloading, dialog portraits, BGM/sound, video playback, animation events, water UV animation, GOB file format, navmesh debug overlay
- PAL5: initial application, asset index loading, dff loader fixes, node rotation fixes, texture resolver
- SWD5: scene/map loading, scripting framework with basic commands (sleep, camera_lookat/delta/pos, dark/undark), OP movie playback, storypic, ATP fileformat, index viewer tool
📜 Scripting (Protosept / p7)
- New p7 scripting language with full toolchain (lexer, parser, semantic analysis, bytecode codegen, interpreter)
- for-in loops, match exhaustiveness, generic protos, nullable widening, auto-discard return values, attribute syntax, bool foreign-proto types
- Fat COM CCW for multi-interface protos; cross-module proto conformance
- Pure-Rust ccidl codegen (migrated from previous impl)
- AngelScript debugger (asdebug) with single-step, disassembly view, custom fonts
- Yaobow editor scripts migrated to p7 (welcome, tree view, inspector, resource panel)
🖼️ Rendering & Graphics
- Frame-fence optimized rendering pipeline
- Frustum culling + mipmaps
- Bone-weight blending, hierarchical bones, skin animation interpolation
- DFF lightmap & BSP lightmap support
- Alpha-blend rendering ordering (per-model and global)
- Offscreen render targets
- Prelit model preview in editor
- Morph-animated meshes; NIF / nidatastream parsing
- glTF exporter
- Various RWBS fixes (skin plugin, texture count, node names, frame root detection, samplers)
📦 File Formats
- New: NIF, ANM, NOD, role_bin, npcInfo, CAM, EVF, GOB, ATP, C00, CSB, ZPKG, PKG, FMB/SFB, SWD5 packages, PAL4 CPK/SMP, DFF
- pol/mv3 loaders migrated to binrw
- Streaming file support in packfs
🎯 Platforms
- PS Vita initial port: vitagl rendering backend, imgui vitagl backend, video playback, animations, PAL4 first scene
- LoongArch support
- Android support
- macOS & Linux ports; AppImage packaging for Linux
Full Changelog: v0.3-alpha...v0.4-alpha