2.0 KiB
Contributing
IW4L is a personal, experimental project. It is open so that it can be read, built and fixed — not because it comes with an obligation to serve every request. Decisions are the maintainer's.
Bug reports
Reports are welcome, with no promised fix date. A report is prioritised against what the project actually claims:
A failure in a scenario the project says works outweighs a missing feature it never promised.
README.md says what is claimed. "Add everything the original had" is not a
roadmap item.
What a useful report contains, and nothing more:
- the release tag or commit
- OS and GPU
- which game's data you pointed IW4L at, and which map
- the steps, and what happened instead
That is the whole list. Do not attach your .env, a memory dump, or an archive
of the game — none of those will be read, and the last one cannot be accepted.
Changes
- Small and self-contained — a fix, a crash, a wrong constant, a doc correction: open it directly.
- Architectural — a new crate, a new subsystem, a change to how data flows
between
sim,render_frontendandnet: open an issue first. A large branch that arrives unannounced is likely to be turned down for reasons that have nothing to do with its quality.
Before opening anything:
make publish-check # the tracked tree is the product and nothing else
cargo fmt --all
cargo clippy --workspace --all-targets
cargo test --workspace
CONTEXT.md documents how the maintainer works — artifacts, iterations, agent
clones. It is a maintainer's workflow, not a requirement for contributing: you
do not need make mr, the iteration naming, or anything under context/ to
change the runtime.
Game data
Never attach, commit or link original game files — maps, weapons, sounds, executables. That holds for issues, pull requests and release assets alike. IW4L reads data from an installation each user already owns, and the project is not a distribution channel for it.
Written by an LLM
This whole project is written by an LLM.