Johnny Castaway Reborn v0.45 ============================ https://github.com/jno6809/jc_reborn https://github.com/xesf/jc_reborn/releases Overview -------- Johnny Castaway Reborn is a standalone open source engine for the classic Johnny Castaway screen saver, developed by Dynamix for Windows 3.x and published by Sierra, back in 1992/1993. It is written in C using the SDL2 library, and was successfully compiled and tested on Linux as well as Windows (MinGW), both 32 and 64 bits. How To Install -------------- For the screen saver to work, you'll need the two data files from the original software: "RESOURCE.MAP" and "RESOURCE.001". Optionally, if you want sounds, you'll need some extra files as well. You can get them here (or extract them yourself from the original screen saver's "SCRANTIC.SCR" file): https://github.com/nivs1978/Johnny-Castaway-Open-Source/tree/master/JCOS/Resources ...from the github repository of the "JCOS" project (another port of the "Screen Antics" engine). All files must be copied to a "Data" subdirectory contained within the same directory as the "JC_Reborn.exe" executable. As a result, here is what your "Data" subdirectory should look like: RESOURCE.001 RESOURCE.MAP SOUND0.WAV SOUND1.WAV SOUND2.WAV SOUND3.WAV SOUND4.WAV SOUND5.WAV SOUND6.WAV SOUND7.WAV SOUND8.WAV SOUND9.WAV SOUND10.WAV SOUND12.WAV SOUND14.WAV SOUND15.WAV SOUND16.WAV SOUND17.WAV SOUND18.WAV SOUND19.WAV SOUND20.WAV SOUND21.WAV SOUND22.WAV SOUND23.WAV SOUND24.WAV How To Run ---------- By default, the engine runs full screen and plays the life of Johnny on his island, as the original did. But, if you're curious about how the engine works, you may type "JC_Reborn.exe help" and see the different options available. Feel free to try them and explore the inner workings of Screen Antics! Command Line Parameters ----------------------- Usage: JC_Reborn.exe JC_Reborn.exe help JC_Reborn.exe version JC_Reborn.exe dump JC_Reborn.exe [] bench JC_Reborn.exe [] ttm JC_Reborn.exe [] ads Available options are: window = play in windowed mode nosound = quiet mode island = display the island as background for ADS play debug = print some debug info on stdout hotkeys = enable hotkeys While-playing hotkeys (if enabled): Esc = Terminate immediately Alt+Return = Toggle full screen / windowed mode Space = Toggle pause / unpause Return = When paused, advance one frame = toggle max / normal speed Current Status -------------- Short version: Currently, Johnny Castaway Reborn is in "work in progress" state. Even so, as of January 2020, every scene works with only some inaccuracies here and there. That means that the engine globally works in an acceptable way, but more needs to be done to fully understand a number of details and faithfully reproduce the behaviour of the original engine. Long version: Some great work was already made by Hans Milling for "Johnny Castaway Open Source" (JCOS), back in 2015. This includes: - The parsing and decoding of all the data files. - The understanding of many instructions which constitute TTM and ADS scripts. What Johnny Castaway Reborn brings is: - The understanding of nearly every TTM and ADS instruction, and their parameters. - The algorithm for Johnny to transitionally walk from scene to scene was implemented. Accuracy is not bad, though not perfect. - The same can be said about the algorithm which randomly chooses scenes to be played, as well as the algorithm which draws the island at a random place, clouds, etc... - All the work was made by observing the behaviour of the original software and trying to reproduce it as accurately as possible. For a better result, a complete disassembly of the original executable may be necessary, but wasn't done to this point. Thanks and Credits ------------------ I never would have been able to write Johnny Castaway Reborn without, directly or indirectly, all the people listed below. Many thanks to them. - Hans Milling aka nivs1978, author of the JCOS project, my main source of info for my first lines of the Johnny Castaway Reborn code: https://github.com/nivs1978/Johnny-Castaway-Open-Source http://nivs.dk/jc - Alexandre Fontoura aka xesf, author of castaway project, similar to Johnny Reborn, but in Javascript: https://github.com/xesf/castaway https://castaway.xesf.net/viewer - The Sierra Chest website, which has a nice section about Johnny Castaway, with many screenshots and video captures. Those turned out to be quite helpful: http://sierrachest.com/index.php?a=games&id=255&title=johnny-castaway Hans Milling thanks a number of people for giving him (or helping him find) some info about the original engine. They should not be forgotten, and I thank them indirectly as well: - Jeff Tunnel: For helping getting in contact with some of the original developers. - Kevin and Liam Ryan: Assisting with information about the resource files. - Jaap: Helping in finding the format of the resource files. - Gregori: Assisting with the Lempel-Ziv decompression. - Guido: The author of the xBaK project that led to understanding the TTM and ADS commands.