Open main menu

Difference between revisions of "MTropolis/Adding Games"

Reworded resource criteria
(Reworded resource criteria)
Line 9: Line 9:
===The player executable===
===The player executable===
There is one player executable, it should be included in detection as it contains cursor resources.  The default names are "MTPLAY31.EXE" for Windows 3.1, "MTPLAY32.EXE" for Windows 95/NT, and "mTropolis Player" for Macintosh, but the game can rename the player executable to anything.  Only add the highest supported architecture if there are multiple player executables.
There is one player executable, it should be included in detection as it contains cursor resources.  The default names are "MTPLAY31.EXE" for Windows 3.1, "MTPLAY32.EXE" for Windows 95/NT, and "mTropolis Player" for Macintosh, but the game can rename the player executable to anything.  Only add the highest supported architecture if there are multiple player executables.
This is auto-detected as MTFT_PLAYER.


===The game data segments===
===The game data segments===
Line 35: Line 33:


Extensions are automatically detected as the MTFT_EXTENSION type.
Extensions are automatically detected as the MTFT_EXTENSION type.
Extensions included in the detection tables with the MTFT_EXTENSION type are expected to have '''standard resources''', which currently means '''cursors'''.  You can check if a Macintosh-version extension has cursors using ResEdit on a Mac, or if a Windows-version extension has it by using a tool such as [http://www.angusj.com/resourcehacker/ Resource Hacker].  If an extension is detected as MTFT_EXTENSION but does not have standard resources, the boot code will raise a warning.


==Which files to include?==
==Which files to include?==
Always include the player executable, any data segments, and any extensions with cursor resources (in the resource fork on Macintosh versions, or as PE resources on Windows).
Always include the player executable, any data segments, and any extensions with standard resources.


If an extension does not have cursor resources, but has some other use, then you should include the extension, but you should set the file type to MTFT_SPECIAL.  Failure to do this will result in the boot code raising a warning.
If an extension does not have standard resources, but has some other use, then you should include the extension, but you should set the file type to MTFT_SPECIAL.


If an extension is only used for code, then it should not be included in detection.
If an extension is only used for code, then it should not be included in detection.
==When to specify file type in the detection table?==
If a file is one of the types specified above, but won't be detected as the correct type due to the extension or file type code mismatching, then you should specify the file type in the detection table.  '''This includes any data-fork-only detection for Macintosh versions''' because auto-detection for Macintosh versions requires that the files are in MacBinary format to extract the file type.


If it looks like an extension might contain data needed by the game, but you're not sure, then add a commented-out detection line until its usefulness can be determined.
If an extension doesn't have standard resources, its type should be MTFT_SPECIAL.
 
 
==When to specify file type in the detection table?==
If a file is one of the types specified above, but does not meet the proper criteria for auto-detection, then you should specify the file type in the detection table.  '''This includes any data-fork-only detection for Macintosh versions''' because auto-detection for Macintosh versions requires that the files are in MacBinary format to extract the file type.


If a file is required, but does not obey the generic load process (i.e. because it's an archive, or a plug-in that contains embedded data, but no cursors), then you should specify its type as MTFT_SPECIAL.
If a file is required for some reason other than mentioned above (including things like installer archives), then you should specify its type as MTFT_SPECIAL.


If a file does meet the auto-detection criteria, then you can leave its file type as 0 (MTFT_AUTO).
If a file does meet the auto-detection criteria, then you can leave its file type as 0 (MTFT_AUTO).