/* Strange Adventures in Infinite Space
 * Copyright (C) 2005 Richard Carlson, Iikka Keranen and William Sears
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
*/
#define STRINGBUFFER_SIZE 128*1024

#ifndef DEMO_VERSION
enum textstrings
{
	STR_YES,
	STR_NO,
	STR_OK,
	STR_CANCEL,
	STR_ACCEPT,
	STR_DECLINE,
	STR_LEAVE,
	STR_STAY,
	STR_CONTINUE,
	STR_GOBACK,
	STR_START,
	STR_TRADE,
	STR_DONE,
	STR_HISCORE_ENTRY,
	STR_QUIT_TITLE,
	STR_QUIT_CONFIRM,
	STR_QUIT_SIMULATION,
	STR_STARTGAME_MUCRON1,
	STR_STARTGAME_MUCRON2,
	STR_STARTGAME_MUCRON3,
	STR_STARTGAME_MUCRON4,
	STR_STARTGAME_MUCRON5,
	STR_STARTGAME_MUCRON6,
	STR_STARTGAME_MUCRON7,
	STR_STARTGAME_TITLE1,
	STR_STARTGAME_TITLE2,
	STR_STARTGAME_TITLE3,
	STR_STARTGAME_IDENTIFY,
	STR_STARTGAME_CAPTAIN,
	STR_STARTGAME_STARSHIP,
	STR_STARTGAME_RENAME,
	STR_STARTGAME_LOADOUT,
	STR_STARTGAME_LOADOUT1,
	STR_STARTGAME_LOADOUT2,
	STR_STARTGAME_LOADOUT3,
	STR_STARTGAME_NEBULA,
	STR_STARTGAME_ENEMIES,
	STR_STARTGAME_EASY,
	STR_STARTGAME_HARD,
	STR_STARTGAME_LOSCORE,
	STR_STARTGAME_HISCORE,
	STR_ENDGAME_CONFIRM1,
	STR_ENDGAME_CONFIRM2,
	STR_ENDGAME_OVER,
	STR_ENDGAME_DATE,
	STR_ENDGAME_DATEF,
	STR_ENDGAME_DATEF2,
	STR_ENDGAME_SCORE,
	STR_ENDGAME_MUCRON1,
	STR_ENDGAME_MUCRON2,
	STR_ENDGAME_MUCRON3,
	STR_ENDGAME_MUCRON4,
	STR_ENDGAME_MUCRON5,
	STR_ENDGAME_MUCRON6,
	STR_ENDGAME_MUCRON7,
	STR_ENDGAME_KAWANGI,
	STR_ENDGAME_DEATH1,
	STR_ENDGAME_DEATH2,
	STR_ENDGAME_DEATH3,
	STR_ENDGAME_DEATH4,
	STR_ENDGAME_DEATH5,
	STR_ENDGAME_DEATH6,
	STR_ENDGAME_DEATH7,
	STR_ENDGAME_MSG1,
	STR_ENDGAME_MSG2,
	STR_ENDGAME_MSG3,
	STR_ENDGAME_MSG4,
	STR_ENDGAME_MSG5,
	STR_ENDGAME_MSG6,
	STR_ENDGAME_MSG7,
	STR_ENDGAME_MSG8,
	STR_ENDGAME_BAR1,
	STR_ENDGAME_BAR2,
	STR_ENDGAME_BAR3,
	STR_ENDGAME_BAR4,
	STR_ENDGAME_BAR5,
	STR_ENDGAME_BAR6,
	STR_ENDGAME_BAR7,
	STR_PROBE_TITLE,
	STR_PROBE_TITLE2,
	STR_PROBE_DIALOG1,
	STR_PROBE_DIALOG2,
	STR_PROBE_FLEET1,
	STR_PROBE_FLEET2,
	STR_PROBE_FLEET3,
	STR_PROBE_MISCDATA,
	STR_PROBE_MISCDATA1,
	STR_PROBE_MISCDATA2,
	STR_PROBE_MISCDATA3,
	STR_PROBE_MISCDATA4,
	STR_PROBE_MISCDATA5,
	STR_PROBE_MISCDATA6,
	STR_ANALYZER_MISCDATA1,
	STR_ANALYZER_MISCDATA2,
	STR_ANALYZER_MISCDATA3,
	STR_ANALYZER_MISCDATA4,
	STR_ANALYZER_MISCDATA5,
	STR_ANALYZER_MISCDATA6,
	STR_SCANNER_RACE,
	STR_SCANNER_NORACE,
	STR_SCANNER_ALIENS,
	STR_SCANNER_INCOMING,
	STR_SCANNER_AVOID,
	STR_SCANNER_ENGAGE,
	STR_SCANNER_FLEE,
	STR_MIRROR_NOTARGET,
	STR_MIRROR_NOCANDO1,
	STR_MIRROR_NOCANDO2,
	STR_MIRROR_NOCANDO3,
	STR_MIRROR_NOCANDO4,
	STR_MIRROR_NOCANDO5,
	STR_MIRROR_NOCANDO6,
	STR_MIRROR_NOCANDO7,
	STR_MIRROR_NOCANDO8,
	STR_BAUBLE_FOMAX,
	STR_BAUBLE_CONFIRM,
	STR_BAUBLE_WISH,
	STR_BAUBLE_PROMPT,
	STR_BAUBLE_FAIL,
	STR_BAUBLE_GIFT,
	STR_BAUBLE_A,
	STR_BAUBLE_AN,
	STR_CONOGRAPH_PLAY,
	STR_MANTLE_MUKTIAN,
	STR_MANTLE_MUKTIAN2,
	STR_MANTLE_GARTHAN,
	STR_MANTLE_GARTHAN2,
	STR_MANTLE_URLUQUAI,
	STR_MANTLE_URLUQUAI2,
	STR_TRADE_TITLE,
	STR_TRADE_MESSAGE,
	STR_TRADE_EMPORIUM,
	STR_MERC_HIS,
	STR_MERC_HER,
	STR_MERC_TITLE,
	STR_MERC_BILLING,
	STR_MERC_PAYMENT,
	STR_MERC_DEAL,
	STR_MERC_TOOBIGT,
	STR_MERC_TOOBIG,
	STR_MERC_NOGOODT,
	STR_MERC_NOGOOD,
	STR_MERC_THANKS,
	STR_MERC_THANKS2,
	STR_ALLY_TITLE,
	STR_ALLY_CONFIRMT,
	STR_ALLY_CONFIRM,
	STR_ALLY_REFUSET,
	STR_ALLY_REFUSE,
	STR_ALLY_INSTALLT,
	STR_ALLY_INSTALL,
	STR_ALLY_CAPT1,
	STR_ALLY_CAPT2,
	STR_ALLY_SHIP1,
	STR_ALLY_SHIP2,
	STR_VIDCAST,
	STR_VIDCAST2,
	STR_KLAK_PAYTITLE,
	STR_KLAK_PAYMENT,
	STR_KLAK_NOPAY,
	STR_KLAK_UNSAFE,
	STR_KLAK_UNAVAIL,
	STR_MUKTIAN_THANKS,
	STR_MUKTIAN_WARNING,
	STR_GARTHAN_WARN1,
	STR_GARTHAN_WARN2,
	STR_GARTHAN_WARN3,
	STR_URLUQUAI_WARN1,
	STR_URLUQUAI_WARN2,
	STR_URLUQUAI_WARN3,
	STR_TANRU_WARN,
	STR_BLACKHOLE_TITLE,
	STR_BLACKHOLE_DESC,
	STR_BLACKHOLE_WARN,
	STR_TIMER_TITLE,
	STR_TIMER_WARN1,
	STR_TIMER_WARN2,
	STR_SYSTEM_DESTROYED,
	STR_DRIVE_MISSING,
	STR_DRIVE_MISSING2,
	STR_DRIVE_BROKEN,
	STR_DRIVE_BROKEN2,
	STR_DRIVE_NOVA1,
	STR_DRIVE_NOVA2,
	STR_DRIVE_NOVA3,
	STR_KAWANGI_WARNING1,
	STR_KAWANGI_WARNING2,
	STR_KAWANGI_WARNING3,
	STR_KAWANGI_KILLED,
	STR_KAWANGI_KILLED1,
	STR_KAWANGI_KILLED2,
	STR_KAWANGI_EXPLO,
	STR_KAWANGI_EXPLO1,
	STR_KAWANGI_EXPLO2,
	STR_LIFEFORM_HARD,
	STR_LIFEFORM_HARDT,
	STR_LIFEFORM_HUNT,
	STR_LIFEFORM_HUNTT,
	STR_AMBASSADOR,
	STR_AMBASSADORT,
	STR_LVC_CONFIRM,
	STR_LVC_ASKWHEN,
	STR_LVC_DAYSTILL,
	STR_INV_POINT,
	STR_INV_ARTIFACT,
	STR_INV_REPAIR_HULL,
	STR_INV_REPAIR_SYS,
	STR_INV_REPAIR_TITLE,
	STR_ALIEN_CONTACT,
	STR_ALIEN_DEMEANOR,
	STR_CARD_PLANET,
	STR_CARD_EVENT,
	STR_CARD_ALLY,
	STR_CARD_DISCOVERY,
	STR_CARD_RENAME,
	STR_EVENT_DEVA,
	STR_EVENT_FLARE,
	STR_EVENT_THIEF,
	STR_EVENT_NOVA,
	STR_EVENT_SABOT,
	STR_EVENT_WHALE,
	STR_EVENT_CONE,
	STR_EVENT_CONE2,
	STR_EVENT_HULK,
	STR_EVENT_HULK2,
	STR_EVENT_GIANT,
	STR_COMBAT_TITLE,
	STR_COMBAT_NOTARGET,
	STR_COMBAT_RETREAT,
	STR_COMBAT_CLOAK,
	STR_COMBAT_UNCLOAK,
	STR_COMBAT_GONG,
	STR_COMBAT_KLAKAR,
	STR_COMBAT_STATUS,
	STR_COMBAT_DMGKEY,
	STR_COMBAT_DMG1,
	STR_COMBAT_DMG2,
	STR_COMBAT_DMG3,
	STR_COMBAT_DMG4,
	STR_COMBAT_SYSDMG,
	STR_COMBAT_SIMTITLE,
	STR_COMBAT_SIMSHIP,
	STR_COMBAT_SIMWINGMEN,
	STR_COMBAT_SIMENEMIES,
	STR_COMBAT_SIMEND,
	STR_COMBAT_SIMALLY,
	STR_COMBAT_SIMENMY,
	STR_COMBAT_SIMSURV,
	STR_COMBAT_SIMDEST,
	STR_COMBAT_SIMESCP,
	STR_STARMAP_LYEARS,
	STR_STARMAP_NDAYS,
	STR_STARMAP_DATE,
	STR_STARMAP_DAYSLEFT,
	STR_STARMAP_CAPTAIN,
	STR_STARMAP_CARGO,
	STR_STARMAP_SELECT,
	STR_NAME_GLORY,
	STR_NAME_HOPE,
	STR_TUT_STARMAP,
	STR_TUT_EXPLORE,
	STR_TUT_UPGRADE,
	STR_TUT_DEVICE,
	STR_TUT_TREASURE,
	STR_TUT_ALLYSHIP,
	STR_TUT_ENCOUNTER,
	STR_TUT_COMBAT,
	STR_TUT_TRADING,
	STR_TUT_TSTARMAP,
	STR_TUT_TEXPLORE,
	STR_TUT_TUPGRADE,
	STR_TUT_TDEVICE,
	STR_TUT_TTREASURE,
	STR_TUT_TALLYSHIP,
	STR_TUT_TENCOUNTER,
	STR_TUT_TCOMBAT,
	STR_TUT_TTRADING,
	STR_TUT_END,
	STR_MAX
};
#else
enum textstrings	// reduced for DEMO_VERSION
{
	STR_YES,
	STR_NO,
	STR_OK,
	STR_CANCEL,
	STR_ACCEPT,
	STR_DECLINE,
	STR_LEAVE,
	STR_STAY,
	STR_CONTINUE,
	STR_GOBACK,
	STR_START,
	STR_TRADE,
	STR_DONE,
	STR_HISCORE_ENTRY,
	STR_QUIT_TITLE,
	STR_QUIT_CONFIRM,
	STR_QUIT_SIMULATION,
	STR_STARTGAME_MUCRON1,
	STR_STARTGAME_MUCRON2,
	STR_STARTGAME_MUCRON3,
	STR_STARTGAME_MUCRON7,
	STR_STARTGAME_TITLE1,
	STR_STARTGAME_TITLE2,
	STR_STARTGAME_TITLE3,
	STR_STARTGAME_IDENTIFY,
	STR_STARTGAME_CAPTAIN,
	STR_STARTGAME_STARSHIP,
	STR_STARTGAME_RENAME,
	STR_STARTGAME_LOADOUT,
	STR_STARTGAME_LOADOUT1,
	STR_STARTGAME_LOADOUT2,
	STR_STARTGAME_LOADOUT3,
	STR_STARTGAME_NEBULA,
	STR_STARTGAME_ENEMIES,
	STR_STARTGAME_EASY,
	STR_STARTGAME_HARD,
	STR_STARTGAME_LOSCORE,
	STR_STARTGAME_HISCORE,
	STR_ENDGAME_CONFIRM1,
	STR_ENDGAME_CONFIRM2,
	STR_ENDGAME_OVER,
	STR_ENDGAME_DATE,
	STR_ENDGAME_DATEF,
	STR_ENDGAME_DATEF2,
	STR_ENDGAME_SCORE,
	STR_ENDGAME_MUCRON1,
	STR_ENDGAME_MUCRON2,
	STR_ENDGAME_MUCRON3,
	STR_ENDGAME_MUCRON4,
	STR_ENDGAME_MUCRON7,
	STR_ENDGAME_DEATH1,
	STR_ENDGAME_DEATH2,
	STR_ENDGAME_DEATH3,
	STR_ENDGAME_DEATH4,
	STR_ENDGAME_DEATH5,
	STR_ENDGAME_DEATH6,
	STR_ENDGAME_DEATH7,
	STR_ENDGAME_MSG1,
	STR_ENDGAME_MSG2,
	STR_ENDGAME_MSG3,
	STR_ENDGAME_MSG4,
	STR_ENDGAME_MSG5,
	STR_ENDGAME_MSG6,
	STR_ENDGAME_MSG7,
	STR_ENDGAME_MSG8,
	STR_ENDGAME_BAR1,
	STR_ENDGAME_BAR2,
	STR_ENDGAME_BAR3,
	STR_ENDGAME_BAR4,
	STR_ENDGAME_BAR5,
	STR_ENDGAME_BAR6,
	STR_ENDGAME_BAR7,
	STR_PROBE_TITLE,
	STR_PROBE_TITLE2,
	STR_PROBE_DIALOG1,
	STR_PROBE_DIALOG2,
	STR_PROBE_FLEET1,
	STR_PROBE_FLEET2,
	STR_PROBE_FLEET3,
	STR_PROBE_MISCDATA,
	STR_PROBE_MISCDATA1,
	STR_PROBE_MISCDATA2,
	STR_PROBE_MISCDATA3,
	STR_PROBE_MISCDATA4,
	STR_PROBE_MISCDATA5,
	STR_PROBE_MISCDATA6,
	STR_ANALYZER_MISCDATA1,
	STR_ANALYZER_MISCDATA2,
	STR_ANALYZER_MISCDATA3,
	STR_ANALYZER_MISCDATA4,
	STR_ANALYZER_MISCDATA5,
	STR_ANALYZER_MISCDATA6,
	STR_SCANNER_RACE,
	STR_SCANNER_NORACE,
	STR_SCANNER_ALIENS,
	STR_SCANNER_INCOMING,
	STR_SCANNER_AVOID,
	STR_SCANNER_ENGAGE,
	STR_SCANNER_FLEE,
	STR_TRADE_TITLE,
	STR_TRADE_MESSAGE,
	STR_TRADE_EMPORIUM,
	STR_MERC_HIS,
	STR_MERC_HER,
	STR_MERC_TITLE,
	STR_MERC_BILLING,
	STR_MERC_PAYMENT,
	STR_MERC_DEAL,
	STR_MERC_TOOBIGT,
	STR_MERC_TOOBIG,
	STR_MERC_NOGOODT,
	STR_MERC_NOGOOD,
	STR_MERC_THANKS,
	STR_MERC_THANKS2,
	STR_ALLY_TITLE,
	STR_ALLY_CONFIRMT,
	STR_ALLY_CONFIRM,
	STR_ALLY_REFUSET,
	STR_ALLY_REFUSE,
	STR_ALLY_INSTALLT,
	STR_ALLY_INSTALL,
	STR_ALLY_CAPT1,
	STR_ALLY_CAPT2,
	STR_ALLY_SHIP1,
	STR_ALLY_SHIP2,
	STR_VIDCAST,
	STR_VIDCAST2,
	STR_KLAK_PAYTITLE,
	STR_KLAK_PAYMENT,
	STR_KLAK_NOPAY,
	STR_KLAK_UNSAFE,
	STR_KLAK_UNAVAIL,
	STR_GARTHAN_WARN1,
	STR_GARTHAN_WARN2,
	STR_GARTHAN_WARN3,
	STR_BLACKHOLE_TITLE,
	STR_BLACKHOLE_DESC,
	STR_BLACKHOLE_WARN,
	STR_TIMER_TITLE,
	STR_TIMER_WARN1,
	STR_TIMER_WARN2,
	STR_SYSTEM_DESTROYED,
	STR_DRIVE_MISSING,
	STR_DRIVE_MISSING2,
	STR_DRIVE_BROKEN,
	STR_DRIVE_BROKEN2,
	STR_DRIVE_NOVA1,
	STR_DRIVE_NOVA2,
	STR_DRIVE_NOVA3,
	STR_LIFEFORM_HARD,
	STR_LIFEFORM_HARDT,
	STR_LIFEFORM_HUNT,
	STR_LIFEFORM_HUNTT,
	STR_INV_POINT,
	STR_INV_ARTIFACT,
	STR_INV_REPAIR_HULL,
	STR_INV_REPAIR_SYS,
	STR_INV_REPAIR_TITLE,
	STR_ALIEN_CONTACT,
	STR_ALIEN_DEMEANOR,
	STR_CARD_PLANET,
	STR_CARD_EVENT,
	STR_CARD_ALLY,
	STR_CARD_DISCOVERY,
	STR_CARD_RENAME,
	STR_EVENT_DEVA,
	STR_EVENT_FLARE,
	STR_EVENT_THIEF,
	STR_COMBAT_TITLE,
	STR_COMBAT_NOTARGET,
	STR_COMBAT_RETREAT,
	STR_COMBAT_CLOAK,
	STR_COMBAT_UNCLOAK,
	STR_COMBAT_GONG,
	STR_COMBAT_KLAKAR,
	STR_COMBAT_STATUS,
	STR_COMBAT_DMGKEY,
	STR_COMBAT_DMG1,
	STR_COMBAT_DMG2,
	STR_COMBAT_DMG3,
	STR_COMBAT_DMG4,
	STR_COMBAT_SYSDMG,
	STR_COMBAT_SIMTITLE,
	STR_COMBAT_SIMSHIP,
	STR_COMBAT_SIMWINGMEN,
	STR_COMBAT_SIMENEMIES,
	STR_COMBAT_SIMEND,
	STR_COMBAT_SIMALLY,
	STR_COMBAT_SIMENMY,
	STR_COMBAT_SIMSURV,
	STR_COMBAT_SIMDEST,
	STR_COMBAT_SIMESCP,
	STR_STARMAP_LYEARS,
	STR_STARMAP_NDAYS,
	STR_STARMAP_DATE,
	STR_STARMAP_DAYSLEFT,
	STR_STARMAP_CAPTAIN,
	STR_STARMAP_CARGO,
	STR_STARMAP_SELECT,
	STR_NAME_GLORY,
	STR_NAME_HOPE,
	STR_TUT_STARMAP,
	STR_TUT_EXPLORE,
	STR_TUT_UPGRADE,
	STR_TUT_DEVICE,
	STR_TUT_TREASURE,
	STR_TUT_ALLYSHIP,
	STR_TUT_ENCOUNTER,
	STR_TUT_COMBAT,
	STR_TUT_TRADING,
	STR_TUT_TSTARMAP,
	STR_TUT_TEXPLORE,
	STR_TUT_TUPGRADE,
	STR_TUT_TDEVICE,
	STR_TUT_TTREASURE,
	STR_TUT_TALLYSHIP,
	STR_TUT_TENCOUNTER,
	STR_TUT_TCOMBAT,
	STR_TUT_TTRADING,
	STR_TUT_END,
	STR_MAX
};
#endif

extern char *textbuffer;	
extern char *textstring[STR_MAX];


void textstrings_init();
void textstrings_deinit();
