// * This file is part of the COLOBOT source code // * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch // * // * 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 http://www.gnu.org/licenses/. #include "common/restext_ids.h" #include "common/event_ids.h" #include "object/object_ids.h" #include "common/error_ids.h" #include "CBot/resource.h" const char * const strings_text[] = { #if _FULL [RT_VERSION_ID] = "1.18 /e", #endif #if _NET [RT_VERSION_ID] = "CeeBot-A 1.18", #endif #if _SCHOOL & _EDU #if _TEEN [RT_VERSION_ID] = "CeeBot-Teen EDU 1.18", #else [RT_VERSION_ID] = "CeeBot-A EDU 1.18", #endif #endif #if _SCHOOL & _PERSO #if _TEEN [RT_VERSION_ID] = "CeeBot-Teen PERSO 1.18", #else [RT_VERSION_ID] = "CeeBot-A PERSO 1.18", #endif #endif #if _SCHOOL & _CEEBOTDEMO #if _TEEN [RT_VERSION_ID] = "CeeBot-Teen DEMO 1.18", #else [RT_VERSION_ID] = "CeeBot-A DEMO 1.18", #endif #endif #if _DEMO [RT_VERSION_ID] = "Demo 1.18 /e", #endif [RT_DISINFO_TITLE] = "SatCom", [RT_WINDOW_MAXIMIZED] = "Maximize", [RT_WINDOW_MINIMIZED] = "Minimize", [RT_WINDOW_STANDARD] = "Normal size", [RT_WINDOW_CLOSE] = "Close", [RT_STUDIO_TITLE] = "Program editor", [RT_SCRIPT_NEW] = "New", [RT_NAME_DEFAULT] = "Player", [RT_IO_NEW] = "New ...", [RT_KEY_OR] = " or ", #if _NEWLOOK [RT_TITLE_BASE] = "CeeBot", [RT_TITLE_INIT] = "CeeBot", #else [RT_TITLE_BASE] = "COLOBOT", [RT_TITLE_INIT] = "COLOBOT", #endif [RT_TITLE_TRAINER] = "Programming exercises", [RT_TITLE_DEFI] = "Challenges", [RT_TITLE_MISSION] = "Missions", [RT_TITLE_FREE] = "Free game", [RT_TITLE_TEEN] = "Free game", [RT_TITLE_USER] = "User levels", [RT_TITLE_PROTO] = "Prototypes", [RT_TITLE_SETUP] = "Options", [RT_TITLE_NAME] = "Player's name", [RT_TITLE_PERSO] = "Customize your appearance", [RT_TITLE_WRITE] = "Save the current mission", [RT_TITLE_READ] = "Load a saved mission", [RT_PLAY_CHAPt] = " Chapters:", [RT_PLAY_CHAPd] = " Chapters:", [RT_PLAY_CHAPm] = " Planets:", [RT_PLAY_CHAPf] = " Planets:", [RT_PLAY_CHAPu] = " User levels:", [RT_PLAY_CHAPp] = " Planets:", [RT_PLAY_CHAPte] = " Chapters:", [RT_PLAY_LISTt] = " Exercises in the chapter:", [RT_PLAY_LISTd] = " Challenges in the chapter:", [RT_PLAY_LISTm] = " Missions on this planet:", [RT_PLAY_LISTf] = " Free game on this planet:", [RT_PLAY_LISTu] = " Missions on this level:", [RT_PLAY_LISTp] = " Prototypes on this planet:", [RT_PLAY_LISTk] = " Free game on this chapter:", [RT_PLAY_RESUME] = " Summary:", [RT_SETUP_DEVICE] = " Drivers:", [RT_SETUP_MODE] = " Resolution:", [RT_SETUP_KEY1] = "1) First click on the key you want to redefine.", [RT_SETUP_KEY2] = "2) Then press the key you want to use instead.", [RT_PERSO_FACE] = "Face type:", [RT_PERSO_GLASSES] = "Eyeglasses:", [RT_PERSO_HAIR] = "Hair color:", [RT_PERSO_COMBI] = "Suit color:", [RT_PERSO_BAND] = "Strip color:", #if _NEWLOOK [RT_DIALOG_QUIT] = "Do you want to quit CeeBot ?", [RT_DIALOG_TITLE] = "CeeBot", [RT_DIALOG_YESQUIT] = "Quit\\Quit CeeBot", #else [RT_DIALOG_QUIT] = "Do you want to quit COLOBOT ?", [RT_DIALOG_TITLE] = "COLOBOT", [RT_DIALOG_YESQUIT] = "Quit\\Quit COLOBOT", #endif [RT_DIALOG_ABORT] = "Quit the mission?", [RT_DIALOG_YES] = "Abort\\Abort the current mission", [RT_DIALOG_NO] = "Continue\\Continue the current mission", [RT_DIALOG_NOQUIT] = "Continue\\Continue the game", [RT_DIALOG_DELOBJ] = "Do you really want to destroy the selected building?", [RT_DIALOG_DELGAME] = "Do you want to delete %s's saved games? ", [RT_DIALOG_YESDEL] = "Delete", [RT_DIALOG_NODEL] = "Cancel", [RT_DIALOG_LOADING] = "LOADING", [RT_STUDIO_LISTTT] = "Keyword help(\\key cbot;)", [RT_STUDIO_COMPOK] = "Compilation ok (0 errors)", [RT_STUDIO_PROGSTOP] = "Program finished", [RT_SATCOM_LIST] = "\\b;List of objects\n", [RT_SATCOM_BOT] = "\\b;Robots\n", [RT_SATCOM_BUILDING] = "\\b;Buildings\n", [RT_SATCOM_FRET] = "\\b;Moveable objects\n", [RT_SATCOM_ALIEN] = "\\b;Aliens\n", [RT_SATCOM_NULL] = "\\c; (none)\\n;\n", [RT_SATCOM_ERROR1] = "\\b;Error\n", [RT_SATCOM_ERROR2] = "The list is only available if a \\l;radar station\\u object\\radar; is working.\n", [RT_IO_OPEN] = "Open", [RT_IO_SAVE] = "Save", [RT_IO_LIST] = "Folder: %s", [RT_IO_NAME] = "Name:", [RT_IO_DIR] = "Folder:", [RT_IO_PRIVATE] = "Private\\Private folder", [RT_IO_PUBLIC] = "Public\\Common folder", [RT_GENERIC_DEV1] = "Developed by :", [RT_GENERIC_DEV2] = "www.epsitec.com", [RT_GENERIC_EDIT1] = " ", [RT_GENERIC_EDIT2] = " ", [RT_INTERFACE_REC] = "Recorder" }; const char * const strings_event[] = { [EVENT_BUTTON_OK] = "OK", [EVENT_BUTTON_CANCEL] = "Cancel", [EVENT_BUTTON_NEXT] = "Next", [EVENT_BUTTON_PREV] = "Previous", [EVENT_BUTTON_QUIT] = "Menu (\\key quit;)", [EVENT_DIALOG_OK] = "OK", [EVENT_DIALOG_CANCEL] = "Cancel", [EVENT_INTERFACE_TRAINER] = "Exercises\\Programming exercises", [EVENT_INTERFACE_DEFI] = "Challenges\\Programming challenges", [EVENT_INTERFACE_MISSION] = "Missions\\Select mission", [EVENT_INTERFACE_FREE] = "Free game\\Free game without a specific goal", [EVENT_INTERFACE_TEEN] = "Free game\\Free game without a specific goal", [EVENT_INTERFACE_USER] = "User\\User levels", [EVENT_INTERFACE_PROTO] = "Proto\\Prototypes under development", [EVENT_INTERFACE_NAME] = "New player\\Choose player's name", [EVENT_INTERFACE_SETUP] = "Options\\Preferences", [EVENT_INTERFACE_AGAIN] = "Restart\\Restart the mission from the beginning", [EVENT_INTERFACE_WRITE] = "Save\\Save the current mission ", [EVENT_INTERFACE_READ] = "Load\\Load a saved mission", #if _NEWLOOK [EVENT_INTERFACE_ABORT] = "\\Return to CeeBot", [EVENT_INTERFACE_QUIT] = "Quit\\Quit CeeBot", #else [EVENT_INTERFACE_ABORT] = "\\Return to COLOBOT", [EVENT_INTERFACE_QUIT] = "Quit\\Quit COLOBOT", #endif [EVENT_INTERFACE_BACK] = "<< Back \\Back to the previous screen", [EVENT_INTERFACE_PLAY] = "Play\\Start mission!", [EVENT_INTERFACE_SETUPd] = "Device\\Driver and resolution settings", [EVENT_INTERFACE_SETUPg] = "Graphics\\Graphics settings", [EVENT_INTERFACE_SETUPp] = "Game\\Game settings", [EVENT_INTERFACE_SETUPc] = "Controls\\Keyboard, joystick and mouse settings", [EVENT_INTERFACE_SETUPs] = "Sound\\Music and game sound volume", [EVENT_INTERFACE_DEVICE] = "Unit", [EVENT_INTERFACE_RESOL] = "Resolution", [EVENT_INTERFACE_FULL] = "Full screen\\Full screen or window mode", [EVENT_INTERFACE_APPLY] = "Apply changes\\Activates the changed settings", [EVENT_INTERFACE_TOTO] = "Robbie\\Your assistant", [EVENT_INTERFACE_SHADOW] = "Shadows\\Shadows on the ground", [EVENT_INTERFACE_GROUND] = "Marks on the ground\\Marks on the ground", [EVENT_INTERFACE_DIRTY] = "Dust\\Dust and dirt on bots and buildings", [EVENT_INTERFACE_FOG] = "Fog\\Fog", [EVENT_INTERFACE_LENS] = "Sunbeams\\Sunbeams in the sky", [EVENT_INTERFACE_SKY] = "Sky\\Clouds and nebulae", [EVENT_INTERFACE_PLANET] = "Planets and stars\\Astronomical objects in the sky", [EVENT_INTERFACE_LIGHT] = "Dynamic lighting\\Mobile light sources", [EVENT_INTERFACE_PARTI] = "Number of particles\\Explosions, dust, reflections, etc.", [EVENT_INTERFACE_CLIP] = "Depth of field\\Maximum visibility", [EVENT_INTERFACE_DETAIL] = "Details\\Visual quality of 3D objects", [EVENT_INTERFACE_TEXTURE] = "Textures\\Quality of textures ", [EVENT_INTERFACE_GADGET] = "Num of decorative objects\\Number of purely ornamental objects", [EVENT_INTERFACE_RAIN] = "Particles in the interface\\Steam clouds and sparks in the interface", [EVENT_INTERFACE_GLINT] = "Reflections on the buttons \\Shiny buttons", [EVENT_INTERFACE_TOOLTIP] = "Help balloons\\Explain the function of the buttons", [EVENT_INTERFACE_MOVIES] = "Film sequences\\Films before and after the missions", [EVENT_INTERFACE_NICERST] = "Exit film\\Film at the exit of exercises", [EVENT_INTERFACE_HIMSELF] = "Friendly fire\\Your shooting can damage your own objects ", [EVENT_INTERFACE_SCROLL] = "Scrolling\\Scrolling when the mouse touches right or left border", [EVENT_INTERFACE_INVERTX] = "Mouse inversion X\\Inversion of the scrolling direction on the X axis", [EVENT_INTERFACE_INVERTY] = "Mouse inversion Y\\Inversion of the scrolling direction on the Y axis", [EVENT_INTERFACE_EFFECT] = "Quake at explosions\\The screen shakes at explosions", [EVENT_INTERFACE_MOUSE] = "Mouse shadow\\Gives the mouse a shadow", [EVENT_INTERFACE_EDITMODE] = "Automatic indent\\When program editing", [EVENT_INTERFACE_EDITVALUE] = "Big indent\\Indent 2 or 4 spaces per level defined by braces", [EVENT_INTERFACE_SOLUCE4] = "Access to solutions\\Show program \"4: Solution\" in the exercises", [EVENT_INTERFACE_KDEF] = "Standard controls\\Standard key functions", [EVENT_INTERFACE_KLEFT] = "Turn left\\turns the bot to the left", [EVENT_INTERFACE_KRIGHT] = "Turn right\\turns the bot to the right", [EVENT_INTERFACE_KUP] = "Forward\\Moves forward", [EVENT_INTERFACE_KDOWN] = "Backward\\Moves backward", [EVENT_INTERFACE_KGUP] = "Climb\\Increases the power of the jet", [EVENT_INTERFACE_KGDOWN] = "Descend\\Reduces the power of the jet", [EVENT_INTERFACE_KCAMERA] = "Change camera\\Switches between onboard camera and following camera", [EVENT_INTERFACE_KDESEL] = "Previous object\\Selects the previous object", [EVENT_INTERFACE_KACTION] = "Standard action\\Standard action of the bot (take/grab, shoot, sniff, etc)", [EVENT_INTERFACE_KNEAR] = "Camera closer\\Moves the camera forward", [EVENT_INTERFACE_KAWAY] = "Camera back\\Moves the camera backward", [EVENT_INTERFACE_KNEXT] = "Next object\\Selects the next object", [EVENT_INTERFACE_KHUMAN] = "Select the astronaut\\Selects the astronaut", [EVENT_INTERFACE_KQUIT] = "Quit\\Quit the current mission or exercise", [EVENT_INTERFACE_KHELP] = "Instructions\\Shows the instructions for the current mission", [EVENT_INTERFACE_KPROG] = "Programming help\\Gives more detailed help with programming", [EVENT_INTERFACE_KCBOT] = "Key word help\\More detailed help about key words", [EVENT_INTERFACE_KVISIT] = "Origin of last message\\Shows where the last message was sent from", [EVENT_INTERFACE_KSPEED10] = "Speed 1.0x\\Normal speed", [EVENT_INTERFACE_KSPEED15] = "Speed 1.5x\\1.5 times faster", [EVENT_INTERFACE_KSPEED20] = "Speed 2.0x\\Double speed", [EVENT_INTERFACE_KSPEED30] = "Speed 3.0x\\Three times faster", [EVENT_INTERFACE_VOLSOUND] = "Sound effects:\\Volume of engines, voice, shooting, etc.", [EVENT_INTERFACE_VOLMUSIC] = "Background sound :\\Volume of audio tracks on the CD", [EVENT_INTERFACE_SOUND3D] = "3D sound\\3D positioning of the sound", [EVENT_INTERFACE_MIN] = "Lowest\\Minimum graphic quality (highest frame rate)", [EVENT_INTERFACE_NORM] = "Normal\\Normal graphic quality", [EVENT_INTERFACE_MAX] = "Highest\\Highest graphic quality (lowest frame rate)", [EVENT_INTERFACE_SILENT] = "Mute\\No sound", [EVENT_INTERFACE_NOISY] = "Normal\\Normal sound volume", [EVENT_INTERFACE_JOYSTICK] = "Use a joystick\\Joystick or keyboard", [EVENT_INTERFACE_SOLUCE] = "Access to solution\\Shows the solution (detailed instructions for missions)", [EVENT_INTERFACE_NEDIT] = "\\New player name", [EVENT_INTERFACE_NOK] = "OK\\Choose the selected player", [EVENT_INTERFACE_NCANCEL] = "Cancel\\Keep current player name", [EVENT_INTERFACE_NDELETE] = "Delete player\\Deletes the player from the list", [EVENT_INTERFACE_NLABEL] = "Player name", [EVENT_INTERFACE_IOWRITE] = "Save\\Saves the current mission", [EVENT_INTERFACE_IOREAD] = "Load\\Loads the selected mission", [EVENT_INTERFACE_IOLIST] = "List of saved missions", [EVENT_INTERFACE_IOLABEL] = "Filename:", [EVENT_INTERFACE_IONAME] = "Mission name", [EVENT_INTERFACE_IOIMAGE] = "Photography", [EVENT_INTERFACE_IODELETE] = "Delete\\Deletes the selected file", [EVENT_INTERFACE_PERSO] = "Appearance\\Choose your appearance", [EVENT_INTERFACE_POK] = "OK", [EVENT_INTERFACE_PCANCEL] = "Cancel", [EVENT_INTERFACE_PDEF] = "Standard\\Standard appearance settings", [EVENT_INTERFACE_PHEAD] = "Head\\Face and hair", [EVENT_INTERFACE_PBODY] = "Suit\\Astronaut suit", [EVENT_INTERFACE_PLROT] = "\\Turn left", [EVENT_INTERFACE_PRROT] = "\\Turn right", [EVENT_INTERFACE_PCRa] = "Red", [EVENT_INTERFACE_PCGa] = "Green", [EVENT_INTERFACE_PCBa] = "Blue", [EVENT_INTERFACE_PCRb] = "Red", [EVENT_INTERFACE_PCGb] = "Green", [EVENT_INTERFACE_PCBb] = "Blue", [EVENT_INTERFACE_PFACE1] = "\\Face 1", [EVENT_INTERFACE_PFACE2] = "\\Face 4", [EVENT_INTERFACE_PFACE3] = "\\Face 3", [EVENT_INTERFACE_PFACE4] = "\\Face 2", [EVENT_INTERFACE_PGLASS0] = "\\No eyeglasses", [EVENT_INTERFACE_PGLASS1] = "\\Eyeglasses 1", [EVENT_INTERFACE_PGLASS2] = "\\Eyeglasses 2", [EVENT_INTERFACE_PGLASS3] = "\\Eyeglasses 3", [EVENT_INTERFACE_PGLASS4] = "\\Eyeglasses 4", [EVENT_INTERFACE_PGLASS5] = "\\Eyeglasses 5", [EVENT_OBJECT_DESELECT] = "Previous selection (\\key desel;)", [EVENT_OBJECT_LEFT] = "Turn left (\\key left;)", [EVENT_OBJECT_RIGHT] = "Turn right (\\key right;)", [EVENT_OBJECT_UP] = "Forward (\\key up;)", [EVENT_OBJECT_DOWN] = "Backward (\\key down;)", [EVENT_OBJECT_GASUP] = "Up (\\key gup;)", [EVENT_OBJECT_GASDOWN] = "Down (\\key gdown;)", [EVENT_OBJECT_HTAKE] = "Grab or drop (\\key action;)", [EVENT_OBJECT_MTAKE] = "Grab or drop (\\key action;)", [EVENT_OBJECT_MFRONT] = "..in front", [EVENT_OBJECT_MBACK] = "..behind", [EVENT_OBJECT_MPOWER] = "..power cell", [EVENT_OBJECT_BHELP] = "Instructions for the mission (\\key help;)", [EVENT_OBJECT_BTAKEOFF] = "Take off to finish the mission", [EVENT_OBJECT_BDERRICK] = "Build a derrick", [EVENT_OBJECT_BSTATION] = "Build a power station", [EVENT_OBJECT_BFACTORY] = "Build a bot factory", [EVENT_OBJECT_BREPAIR] = "Build a repair center", [EVENT_OBJECT_BCONVERT] = "Build a converter", [EVENT_OBJECT_BTOWER] = "Build a defense tower", [EVENT_OBJECT_BRESEARCH] = "Build a research center", [EVENT_OBJECT_BRADAR] = "Build a radar station", [EVENT_OBJECT_BENERGY] = "Build a power cell factory", [EVENT_OBJECT_BLABO] = "Build an autolab", [EVENT_OBJECT_BNUCLEAR] = "Build a nuclear power plant", [EVENT_OBJECT_BPARA] = "Build a lightning conductor", [EVENT_OBJECT_BINFO] = "Build a exchange post", [EVENT_OBJECT_GFLAT] = "Show if the ground is flat", [EVENT_OBJECT_FCREATE] = "Plant a flag", [EVENT_OBJECT_FDELETE] = "Remove a flag", [EVENT_OBJECT_FCOLORb] = "\\Blue flags", [EVENT_OBJECT_FCOLORr] = "\\Red flags", [EVENT_OBJECT_FCOLORg] = "\\Green flags", [EVENT_OBJECT_FCOLORy] = "\\Yellow flags", [EVENT_OBJECT_FCOLORv] = "\\Violet flags", [EVENT_OBJECT_FACTORYfa] = "Build a winged grabber", [EVENT_OBJECT_FACTORYta] = "Build a tracked grabber", [EVENT_OBJECT_FACTORYwa] = "Build a wheeled grabber", [EVENT_OBJECT_FACTORYia] = "Build a legged grabber", [EVENT_OBJECT_FACTORYfc] = "Build a winged shooter", [EVENT_OBJECT_FACTORYtc] = "Build a tracked shooter", [EVENT_OBJECT_FACTORYwc] = "Build a wheeled shooter", [EVENT_OBJECT_FACTORYic] = "Build a legged shooter", [EVENT_OBJECT_FACTORYfi] = "Build a winged orga shooter", [EVENT_OBJECT_FACTORYti] = "Build a tracked orga shooter", [EVENT_OBJECT_FACTORYwi] = "Build a wheeled orga shooter", [EVENT_OBJECT_FACTORYii] = "Build a legged orga shooter", [EVENT_OBJECT_FACTORYfs] = "Build a winged sniffer", [EVENT_OBJECT_FACTORYts] = "Build a tracked sniffer", [EVENT_OBJECT_FACTORYws] = "Build a wheeled sniffer", [EVENT_OBJECT_FACTORYis] = "Build a legged sniffer", [EVENT_OBJECT_FACTORYrt] = "Build a thumper", [EVENT_OBJECT_FACTORYrc] = "Build a phazer shooter", [EVENT_OBJECT_FACTORYrr] = "Build a recycler", [EVENT_OBJECT_FACTORYrs] = "Build a shielder", [EVENT_OBJECT_FACTORYsa] = "Build a subber", [EVENT_OBJECT_RTANK] = "Run research program for tracked bots", [EVENT_OBJECT_RFLY] = "Run research program for winged bots", [EVENT_OBJECT_RTHUMP] = "Run research program for thumper", [EVENT_OBJECT_RCANON] = "Run research program for shooter", [EVENT_OBJECT_RTOWER] = "Run research program for defense tower", [EVENT_OBJECT_RPHAZER] = "Run research program for phazer shooter", [EVENT_OBJECT_RSHIELD] = "Run research program for shielder", [EVENT_OBJECT_RATOMIC] = "Run research program for nuclear power", [EVENT_OBJECT_RiPAW] = "Run research program for legged bots", [EVENT_OBJECT_RiGUN] = "Run research program for orga shooter", [EVENT_OBJECT_RESET] = "Return to start", [EVENT_OBJECT_SEARCH] = "Sniff (\\key action;)", [EVENT_OBJECT_TERRAFORM] = "Thump (\\key action;)", [EVENT_OBJECT_FIRE] = "Shoot (\\key action;)", [EVENT_OBJECT_RECOVER] = "Recycle (\\key action;)", [EVENT_OBJECT_BEGSHIELD] = "Extend shield (\\key action;)", [EVENT_OBJECT_ENDSHIELD] = "Withdraw shield (\\key action;)", [EVENT_OBJECT_DIMSHIELD] = "Shield radius", [EVENT_OBJECT_PROGRUN] = "Execute the selected program", [EVENT_OBJECT_PROGEDIT] = "Edit the selected program", [EVENT_OBJECT_INFOOK] = "\\SatCom on standby", [EVENT_OBJECT_DELETE] = "Destroy the building", [EVENT_OBJECT_GENERGY] = "Energy level", [EVENT_OBJECT_GSHIELD] = "Shield level", [EVENT_OBJECT_GRANGE] = "Jet temperature", [EVENT_OBJECT_GPROGRESS] = "Still working ...", [EVENT_OBJECT_GRADAR] = "Number of insects detected", [EVENT_OBJECT_GINFO] = "Transmitted information", [EVENT_OBJECT_COMPASS] = "Compass", [EVENT_OBJECT_MAPZOOM] = "Zoom mini-map", [EVENT_OBJECT_CAMERA] = "Camera (\\key camera;)", [EVENT_OBJECT_CAMERAleft] = "Camera to left", [EVENT_OBJECT_CAMERAright] = "Camera to right", [EVENT_OBJECT_CAMERAnear] = "Camera nearest", [EVENT_OBJECT_CAMERAaway] = "Camera awayest", [EVENT_OBJECT_HELP] = "Help about selected object", [EVENT_OBJECT_SOLUCE] = "Show the solution", [EVENT_OBJECT_SHORTCUT00] = "Switch bots <-> buildings", [EVENT_OBJECT_LIMIT] = "Show the range", [EVENT_OBJECT_PEN0] = "\\Raise the pencil", [EVENT_OBJECT_PEN1] = "\\Use the black pencil", [EVENT_OBJECT_PEN2] = "\\Use the yellow pencil", [EVENT_OBJECT_PEN3] = "\\Use the orange pencil", [EVENT_OBJECT_PEN4] = "\\Use the red pencil", [EVENT_OBJECT_PEN5] = "\\Use the purple pencil", [EVENT_OBJECT_PEN6] = "\\Use the blue pencil", [EVENT_OBJECT_PEN7] = "\\Use the green pencil", [EVENT_OBJECT_PEN8] = "\\Use the brown pencil", [EVENT_OBJECT_REC] = "\\Start recording", [EVENT_OBJECT_STOP] = "\\Stop recording", [EVENT_DT_VISIT0] = "Show the place", [EVENT_DT_VISIT1] = "Show the place", [EVENT_DT_VISIT2] = "Show the place", [EVENT_DT_VISIT3] = "Show the place", [EVENT_DT_VISIT4] = "Show the place", [EVENT_DT_END] = "Continue", [EVENT_CMD] = "Command line", [EVENT_SPEED] = "Game speed", [EVENT_HYPER_PREV] = "Back", [EVENT_HYPER_NEXT] = "Forward", [EVENT_HYPER_HOME] = "Home", [EVENT_HYPER_COPY] = "Copy", [EVENT_HYPER_SIZE1] = "Size 1", [EVENT_HYPER_SIZE2] = "Size 2", [EVENT_HYPER_SIZE3] = "Size 3", [EVENT_HYPER_SIZE4] = "Size 4", [EVENT_HYPER_SIZE5] = "Size 5", [EVENT_SATCOM_HUSTON] = "Instructions from Houston", #if _TEEN [EVENT_SATCOM_SAT] = "Dictionnary", #else [EVENT_SATCOM_SAT] = "Satellite report", #endif [EVENT_SATCOM_LOADING] = "Programs dispatched by Houston", [EVENT_SATCOM_OBJECT] = "List of objects", [EVENT_SATCOM_PROG] = "Programming help", [EVENT_SATCOM_SOLUCE] = "Solution", [EVENT_STUDIO_OK] = "OK\\Close program editor and return to game", [EVENT_STUDIO_CANCEL] = "Cancel\\Cancel all changes", [EVENT_STUDIO_NEW] = "New", [EVENT_STUDIO_OPEN] = "Open (Ctrl+o)", [EVENT_STUDIO_SAVE] = "Save (Ctrl+s)", [EVENT_STUDIO_UNDO] = "Undo (Ctrl+z)", [EVENT_STUDIO_CUT] = "Cut (Ctrl+x)", [EVENT_STUDIO_COPY] = "Copy (Ctrl+c)", [EVENT_STUDIO_PASTE] = "Paste (Ctrl+v)", [EVENT_STUDIO_SIZE] = "Font size", [EVENT_STUDIO_TOOL] = "Instructions (\\key help;)", [EVENT_STUDIO_HELP] = "Programming help (\\key prog;)", [EVENT_STUDIO_COMPILE] = "Compile", [EVENT_STUDIO_RUN] = "Execute/stop", [EVENT_STUDIO_REALTIME] = "Pause/continue", [EVENT_STUDIO_STEP] = "One step" }; const char * const strings_object[] = { [OBJECT_PORTICO] = "Gantry crane", [OBJECT_BASE] = "Spaceship", [OBJECT_DERRICK] = "Derrick", [OBJECT_FACTORY] = "Bot factory", [OBJECT_REPAIR] = "Repair center", [OBJECT_DESTROYER] = "Destroyer", [OBJECT_STATION] = "Power station", [OBJECT_CONVERT] = "Converts ore to titanium", [OBJECT_TOWER] = "Defense tower", [OBJECT_NEST] = "Nest", [OBJECT_RESEARCH] = "Research center", [OBJECT_RADAR] = "Radar station", [OBJECT_INFO] = "Information exchange post", #if _TEEN [OBJECT_ENERGY] = "Disintegrator", #else [OBJECT_ENERGY] = "Power cell factory", #endif [OBJECT_LABO] = "Autolab", [OBJECT_NUCLEAR] = "Nuclear power station", [OBJECT_PARA] = "Lightning conductor", [OBJECT_SAFE] = "Vault", [OBJECT_HUSTON] = "Houston Mission Control", [OBJECT_TARGET1] = "Target", [OBJECT_TARGET2] = "Target", [OBJECT_START] = "Start", [OBJECT_END] = "Finish", [OBJECT_STONE] = "Titanium ore", [OBJECT_URANIUM] = "Uranium ore", [OBJECT_BULLET] = "Organic matter", [OBJECT_METAL] = "Titanium", [OBJECT_POWER] = "Power cell", [OBJECT_ATOMIC] = "Nuclear power cell", [OBJECT_BBOX] = "Black box", [OBJECT_KEYa] = "Key A", [OBJECT_KEYb] = "Key B", [OBJECT_KEYc] = "Key C", [OBJECT_KEYd] = "Key D", [OBJECT_TNT] = "Explosive", [OBJECT_BOMB] = "Fixed mine", [OBJECT_BAG] = "Survival kit", [OBJECT_WAYPOINT] = "Checkpoint", [OBJECT_FLAGb] = "Blue flag", [OBJECT_FLAGr] = "Red flag", [OBJECT_FLAGg] = "Green flag", [OBJECT_FLAGy] = "Yellow flag", [OBJECT_FLAGv] = "Violet flag", [OBJECT_MARKPOWER] = "Energy deposit (site for power station)", [OBJECT_MARKURANIUM] = "Uranium deposit (site for derrick)", [OBJECT_MARKKEYa] = "Found key A (site for derrick)", [OBJECT_MARKKEYb] = "Found key B (site for derrick)", [OBJECT_MARKKEYc] = "Found key C (site for derrick)", [OBJECT_MARKKEYd] = "Found key D (site for derrick)", [OBJECT_MARKSTONE] = "Titanium deposit (site for derrick)", [OBJECT_MOBILEft] = "Practice bot", [OBJECT_MOBILEtt] = "Practice bot", [OBJECT_MOBILEwt] = "Practice bot", [OBJECT_MOBILEit] = "Practice bot", [OBJECT_MOBILEfa] = "Winged grabber", [OBJECT_MOBILEta] = "Tracked grabber", [OBJECT_MOBILEwa] = "Wheeled grabber", [OBJECT_MOBILEia] = "Legged grabber", [OBJECT_MOBILEfc] = "Winged shooter", [OBJECT_MOBILEtc] = "Tracked shooter", [OBJECT_MOBILEwc] = "Wheeled shooter", [OBJECT_MOBILEic] = "Legged shooter", [OBJECT_MOBILEfi] = "Winged orga shooter", [OBJECT_MOBILEti] = "Tracked orga shooter", [OBJECT_MOBILEwi] = "Wheeled orga shooter", [OBJECT_MOBILEii] = "Legged orga shooter", [OBJECT_MOBILEfs] = "Winged sniffer", [OBJECT_MOBILEts] = "Tracked sniffer", [OBJECT_MOBILEws] = "Wheeled sniffer", [OBJECT_MOBILEis] = "Legged sniffer", [OBJECT_MOBILErt] = "Thumper", [OBJECT_MOBILErc] = "Phazer shooter", [OBJECT_MOBILErr] = "Recycler", [OBJECT_MOBILErs] = "Shielder", [OBJECT_MOBILEsa] = "Subber", [OBJECT_MOBILEtg] = "Target bot", [OBJECT_MOBILEdr] = "Drawer bot", [OBJECT_TECH] = "Engineer", [OBJECT_TOTO] = "Robbie", [OBJECT_MOTHER] = "Alien Queen", [OBJECT_ANT] = "Ant", [OBJECT_SPIDER] = "Spider", [OBJECT_BEE] = "Wasp", [OBJECT_WORM] = "Worm", [OBJECT_EGG] = "Egg", [OBJECT_RUINmobilew1] = "Wreckage", [OBJECT_RUINmobilew2] = "Wreckage", [OBJECT_RUINmobilet1] = "Wreckage", [OBJECT_RUINmobilet2] = "Wreckage", [OBJECT_RUINmobiler1] = "Wreckage", [OBJECT_RUINmobiler2] = "Wreckage", [OBJECT_RUINfactory] = "Ruin", [OBJECT_RUINdoor] = "Ruin", [OBJECT_RUINsupport] = "Waste", [OBJECT_RUINradar] = "Ruin", [OBJECT_RUINconvert] = "Ruin", [OBJECT_RUINbase] = "Spaceship ruin", [OBJECT_RUINhead] = "Spaceship ruin", [OBJECT_APOLLO1] = "Remains of Apollo mission", [OBJECT_APOLLO3] = "Remains of Apollo mission", [OBJECT_APOLLO4] = "Remains of Apollo mission", [OBJECT_APOLLO5] = "Remains of Apollo mission", [OBJECT_APOLLO2] = "Lunar Roving Vehicle" }; const char * const strings_err[] = { [ERR_CMD] = "Unknown command", #if _NEWLOOK [ERR_INSTALL] = "CeeBot not installed.", [ERR_NOCD] = "Please insert the CeeBot CD\nand re-run the game.", #else [ERR_INSTALL] = "COLOBOT not installed.", [ERR_NOCD] = "Please insert the COLOBOT CD\nand re-run the game.", #endif [ERR_MANIP_VEH] = "Inappropriate bot", [ERR_MANIP_FLY] = "Impossible when flying", [ERR_MANIP_BUSY] = "Already carrying something", [ERR_MANIP_NIL] = "Nothing to grab", [ERR_MANIP_MOTOR] = "Impossible when moving", [ERR_MANIP_OCC] = "Place occupied", [ERR_MANIP_FRIEND] = "No other robot", [ERR_MANIP_RADIO] = "You can not carry a radioactive object", [ERR_MANIP_WATER] = "You can not carry an object under water", [ERR_MANIP_EMPTY] = "Nothing to drop", [ERR_BUILD_FLY] = "Impossible when flying", [ERR_BUILD_WATER] = "Impossible under water", [ERR_BUILD_ENERGY] = "Not enough energy", [ERR_BUILD_METALAWAY] = "Titanium too far away", [ERR_BUILD_METALNEAR] = "Titanium too close", [ERR_BUILD_METALINEX] = "No titanium around", [ERR_BUILD_FLAT] = "Ground not flat enough", [ERR_BUILD_FLATLIT] = "Flat ground not large enough", [ERR_BUILD_BUSY] = "Place occupied", [ERR_BUILD_BASE] = "Too close to space ship", [ERR_BUILD_NARROW] = "Too close to a building", [ERR_BUILD_MOTOR] = "Impossible when moving", [ERR_SEARCH_FLY] = "Impossible when flying", [ERR_SEARCH_VEH] = "Inappropriate bot", [ERR_SEARCH_MOTOR] = "Impossible when moving", [ERR_TERRA_VEH] = "Inappropriate bot", [ERR_TERRA_ENERGY] = "Not enough energy", [ERR_TERRA_FLOOR] = "Ground inappropriate", [ERR_TERRA_BUILDING] = "Building too close", [ERR_TERRA_OBJECT] = "Object too close", [ERR_RECOVER_VEH] = "Inappropriate bot", [ERR_RECOVER_ENERGY] = "Not enough energy", [ERR_RECOVER_NULL] = "Nothing to recycle", [ERR_SHIELD_VEH] = "Inappropriate bot", [ERR_SHIELD_ENERGY] = "No more energy", [ERR_MOVE_IMPOSSIBLE] = "Error in instruction move", [ERR_FIND_IMPOSSIBLE] = "Object not found", [ERR_GOTO_IMPOSSIBLE] = "Goto: inaccessible destination", [ERR_GOTO_ITER] = "Goto: inaccessible destination", [ERR_GOTO_BUSY] = "Goto: destination occupied", [ERR_FIRE_VEH] = "Inappropriate bot", [ERR_FIRE_ENERGY] = "Not enough energy", [ERR_FIRE_FLY] = "Impossible when flying", [ERR_CONVERT_EMPTY] = "No titanium ore to convert", [ERR_DERRICK_NULL] = "No ore in the subsoil", [ERR_STATION_NULL] = "No energy in the subsoil", [ERR_TOWER_POWER] = "No power cell", [ERR_TOWER_ENERGY] = "No more energy", [ERR_RESEARCH_POWER] = "No power cell", [ERR_RESEARCH_ENERGY] = "Not enough energy", [ERR_RESEARCH_TYPE] = "Inappropriate cell type", [ERR_RESEARCH_ALREADY]= "Research program already performed", [ERR_ENERGY_NULL] = "No energy in the subsoil", [ERR_ENERGY_LOW] = "Not enough energy yet", [ERR_ENERGY_EMPTY] = "No titanium to transform", [ERR_ENERGY_BAD] = "Transforms only titanium", [ERR_BASE_DLOCK] = "Doors blocked by a robot or another object ", [ERR_BASE_DHUMAN] = "You must get on the spaceship to take off ", [ERR_LABO_NULL] = "Nothing to analyze", [ERR_LABO_BAD] = "Analyzes only organic matter", [ERR_LABO_ALREADY] = "Analysis already performed", [ERR_NUCLEAR_NULL] = "No energy in the subsoil", [ERR_NUCLEAR_LOW] = "Not yet enough energy", [ERR_NUCLEAR_EMPTY] = "No uranium to transform", [ERR_NUCLEAR_BAD] = "Transforms only uranium", [ERR_FACTORY_NULL] = "No titanium", [ERR_FACTORY_NEAR] = "Object too close", [ERR_RESET_NEAR] = "Place occupied", [ERR_INFO_NULL] = "No information exchange post within range", [ERR_VEH_VIRUS] = "Program infected by a virus", [ERR_BAT_VIRUS] = "Infected by a virus, temporarily out of order", [ERR_VEH_POWER] = "No power cell", [ERR_VEH_ENERGY] = "No more energy", [ERR_FLAG_FLY] = "Impossible when flying", [ERR_FLAG_WATER] = "Impossible when swimming", [ERR_FLAG_MOTOR] = "Impossible when moving", [ERR_FLAG_BUSY] = "Impossible when carrying an object", [ERR_FLAG_CREATE] = "Too many flags of this color (maximum 5)", [ERR_FLAG_PROXY] = "Too close to an existing flag", [ERR_FLAG_DELETE] = "No flag nearby", [ERR_MISSION_NOTERM] = "The mission is not accomplished yet (press \\key help; for more details)", [ERR_DELETEMOBILE] = "Bot destroyed", [ERR_DELETEBUILDING] = "Building destroyed", [ERR_TOOMANY] = "Can not create this, there are too many objects", [ERR_OBLIGATORYTOKEN] = "\"%s\" missing in this exercise", [ERR_PROHIBITEDTOKEN] = "Do not use in this exercise", [INFO_BUILD] = "Building completed", [INFO_CONVERT] = "Titanium available", [INFO_RESEARCH] = "Research program completed", [INFO_RESEARCHTANK] = "Plans for tracked robots available ", [INFO_RESEARCHFLY] = "You can fly with the keys (\\key gup;) and (\\key gdown;)", [INFO_RESEARCHTHUMP] = "Plans for thumper available", [INFO_RESEARCHCANON] = "Plans for shooter available", [INFO_RESEARCHTOWER] = "Plans for defense tower available", [INFO_RESEARCHPHAZER] = "Plans for phazer shooter available", [INFO_RESEARCHSHIELD] = "Plans for shielder available", [INFO_RESEARCHATOMIC] = "Plans for nuclear power plant available", [INFO_FACTORY] = "New bot available", [INFO_LABO] = "Analysis performed", [INFO_ENERGY] = "Power cell available", [INFO_NUCLEAR] = "Nuclear power cell available", [INFO_FINDING] = "You found a usable object", [INFO_MARKPOWER] = "Found a site for power station", [INFO_MARKURANIUM] = "Found a site for a derrick", [INFO_MARKSTONE] = "Found a site for a derrick", [INFO_MARKKEYa] = "Found a site for a derrick", [INFO_MARKKEYb] = "Found a site for a derrick", [INFO_MARKKEYc] = "Found a site for a derrick", [INFO_MARKKEYd] = "Found a site for a derrick", [INFO_WIN] = "<<< Well done, mission accomplished >>>", [INFO_LOST] = "<<< Sorry, mission failed >>>", [INFO_LOSTq] = "<<< Sorry, mission failed >>>", [INFO_WRITEOK] = "Current mission saved", [INFO_DELETEPATH] = "Checkpoint crossed", [INFO_DELETEMOTHER] = "Alien Queen killed", [INFO_DELETEANT] = "Ant fatally wounded", [INFO_DELETEBEE] = "Wasp fatally wounded", [INFO_DELETEWORM] = "Worm fatally wounded", [INFO_DELETESPIDER] = "Spider fatally wounded", [INFO_BEGINSATCOM] = "Press \\key help; to read instructions on your SatCom" }; const char * const strings_cbot[] = { [TX_OPENPAR] = "Opening bracket missing", [TX_CLOSEPAR] = "Closing bracket missing ", [TX_NOTBOOL] = "The expression must return a boolean value", [TX_UNDEFVAR] = "Variable not declared", [TX_BADLEFT] = "Assignment impossible", [TX_ENDOF] = "Semicolon terminator missing", [TX_OUTCASE] = "Instruction \"case\" outside a block \"switch\"", [TX_NOTERM] = "Instructions after the final closing brace", [TX_CLOSEBLK] = "End of block missing", [TX_ELSEWITHOUTIF] = "Instruction \"else\" without corresponding \"if\" ", [TX_OPENBLK] = "Opening brace missing ", [TX_BADTYPE] = "Wrong type for the assignment", [TX_REDEFVAR] = "A variable can not be declared twice", [TX_BAD2TYPE] = "The types of the two operands are incompatible ", [TX_UNDEFCALL] = "Unknown function", [TX_MISDOTS] = "Sign \" : \" missing", [TX_WHILE] = "Keyword \"while\" missing", [TX_BREAK] = "Instruction \"break\" outside a loop", [TX_LABEL] = "A label must be followed by \"for\", \"while\", \"do\" or \"switch\"", [TX_NOLABEL] = "This label does not exist", [TX_NOCASE] = "Instruction \"case\" missing", [TX_BADNUM] = "Number missing", [TX_VOID] = "Void parameter", [TX_NOTYP] = "Type declaration missing", [TX_NOVAR] = "Variable name missing", [TX_NOFONC] = "Function name missing", [TX_OVERPARAM] = "Too many parameters", [TX_REDEF] = "Function already exists", [TX_LOWPARAM] = "Parameters missing ", [TX_BADPARAM] = "No function with this name accepts this kind of parameter", [TX_NUMPARAM] = "No function with this name accepts this number of parameters", [TX_NOITEM] = "This is not a member of this class", [TX_DOT] = "This object is not a member of a class", [TX_NOCONST] = "Appropriate constructor missing", [TX_REDEFCLASS] = "This class already exists", [TX_CLBRK] = "\" ] \" missing", [TX_RESERVED] = "Reserved keyword of CBOT language", [TX_BADNEW] = "Bad argument for \"new\"", [TX_OPBRK] = "\" [ \" expected", [TX_BADSTRING] = "String missing", [TX_BADINDEX] = "Incorrect index type", [TX_PRIVATE] = "Private element", [TX_NOPUBLIC] = "Public required", [TX_DIVZERO] = "Dividing by zero", [TX_NOTINIT] = "Variable not initialized", [TX_BADTHROW] = "Negative value rejected by \"throw\"", [TX_NORETVAL] = "The function returned no value ", [TX_NORUN] = "No function running", [TX_NOCALL] = "Calling an unknown function", [TX_NOCLASS] = "This class does not exist", [TX_NULLPT] = "Unknown Object", [TX_OPNAN] = "Operation impossible with value \"nan\"", [TX_OUTARRAY] = "Access beyond array limit", [TX_STACKOVER] = "Stack overflow", [TX_DELETEDPT] = "Illegal object", [TX_FILEOPEN] = "Can't open file", [TX_NOTOPEN] = "File not open", [TX_ERRREAD] = "Read error", [TX_ERRWRITE] = "Write error" }; #define N_ELTS(Array) (sizeof(Array) / sizeof(Array[0])) const int strings_text_len = N_ELTS(strings_text); const int strings_event_len = N_ELTS(strings_event); const int strings_object_len = N_ELTS(strings_object); const int strings_err_len = N_ELTS(strings_err); const int strings_cbot_len = N_ELTS(strings_cbot);