Skip to content

v0.4 Shout your soul

Latest

Choose a tag to compare

@github-actions github-actions released this 26 May 16:42
· 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