Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remap R: paths to the project root at NeL level #662

Open
kaetemi opened this issue Feb 9, 2022 · 3 comments
Open

Remap R: paths to the project root at NeL level #662

kaetemi opened this issue Feb 9, 2022 · 3 comments

Comments

@kaetemi
Copy link
Member

kaetemi commented Feb 9, 2022

As a continuation of #649. (Specifying the project root by placing a .nel folder inside. Where the root directory is the one which contains the code, leveldesign, graphics, sound, ... folders.)

For cross-platform improvement, and simplifying development and leveldesign processes, remap the "R:" path to the project root at runtime at the NeL tool level.

This will allow us to specify paths relative to the project root in a cross-platform manner without requiring a mapped drive to exist, and simplify working on different projects or branches.

The use case to specify paths relative to the project root, is that files may be reorganized into different folders. Relative paths between asset files easily break.

@kaetemi
Copy link
Member Author

kaetemi commented Feb 9, 2022

Alternatively, propose a specific path prefix as project root. This avoids collision with any actual R: drive.

Rationale to use the existing R:, rather than a dedicated prefix, is to keep compatibility with the existing 3ds Max toolchain and assets. This affects primarily XRefs in 3ds Max asset files. For 3ds Max, the project root may be mounted to R: during the build pipeline run; or we may let the plugins re-mount the drive dynamically as needed. Assets were previously remapped from the separate W:\database to the R:\graphics path (a binary change with the same string length).

@kaetemi kaetemi pinned this issue Feb 9, 2022
@kaetemi
Copy link
Member Author

kaetemi commented Feb 9, 2022

Optionally, add a build flag to enable or disable the behaviour. A production game client may want to disable this.
Alternatively, a runtime flag that the game client can set at startup to disable the behaviour.

@kaetemi
Copy link
Member Author

kaetemi commented Feb 9, 2022

Optionally, fallback to actual R: drive if no project root was found.
Alternatively, disable access to any actual R: drive to avoid conflicts.

@kaetemi kaetemi added this to the Ryzom Core 5 milestone Feb 22, 2022
@kaetemi kaetemi unpinned this issue Feb 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

1 participant