Difference between revisions of "GRFPack Dev Guide"

From #openttdcoop wiki

Jump to: navigation, search
m (Adding new GRF)
m (Protected "GRFPack Dev Guide" ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite)))
 
(15 intermediate revisions by 5 users not shown)
Line 2: Line 2:
 
{{GrfMenu}}
 
{{GrfMenu}}
  
----
+
== How-to ==
 
+
'''Quick Howto:'''
+
 
# Checkout or Update trunk: '''svn co https://svn.openttdcoop.org/grfpack/trunk ottdc_grfpack_trunk''' or '''cd ottdc_grfpack_trunk && svn up'''
 
# 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  
 
# Download the GRF to the right place  
# Open the GRF in OpenTTD
+
# '''Open the GRF in OpenTTD'''
 
# Commit the GRF to REPO: '''svn ci -m "New/Update: ...."'''
 
# Commit the GRF to REPO: '''svn ci -m "New/Update: ...."'''
 
# Edit the [[GRF_Table_(Trunk)]]
 
# Edit the [[GRF_Table_(Trunk)]]
# done
+
# Done
  
----
+
== Updating an existing GRF file==
 +
This is a guide to update our #openttdcoop NewGrf Package with [http://subversion.tigris.org/Subversion Subversion] and documenting the changes at [[GRF Table (Trunk)]].
  
This is a guide to update our #openttdcoop NewGrf Package with [http://subversion.tigris.org/Subversion Subversion] and documenting the changes in [[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 [http://grfcrawler.tt-forums.net/ 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/...).
  
* GRFs in alpha/beta state does change many times and should be checked before releasing new pack.
+
=== Updating Procedure ===
* The data from a GRF could be differ then the data from the webpage or forum or whatever, I would suggest to take the data from the GRF.
+
# '''Double check''' if it really is an update (md5sum).
* GRFCrawler isn't always "right", TT-Forums should work if no official link available, links mostly change after update there...
+
# Commit to SVN with a proper message (svn commit).
* loading the GRF in OpenTTD might be a good idea for checking title, credits etc. (Title in GRF Table should be the same...)
+
# Update [[GRF Table (Trunk)]].
* if there is a readme available, a link from column Details would be nice (link to www.openttdcoop.org/newgrfs/...)
+
## Edit title and version number.
 +
## Check the link to the GRF authors page (whether its outdated or not - avoid [[wikipedia:HTTP_404|404]])
 +
## After an update the credits might change too.
 +
## Write the '''svn revision''' (of our grfpack) into the status column.
  
==Updating existing NewGRF==
+
== 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.
  
# Double check if it is really an update (md5sum)
+
== Deleting an old GRF file ==
# Commit to SVN with a proper message (svn commit)
+
# Move it to [[GRF Table Removed]] and document the reason(s).
# Update [[GRF Table (Trunk)]]
+
# The GRF itself needs to be moved to z_obsolete for compatibility with older saves.
## Edit title and version number.
+
## Check the link to the grf authors page (still correct after version update, avoid 404!)
+
## After updates, the credits might also change...
+
## Write the '''svn revision''' (of our grfpack) into the status column
+
  
== Adding new GRF ==
+
== Revert a commit ==
 +
Change to the directory where the GRF is, then
  
# 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 (i.e. "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>)
+
'''svn export -r <revision to revert -1> ./ ./ --force'''
# Update [[GRF Table (Trunk)]]
+
## Title with version number
+
## Link to grf
+
## Don't forget the credits (you see them in the GRF itself...)
+
## Write the '''svn revision''' (of our grfpack) into the status column
+
  
== Deleting a GRF ==
+
Commit the change.
move it to [[GRF Table Removed]] and give a reason...
+
The GRF itself needs to be moved to z_obsolete. (save compatibility)
+
  
==Preambles for SVN commits==
+
== Preambles for SVN commits ==
 
*'''Update''': Updating an existing NewGrf
 
*'''Update''': Updating an existing NewGrf
 
*'''New''': Adding a new NewGrf
 
