Repository navigation
Optimize resource loading and fix PAL3A script execution - #92
Merged
Merged
Conversation
Separate file decoding from Unity upload through format-neutral texture data and explicit world, sprite and skybox policies. Validate DDS layouts, preserve alpha coverage and use native BC uploads with software RGBA fallback. Compact referenced POL vertices and batch nearby static opaque groups sharing materials. Keep water and dynamic geometry separate, with source ranges retained only in the Editor. Add DDS layout and POL index regression tests. Validation: PAL3 and PAL3A each passed 24 Editor tests, eight combined Game and ResourceViewer style regressions, 936 paired skybox comparisons, and both macOS Player builds on Metal. Editor provenance and Core tests are excluded from Players.
Cover SCE command contracts, binary readers, resource layouts and full local CPK decompression for PAL3 and PAL3A. Fix CVD time rebasing, binary read bounds and short reads, and CPK/NAV validation. Standardize first-party copyright headers, preserve correct creation years, and update console source generation. Validate both variants in Unity and verify all live CPK entries.
Correct PAL3A parameter signatures and add handlers for fortune selection, skybox sequences, actor facing and attacks, team and progression state, camera constraints, and battle preparation flags. Give script instances separate locals, advance grouped waits concurrently, and pause PAL3A parents only for their directly decoded child calls. Cancel stale interactions and save replay on reset, preserve finite action semantics, and restore camera orientation after releasing horizontal constraints. Persist supported state in v2 saves and add protocol, runtime, and progression regressions. Full combat gameplay remains outside this change. Validation: PAL3 274/274 and PAL3A 291/291 EditMode tests; 18 PAL3 and 22 PAL3A runtime checks. All 77,889 PAL3A instruction boundaries match EXE signatures.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
改动内容
外传部分指令的参数定义有误,可能把后续入队、算命结果等指令当作参数读掉;局部变量共享和成组等待串行计时也会改变剧情流程。本 PR 修正指令解码与脚本运行逻辑,并完善资源加载、静态场景绘制和 Core 协议测试。
验证结果
外传全部 34 个 SCE 文件、1,960 个脚本块、77,889 条指令的起始偏移和 ID,与从 EXE 提取的参数表解码结果逐条一致;解析错误和非法跳转均为 0。实际脚本涉及 133 种指令 ID。
实际运行检查覆盖对话动作恢复、巡逻暂停配对、124 间接启动独立物件脚本、场景脚本计时,以及 198 在固定视角和自由旋转状态下恢复朝向。此前的专项检查还覆盖算命结果写入、存档状态及天空特效的深度遮挡。
资源与渲染改动已在 macOS Metal 下验证 Game、ResourceViewer、原版和 Toon 画风,并通过两作的 macOS Player 构建。
版权头与改名指令的
.metaGUID 检查通过;提交的项目配置为 PAL3。CI 配置通过 actionlint v1.7.12 检查;升级后两作在 Windows 32/64 位、macOS、Linux、iOS、Android 上的 12/12 个构建任务全部通过。新提交仅产生 10 个
pull_request工作流,没有 push 重复构建。当前限制