| /* Copyright 2001, 2002 Michael J. Roberts */ | |
| /* | |
| * gameinfo.t - game information utility for tads 2 | |
| * | |
| * This header file is designed to be #include'd in a TADS game's source | |
| * file to define a simple utility function that generates a | |
| * "GameInfo.txt" file during preinit. IMPORTANT: Include this file | |
| * *before* std.t if you also include std.t. | |
| * | |
| * The GameInfo.txt file provides "card catalog" information about the | |
| * game. Automated tools, such as archive management software, can | |
| * extract the information for applications such as searching and | |
| * browsing. | |
| * | |
| * To include game information in your game, you must do the following: | |
| * | |
| * 1. Add a #include directive to your game's source code to include | |
| * this file. | |
| * | |
| * #include <gameinfo.t> | |
| * | |
| * IMPORTANT: The order of inclusion is important. If you're including | |
| * adv.t and std.t in addition to this file, you must use the following | |
| * order: | |
| * | |
| * #include <adv.t> | |
| *. #include <gameinfo.t> | |
| *. #include <std.t> | |
| * | |
| * 2. Define a function in your game called getGameInfo(). This | |
| * function should simply return a list value. The list should consist | |
| * of pairs of strings; the first string in each pair is the name of a | |
| * parameter, and the second of each pair is the value for the parameter. | |
| * For example: | |
| * | |
| *. getGameInfo: function | |
| *. { | |
| *. return ['Name', 'My Game', | |
| *. 'Byline', 'by R. Teeterwaller', | |
| *. 'Desc', 'A simple test game.]; | |
| *. } | |
| * | |
| * 3. If you're using the standard preinit() function from std.t, you | |
| * can skip this step. Otherwise, add this line to your own preinit() | |
| * function, anywhere within the function: | |
| * | |
| * writeGameInfo(getGameInfo()); | |
| * | |
| * 4. After you compile your game, use the tads resource tool to bundle | |
| * GameInfo.txt into your .gam file, just as though it were an HTML TADS | |
| * multimedia resource. If you are including other multimedia resources | |
| * in your game, simply add GameInfo.txt to the list of files you bundle. | |
| * If you don't have any other resources, add this command line to your | |
| * build script, immediately after the TADS compiler commnd line: | |
| * | |
| *. tadsrsc mygame.gam -add GameInfo.txt | |
| * | |
| * (If you're using the 32-bit Windows version, the command name is | |
| * tadsrsc32. The command name may vary on other platforms.) | |
| */ | |
| #pragma C+ | |
| /* indicate that we've included this file, for std.t's use */ | |
| #define GAMEINFO_INCLUDED | |
| /* | |
| * write the name/value pairs from the given list to the file | |
| * 'GameInfo.txt' | |
| */ | |
| writeGameInfo: function(info) | |
| { | |
| local fp; | |
| local i; | |
| local cnt; | |
| /* open the output file */ | |
| fp = fopen('GameInfo.txt', 'wt'); | |
| /* write the values */ | |
| for (i = 1, cnt = length(info) ; i <= cnt ; i += 2) | |
| { | |
| /* write the name, a colon, and the value */ | |
| fwrite(fp, info[i]); | |
| fwrite(fp, ': '); | |
| fwrite(fp, info[i+1]); | |
| fwrite(fp, '\n'); | |
| } | |
| /* done with the file */ | |
| fclose(fp); | |
| } | |
| /* | |
| * Utility function to retrieve today's date in format YYY-MM-DD. | |
| */ | |
| getGameInfoToday: function | |
| { | |
| local dt; | |
| local mm, dd; | |
| /* | |
| * get the current time/date information - if this is called during | |
| * preinit, it will give the date on which the game was compiled, | |
| * which can be used as a simple way of keeping the release date | |
| * field in the game information automatically updated | |
| */ | |
| dt = gettime(GETTIME_DATE_AND_TIME); | |
| /* | |
| * get the month, and make sure it's at least two digits, adding a | |
| * leading zero if necessary | |
| */ | |
| mm = cvtstr(dt[2]); | |
| if (length(mm) == 1) | |
| mm = '0' + mm; | |
| /* get the day of the month, and make sure it's at least two digits */ | |
| dd = cvtstr(dt[3]); | |
| if (length(dd) == 1) | |
| dd = '0' + dd; | |
| /* build the return string in YYYY-MM-DD format */ | |
| return cvtstr(dt[1]) + '-' + mm + '-' + dd; | |
| } | |
Xet Storage Details
- Size:
- 4.03 kB
- Xet hash:
- 91da6d7854195cf85534a3da02b5ad0768747b9a17be1436b22c24f3d09a75a1
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.