*'''New''': Adding a new NewGrf
Line 54: Line 57:
  
 
==Release==
 
==Release==
# Download GRF Table to trunk
+
# fdupes -r .
# Updating Readme
+
# Create a ''wiki tag'' of [[GRF Table (Trunk)]]. (copy [[GRF Table (Trunk)]] to [[GRF Table $VERSION]])
# Updating ottdc_grfpack.cfg (Script makenewgrfcfg)
+
# Download the GRF Table to trunk. You can use firefox for this job. Go to the wiki page of the grf table, press ctrl-s and save the html files and the images. To conform to the current svn grftable structure, rename the images folder to 'images'. Rename the html file to 'GRFLIST.htm'. Open us the html file and replace the GRF_TABLE_*.*_files (the old images dir name) with 'images'. Open up the htm file to verify that everything works. Copy the html file and the images files to the svn repository and add any new images and commit everything.
# Tagging
+
# Update the ReadMe file and VERSION file
# Generate the release packages.(Script eportpacks (editing config first ;-)
+
# Update the 0_info.grf (Script makeinfogrf <version>)
# Generating md4sum list: http://www.openttdcoop.org/newgrfs/ottdc_grfpack.md5sum
+
# Update ottdc_grfpack.cfg (Script makenewgrfcfg)
 +
# Tag the Release. (link the tag to tag ottdc_grfpack)
 +
# 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.md5sum]
 +
# http://www.openttdcoop.org/newgrfs/ottdc_grfpack/VERSION should show current available version
  
  
 
[[Category:GRF]]
 
[[Category:GRF]]

Latest revision as of 15:57, 9 March 2010

How-to

  1. Checkout or Update trunk: svn co https://svn.openttdcoop.org/grfpack/trunk ottdc_grfpack_trunk or cd ottdc_grfpack_trunk && svn up
  2. Download the GRF to the right place
  3. Open the GRF in OpenTTD
  4. Commit the GRF to REPO: svn ci -m "New/Update: ...."
  5. Edit the GRF_Table_(Trunk)
  6. 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

  1. Double check if it really is an update (md5sum).
  2. Commit to SVN with a proper message (svn commit).
  3. Update GRF Table (Trunk).
    1. Edit title and version number.
    2. Check the link to the GRF authors page (whether its outdated or not - avoid 404)
    3. After an update the credits might change too.
    4. Write the svn revision (of our grfpack) into the status column.

Adding a new GRF file

  1. 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>).
  2. Update GRF Table (Trunk).
    1. Add the title with version number.
    2. Add a link to the original resource of the GRF file.
    3. Do not forget the credits (you can check them in the GRF file itself).
    4. Write the svn revision (of our grfpack) into the status column.

Deleting an old GRF file

  1. Move it to GRF Table Removed and document the reason(s).
  2. 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

  1. fdupes -r .
  2. Create a wiki tag of GRF Table (Trunk). (copy GRF Table (Trunk) to GRF Table $VERSION)
  3. Download the GRF Table to trunk. You can use firefox for this job. Go to the wiki page of the grf table, press ctrl-s and save the html files and the images. To conform to the current svn grftable structure, rename the images folder to 'images'. Rename the html file to 'GRFLIST.htm'. Open us the html file and replace the GRF_TABLE_*.*_files (the old images dir name) with 'images'. Open up the htm file to verify that everything works. Copy the html file and the images files to the svn repository and add any new images and commit everything.
  4. Update the ReadMe file and VERSION file
  5. Update the 0_info.grf (Script makeinfogrf <version>)
  6. Update ottdc_grfpack.cfg (Script makenewgrfcfg)
  7. Tag the Release. (link the tag to tag ottdc_grfpack)
  8. Generate the release packages. (Script eportpacks (edit the config first ;-) )
  9. Generating md5sum list @ http://www.openttdcoop.org/newgrfs/ottdc_grfpack.md5sum
  10. http://www.openttdcoop.org/newgrfs/ottdc_grfpack/VERSION should show current available version
Powered by MediaWiki
  • This page was last modified on 9 March 2010, at 15:57.