Repo ↗ · 原始 README ↗ · 文件包(Markdown/授權)
封面參考(原作): Dying Light · 原作宣傳圖,由 IGDB 提供。圖片版權屬原權利人,供辨識原作使用,不代表此重寫/模組專案的實際畫面。
來源維護者: NeddyTheNoodle · 版本: 01598559955b · 整理日期: 2026-10-12
文件授權: MIT · LICENSE · 本文形式: README 翻譯
下文為來源 README 的繁中翻譯,由 Kirikirin 使用 AI 輔助整理;功能、完成度與測試結果均為原作者描述,本站未逐項實機驗證。圖片改為來源連結,指令與技術識別保留原文。
DyingLightRust
一個實驗性、從零開始的 Rust 重寫版 Dying Light(2015),在執行階段從你自己安裝的遊戲副本讀取遊戲資料。此儲存庫不包含任何遊戲檔案、擷取的素材或反編譯的程式碼。
狀態:早期。 還沒有遊戲。目前有的是遊戲資源包的讀取器、貼圖與網格的解碼器,以及一個能在視窗中顯示它們的檢視器。
目前可用的功能
- 讀取 Dying Light 1.55 安裝中的所有 92 個
.rpack檔案,以及 ZIPData*.pak檔案(腳本、各別地圖資料) - 解碼貼圖(全部 25,261 個)與網格(11,423 個中的 11,413 個),可在 Bevy 視窗中檢視
- 貧民窟的靜態世界(約 206,000 個物件),使用遊戲本身的繪製距離、依遊戲設定在 10:00 的日光(太陽、陰影、天空、霧霾、自動曝光),以及透過在 CPU 上執行遊戲本身的著色器程式所烘焙的材質(血跡、貼花、車漆)
- 徒步在貧民窟中行走(
--walk):遊戲的碰撞形狀、速度、重力、跳躍高度、台階高度與坡度限制;門可用 F 開啟 - 跑酷基礎:跳躍、翻越低矮障礙物,以及依遊戲本身的規則與動畫攀爬邊緣
- 完整的第一人稱身體:往下看可看見你的腿。遊戲的走路、跑步與衝刺動作、其注視鏈(脊椎會隨著你上下看而彎曲)、其跳躍,以及其動畫混合(動作依遊戲本身的混合設定,以其曲線與時間淡入)
- 原地轉身:腿部保持自己的朝向並踏步繞圈,如同遊戲中一般
- 滑鼠視角(滑鼠會被捕捉);Esc 暫停,並有 Resume 與 Quit
目前還不能用的功能
- 懸掛於邊緣、跑牆、戰鬥、敵人、音效、遊戲玩法
- 水面、植被、地圖的燈具;有些材質看起來仍不對
- 夜晚、天氣、初探以外的其他地圖
- 有 10 個網格解碼失敗(見
docs/formats/mesh.md) - 僅在一台 Windows 11 PC 上以遊戲版本 1.55(Steam 組建 24076292)測試過
需求
- Dying Light(Steam),版本 1.55
- Windows、Rust(MSVC 工具鏈)以及 Visual Studio C++ Build Tools
- 僅限單人/離線使用。線上合作不在範圍內。
使用方式
編輯 .cargo/config.toml 中的路徑以符合你的機器,然後:
cargo run --release -p viewer -- mesh common_meshes barrel_a
cargo run --release -p viewer -- mesh common_cod_1 player_1_tpp all
cargo run --release -p viewer -- texture static_load loading_prison
cargo run --release -p viewer -- map slums
cargo run --release -p viewer -- map slums --tex 512
cargo run --release -p viewer -- map slums --walk
在網格檢視器中,用滑鼠左鍵拖曳來環繞,捲動來縮放。在地圖檢視器中,用滑鼠拖曳來環顧四周,WASD 移動,Space / Ctrl 上下移動,Shift 加速,捲動來改變速度。G 在飛行與步行之間切換;徒步時,WASD 走路,Shift 衝刺,Space 跳躍(在邊緣前按住可攀爬或翻越),F 開啟或關閉你正在看的門(2 公尺內)。Esc 暫停。首次建置需要幾分鐘(Bevy 很大)。
檢查工具:
cargo run --release -p dltool -- check
cargo run --release -p dltool -- list old_town
cargo run --release -p dltool -- paks slums/slums.
cargo run --release -p dltool -- textures
cargo run --release -p dltool -- meshes --decode
cargo run --release -p dltool -- png static_load loading_prison
擷取的檔案與 PNG 會放到 DL_LOCAL_DIR\extracted,絕不會放進此儲存庫。
運作方式
請參閱 docs/DESIGN.md 以及 docs/formats/ 中的格式說明。
致謝
- hhrhhr 的 RP6L 解包器:
rpack 表格的欄位順序。 - OpenChrome:Dying
Light 1 的格式說明。它沒有授權條款,因此其說明僅用於查證事實,未複製任何程式碼。 - Bevy(MIT/Apache-2.0):檢視器所運行的引擎。
- zip(MIT):讀取 ZIP
.pak檔案。 - AI Game Modding Guides:
本專案所遵循的工作流程。
法律
非官方粉絲專案。與 Techland 無隸屬關係,亦未獲其背書。不包含任何遊戲素材;玩家需自備自己的副本。若權利人要求變更或移除,將會照辦。
以 AI 程式編寫代理(Claude Code)建構。程式碼採 MIT 授權。
授權與來源聲明
原始 README 與翻譯沿用 MIT 授權;本次修改為繁中翻譯、連結與排版調整。可修改的 Markdown、原始 README、LICENSE 與 NOTICE 收錄於頂部文件包。原作遊戲內容與商標不因此獲得授權。
LICENSE
MIT License
Copyright (c) 2026 DyingLightRust contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

評論
…