DarkPlacesEngine / DarkPlaces

The official repo (replaces SVN). Branches `master` and `div0-stable` are synchronised with https://gitlab.com/xonotic/darkplaces. Merge requests should target the `master` branch.
https://icculus.org/twilight/darkplaces/
GNU General Public License v2.0
270 stars 38 forks source link

Request restructure/reorganize repo #28

Open hgdagon opened 2 years ago

hgdagon commented 2 years ago

This might be a weird request, but if the repo is a little more organized it might (should) help new contributors to join in more easily.

  1. Arrange everything in subdirectories.
  2. Get rid of external stuff (like FT2, support latest libraries instead).
  3. Add higher res icon (256x256).
  4. Add versioning.
  5. Use LF in all files (yeah, this ones a bit subjective, considering the repo deliberately goes for CRLF).
  6. Use Github's own workflows for CI, code checks, and what not.
  7. Etc.

This can be done along with #26

hemebond commented 1 year ago

Would it not be better to have a separate issue for each of these? Perhaps use a Project to track them.

hemebond commented 4 months ago

Hi @hgdagon, a few comments and questions for you:

  1. This can be tracked by #148
  2. What's the reason for getting rid of the FreeType2 stuff? Is it not used?
  3. If any artist wanted to submit a PR with a new icon that'd be great, but I don't think it needs to be an issue.
  4. Add versioning? To releases? What kind of versioning?
  5. As you say, it's explicitly set to CLRF. Why should it be LF instead? Apparently Notepad was updated in 2018 to support LF. It seems CLRF is pretty standard and I think changing to LF will break the Windows-only files in the repo, like the sln files.
  6. We now have a Github action to automatically build Linux binaries.
bones-was-here commented 4 months ago

LF should already be used in all source files, it's the "native" format on git and is required for clean git diffs, and .gitattributes is configured to convert from CRLF automatically (I think you've misunderstood this file). CRLF may still be used in a few microsoft-specific files.

I don't think we'll remove the optional library headers, they're minimal versions (only the parts DP uses) so they're unlikely to break, and are needed for DP's convenient ability to dlopen optional libraries if they're installed on the system, or run without their features if not (most programs dynamically link instead and fail to compile or run if a library isn't installed). We may remove the GL declarations at some point, libGL is mandatory. SDL2 headers are already sourced from the platform.

I'll tag and build stable releases when I think it's time (got some work to do yet...)