GRFPack Dev Guide
From #openttdcoop wiki
How-to
- Checkout or Update trunk: svn co https://svn.openttdcoop.org/grfpack/trunk ottdc_grfpack_trunk or cd ottdc_grfpack_trunk && svn up
- Download the GRF to the right place
- Open the GRF in OpenTTD
- Commit the GRF to REPO: svn ci -m "New/Update: ...."
- Edit the GRF_Table_(Trunk)
- Done
Updating an existing GRF file
This is a guide to update our #openttdcoop NewGrf Package with Subversion and documenting the changes at GRF Table (Trunk).
General Aspects
- GRFs in alpha/beta state change many times and should be checked before releasing a new pack.
- The data from a GRF could differ from the data from the webpage or forum or any other resource. We would suggest to use the data from the GRF.
- Remember that GRFCrawler isn't always up-to-date. TT-Forums should work if no official website exists, because the GRFs are mostly update at this place.
- Loading the GRF in OpenTTD might be a good idea for checking title, credits etc. (Title in GRF Table should be the same...).
- If there is a ReadMe available a link in the column 'Details' would be nice (link to www.openttdcoop.org/newgrfs/...).
Updating Procedure
- Double check if it really is an update (md5sum).
- Commit to SVN with a proper message (svn commit).
- Update GRF Table (Trunk).
- Edit title and version number.
- Check the link to the GRF authors page (whether its outdated or not - avoid 404)
- After an update the credits might change too.
- Write the svn revision (of our grfpack) into the status column.
Adding a new GRF file
- Create a directory in the category, the NewGrf belongs to. Possibly the NewGrf needs another location because of a special dependency. Then you create a folder with a prefix (e.g. "a_") or you move it to the top directory (1_others) or to bottom (9_last). Every GRF has its own directory. (svn add <grffolder>).
- Update GRF Table (Trunk).
- Add the title with version number.
- Add a link to the original resource of the GRF file.
- Do not forget the credits (you can check them in the GRF file itself).
- Write the svn revision (of our grfpack) into the status column.
Deleting an old GRF file
- Move it to GRF Table Removed and document the reason(s).
- The GRF itself needs to be moved to z_obsolete for compatibility with older saves.
Revert a commit
Change to the directory where the GRF is, then
svn export -r <revision to revert -1> ./ ./ --force
Commit the change.
Preambles for SVN commits
- Update: Updating an existing NewGrf
- New: Adding a new NewGrf
- Orders: Moving an existing NewGrf to another location to fix order dependencies
- Fix: Fixing some other bugs ;-)
- Remove: Deleting an existing NewGRF (with reason)
- Release: Creating a new tag in /grfpack/tags
Release
- Create a wiki tag of GRF Table (Trunk). (copy GRF Table (Trunk) to GRF Table $VERSION)
- Download the GRF Table to trunk (e.g. with httrack)
- Update the ReadMe file and VERSION file
- Update the 0_info.grf (Script makeinfogrf <version>)
- Update ottdc_grfpack.cfg (Script makenewgrfcfg)
- Tag the Release. (link the tag to latest)
- Generate the release packages. (Script eportpacks (edit the config first ;-) )
- Generating md5sum list @ http://www.openttdcoop.org/newgrfs/ottdc_grfpack.md5sum
- http://www.openttdcoop.org/newgrfs/ottdc_grfpack/VERSION should show current available version