Difference between revisions of "HOWTO-Engine Release"

Jump to navigation Jump to search
Update engine data steps, remove steps that are now automated
(More info on the spreadsheet update)
(Update engine data steps, remove steps that are now automated)
(30 intermediate revisions by 7 users not shown)
Line 1: Line 1:
Once an engine has been [[HOWTO-Engine Inclusion|accepted into the master branch]], finished, and is ready to be playtested, do this stuff to get it ready:
Once an engine has been [[HOWTO-Engine Inclusion|accepted into the master branch]], finished, and is ready to be playtested, do this stuff to get it ready:
PREREQUISITES:
# Zero warnings on major platforms (GCC, clang, MSVC is nice to have). See [https://buildbot.scummvm.org/#/ the buildbot logs] and [https://github.com/scummvm/scummvm/actions GitHub actions] for having a general understanding
# No major flaws in [https://scan.coverity.com/projects/scummvm?tab=overview Coverity Scan]. The guide is [[HOWTO-Static_Analysis_Tools|here]].
CHECKLIST:


# Change any <code>ADGF_UNSTABLE</code> flags in the engine’s detection table to <code>ADGF_TESTING</code>
# Change any <code>ADGF_UNSTABLE</code> flags in the engine’s detection table to <code>ADGF_TESTING</code>
# Change the <tt>[build-by-default]</tt> flag in the engine’s <tt>configure.engine</tt> file to <tt>yes</tt>
# Change the <tt>[build-by-default]</tt> flag in the engine’s <tt>configure.engine</tt> file to <tt>yes</tt>
# Update the game’s information pages in the wiki:
# Update the engine’s and game’s information pages in the wiki:
## Change the engine’s category from [[:Category:Engines Not Added to ScummVM]] to [[:Category:Engines Added to ScummVM]]
## Change the game’s category from [[:Category:Unsupported Games]] to [[:Category:Supported Games]]
## Change the game’s category from [[:Category:Unsupported Games]] to [[:Category:Supported Games]]
## Set the Support status in the infobox to the next ScummVM release version
## Set the Support status in the infobox to the next ScummVM release version in form 'Since ScummVM X.X.0'
## Fill out any other missing information in the infobox
## Fill out any other missing information in the infobox
# Add the new game(s) to the [https://github.com/scummvm/scummvm/blob/master/NEWS.md NEWS file]
# Add the new game(s) to the [https://github.com/scummvm/scummvm/blob/master/NEWS.md NEWS file]
# If necessary, add special notes to section 3 of the [https://github.com/scummvm/scummvm/blob/master/README.md README file]
# When the engine is using GUIO, add their description to the [https://docs.scummvm.org/en/latest/settings/game.html documentation] ([[Developer_Central#Contribution_guide_for_technical_writers|here]] is how to edit the documentation)
# Add the engine author(s) to the [https://github.com/scummvm/scummvm/blob/master/devtools/credits.pl credits.pl file] and run ''make credits'' to update the AUTHORS and credits.h files.
# Add the engine author(s) to the ''engines/<your-engine>/credits.pl'' file, in alphabetical order by last name (see [https://github.com/scummvm/scummvm/blob/master/engines/scumm/credits.pl SCUMM engine example]) and run ''make credits'' to update the ''AUTHORS'' and ''credits.h'' files. You should also have scummvm-web repository checked out next to your scummvm directory, and then commit to both repositories. For the web repo the typical commit log message is "WEB: Sync credits".
# If the engine uses a data file, make sure it is added to the list of files to distribute:
# If the engine uses a data file, make sure it is added to the list of files to distribute:
## Add it to ''DIST_FILES_ENGINEDATA'' in ''Makefile.common''
## Add it to ''DIST_FILES_LIST'' in ''dists/engine-data/engine_data.mk''
## Add it to ''dists/scummvm.rc''
## On the Buildbot, in the [https://github.com/scummvm/dockerized-bb/blob/master/buildbot-config/builds.py ''buildbot-config/builds.py''] file:
## Add it to ''dists/irix/scummvm.idb''
### If there is no <code>DATA_FILES</code> variable defined under the <code>ScummVMStableBuild</code> class, copy the <code>DATA_FILES</code> variable from the <code>ScummVMBuild</code> class to <code>ScummVMStableBuild</code>,
## Add it to ''devtools/create_project/xcode.cpp'' (in the ''XcodeProvider::getResourceFiles()'' function).
### Add the engine data file to the <code>DATA_FILES</code> list in the <code>ScummVMBuild</code> class.
## Add it to ''scumm_package_master'' in the buildbot ''master.cfg'' file.
### Ping [[User:rootfather|rootfather]] for propagating the change to the buildbot.
# Make sure [[Datafiles]] is up-to-date
# Make sure list of datafiles on the game pages are up to date (for example see [[Beneath_a_Steel_Sky#Required_data_files]] as a template)
# Make sure the engine and game are added to the [https://bugs.scummvm.org bug tracker] (engine in Components, game in Custom Fields->game)
# Make sure the engine and game are added to the [https://bugs.scummvm.org bug tracker] (engine in Components, game in Custom Fields->game)
# Publish a news entry announcing game testing at [https://github.com/scummvm/scummvm-web/tree/master/data/en/news scummvm/scummvm-web:data/en/news/] (e.g. [https://github.com/scummvm/scummvm-web/blob/master/data/en/news/20161201.markdown Full Pipe announcement]). Also, provide to [[User:Sev|sev]] several screenshots for the Facebook post
# Prepare the Website update
## Copy the news to the forums, General Discussion subforum, mark the post as an announcement
## Update the compatibility data at [https://docs.google.com/spreadsheets/d/1QzwFleEKXOsE59cYMOcQB7C2f0Np48uAQOCG8kicX_s/edit#gid=854570757 the ScummVM Data spreadsheet] with compatibility information for the new game(s) (ping [[User:Sev|sev]] or [[User:Rootfather|rootfather]] for the access)
## Ask [[User:Sev|sev]] to publish on Facebook and provide the game screenshots
# Update the Website
## Update the compatibility data at [https://docs.google.com/spreadsheets/d/1QzwFleEKXOsE59cYMOcQB7C2f0Np48uAQOCG8kicX_s/edit#gid=854570757 the ScummVM Data spreadsheet] with compatibility information for the new game(s)
### If necessary, add the company to 'companies' tab
### If necessary, add the company to 'companies' tab
### Add engine to the 'engines' tab, make sure it is marked as enabled
### Add game to the 'games' tab, don't forget to provide the game hook to the Datafiles
### Add game to the 'games' tab, don't forget to provide the game hook to the Datafiles
### Add game to the 'compatibility' tab
### Add game to the 'compatibility' tab (to the very bottom, it is sorted by the release) using 'DEV' as the release
## If necessary, update the demos list at [https://docs.google.com/spreadsheets/d/1QzwFleEKXOsE59cYMOcQB7C2f0Np48uAQOCG8kicX_s/edit#gid=713475305 the ScummVM Data spreadsheet] with new game demos
## If necessary, update the demos list at [https://docs.google.com/spreadsheets/d/1QzwFleEKXOsE59cYMOcQB7C2f0Np48uAQOCG8kicX_s/edit#gid=713475305 the ScummVM Data spreadsheet] with new game demos
## Run <tt>composer update-data</tt> for updating the website
# Upload the demos if any
## After uploading demos, put the links to the data spreadsheet
## Add the game category icon as described [[Screenshots#How_to_make_game_icon|here]]
# Publish a news entry announcing game testing at [https://github.com/scummvm/scummvm-web/tree/master/data/en/news scummvm/scummvm-web:data/en/news/] (e.g. [https://github.com/scummvm/scummvm-web/blob/master/data/en/news/20161201.markdown Full Pipe announcement]). Also, provide to [[User:Sev|sev]] several screenshots for the Facebook post. It is advised to put your draft to Google Docs and publish the link to the #team-talk on Discord for feedback and grammar fixes.
## ''The following needs to be done in a close time gap, so please coordinate with [[User:Sev|sev]] before proceeding.''
## Copy the news to the forums, General Discussion subforum, mark the post as an announcement
## Ask [[User:Sev|sev]] to publish on Facebook and provide the game screenshots
## Ask [[User:Sev|sev]] to publish the link on Twitter
## Ask [[User:Rootfather|rootfather]] to publish the news on Mastodon
## Ask [[User:Sev|sev]] to copy the announcement text to the #news channel on Discord
# Publish the website changes
## Access the URL <code>https://www.scummvm.org/admin/update</code> for updating the website. You need to be a member of the website admin group in order to do so.

Navigation menu