Short: China Challenge III (1.1) Author: gnikl@informatik.uni-rostock.de (Gunther Nikl), Dirk Hoffmann Uploader: gnikl@informatik.uni-rostock.de (Gunther Nikl) Type: game/think China Challenge III ------------------- Written 1991 by Dirk Hoffmann Rewritten 1993 by Gunther Nikl This program is Freeware ! New features of Version III: ---------------------------- This is an improved version of the game China Challenge. The original program by Dirk Hoffmann lacked some features and disturbed the mutitasking heavily. China Challenge III - short called CC3 - is a completely rewritten version of the old program. CC3 (1.1) comes as three versions, an assembler, a c and a c++ one. Basically all versions do the same, but only the asm one supports arguments and shows the intro picture. The HLL-versions do not offer these features. However, saved games can be interchanged between all versions. CC3 should run on all amigas as long as they employ a mc680x0 ;-) and only requires 1.2 of the operating system. It should work on amigas equipped with graphic cards since the graphic rendering is done with os-calls (at least it works on a Retina Z3) . Below all changes made since release 3 (1.0a): Fixed: forgot to free the audio signal, thus all signals of the parent shell could be eaten up... (all versions) Fixed: cli arguments are now copied before modifying it (asm version) New: does use a redirection of _main() to Main() (HLL only, gcc feature) Below all changes made since release 3 (1.0): Fixed: music setup now properly inits the iorequest and a port (would hang otherwise if the audio channels were already allocated) New: added a 'C' and 'C++' version New: some code cleanups (fixed some potential problems with future revisions of the OS) Below all changes made since release 2: Fixed: The busy wait loop for menu handling has been removed. Also the direct hardware access to control the mouse events has been removed. Now the event handling belongs to commodores programming guidelines. It is totally multitasking friendly. Fixed: The two-screen technique has been removed. CC3 uses an invisible screen for its graphic rendering. Then the blitter moves the whole data to the real screen. New: The sound replay now uses the audio device instead of directly hitting the hardware. The sound file is NOT necessary to play the game unlike in CC2. There exists a menu item 'Play Music' so you can switch the music on or off. If the sound stuff couldn't be initialized the item is anavailable. Music play can be controled at startup see below. New: The intro picture has been included in the program. When CC3 starts this picture will be displayed and all other initilization stuff follows. If you don't want this picture you can switch it off at startup see below. New: CC3 supports two CLI and Workbench arguments to control the program at startup. NOMUSIC - This argument disables the music. However CC3 tries to initialize its audio stuff and to load the sample. If this fails the music is disabled during the whole game play. Otherwise only the sound output is disabled so you can switch the music on later. By default the music is on. NOINTRO - This argument disables the intro picture. By default you will see this picture and all initialization stuff is done at this time. This picture shall only show CC3 is alive while loading the sample from a floppy disk. If you don't want the picture suppress it with this argument. NOTE: When started from workbench CC3 needs the 'icon.library' to examine the tooltypes. If the library couldn't be opened it will use its internal defaults. With the kick 1.2/1.3 icon library the equation sign '=' at the end of a tooltype is necessary !!! New: For loading and saving the filerequester of the arp.library is used now. So you need this library installed in libs: to use this option but that shouldn't cause a problem I hope. (The library can be found in CC3's root libs directory) Please note that the file structure of a saved game has changed. It is no longer an ascii file because the current game state is also saved. This was easier to do when saving an binary. Sorry about this. New: The generation of a dragon is much improved. The new algorithm requires always only 120 random numbers instead of about 500 as the old one did. So it can be estimated that it is faster than before. The random number generator has also changed. Now CC3 uses the Tausworth algorithm for creating the random numbers. The full description of this algorithm can be found in: "A Comparision of the Correlation Behavior of Random Number Generators for the IBM 360" Communication of the ACM 11/1968 page 641-644 The asm version was created with 'SNMA', a very excellent assembler. The 'C' and the 'C++' version were created with GNU-C (I used 2.3.3, but 2.7.0 works too). I think compiling with other compilers will not be that easy ;-) For GNU-C there are 'makefiles' supplied (you should first create the C version). To get it really work, the data hunk of the compiled programs has to be forced to load into chip-ram. That can be done eg. with PowerPacker or .. I want to thank Dirk Hoffmann for the original program and Torsten "Stoffel" Christophel for his suggestion to improve the dragon generation to make it really random. You can reach me: gnikl@informatik.uni-rostock.de