OpenXRay / OpenXRay/xray-16

Organize miscellaneous resources

Open
#660 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Developer Experience Enhancement Infrastructure
Dominant language
C++
Stars
3.6k
Forks
536
Avg merge
6d 1h
Merged PRs (30d)
3

Description

Currently various non-code files are mixed together and scattered around in different directories: Linux and Windows installation scripts and files are mixed together in res/, installation stuff is mixed with strict game resources in res/, splash images and Windows installation scripts are not in a designated directory but in the root directory.

After looking at other open-source games (OpenTTD and Colobot to be exact), I personally propose the following layout:

  • move splash images from root to res/splash/
  • leave gamedata and fsgame.ltx in res/
  • move Linux specific resources and installation scripts to os/linux/
  • move Windows specific resources and installation scripts to os/windows/

In the future gamedata could be replaced by a Git submodule linking to OpenXRay/Plus when that's ready.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect the repository root and res/ to inventory splash images, gamedata, fsgame.ltx, and the Linux and Windows installation resources. Check build and packaging references before moving them into res/splash/, os/linux/, and os/windows/. Done means the proposed layout is applied and all references still resolve.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.