Code Monkey home page Code Monkey logo

openpal3's Introduction

仙三开源版

Windows Linux macOS Android PSVita

云对雨,雪对风,仙剑对妖弓。

《仙剑奇侠传三》开源实现。仙三开源版仍处于早期开发阶段,存在很多未实现的功能及 Bug,暂无完善的游戏体验。

📢 声明

  • 仙三开源版不附带任何《仙剑奇侠传三》的游戏数据,因此您必须拥有《仙剑奇侠传三》的正版拷贝才可以正常运行仙三开源版。
  • 仙三开源版并非软星公司或大宇集团的官方作品。

🏡 社区

欢迎加入 QQ 群 636662894

📌 下载

v0.3 版本请前往 Releases 页面下载,Azure Pipelines 上可以获得最新开发版本。

运行

首次运行前请手动修改 openpal3.toml,将《仙剑奇侠传三》游戏目录填入: (请注意反斜杠需要重复两次)

# PAL3.exe 所在的目录
# The folder where PAL3.exe is
asset_path = "E:\\CubeLibrary\\apps\\1000039"

之后运行 openpal3.exe 即可。如果运行时提示 OpenAL 出错,请下载并安装 OpenAL

操作

  • 空格键:对话框下一句
  • A/D键:调整视角
  • Esc键:跳过过场动画
  • F键:互动
  • 方向键:跑
  • 1/2/3/4:存档至第1、2、3、4号存档位

🛠 本地构建

目前 OpenPAL3 支持 Windows、Linux、 macOS 和 Android 作为目标平台。

工具链与依赖库

在构建 OpenPAL3 前,请确认已安装以下工具链与依赖库:

构建步骤

cd openpal3
cargo build --release

构建 Android 平台安装包需要先安装cargo-apk,并设置好 NDK 开发环境

cd openpal3 && cargo apk build --release --lib

常见问题

macOS 平台下由于 nightly 工具链的一个bug 构建时可用下面命令规避链接错误的问题:

MACOSX_DEPLOYMENT_TARGET=11.0 cargo build --release

🙋‍♂️ 贡献

非常感谢一同参与 OpenPAL3 的开发!请参看 CONTRIBUTING 来了解参与项目的要求与步骤。

📔 相关资料

openpal3's People

Contributors

bianliangpai avatar chrox avatar dependabot[bot] avatar dontpanic92 avatar irides-ryan avatar pengyz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openpal3's Issues

Error when building mini-fs

I'm trying to run this project as the README.md said, however there is an error when building mini-fs.

Compiling mini-fs v0.2.2 (https://github.com/dontpanic92/mini-fs/#931b4f9b)
error[E0554]: #![feature] may not be used on the stable release channel
--> C:\Users{Username}.cargo\git\checkouts\mini-fs-4975b622e5d2fed3\931b4f9\src\lib.rs:50:1
|
50 | #![feature(osstring_ascii)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to previous error

Maybe I'm not at the corrent git branch, or there still are some other operations to do before building ?
Very glad to receive your reply.

Build failed: could not compile `opengb`

编译 opengb 的时候出现编译错误,刚入门 Rust,所以不太能看懂这个编译错误。

cd opengb
cargo build

我使用的 Vulkan SDK 版本为:1.2.141.2,https://tieba.baidu.com/p/6526170598 ,这篇帖子感觉就是这个项目编译出来的吧?我使用这个已编译的二进制是可以正常打开模型和动作文件的。想问是 rust 的版本问题还是 vulkan 的版本问题?

UPDATE1:看起来像是新的 commit 导致某些类被删除了,另外 dontpanic92/radiance@5ce15e9 这个 commit 修改的依赖版本似乎只有 0.30.0 才能减少一部分的编译错误。

UPDATE2:我单独 clone 了 radiance 这个项目,然后 checkout 到这个 commit(2f309cc9cbf7885bbea498ddf19499f9003a9e2f) 之前的大部分报错就会消失,只剩下一个函数参数数量的异常:

error[E0061]: this function takes 2 arguments but 1 argument was supplied
  --> src\main.rs:14:25
   |
14 |             .load_scene(CoreScene::new(scene::ModelViewerScene {}));
   |                         ^^^^^^^^^^^^^^ -------------------------- supplied 1 argument
   |                         |
   |                         expected 2 arguments

error: aborting due to previous error

For more information about this error, try `rustc --explain E0061`.
error: could not compile `model_viewer`.

想请问一下作者使用的 rustup toolchain 版本是多少呢?我使用的是 rustc 1.46.0-nightly (346aec9b0 2020-07-11)

UPDATE3: 5b07729 这个 commit 可以编译成功,我一直都在不断的 checkout 之前的 commit 然后编译对照编译异常,总算找出来一个能编译的 commit 。

UPDATE4: 在 UPDATE3 中编译出来的 model_viewer 打开 mv3 文件时会报异常。

Model Format Explanation

这几天我都在看仙剑3的游戏资源文件格式解释,有几个疑问希望作者能简单的给个提示,方便后面的参与者能较快的熟悉:

  1. https://tieba.baidu.com/p/5381666939?red_tag=0041464978 我按照你给出的参考资料看了这个帖子,这里面贴出的示例代码我尝试着执行了一下,可以导出 obj 模型文件,但是使用 Win10 自带的 3D 查看器或者 3D Max 导入这个模型文件,都没有对应的贴图,但是这个贴图是存在的,比如说 D02.POL 和 d021.dds 。

  2. 作者你这个项目编译出来的 model_viewer 可以打开 MV3 文件。我想问 MV3 文件和 POL 文件的区别是什么?因为 model_viewer 可以打开后就有模型和动作,根据我看贴吧的说法,MV3 是人物的动作文件,为什么这个文件既包含了模型,又包含了动作,还包含了贴图呢?

正在学Rust,应该怎么编译工程

按照README中给的步骤编译报错,提示找不到,Cargo.toml,而且openpal3目录里都是C#代码,rust代码不在里面。
Demo工程是哪个?怎么编译?

实现 Cpk 文件系统读取 C++ Demo

花了点时间把gbengine.dll中关于CPK文件读取的部分逆向了一下,解压缩部分代码有点乱,没有整理好,其他部分可读性还ok。

本人不会rust,这个demo可以给出实现参考,可以考虑对着翻译成Rust,已经提了PR

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.