void JE_loadHelpText( void ) { FILE *f = dir_fopen_die(data_dir(), "tyrian.hdt", "rb"); efread(&episode1DataLoc, sizeof(JE_longint), 1, f); /*Online Help*/ skip_pascal_string(f); for (int i = 0; i < MAX_HELP_MESSAGE; ++i) read_encrypted_pascal_string(helpTxt[i], sizeof(helpTxt[i]), f); skip_pascal_string(f); /*Planet names*/ skip_pascal_string(f); for (int i = 0; i < 21; ++i) read_encrypted_pascal_string(pName[i], sizeof(pName[i]), f); skip_pascal_string(f); /*Miscellaneous text*/ skip_pascal_string(f); for (int i = 0; i < 68; ++i) read_encrypted_pascal_string(miscText[i], sizeof(miscText[i]), f); skip_pascal_string(f); /*Little Miscellaneous text*/ skip_pascal_string(f); for (int i = 0; i < 5; ++i) read_encrypted_pascal_string(miscTextB[i], sizeof(miscTextB[i]), f); skip_pascal_string(f); /*Key names*/ skip_pascal_string(f); for (int i = 0; i < 11; ++i) read_encrypted_pascal_string(menuInt[6][i], sizeof(menuInt[6][i]), f); skip_pascal_string(f); /*Main Menu*/ skip_pascal_string(f); for (int i = 0; i < 7; ++i) read_encrypted_pascal_string(menuText[i], sizeof(menuText[i]), f); skip_pascal_string(f); /*Event text*/ skip_pascal_string(f); for (int i = 0; i < 9; ++i) read_encrypted_pascal_string(outputs[i], sizeof(outputs[i]), f); skip_pascal_string(f); /*Help topics*/ skip_pascal_string(f); for (int i = 0; i < 6; ++i) read_encrypted_pascal_string(topicName[i], sizeof(topicName[i]), f); skip_pascal_string(f); /*Main Menu Help*/ skip_pascal_string(f); for (int i = 0; i < 34; ++i) read_encrypted_pascal_string(mainMenuHelp[i], sizeof(mainMenuHelp[i]), f); skip_pascal_string(f); /*Menu 1 - Main*/ skip_pascal_string(f); for (int i = 0; i < 7; ++i) read_encrypted_pascal_string(menuInt[1][i], sizeof(menuInt[1][i]), f); skip_pascal_string(f); /*Menu 2 - Items*/ skip_pascal_string(f); for (int i = 0; i < 9; ++i) read_encrypted_pascal_string(menuInt[2][i], sizeof(menuInt[2][i]), f); skip_pascal_string(f); /*Menu 3 - Options*/ skip_pascal_string(f); for (int i = 0; i < 8; ++i) read_encrypted_pascal_string(menuInt[3][i], sizeof(menuInt[3][i]), f); skip_pascal_string(f); /*InGame Menu*/ skip_pascal_string(f); for (int i = 0; i < 6; ++i) read_encrypted_pascal_string(inGameText[i], sizeof(inGameText[i]), f); skip_pascal_string(f); /*Detail Level*/ skip_pascal_string(f); for (int i = 0; i < 6; ++i) read_encrypted_pascal_string(detailLevel[i], sizeof(detailLevel[i]), f); skip_pascal_string(f); /*Game speed text*/ skip_pascal_string(f); for (int i = 0; i < 5; ++i) read_encrypted_pascal_string(gameSpeedText[i], sizeof(gameSpeedText[i]), f); skip_pascal_string(f); // episode names skip_pascal_string(f); for (int i = 0; i <= 5; ++i) read_encrypted_pascal_string(episode_name[i], sizeof(episode_name[i]), f); skip_pascal_string(f); // difficulty names skip_pascal_string(f); for (int i = 0; i <= 6; ++i) read_encrypted_pascal_string(difficulty_name[i], sizeof(difficulty_name[i]), f); skip_pascal_string(f); // gameplay mode names skip_pascal_string(f); for (int i = 0; i <= 4; ++i) read_encrypted_pascal_string(gameplay_name[i], sizeof(gameplay_name[i]), f); skip_pascal_string(f); /*Menu 10 - 2Player Main*/ skip_pascal_string(f); for (int i = 0; i < 6; ++i) read_encrypted_pascal_string(menuInt[10][i], sizeof(menuInt[10][i]), f); skip_pascal_string(f); /*Input Devices*/ skip_pascal_string(f); for (int i = 0; i < 3; ++i) read_encrypted_pascal_string(inputDevices[i], sizeof(inputDevices[i]), f); skip_pascal_string(f); /*Network text*/ skip_pascal_string(f); for (int i = 0; i < 4; ++i) read_encrypted_pascal_string(networkText[i], sizeof(networkText[i]), f); skip_pascal_string(f); /*Menu 11 - 2Player Network*/ skip_pascal_string(f); for (int i = 0; i < 4; ++i) read_encrypted_pascal_string(menuInt[11][i], sizeof(menuInt[11][i]), f); skip_pascal_string(f); /*HighScore Difficulty Names*/ skip_pascal_string(f); for (int i = 0; i <= 10; ++i) read_encrypted_pascal_string(difficultyNameB[i], sizeof(difficultyNameB[i]), f); skip_pascal_string(f); /*Menu 12 - Network Options*/ skip_pascal_string(f); for (int i = 0; i < 6; ++i) read_encrypted_pascal_string(menuInt[12][i], sizeof(menuInt[12][i]), f); skip_pascal_string(f); /*Menu 13 - Joystick*/ skip_pascal_string(f); for (int i = 0; i < 7; ++i) read_encrypted_pascal_string(menuInt[13][i], sizeof(menuInt[13][i]), f); skip_pascal_string(f); /*Joystick Button Assignments*/ skip_pascal_string(f); for (int i = 0; i < 5; ++i) read_encrypted_pascal_string(joyButtonNames[i], sizeof(joyButtonNames[i]), f); skip_pascal_string(f); /*SuperShips - For Super Arcade Mode*/ skip_pascal_string(f); for (int i = 0; i <= 10; ++i) read_encrypted_pascal_string(superShips[i], sizeof(superShips[i]), f); skip_pascal_string(f); /*SuperShips - For Super Arcade Mode*/ skip_pascal_string(f); for (int i = 0; i < 9; ++i) read_encrypted_pascal_string(specialName[i], sizeof(specialName[i]), f); skip_pascal_string(f); /*Secret DESTRUCT game*/ skip_pascal_string(f); for (int i = 0; i < 25; ++i) read_encrypted_pascal_string(destructHelp[i], sizeof(destructHelp[i]), f); skip_pascal_string(f); /*Secret DESTRUCT weapons*/ skip_pascal_string(f); for (int i = 0; i < 17; ++i) read_encrypted_pascal_string(weaponNames[i], sizeof(weaponNames[i]), f); skip_pascal_string(f); /*Secret DESTRUCT modes*/ skip_pascal_string(f); for (int i = 0; i < DESTRUCT_MODES; ++i) read_encrypted_pascal_string(destructModeName[i], sizeof(destructModeName[i]), f); skip_pascal_string(f); /*NEW: Ship Info*/ skip_pascal_string(f); for (int i = 0; i < 13; ++i) { read_encrypted_pascal_string(shipInfo[i][0], sizeof(shipInfo[i][0]), f); read_encrypted_pascal_string(shipInfo[i][1], sizeof(shipInfo[i][1]), f); } skip_pascal_string(f); /*Menu 12 - Network Options*/ skip_pascal_string(f); for (int i = 0; i < 5; ++i) read_encrypted_pascal_string(menuInt[14][i], sizeof(menuInt[14][i]), f); fclose(f); }
void JE_loadHelpText( void ) { #ifdef TYRIAN2000 const unsigned int menuInt_entries[MENU_MAX + 1] = { -1, 7, 9, 9, -1, -1, 11, -1, -1, -1, 7, 4, 6, 7, 5 }; #else const unsigned int menuInt_entries[MENU_MAX + 1] = { -1, 7, 9, 8, -1, -1, 11, -1, -1, -1, 6, 4, 6, 7, 5 }; #endif FILE *f = dir_fopen_die(data_dir(), "tyrian.hdt", "rb"); efread(&episode1DataLoc, sizeof(int32_t), 1, f); /*Online Help*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(helpTxt); ++i) read_encrypted_pascal_string(helpTxt[i], sizeof(helpTxt[i]), f); skip_pascal_string(f); /*Planet names*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(pName); ++i) read_encrypted_pascal_string(pName[i], sizeof(pName[i]), f); skip_pascal_string(f); /*Miscellaneous text*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(miscText); ++i) read_encrypted_pascal_string(miscText[i], sizeof(miscText[i]), f); skip_pascal_string(f); /*Little Miscellaneous text*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(miscTextB); ++i) read_encrypted_pascal_string(miscTextB[i], sizeof(miscTextB[i]), f); skip_pascal_string(f); /*Key names*/ skip_pascal_string(f); for (unsigned int i = 0; i < menuInt_entries[6]; ++i) read_encrypted_pascal_string(menuInt[6][i], sizeof(menuInt[6][i]), f); skip_pascal_string(f); /*Main Menu*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(menuText); ++i) read_encrypted_pascal_string(menuText[i], sizeof(menuText[i]), f); skip_pascal_string(f); /*Event text*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(outputs); ++i) read_encrypted_pascal_string(outputs[i], sizeof(outputs[i]), f); skip_pascal_string(f); /*Help topics*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(topicName); ++i) read_encrypted_pascal_string(topicName[i], sizeof(topicName[i]), f); skip_pascal_string(f); /*Main Menu Help*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(mainMenuHelp); ++i) read_encrypted_pascal_string(mainMenuHelp[i], sizeof(mainMenuHelp[i]), f); skip_pascal_string(f); /*Menu 1 - Main*/ skip_pascal_string(f); for (unsigned int i = 0; i < menuInt_entries[1]; ++i) read_encrypted_pascal_string(menuInt[1][i], sizeof(menuInt[1][i]), f); skip_pascal_string(f); /*Menu 2 - Items*/ skip_pascal_string(f); for (unsigned int i = 0; i < menuInt_entries[2]; ++i) read_encrypted_pascal_string(menuInt[2][i], sizeof(menuInt[2][i]), f); skip_pascal_string(f); /*Menu 3 - Options*/ skip_pascal_string(f); for (unsigned int i = 0; i < menuInt_entries[3]; ++i) read_encrypted_pascal_string(menuInt[3][i], sizeof(menuInt[3][i]), f); skip_pascal_string(f); /*InGame Menu*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(inGameText); ++i) read_encrypted_pascal_string(inGameText[i], sizeof(inGameText[i]), f); skip_pascal_string(f); /*Detail Level*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(detailLevel); ++i) read_encrypted_pascal_string(detailLevel[i], sizeof(detailLevel[i]), f); skip_pascal_string(f); /*Game speed text*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(gameSpeedText); ++i) read_encrypted_pascal_string(gameSpeedText[i], sizeof(gameSpeedText[i]), f); skip_pascal_string(f); // episode names skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(episode_name); ++i) read_encrypted_pascal_string(episode_name[i], sizeof(episode_name[i]), f); skip_pascal_string(f); // difficulty names skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(difficulty_name); ++i) read_encrypted_pascal_string(difficulty_name[i], sizeof(difficulty_name[i]), f); skip_pascal_string(f); // gameplay mode names skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(gameplay_name); ++i) read_encrypted_pascal_string(gameplay_name[i], sizeof(gameplay_name[i]), f); skip_pascal_string(f); /*Menu 10 - 2Player Main*/ skip_pascal_string(f); for (unsigned int i = 0; i < menuInt_entries[10]; ++i) read_encrypted_pascal_string(menuInt[10][i], sizeof(menuInt[10][i]), f); skip_pascal_string(f); /*Input Devices*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(inputDevices); ++i) read_encrypted_pascal_string(inputDevices[i], sizeof(inputDevices[i]), f); skip_pascal_string(f); /*Network text*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(networkText); ++i) read_encrypted_pascal_string(networkText[i], sizeof(networkText[i]), f); skip_pascal_string(f); /*Menu 11 - 2Player Network*/ skip_pascal_string(f); for (unsigned int i = 0; i < menuInt_entries[11]; ++i) read_encrypted_pascal_string(menuInt[11][i], sizeof(menuInt[11][i]), f); skip_pascal_string(f); /*HighScore Difficulty Names*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(difficultyNameB); ++i) read_encrypted_pascal_string(difficultyNameB[i], sizeof(difficultyNameB[i]), f); skip_pascal_string(f); /*Menu 12 - Network Options*/ skip_pascal_string(f); for (unsigned int i = 0; i < menuInt_entries[12]; ++i) read_encrypted_pascal_string(menuInt[12][i], sizeof(menuInt[12][i]), f); skip_pascal_string(f); /*Menu 13 - Joystick*/ skip_pascal_string(f); for (unsigned int i = 0; i < menuInt_entries[13]; ++i) read_encrypted_pascal_string(menuInt[13][i], sizeof(menuInt[13][i]), f); skip_pascal_string(f); /*Joystick Button Assignments*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(joyButtonNames); ++i) read_encrypted_pascal_string(joyButtonNames[i], sizeof(joyButtonNames[i]), f); skip_pascal_string(f); /*SuperShips - For Super Arcade Mode*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(superShips); ++i) read_encrypted_pascal_string(superShips[i], sizeof(superShips[i]), f); skip_pascal_string(f); /*SuperShips - For Super Arcade Mode*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(specialName); ++i) read_encrypted_pascal_string(specialName[i], sizeof(specialName[i]), f); skip_pascal_string(f); /*Secret DESTRUCT game*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(destructHelp); ++i) read_encrypted_pascal_string(destructHelp[i], sizeof(destructHelp[i]), f); skip_pascal_string(f); /*Secret DESTRUCT weapons*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(weaponNames); ++i) read_encrypted_pascal_string(weaponNames[i], sizeof(weaponNames[i]), f); skip_pascal_string(f); /*Secret DESTRUCT modes*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(destructModeName); ++i) read_encrypted_pascal_string(destructModeName[i], sizeof(destructModeName[i]), f); skip_pascal_string(f); /*NEW: Ship Info*/ skip_pascal_string(f); for (unsigned int i = 0; i < COUNTOF(shipInfo); ++i) { read_encrypted_pascal_string(shipInfo[i][0], sizeof(shipInfo[i][0]), f); read_encrypted_pascal_string(shipInfo[i][1], sizeof(shipInfo[i][1]), f); } skip_pascal_string(f); #ifndef TYRIAN2000 /*Menu 12 - Network Options*/ skip_pascal_string(f); for (unsigned int i = 0; i < menuInt_entries[14]; ++i) read_encrypted_pascal_string(menuInt[14][i], sizeof(menuInt[14][i]), f); #endif fclose(f); }