index ea8c56292ad54cb666a9c6243520893fc95b95ec..7d4f2d83c869aca819ce76a250843520163f549d 100644 (file)
Interface
-Uses
- g_Basic, MAPDEF;
-
-Type
- TStrings_Locale = (
- I_NOT_ACCESSIBLE,
-
- I_ARRAY_BOOL_FALSE,
- I_ARRAY_BOOL_TRUE,
-
- I_ARRAY_DIR_LEFT,
- I_ARRAY_DIR_RIGHT,
- I_ARRAY_DIR_SAME,
- I_ARRAY_DIR_REVERSED,
-
- I_ARRAY_DIRBTN_LEFT,
- I_ARRAY_DIRBTN_RIGHT,
- I_ARRAY_DIRBTN_UP,
- I_ARRAY_DIRBTN_DOWN,
-
- I_ARRAY_PANEL_WALL,
- I_ARRAY_PANEL_BACK,
- I_ARRAY_PANEL_FRONT,
- I_ARRAY_PANEL_DOOR_OPEN,
- I_ARRAY_PANEL_DOOR_CLOSE,
- I_ARRAY_PANEL_STAIR,
- I_ARRAY_PANEL_WATER,
- I_ARRAY_PANEL_ACID_1,
- I_ARRAY_PANEL_ACID_2,
- I_ARRAY_PANEL_LIFT_UP,
- I_ARRAY_PANEL_LIFT_DOWN,
- I_ARRAY_PANEL_LIFT_LEFT,
- I_ARRAY_PANEL_LIFT_RIGHT,
- I_ARRAY_PANEL_BLOCKMON,
-
- I_ARRAY_FX_NONE,
- I_ARRAY_FX_TELEPORT,
- I_ARRAY_FX_RESPAWN,
- I_ARRAY_FX_FIRE,
-
- I_ARRAY_ITEM_MEDKIT,
- I_ARRAY_ITEM_LARGE_MEDKIT,
- I_ARRAY_ITEM_BLACK_MEDKIT,
- I_ARRAY_ITEM_GREEN_ARMOR,
- I_ARRAY_ITEM_BLUE_ARMOR,
- I_ARRAY_ITEM_BLUE_SPHERE,
- I_ARRAY_ITEM_MEGASPHERE,
- I_ARRAY_ITEM_HAZ_SUIT,
- I_ARRAY_ITEM_OXYGEN,
- I_ARRAY_ITEM_INVULNERABILITY,
- I_ARRAY_ITEM_CHAINSAW,
- I_ARRAY_ITEM_SHOTGUN,
- I_ARRAY_ITEM_DB_SHOTGUN,
- I_ARRAY_ITEM_CHAINGUN,
- I_ARRAY_ITEM_ROCKET_LAUNCHER,
- I_ARRAY_ITEM_PLASMA_RIFLE,
- I_ARRAY_ITEM_BFG,
- I_ARRAY_ITEM_SUPER_MINIGUN,
- I_ARRAY_ITEM_FLAMETHROWER,
- I_ARRAY_ITEM_CLIP,
- I_ARRAY_ITEM_AMMO_BOX,
- I_ARRAY_ITEM_4_SHELLS,
- I_ARRAY_ITEM_25_SHELLS,
- I_ARRAY_ITEM_1_ROCKET,
- I_ARRAY_ITEM_ROCKET_BOX,
- I_ARRAY_ITEM_CELL,
- I_ARRAY_ITEM_LARGE_CELL,
- I_ARRAY_ITEM_FUELCAN,
- I_ARRAY_ITEM_BACKPACK,
- I_ARRAY_ITEM_KEY_RED,
- I_ARRAY_ITEM_KEY_GREEN,
- I_ARRAY_ITEM_KEY_BLUE,
- I_ARRAY_ITEM_BOTTLE,
- I_ARRAY_ITEM_HELMET,
- I_ARRAY_ITEM_JETPACK,
- I_ARRAY_ITEM_INVIS,
-
- I_ARRAY_SHOT_PISTOL,
- I_ARRAY_SHOT_BULLET,
- I_ARRAY_SHOT_SHOTGUN,
- I_ARRAY_SHOT_SSG,
- I_ARRAY_SHOT_IMP,
- I_ARRAY_SHOT_PLASMA,
- I_ARRAY_SHOT_SPIDER,
- I_ARRAY_SHOT_CACO,
- I_ARRAY_SHOT_BARON,
- I_ARRAY_SHOT_MANCUB,
- I_ARRAY_SHOT_REV,
- I_ARRAY_SHOT_ROCKET,
- I_ARRAY_SHOT_BFG,
- I_ARRAY_SHOT_EXPL,
- I_ARRAY_SHOT_BFGEXPL,
- I_ARRAY_SHOT_FLAME,
-
- I_ARRAY_MON_DEMON,
- I_ARRAY_MON_IMP,
- I_ARRAY_MON_ZOMBIE,
- I_ARRAY_MON_SERGEANT,
- I_ARRAY_MON_CYBER,
- I_ARRAY_MON_CGUN,
- I_ARRAY_MON_HELL_BARON,
- I_ARRAY_MON_HELL_KNIGHT,
- I_ARRAY_MON_CACODEMON,
- I_ARRAY_MON_LOST_SOUL,
- I_ARRAY_MON_PAIN_ELEMENTAL,
- I_ARRAY_MON_MASTERMIND,
- I_ARRAY_MON_ARACHNATRON,
- I_ARRAY_MON_MANCUBUS,
- I_ARRAY_MON_REVENANT,
- I_ARRAY_MON_ARCHVILE,
- I_ARRAY_MON_FISH,
- I_ARRAY_MON_BARREL,
- I_ARRAY_MON_ROBOT,
- I_ARRAY_MON_PRIKOLIST,
-
- I_ARRAY_AREA_PLAYER_ONE,
- I_ARRAY_AREA_PLAYER_TWO,
- I_ARRAY_AREA_DM,
- I_ARRAY_AREA_FLAG_RED,
- I_ARRAY_AREA_FLAG_BLUE,
- I_ARRAY_AREA_FLAG_DOM,
- I_ARRAY_AREA_TEAM_RED,
- I_ARRAY_AREA_TEAM_BLUE,
-
- I_ARRAY_TR_EXIT,
- I_ARRAY_TR_TELEPORT,
- I_ARRAY_TR_DOOR_OPEN,
- I_ARRAY_TR_DOOR_CLOSE,
- I_ARRAY_TR_DOOR_SWITCH,
- I_ARRAY_TR_DOOR_5_SEC,
- I_ARRAY_TR_TRAP_CLOSE,
- I_ARRAY_TR_TRAP,
- I_ARRAY_TR_EXTEND,
- I_ARRAY_TR_SECRET,
- I_ARRAY_TR_LIFT_UP,
- I_ARRAY_TR_LIFT_DOWN,
- I_ARRAY_TR_LIFT_SWITCH,
- I_ARRAY_TR_TEXTURE,
- I_ARRAY_TR_ON,
- I_ARRAY_TR_OFF,
- I_ARRAY_TR_SWITCH,
- I_ARRAY_TR_SOUND,
- I_ARRAY_TR_SPAWN_MONSTER,
- I_ARRAY_TR_SPAWN_ITEM,
- I_ARRAY_TR_MUSIC,
- I_ARRAY_TR_PUSH,
- I_ARRAY_TR_SCORE,
- I_ARRAY_TR_MESSAGE,
- I_ARRAY_TR_DAMAGE,
- I_ARRAY_TR_HEALTH,
- I_ARRAY_TR_SHOT,
- I_ARRAY_TR_EFFECT,
-
- I_PROP_ID,
- I_PROP_X,
- I_PROP_Y,
- I_PROP_WIDTH,
- I_PROP_HEIGHT,
- I_PROP_PANEL_TYPE,
- I_PROP_PANEL_TEX,
- I_PROP_PANEL_ALPHA,
- I_PROP_PANEL_BLEND,
- I_PROP_DM_ONLY,
- I_PROP_ITEM_FALLS,
- I_PROP_DIRECTION,
-
- I_PROP_TR_TYPE,
- I_PROP_TR_ENABLED,
- I_PROP_TR_TEXTURE_PANEL,
- I_PROP_TR_ACTIVATION,
- I_PROP_TR_KEYS,
- I_PROP_TR_D2D,
- I_PROP_TR_SILENT,
- I_PROP_TR_COUNT,
- I_PROP_TR_INTERVAL,
- I_PROP_TR_HEALTH,
- I_PROP_TR_NEXT_MAP,
- I_PROP_TR_TELEPORT_TO,
- I_PROP_TR_TELEPORT_SILENT,
- I_PROP_TR_TELEPORT_DIR,
- I_PROP_TR_DOOR_PANEL,
- I_PROP_TR_TRAP_PANEL,
- I_PROP_TR_EX_AREA,
- I_PROP_TR_EX_DELAY,
- I_PROP_TR_EX_COUNT,
- I_PROP_TR_EX_MONSTER,
- I_PROP_TR_EX_RANDOM,
- I_PROP_TR_LIFT_PANEL,
- I_PROP_TR_TEXTURE_ONCE,
- I_PROP_TR_TEXTURE_ANIM_ONCE,
- I_PROP_TR_SOUND_NAME,
- I_PROP_TR_SOUND_VOLUME,
- I_PROP_TR_SOUND_PAN,
- I_PROP_TR_SOUND_COUNT,
- I_PROP_TR_SOUND_LOCAL,
- I_PROP_TR_SOUND_SWITCH,
- I_PROP_TR_FX_TYPE,
- I_PROP_TR_SPAWN_TO,
- I_PROP_TR_SPAWN_MAX,
- I_PROP_TR_SPAWN_DELAY,
- I_PROP_TR_MONSTER_TYPE,
- I_PROP_TR_MONSTER_ACTIVE,
- I_PROP_TR_MONSTER_BEHAVIOUR,
- I_PROP_TR_MONSTER_BEHAVIOUR_0,
- I_PROP_TR_MONSTER_BEHAVIOUR_1,
- I_PROP_TR_MONSTER_BEHAVIOUR_2,
- I_PROP_TR_MONSTER_BEHAVIOUR_3,
- I_PROP_TR_MONSTER_BEHAVIOUR_4,
- I_PROP_TR_MONSTER_BEHAVIOUR_5,
- I_PROP_TR_ITEM_TYPE,
- I_PROP_TR_MUSIC_NAME,
- I_PROP_TR_MUSIC_ACT,
- I_PROP_TR_MUSIC_ON,
- I_PROP_TR_MUSIC_OFF,
- I_PROP_TR_PUSH_ANGLE,
- I_PROP_TR_PUSH_FORCE,
- I_PROP_TR_PUSH_RESET,
- I_PROP_TR_SCORE_ACT,
- I_PROP_TR_SCORE_ACT_0,
- I_PROP_TR_SCORE_ACT_1,
- I_PROP_TR_SCORE_ACT_2,
- I_PROP_TR_SCORE_ACT_3,
- I_PROP_TR_SCORE_TEAM,
- I_PROP_TR_SCORE_TEAM_0,
- I_PROP_TR_SCORE_TEAM_1,
- I_PROP_TR_SCORE_TEAM_2,
- I_PROP_TR_SCORE_TEAM_3,
- I_PROP_TR_SCORE_CON,
- I_PROP_TR_SCORE_MSG,
- I_PROP_TR_DAMAGE_VALUE,
- I_PROP_TR_HEALTH_MAX,
- I_PROP_TR_SHOT_TYPE,
- I_PROP_TR_SHOT_SOUND,
- I_PROP_TR_SHOT_ANGLE,
- I_PROP_TR_SHOT_ACC,
- I_PROP_TR_SHOT_TO,
- I_PROP_TR_SHOT_TO_0,
- I_PROP_TR_SHOT_TO_1,
- I_PROP_TR_SHOT_TO_2,
- I_PROP_TR_SHOT_TO_3,
- I_PROP_TR_SHOT_TO_4,
- I_PROP_TR_SHOT_TO_5,
- I_PROP_TR_SHOT_TO_6,
- I_PROP_TR_SHOT_AIM,
- I_PROP_TR_SHOT_AIM_0,
- I_PROP_TR_SHOT_AIM_1,
- I_PROP_TR_SHOT_AIM_2,
- I_PROP_TR_SHOT_AIM_3,
- I_PROP_TR_SHOT_AMMO,
- I_PROP_TR_SHOT_RELOAD,
- I_PROP_TR_SHOT_SIGHT,
- I_PROP_TR_SHOT_PANEL,
- I_PROP_TR_MESSAGE_KIND,
- I_PROP_TR_MESSAGE_KIND_0,
- I_PROP_TR_MESSAGE_KIND_1,
- I_PROP_TR_MESSAGE_TO,
- I_PROP_TR_MESSAGE_TO_0,
- I_PROP_TR_MESSAGE_TO_1,
- I_PROP_TR_MESSAGE_TO_2,
- I_PROP_TR_MESSAGE_TO_3,
- I_PROP_TR_MESSAGE_TO_4,
- I_PROP_TR_MESSAGE_TO_5,
- I_PROP_TR_MESSAGE_TEXT,
- I_PROP_TR_MESSAGE_TIME,
- I_PROP_TR_EFFECT_TYPE,
- I_PROP_TR_EFFECT_SUBTYPE,
- I_PROP_TR_EFFECT_COLOR,
- I_PROP_TR_EFFECT_CENTER,
- I_PROP_TR_EFFECT_VELX,
- I_PROP_TR_EFFECT_VELY,
- I_PROP_TR_EFFECT_SPL,
- I_PROP_TR_EFFECT_SPR,
- I_PROP_TR_EFFECT_SPU,
- I_PROP_TR_EFFECT_SPD,
- I_PROP_TR_EFFECT_PARTICLE,
- I_PROP_TR_EFFECT_ANIMATION,
- I_PROP_TR_EFFECT_SLIQUID,
- I_PROP_TR_EFFECT_LLIQUID,
- I_PROP_TR_EFFECT_DLIQUID,
- I_PROP_TR_EFFECT_BLOOD,
- I_PROP_TR_EFFECT_SPARK,
- I_PROP_TR_EFFECT_BUBBLE,
-
- I_MSG_ERROR,
- I_MSG_WRONG_TEXWIDTH,
- I_MSG_WRONG_TEXHEIGHT,
- I_MSG_WRONG_ALPHA,
- I_MSG_WRONG_SIZE,
- I_MSG_WRONG_XY,
- I_MSG_TEXTURE_ALREADY,
- I_MSG_RES_NAME_64,
- I_MSG_CHOOSE_ITEM,
- I_MSG_CHOOSE_MONSTER,
- I_MSG_CHOOSE_AREA,
- I_MSG_CHOOSE_TEXTURE,
- I_MSG_CHOOSE_RES,
- I_MSG_EXIT,
- I_MSG_EXIT_PROMT,
- I_MSG_DEL_TEXTURE,
- I_MSG_DEL_TEXTURE_PROMT,
- I_MSG_DEL_TEXTURE_CANT,
- I_MSG_DEL_RECENT,
- I_MSG_DEL_RECENT_PROMT,
- I_MSG_CLEAR_MAP,
- I_MSG_CLEAR_MAP_PROMT,
- I_MSG_DELETE_MAP,
- I_MSG_DELETE_MAP_PROMT,
- I_MSG_MAP_DELETED,
- I_MSG_MAP_DELETED_PROMT,
- I_MSG_REOPEN_MAP_PROMT,
- I_MSG_EXEC_ERROR,
- I_MSG_SOUND_ERROR,
- I_MSG_WAD_ERROR,
- I_MSG_RES_ERROR,
- I_MSG_PACKED,
- I_MSG_MAP_EXISTS,
- I_MSG_SAVE_MAP,
-
- I_HINT_TELEPORT,
- I_HINT_SPAWN,
- I_HINT_PANEL_DOOR,
- I_HINT_PANEL_TEXTURE,
- I_HINT_PANEL_SHOT,
- I_HINT_PANEL_LIFT,
- I_HINT_MONSTER,
- I_HINT_EXT_AREA,
- I_HINT_WIDTH,
- I_HINT_HEIGHT,
-
- I_MENU_FILE,
- I_MENU_FILE_NEW,
- I_MENU_FILE_OPEN,
- I_MENU_FILE_SAVE,
- I_MENU_FILE_SAVE_AS,
- I_MENU_FILE_OPEN_WAD,
- I_MENU_FILE_REOPEN,
- I_MENU_FILE_SAVE_MINI,
- I_MENU_FILE_DELETE,
- I_MENU_FILE_PACK_MAP,
- I_MENU_FILE_EXIT,
-
- I_MENU_EDIT,
- I_MENU_EDIT_UNDO,
- I_MENU_EDIT_COPY,
- I_MENU_EDIT_CUT,
- I_MENU_EDIT_PASTE,
- I_MENU_EDIT_SELECT_ALL,
- I_MENU_EDIT_TO_FORE,
- I_MENU_EDIT_TO_BACK,
-
- I_MENU_TOOLS,
- I_MENU_TOOLS_SNAP_GRID,
- I_MENU_TOOLS_MINIMAP,
- I_MENU_TOOLS_STEP_GRID,
- I_MENU_TOOLS_SHOW_EDGES,
- I_MENU_TOOLS_LAYERS,
-
- I_MENU_SERV,
- I_MENU_SERV_TEST,
- I_MENU_SERV_OPT,
- I_MENU_SERV_PREVIEW,
- I_MENU_SERV_LAUNCH,
-
- I_MENU_SETS,
- I_MENU_SETS_MAP,
- I_MENU_SETS_EDITOR,
- I_MENU_SETS_LAUNCH,
-
- I_MENU_HELP,
- I_MENU_HELP_ABOUT,
-
- I_MENU_LAYER_BACK,
- I_MENU_LAYER_WALL,
- I_MENU_LAYER_FORE,
- I_MENU_LAYER_STAIR,
- I_MENU_LAYER_WATER,
- I_MENU_LAYER_ITEM,
- I_MENU_LAYER_MONSTER,
- I_MENU_LAYER_AREA,
- I_MENU_LAYER_TRIGGER,
-
- I_MENU_TB_NEW,
- I_MENU_TB_OPEN,
- I_MENU_TB_SAVE,
- I_MENU_TB_OPEN_WAD,
- I_MENU_TB_MINIMAP,
- I_MENU_TB_LAYERS,
- I_MENU_TB_GRID,
- I_MENU_TB_GRID_STEP,
- I_MENU_TB_LAUNCH,
-
- I_MENU_LAUNCH_SETS,
-
- I_CAP_FX_TYPE,
- I_CAP_MONSTER_TYPE,
- I_CAP_ITEM_TYPE,
- I_CAP_ABOUT,
- I_CAP_ACT,
- I_CAP_ADD_SKY,
- I_CAP_ADD_SOUND,
- I_CAP_ADD_TEXTURE,
- I_CAP_KEYS,
- I_CAP_TEST,
- I_CAP_OPT,
- I_CAP_SETS,
- I_CAP_LAUNCH,
- I_CAP_ES,
- I_CAP_PACK,
- I_CAP_SAVE,
- I_CAP_MINI,
- I_CAP_SELECT,
- I_CAP_OPEN,
- I_CAP_REMOVE,
- I_CAP_TEXTURE,
- I_CAP_ANIMATION,
- I_CAP_STAT_SELECTED,
-
- I_CTRL_PROP_KEY,
- I_CTRL_PROP_VALUE,
- I_CTRL_PANELS,
- I_CTRL_ITEMS,
- I_CTRL_MONSTERS,
- I_CTRL_AREAS,
- I_CTRL_TRIGGERS,
-
- I_CTRL_LIST_TEXTURE,
- I_CTRL_LIST_ITEM,
- I_CTRL_LIST_MONSTER,
- I_CTRL_LIST_AREA,
- I_CTRL_LIST_TRIGGER,
- I_CTRL_LIST_ACTIVE,
- I_CTRL_LIST_KEYS,
-
- I_CTRL_PREVIEW,
- I_CTRL_ITEM_DM,
- I_CTRL_ITEM_FALLS,
- I_CTRL_LEFT,
- I_CTRL_RIGHT,
-
- I_CTRL_ACT_PLAYER_CLOSE,
- I_CTRL_ACT_MONSTER_CLOSE,
- I_CTRL_ACT_PLAYER_PRESS,
- I_CTRL_ACT_MONSTER_PRESS,
- I_CTRL_ACT_SHOT,
- I_CTRL_ACT_NO_MONSTER,
-
- I_CTRL_KEYS_RED,
- I_CTRL_KEYS_GREEN,
- I_CTRL_KEYS_BLUE,
- I_CTRL_KEYS_TEAM_RED,
- I_CTRL_KEYS_TEAM_BLUE,
-
- I_CTRL_OPT_GB,
- I_CTRL_OPT_TEXTURE,
- I_CTRL_OPT_PANEL,
- I_CTRL_OPT_WALL,
- I_CTRL_OPT_FORE,
- I_CTRL_OPT_BACK,
- I_CTRL_OPT_STAIR,
- I_CTRL_OPT_WATER,
- I_CTRL_OPT_ACID1,
- I_CTRL_OPT_ACID2,
- I_CTRL_OPT_LIFT,
- I_CTRL_OPT_BLOCKMON,
- I_CTRL_OPT_DESC_TEXTURE,
- I_CTRL_OPT_DESC_PANEL,
-
- I_CTRL_SETS_STATS,
- I_CTRL_SETS_SIZES,
-
- I_CTRL_LAUNCH_DM,
- I_CTRL_LAUNCH_TDM,
- I_CTRL_LAUNCH_CTF,
- I_CTRL_LAUNCH_COOP,
- I_CTRL_LAUNCH_2P,
- I_CTRL_LAUNCH_FF,
- I_CTRL_LAUNCH_EXIT,
- I_CTRL_LAUNCH_WEAPONS,
- I_CTRL_LAUNCH_MONSTERS,
- I_CTRL_LAUNCH_CLOSE,
- I_CTRL_LAUNCH_OPEN,
-
- I_CTRL_ES_GRID,
- I_CTRL_ES_TEXTURE,
- I_CTRL_ES_PANEL_SIZE,
- I_CTRL_ES_CHECKERBOARD,
-
- I_CTRL_PACK_TEXTURES,
- I_CTRL_PACK_SKY,
- I_CTRL_PACK_MUSIC,
- I_CTRL_PACK_ADD,
- I_CTRL_PACK_NON_STD,
-
- I_LAB_TEX_WIDTH,
- I_LAB_TEX_HEIGHT,
-
- I_LAB_SPECTRUM,
-
- I_LAB_ABOUT_VER,
- I_LAB_ABOUT_AUTHOR,
- I_LAB_ABOUT_AUTHOR_2,
- I_LAB_ABOUT_MAIL,
- I_LAB_ABOUT_MAIL_2,
- I_LAB_ABOUT_SITE,
- I_LAB_ABOUT_HTTP,
-
- I_LAB_ADD_WADS,
- I_LAB_ADD_SECTIONS,
-
- I_LAB_SETS_NAME,
- I_LAB_SETS_DESC,
- I_LAB_SETS_AUTHOR,
- I_LAB_SETS_BACK,
- I_LAB_SETS_MUSIC,
- I_LAB_SETS_TEXTURES,
- I_LAB_SETS_PANELS,
- I_LAB_SETS_ITEMS,
- I_LAB_SETS_MONSTERS,
- I_LAB_SETS_AREAS,
- I_LAB_SETS_TRIGGERS,
- I_LAB_SETS_SIZES,
- I_LAB_SETS_WIDTH,
- I_LAB_SETS_HEIGHT,
- I_LAB_SETS_MAPMOVE,
- I_LAB_SETS_SNAPPING,
-
- I_LAB_LAUNCH_TIME,
- I_LAB_LAUNCH_SECS,
- I_LAB_LAUNCH_SCORE,
- I_LAB_LAUNCH_PATH,
- I_LAB_LAUNCH_ARGS,
-
- I_LAB_ES_GRID,
- I_LAB_ES_GRID_COLOR,
- I_LAB_ES_GRID_SIZE,
- I_LAB_ES_BACK,
- I_LAB_ES_PREVIEW,
- I_LAB_ES_MINIMAP,
- I_LAB_ES_RECENT,
- I_LAB_ES_LANGUAGE,
- I_LAB_ES_COMPRESS,
- I_LAB_ES_BACKUP,
-
- I_LAB_PACK_SAVE_TO,
- I_LAB_PACK_MAP_NAME,
- I_LAB_PACK_TEXTURES,
- I_LAB_PACK_SKY,
- I_LAB_PACK_MUSIC,
-
- I_LAB_MINI_SCALE,
-
- I_BTN_APPLY_PROPS,
- I_BTN_OK,
- I_BTN_CANCEL,
- I_BTN_ADD,
- I_BTN_CLOSE,
- I_BTN_ADD_CLOSE,
- I_BTN_TEST_AGAIN,
- I_BTN_START,
- I_BTN_PACK,
- I_BTN_SAVE,
- I_BTN_NO_SOUND,
- I_BTN_TEXTURE_ADD,
- I_BTN_TEXTURE_DELETE,
- I_BTN_TEXTURE_EMPTY,
-
- I_LOAD_WAD,
- I_LOAD_MAP,
- I_LOAD_TEXTURES,
- I_LOAD_PANELS,
- I_LOAD_ITEMS,
- I_LOAD_MONSTERS,
- I_LOAD_AREAS,
- I_LOAD_TRIGGERS,
-
- I_TEST_AREA_WALL,
- I_TEST_AREA_WALL_STR,
- I_TEST_SPAWNS_1,
- I_TEST_SPAWNS_2,
- I_TEST_SPAWNS,
- I_TEST_NO_DM,
- I_TEST_NO_DM_EX,
- I_TEST_MONSTER_WALL,
- I_TEST_MONSTER_WALL_STR,
-
- I_OPT_NO_TEXTURES,
- I_OPT_DELETED_TEXTURES,
- I_OPT_TOTAL_TEXTURES,
- I_OPT_TEX_DELETED,
- I_OPT_PANELS_OPT,
- I_OPT_WALLS,
- I_OPT_FORES,
- I_OPT_BACKS,
- I_OPT_STAIRS,
- I_OPT_WATER,
- I_OPT_ACID1,
- I_OPT_ACID2,
- I_OPT_LIFTS,
- I_OPT_BLOCKMON,
- I_OPT_TOTAL_PANELS,
- I_OPT_PANELS_AFTER,
-
- I_WAD_SPECIAL_MAP,
- I_WAD_SPECIAL_TEXS,
-
- I_FILE_FILTER_ALL,
- I_FILE_FILTER_WAD,
-
- I_EDITOR_TITLE,
-
- I_LAST );
-
-Const
- LANGUAGE_RUSSIAN = 'Russian';
- LANGUAGE_ENGLISH = 'English';
- LANGUAGE_RUSSIAN_N = 3;
- LANGUAGE_ENGLISH_N = 2;
+ uses g_Basic, MAPDEF, Classes;
+
+ resourcestring
+ MsgNotAccessible = 'N/A';
+
+ MsgArrayBoolFalse = 'No';
+ MsgArrayBoolTrue = 'Yes';
+
+ MsgArrayDirLeft = 'Left';
+ MsgArrayDirRight = 'Right';
+ MsgArrayDirSame = 'Don''t change';
+ MsgArrayDirReversed = 'Reversed';
+
+ MsgArrayDirbtnLeft = 'Left';
+ MsgArrayDirbtnRight = 'Right';
+ MsgArrayDirbtnUp = 'Up';
+ MsgArrayDirbtnDown = 'Down';
+
+ MsgArrayPanelWall = 'Wall';
+ MsgArrayPanelBack = 'Background';
+ MsgArrayPanelFront = 'Foreground';
+ MsgArrayPanelDoorOpen = 'Open Door';
+ MsgArrayPanelDoorClose = 'Closed Door';
+ MsgArrayPanelStair = 'Step';
+ MsgArrayPanelWater = 'Water';
+ MsgArrayPanelAcid1 = 'Acid 1';
+ MsgArrayPanelAcid2 = 'Acid 2';
+ MsgArrayPanelLiftUp = 'Stream Up';
+ MsgArrayPanelLiftDown = 'Stream Down';
+ MsgArrayPanelLiftLeft = 'Stream Left';
+ MsgArrayPanelLiftRight = 'Stream Right';
+ MsgArrayPanelBlockmon = 'Monster Boundary';
+
+ MsgArrayFxNone = 'None';
+ MsgArrayFxTeleport = 'Teleport';
+ MsgArrayFxRespawn = 'Respawn';
+ MsgArrayFxFire = 'Arch-Vile Fire';
+
+ MsgArrayItemMedkit = 'Stimpack';
+ MsgArrayItemLargeMedkit = 'Medikit';
+ MsgArrayItemBlackMedkit = 'Berserk Pack';
+ MsgArrayItemGreenArmor = 'Green Armor';
+ MsgArrayItemBlueArmor = 'Blue Armor';
+ MsgArrayItemBlueSphere = 'Soulsphere';
+ MsgArrayItemMegasphere = 'Megasphere';
+ MsgArrayItemHazSuit = 'Envirosuit';
+ MsgArrayItemOxygen = 'Scuba';
+ MsgArrayItemInvulnerability = 'Invulnerability';
+ MsgArrayItemChainsaw = 'Chainsaw';
+ MsgArrayItemShotgun = 'Shotgun';
+ MsgArrayItemDbShotgun = 'Super Shotgun';
+ MsgArrayItemChaingun = 'Chaingun';
+ MsgArrayItemRocketLauncher = 'Rocket Launcher';
+ MsgArrayItemPlasmaRifle = 'Plasma Rifle';
+ MsgArrayItemBfg = 'BFG9000';
+ MsgArrayItemSuperChaingun = 'Super Chaingun';
+ MsgArrayItemFlamethrower = 'Flamethrower';
+ MsgArrayItemClip = 'Clip';
+ MsgArrayItemAmmoBox = 'Box of Bullets';
+ MsgArrayItem4Shells = '4 Shells';
+ MsgArrayItem25Shells = 'Box of Shells';
+ MsgArrayItem1Rocket = 'Rocket';
+ MsgArrayItemRocketBox = 'Box of Rockets';
+ MsgArrayItemCell = 'Energy Cell';
+ MsgArrayItemLargeCell = 'Energy Cell Pack';
+ MsgArrayItemFuelcan = 'Fuel Canister';
+ MsgArrayItemBackpack = 'Backpack';
+ MsgArrayItemKeyRed = 'Red Key';
+ MsgArrayItemKeyGreen = 'Green Key';
+ MsgArrayItemKeyBlue = 'Blue Key';
+ MsgArrayItemBottle = 'Health Globe';
+ MsgArrayItemHelmet = 'Armor Shard';
+ MsgArrayItemJetpack = 'Jetpack';
+ MsgArrayItemInvis = 'Invisibility';
+
+ MsgArrayShotPistol = 'Pistol shot';
+ MsgArrayShotBullet = 'Chaingun shot';
+ MsgArrayShotShotgun = 'Shotgun shot';
+ MsgArrayShotSsg = 'Super Shotgun shot';
+ MsgArrayShotImp = 'Imp fireball';
+ MsgArrayShotPlasma = 'Blue plasma';
+ MsgArrayShotSpider = 'Arachnotron plasma';
+ MsgArrayShotCaco = 'Cacodemon fireball';
+ MsgArrayShotBaron = 'Hell Baron projectile';
+ MsgArrayShotMancub = 'Mancubus gunshot';
+ MsgArrayShotRev = 'Revenant projectile';
+ MsgArrayShotRocket = 'Rocket';
+ MsgArrayShotBfg = 'BFG ball';
+ MsgArrayShotExpl = 'Explosion';
+ MsgArrayShotBfgexpl = 'BFG explosion';
+ MsgArrayShotFlame = 'Flame';
+
+ MsgArrayMonDemon = 'Pinky';
+ MsgArrayMonImp = 'Imp';
+ MsgArrayMonZombie = 'Zombie';
+ MsgArrayMonSergeant = 'Sergeant';
+ MsgArrayMonCyber = 'Cyberdemon';
+ MsgArrayMonCgun = 'Commando';
+ MsgArrayMonHellBaron = 'Hell Baron';
+ MsgArrayMonHellKnight = 'Hell Knight';
+ MsgArrayMonCacodemon = 'Cacodemon';
+ MsgArrayMonLostSoul = 'Lost Soul';
+ MsgArrayMonPainElemental = 'Pain Elemental';
+ MsgArrayMonMastermind = 'Spider Mastermind';
+ MsgArrayMonArachnatron = 'Arachnotron';
+ MsgArrayMonMancubus = 'Mancubus';
+ MsgArrayMonRevenant = 'Revenant';
+ MsgArrayMonArchvile = 'Arch-Vile';
+ MsgArrayMonFish = 'Piranha';
+ MsgArrayMonBarrel = 'Barrel';
+ MsgArrayMonRobot = 'Robot';
+ MsgArrayMonPrikolist = 'Prikolist';
+
+ MsgArrayAreaPlayerOne = 'Player 1';
+ MsgArrayAreaPlayerTwo = 'Player 2';
+ MsgArrayAreaDm = 'DM Spawn Point';
+ MsgArrayAreaFlagRed = 'Red Flag';
+ MsgArrayAreaFlagBlue = 'Blue Flag';
+ MsgArrayAreaFlagDom = 'Domination Flag';
+ MsgArrayAreaTeamRed = 'Red Team';
+ MsgArrayAreaTeamBlue = 'Blue Team';
+
+ MsgArrayTrExit = 'Exit';
+ MsgArrayTrTeleport = 'Teleport';
+ MsgArrayTrDoorOpen = 'Open Door';
+ MsgArrayTrDoorClose = 'Close Door';
+ MsgArrayTrDoorSwitch = 'Door';
+ MsgArrayTrDoor5Sec = 'Door (5 sec)';
+ MsgArrayTrTrapClose = 'Close Trap';
+ MsgArrayTrTrap = 'Trap';
+ MsgArrayTrExtend = 'Extender';
+ MsgArrayTrSecret = 'Secret';
+ MsgArrayTrLiftUp = 'Turn stream up/left';
+ MsgArrayTrLiftDown = 'Turn stream down/right';
+ MsgArrayTrLiftSwitch = 'Revert stream';
+ MsgArrayTrTexture = 'Change Texture';
+ MsgArrayTrOn = 'Enable Trigger';
+ MsgArrayTrOff = 'Disable Trigger';
+ MsgArrayTrSwitch = 'Trigger Toggle';
+ MsgArrayTrSound = 'Play Sound';
+ MsgArrayTrSpawnMonster = 'Spawn Monster';
+ MsgArrayTrSpawnItem = 'Spawn Item';
+ MsgArrayTrMusic = 'Play Music';
+ MsgArrayTrPush = 'Push';
+ MsgArrayTrScore = 'Team Score';
+ MsgArrayTrMessage = 'Message';
+ MsgArrayTrDamage = 'Damage';
+ MsgArrayTrHealth = 'Healer';
+ MsgArrayTrShot = 'Turret';
+ MsgArrayTrEffect = 'Effect';
+
+ MsgPropId = 'ID';
+ MsgPropX = 'X';
+ MsgPropY = 'Y';
+ MsgPropWidth = 'Width';
+ MsgPropHeight = 'Height';
+ MsgPropPanelType = 'Panel Type';
+ MsgPropPanelTex = 'Texture';
+ MsgPropPanelAlpha = 'Transparency';
+ MsgPropPanelBlend = 'Blending';
+ MsgPropDmOnly = 'DM Only';
+ MsgPropItemFalls = 'Falls';
+ MsgPropDirection = 'Direction';
+
+ MsgPropTrType = 'Trigger Type';
+ MsgPropTrEnabled = 'Enabled';
+ MsgPropTrTexturePanel = 'Textured Panel';
+ MsgPropTrActivation = 'Activation Type';
+ MsgPropTrKeys = 'Keys';
+ MsgPropTrD2d = 'D2D-like';
+ MsgPropTrSilent = 'Silent';
+ MsgPropTrCount = 'Count';
+ MsgPropTrInterval = 'Interval (in ticks)';
+ MsgPropTrHealth = 'Health';
+ MsgPropTrNextMap = 'Next Map';
+ MsgPropTrTeleportTo = 'Teleport to';
+ MsgPropTrTeleportSilent = 'Silent';
+ MsgPropTrTeleportDir = 'New Direction';
+ MsgPropTrDoorPanel = 'Door Panel';
+ MsgPropTrTrapPanel = 'Trap Panel';
+ MsgPropTrExArea = 'Action Area';
+ MsgPropTrExDelay = 'Delay';
+ MsgPropTrExCount = 'Count';
+ MsgPropTrExMonster = 'Monster ID';
+ MsgPropTrExRandom = 'Random';
+ MsgPropTrLiftPanel = 'Stream Panel';
+ MsgPropTrTextureOnce = 'Once';
+ MsgPropTrTextureAnimOnce = 'Animate Once';
+ MsgPropTrSoundName = 'Sound (snd)';
+ MsgPropTrSoundVolume = 'Volume';
+ MsgPropTrSoundPan = 'Pan';
+ MsgPropTrSoundCount = 'Loops';
+ MsgPropTrSoundLocal = 'Local';
+ MsgPropTrSoundSwitch = 'Switch';
+ MsgPropTrFxType = 'Effect';
+ MsgPropTrSpawnTo = 'Spawn at';
+ MsgPropTrSpawnMax = 'Maximum';
+ MsgPropTrSpawnDelay = 'Autospawn (in ticks)';
+ MsgPropTrMonsterType = 'Monster';
+ MsgPropTrMonsterActive = 'Active';
+ MsgPropTrMonsterBehaviour = 'Behaviour';
+ MsgPropTrMonsterBehaviour0 = 'Normal';
+ MsgPropTrMonsterBehaviour1 = 'Killer';
+ MsgPropTrMonsterBehaviour2 = 'Maniac';
+ MsgPropTrMonsterBehaviour3 = 'Insane';
+ MsgPropTrMonsterBehaviour4 = 'Cannibal';
+ MsgPropTrMonsterBehaviour5 = 'Good';
+ MsgPropTrItemType = 'Item';
+ MsgPropTrMusicName = 'Music';
+ MsgPropTrMusicAct = 'Action (m)';
+ MsgPropTrMusicOn = 'Play';
+ MsgPropTrMusicOff = 'Pause';
+ MsgPropTrPushAngle = 'Angle';
+ MsgPropTrPushForce = 'Force';
+ MsgPropTrPushReset = 'Reset velocity';
+ MsgPropTrScoreAct = 'Action (s)';
+ MsgPropTrScoreAct0 = 'Add points';
+ MsgPropTrScoreAct1 = 'Subtract points';
+ MsgPropTrScoreAct2 = 'Team Wins';
+ MsgPropTrScoreAct3 = 'Team Loses';
+ MsgPropTrScoreTeam = 'Team';
+ MsgPropTrScoreTeam0 = 'My';
+ MsgPropTrScoreTeam1 = 'Enemy';
+ MsgPropTrScoreTeam2 = 'Red';
+ MsgPropTrScoreTeam3 = 'Blue';
+ MsgPropTrScoreCon = 'Console message';
+ MsgPropTrScoreMsg = 'Game message';
+ MsgPropTrDamageValue = 'Damage';
+ MsgPropTrDamageKind = 'Damage type';
+ MsgPropTrDamageKind0 = 'HIT_SOME';
+ MsgPropTrDamageKind3 = 'HIT_TRAP';
+ MsgPropTrDamageKind4 = 'HIT_FALL';
+ MsgPropTrDamageKind5 = 'HIT_WATER';
+ MsgPropTrDamageKind6 = 'HIT_ACID';
+ MsgPropTrDamageKind7 = 'HIT_ELECTRO';
+ MsgPropTrDamageKind8 = 'HIT_FLAME';
+ MsgPropTrHealthMax = 'To maximum';
+ MsgPropTrShotType = 'Projectile';
+ MsgPropTrShotSound = 'Shot sound';
+ MsgPropTrShotAngle = 'Angle';
+ MsgPropTrShotAcc = 'Spread';
+ MsgPropTrShotTo = 'Auto targeting';
+ MsgPropTrShotTo0 = 'None';
+ MsgPropTrShotTo1 = 'Monsters';
+ MsgPropTrShotTo2 = 'Players';
+ MsgPropTrShotTo3 = 'Red team';
+ MsgPropTrShotTo4 = 'Blue team';
+ MsgPropTrShotTo5 = 'Monsters, players';
+ MsgPropTrShotTo6 = 'Players, monsters';
+ MsgPropTrShotAim = 'Auto-aiming mode';
+ MsgPropTrShotAim0 = 'Trigger area';
+ MsgPropTrShotAim1 = 'Entire map';
+ MsgPropTrShotAim2 = 'Trace trigger area';
+ MsgPropTrShotAim3 = 'Trace entire map';
+ MsgPropTrShotAmmo = 'Ammo limit';
+ MsgPropTrShotReload = 'Reload interval (in ticks)';
+ MsgPropTrShotSight = 'Sight interval (in ticks)';
+ MsgPropTrShotPanel = 'Indicator panel';
+ MsgPropTrMessageKind = 'Message kind';
+ MsgPropTrMessageKind0 = 'Console message';
+ MsgPropTrMessageKind1 = 'Event message';
+ MsgPropTrMessageTo = 'Send to';
+ MsgPropTrMessageTo0 = 'Me';
+ MsgPropTrMessageTo1 = 'My team';
+ MsgPropTrMessageTo2 = 'Enemy team';
+ MsgPropTrMessageTo3 = 'Red team';
+ MsgPropTrMessageTo4 = 'Blue team';
+ MsgPropTrMessageTo5 = 'Everyone';
+ MsgPropTrMessageText = 'Message text';
+ MsgPropTrMessageTime = 'Time (in ticks)';
+ MsgPropTrEffectType = 'Effect type';
+ MsgPropTrEffectSubtype = 'Effect subtype';
+ MsgPropTrEffectColor = 'Effect color';
+ MsgPropTrEffectCenter = 'Trigger center';
+ MsgPropTrEffectVelx = 'Horizontal speed';
+ MsgPropTrEffectVely = 'Vertical speed';
+ MsgPropTrEffectSpl = 'Speed variance left';
+ MsgPropTrEffectSpr = 'Speed variance right';
+ MsgPropTrEffectSpu = 'Speed variance up';
+ MsgPropTrEffectSpd = 'Speed variance down';
+ MsgPropTrEffectParticle = 'Particle generator';
+ MsgPropTrEffectAnimation = 'Animation';
+ MsgPropTrEffectSliquid = 'Water splash';
+ MsgPropTrEffectLliquid = 'Light colored splash';
+ MsgPropTrEffectDliquid = 'Dark colored splash';
+ MsgPropTrEffectBlood = 'Blood';
+ MsgPropTrEffectSpark = 'Sparks';
+ MsgPropTrEffectBubble = 'Bubbles';
+
+ MsgMsgError = 'Error';
+ MsgMsgWrongTexwidth = 'Panel Width must be a multiple of Texture Width (%d)';
+ MsgMsgWrongTexheight = 'Panel Height must be a multiple of Texture Height (%d)';
+ MsgMsgWrongAlpha = 'Transparency must be in [0..255] interval';
+ MsgMsgWrongSize = 'Width and Height must be greater than 0';
+ MsgMsgWrongXy = 'X or Y coordinate hasn''t been set';
+ MsgMsgTextureAlready = 'Texture "%s" already exists';
+ MsgMsgResName64 = 'Resource "%s" name must not be longer than 64 chars';
+ MsgMsgChooseItem = 'Select Item';
+ MsgMsgChooseMonster = 'Select Monster';
+ MsgMsgChooseArea = 'Select Area';
+ MsgMsgChooseTexture = 'Select Texture';
+ MsgMsgChooseRes = 'Resource hasn''t been selected';
+ MsgMsgExit = 'Exit';
+ MsgMsgExitPrompt = 'Leaving so soon?';
+ MsgMsgDelTexture = 'Delete the texture';
+ MsgMsgDelTexturePrompt = 'Delete the texture "%s" ?';
+ MsgMsgDelTextureCant = 'Can''t delete texture in use. Replace it on all panels with this texture.';
+ MsgMsgDelRecent = 'File does not longer exist';
+ MsgMsgDelRecentPrompt = 'Remove entry from recent list?';
+ MsgMsgClearMap = 'New map';
+ MsgMsgClearMapPrompt = 'Clear the entire map?';
+ MsgMsgDeleteMap = 'Delete the map';
+ MsgMsgDeleteMapPrompt = 'Delete the map "%s" from "%s" ?';
+ MsgMsgMapDeleted = 'Map is deleted';
+ MsgMsgMapDeletedPrompt = 'Map "%s" is deleted';
+ MsgMsgReopenMapPrompt = 'Reopen this map?';
+ MsgMsgExecError = 'Game start error';
+ MsgMsgSoundError = 'Can''t play sound';
+ MsgMsgWadError = 'Can''t open WAD: %s';
+ MsgMsgResError = 'Can''t read resource: %s:%s\%s';
+ MsgMsgPacked = 'Map "%s" with resources saved to "%s"';
+ MsgMsgMapExists = 'Map "%s" already exists. Overwrite?';
+ MsgMsgSaveMap = 'Save the map';
+
+ MsgHintTeleport = 'Choose destination of Teleport';
+ MsgHintSpawn = 'Choose Spawn point';
+ MsgHintPanelDoor = 'Choose Door';
+ MsgHintPanelTexture = 'Choose textured Panel';
+ MsgHintPanelShot = 'Choose textured shot indicator Panel';
+ MsgHintPanelLift = 'Choose Stream Panel';
+ MsgHintMonster = 'Choose Monster';
+ MsgHintExtArea = 'Specify action Area';
+ MsgHintWidth = 'Width: %d';
+ MsgHintHeight = 'Height: %d';
+
+ MsgMenuAppleAbout = 'About Editor';
+ MsgMenuApplePref = 'Preferences...';
+
+ MsgMenuFile = 'File';
+ MsgMenuFileNew = 'New';
+ MsgMenuFileOpen = 'Open...';
+ MsgMenuFileRecentMac = 'Open Recent';
+ MsgMenuFileRecentClearMac = 'Clear Recent';
+ MsgMenuFileSave = 'Save';
+ MsgMenuFileSaveAs = 'Save As...';
+ MsgMenuFileOpenWad = 'Select Map...';
+ MsgMenuFileReopen = 'Revert to Saved';
+ MsgMenuFileSaveMini = 'Save Minimap...';
+ MsgMenuFileDelete = 'Remove from WAD...';
+ MsgMenuFilePackMap = 'Pack to WAD...';
+ MsgMenuFileRecentWin = 'Recent Files';
+ MsgMenuFileExitWin = 'Exit';
+
+ MsgMenuEdit = 'Edit';
+ MsgMenuEditUndo = 'Undo';
+ MsgMenuEditCopy = 'Copy';
+ MsgMenuEditCut = 'Cut';
+ MsgMenuEditPaste = 'Paste';
+ MsgMenuEditSelectAll = 'Select All';
+ MsgMenuEditSnapGrid = 'Snap to Grid';
+ MsgMenuEditStepGrid = 'Switch Grid Step';
+ MsgMenuEditToFore = 'Bring to Front';
+ MsgMenuEditToBack = 'Send to Back';
+ MsgMenuEditMapProps = 'Map Properties...';
+ MsgMenuEditPrefWin = 'Preferences...';
+
+ MsgMenuView = 'View';
+ MsgMenuViewLayers = 'Layers';
+ MsgMenuViewMinimap = 'Show Minimap Navigator';
+ MsgMenuViewBounds = 'Show Map Bounds';
+ MsgMenuViewPreview = 'Preview Mode';
+
+ MsgMenuServ = 'Service';
+ MsgMenuServTest = 'Analyse Map...';
+ MsgMenuServOpt = 'Optimize Map...';
+ MsgMenuServLaunch = 'Run Test';
+
+ MsgMenuWindow = 'Window';
+ MsgMenuWindowMinimize = 'Minimize';
+ MsgMenuWindowZoom = 'Zoom';
+
+ MsgMenuHelp = 'Help';
+ MsgMenuHelpAboutWin = 'About Editor';
+
+ MsgMenuLayerBack = '1. Background';
+ MsgMenuLayerWall = '2. Walls';
+ MsgMenuLayerFore = '3. Foreground';
+ MsgMenuLayerStair = '4. Steps';
+ MsgMenuLayerWater = '5. Liquids';
+ MsgMenuLayerItem = '6. Items';
+ MsgMenuLayerMonster = '7. Monsters';
+ MsgMenuLayerArea = '8. Areas';
+ MsgMenuLayerTrigger = '9. Triggers';
+
+ MsgMenuTbNew = 'New Map';
+ MsgMenuTbOpen = 'Open Map';
+ MsgMenuTbSave = 'Save Map';
+ MsgMenuTbOpenWad = 'Open another Map from same WAD';
+ MsgMenuTbMinimap = 'Show Mini-map';
+ MsgMenuTbLayers = 'Show/Hide Objects';
+ MsgMenuTbGrid = 'Grid On/Off';
+ MsgMenuTbGridStep = 'Switch Grid step';
+ MsgMenuTbLaunch = 'Run Test';
+
+ MsgMenuLaunchSets = 'Settings...';
+
+ MsgCapFxType = 'Select Effect type';
+ MsgCapMonsterType = 'Select Monster type';
+ MsgCapItemType = 'Select Item type';
+ MsgCapAbout = 'About Map Editor';
+ MsgCapAct = 'Activation type';
+ MsgCapAddSky = 'Select Sky Texture';
+ MsgCapAddSound = 'Select Sound/Music';
+ MsgCapAddTexture = 'Select Texture';
+ MsgCapKeys = 'Keys';
+ MsgCapTest = 'Analyse Map';
+ MsgCapOpt = 'Optimize Map';
+ MsgCapSets = 'Map Properties';
+ MsgCapLaunch = 'In-game test Settings';
+ MsgCapEs = 'Preferences';
+ MsgCapPack = 'Pack Map';
+ MsgCapSave = 'Save Map';
+ MsgCapMini = 'Save Minimap';
+ MsgCapSelect = 'Select Map';
+ MsgCapOpen = 'Open Map';
+ MsgCapRemove = 'Remove Map';
+ MsgCapTexture = 'Texture: %dx%d';
+ MsgCapAnimation = 'Animation: %dx%d, %d frames';
+ MsgCapStatSelected = 'Selected objects: %d';
+
+ MsgCtrlPropKey = 'Property';
+ MsgCtrlPropValue = 'Value';
+
+ MsgCtrlPanels = 'Panels';
+ MsgCtrlItems = 'Items';
+ MsgCtrlMonsters = 'Monsters';
+ MsgCtrlAreas = 'Areas';
+ MsgCtrlTriggers = 'Triggers';
+
+ MsgCtrlListTexture = 'Texture List';
+ MsgCtrlListItem = 'Item List';
+ MsgCtrlListMonster = 'Monster List';
+ MsgCtrlListArea = 'Area List';
+ MsgCtrlListTrigger = 'Trigger List';
+ MsgCtrlListActive = 'Activation Type';
+ MsgCtrlListKeys = 'Keys Needed';
+
+ MsgCtrlPreview = 'Texture Preview';
+ MsgCtrlItemDm = 'DM Only';
+ MsgCtrlItemFalls = 'Falls';
+ MsgCtrlLeft = 'Left';
+ MsgCtrlRight = 'Right';
+
+ MsgCtrlActPlayerClose = 'Player Collides';
+ MsgCtrlActMonsterClose = 'Monster Collides';
+ MsgCtrlActPlayerPress = 'Player Pressed';
+ MsgCtrlActMonsterPress = 'Monster Pressed';
+ MsgCtrlActShot = 'Shot';
+ MsgCtrlActNoMonster = 'No Monsters';
+
+ MsgCtrlKeysRed = 'Red Key';
+ MsgCtrlKeysGreen = 'Green Key';
+ MsgCtrlKeysBlue = 'Blue Key';
+ MsgCtrlKeysTeamRed = 'Red Team';
+ MsgCtrlKeysTeamBlue = 'Blue Team';
+
+ MsgCtrlOptGb = 'Optimization';
+ MsgCtrlOptTexture = 'Texture Optimization';
+ MsgCtrlOptPanel = 'Panel Optimization';
+ MsgCtrlOptWall = 'Walls';
+ MsgCtrlOptFore = 'Foreground';
+ MsgCtrlOptBack = 'Background';
+ MsgCtrlOptStair = 'Steps';
+ MsgCtrlOptWater = 'Water';
+ MsgCtrlOptAcid1 = 'Acid 1';
+ MsgCtrlOptAcid2 = 'Acid 2';
+ MsgCtrlOptLift = 'Streams';
+ MsgCtrlOptBlockmon = 'Monster Boundary';
+ MsgCtrlOptDescTexture = 'Deletes unused textures from texture list.';
+ MsgCtrlOptDescPanel = 'Merges nearby panels of same type. Increases game performance.';
+ MsgCtrlSetsStats = 'Statistics:';
+ MsgCtrlSetsSizes = 'Map Size:';
+
+ MsgCtrlEsTesting = 'Testing';
+ MsgCtrlLaunchDm = 'Deathmatch';
+ MsgCtrlLaunchTdm = 'Team Deathmatch';
+ MsgCtrlLaunchCtf = 'Capture the Flag';
+ MsgCtrlLaunchCoop = 'Cooperative';
+ MsgCtrlLaunch2p = 'Two Players';
+ MsgCtrlLaunchFf = 'Friendly Fire';
+ MsgCtrlLaunchExit = 'Enable Exit';
+ MsgCtrlLaunchWeapons = 'Weapons Stay';
+ MsgCtrlLaunchMonsters = 'Enable Monsters';
+ MsgCtrlLaunchClose = 'Close the game after exiting the map';
+ MsgCtrlLaunchOpen = 'Select Doom 2D: Forever executable';
+
+ MsgCtrlEsGeneral = 'General';
+ MsgCtrlEsGrid = 'Show Grid';
+ MsgCtrlEsTexture = 'Show Panel Texture';
+ MsgCtrlEsPanelSize = 'Show Panel Size';
+ MsgCtrlEsCheckerboard = 'Use Checkerboard';
+
+ MsgCtrlPackTextures = 'Textures';
+ MsgCtrlPackSky = 'Sky';
+ MsgCtrlPackMusic = 'Music';
+ MsgCtrlPackAdd = 'Don''t overwrite WAD';
+ MsgCtrlPackNonStd = 'Non-standard Resources only';
+
+ MsgLabTexWidth = 'Texture Width:';
+ MsgLabTexHeight = 'Texture Height:';
+
+ MsgLabSpectrum = 'Show the Spectrum';
+
+ MsgLabAboutVer = 'Version 2.1.5';
+ MsgLabAboutAuthor = 'Author: rs.falcon';
+ MsgLabAboutAuthor2 = 'Additions: Pss';
+ MsgLabAboutMail = 'rmw.falcon@mail.ru';
+ MsgLabAboutMail2 = 'pssxx@mail.ru';
+ MsgLabAboutSite = 'Doom 2D: Forever Web-site';
+ MsgLabAboutHttp = 'www.doom2d.org';
+
+ MsgLabAddWads = 'WAD Files:';
+ MsgLabAddSections = 'WAD Sections:';
+
+ MsgLabSetsName = 'Map Name:';
+ MsgLabSetsDesc = 'Map Description';
+ MsgLabSetsAuthor = 'Author:';
+ MsgLabSetsBack = 'Background/Sky:';
+ MsgLabSetsMusic = 'Music:';
+ MsgLabSetsTextures = 'Textures:';
+ MsgLabSetsPanels = 'Panels:';
+ MsgLabSetsItems = 'Items:';
+ MsgLabSetsMonsters = 'Monsters:';
+ MsgLabSetsAreas = 'Areas:';
+ MsgLabSetsTriggers = 'Triggers:';
+ MsgLabSetsSizes = 'Current:';
+ MsgLabSetsWidth = 'Width:';
+ MsgLabSetsHeight = 'Height:';
+ MsgLabSetsMapmove = 'Direction to shift map objects:';
+ MsgLabSetsSnapping = 'Preserve snapping';
+
+ MsgLabLaunchTime = 'Time Limit:';
+ MsgLabLaunchSecs = 'seconds';
+ MsgLabLaunchScore = 'Score Limit:';
+ MsgLabLaunchPathWin = 'Path to Doom2DF.exe:';
+ MsgLabLaunchPathMac = 'Path to Doom 2D Forever.app:';
+ MsgLabLaunchPathUnix = 'Path to Doom2DF:';
+ MsgLabLaunchArgs = 'Launch Arguments:';
+
+ MsgLabEsGrid = 'Grid Step:';
+ MsgLabEsGridColor = 'Grid Color:';
+ MsgLabEsGridSize = 'Grid Dot Size:';
+ MsgLabEsBack = 'Background Color:';
+ MsgLabEsPreview = 'Texture Preview Background Color:';
+ MsgLabEsMinimap = 'Mini-map Scale:';
+ MsgLabEsRecent = 'Recent Maps List Contains:';
+ MsgLabEsLanguage = 'Language:';
+ MsgLabEsLanguageAuto = 'System Default';
+
+ MsgCtrlEsFiles = 'Files';
+
+ MsgLabPackSaveTo = 'Save to:';
+ MsgLabPackMapName = 'Map Resource Name:';
+ MsgLabPackTextures = 'Texture Section:';
+ MsgLabPackSky = 'Sky Section:';
+ MsgLabPackMusic = 'Music Section:';
+
+ MsgLabMiniScale = 'Scale:';
+
+ MsgBtnApplyProps = 'Apply Properties';
+ MsgBtnOk = 'OK';
+ MsgBtnCancel = 'Cancel';
+ MsgBtnAdd = 'Add';
+ MsgBtnClose = 'Close';
+ MsgBtnAddClose = 'Add and Close';
+ MsgBtnTestAgain = 'Check';
+ MsgBtnStart = 'Run';
+ MsgBtnPack = 'Pack';
+ MsgBtnSave = 'Save';
+ MsgBtnNoSound = 'No sound';
+ MsgBtnTextureAdd = 'Add texture to the list';
+ MsgBtnTextureDelete = 'Delete texture from the list';
+ MsgBtnTextureEmpty = 'Deselect texture';
+
+ MsgLoadWad = 'Reading WAD';
+ MsgLoadMap = 'Loading Map';
+ MsgLoadTextures = 'Reading Textures';
+ MsgLoadPanels = 'Reading Panels';
+ MsgLoadItems = 'Reading Items';
+ MsgLoadMonsters = 'Reading Monsters';
+ MsgLoadAreas = 'Reading Areas';
+ MsgLoadTriggers = 'Reading Triggers';
+
+ MsgTestAreaWall = 'Player collides with the wall and will be stuck.';
+ MsgTestAreaWallStr = 'Area #%d collides with Map (%d:%d)';
+ MsgTestSpawns1 = 'There are several spawn points for First Player on the map';
+ MsgTestSpawns2 = 'There are several spawn points for Second Player on the map';
+ MsgTestSpawns = 'There are several spawn points on the map. Random one will be used.';
+ MsgTestNoDm = 'There are no DM spawn points on the map';
+ MsgTestNoDmEx = 'There are no DM spawn points on the map. Only "Single Player" mode available.';
+ MsgTestMonsterWall = 'Monster collides with the wall and will be stuck.';
+ MsgTestMonsterWallStr = 'Monster #%d collides with a map (%d:%d)';
+
+ MsgOptNoTextures = 'Texture list is empty';
+ MsgOptDeletedTextures = 'Deleted Textures:';
+ MsgOptTotalTextures = 'Textures Total:';
+ MsgOptTexDeleted = 'Textures Deleted:';
+ MsgOptPanelsOpt = 'Panels Optimized:';
+ MsgOptWalls = 'Walls Optimization...';
+ MsgOptFores = 'Foreground Optimization...';
+ MsgOptBacks = 'Background Optimization...';
+ MsgOptStairs = 'Steps Optimization...';
+ MsgOptWater = 'Water Optimization...';
+ MsgOptAcid1 = 'Acid 1 Optimization...';
+ MsgOptAcid2 = 'Acid 2 Optimization...';
+ MsgOptLifts = 'Streams Optimization...';
+ MsgOptBlockmon = 'Monster Boundaries Optimization...';
+ MsgOptTotalPanels = 'Panels Total:';
+ MsgOptPanelsAfter = 'Panels after Optimization:';
+
+ MsgWadSpecialMap = '<MAP WAD-FILE>';
+ MsgWadSpecialTexs = '<COLORFILTERS>';
+
+ MsgFileFilterSaveDFWAD = 'Doom 2D: Forever Maps in DFWAD packages (*.wad)|*.wad';
+ MsgFileFilterSaveDFZIP = 'Doom 2D: Forever Maps in DFZIP archives (*.dfz)|*.dfz';
+ MsgFileFilterAll = 'Doom 2D: Forever Maps (*.dfz, *.wad)|*.wad;*.dfz|Doom 2D: Forever 0.30 Maps (*.ini)|*.ini|All Files (*.*)|*.*';
+ MsgFileFilterWad = 'Doom 2D: Forever Maps (*.dfz, *.wad)|*.wad;*.dfz|All Files (*.*)|*.*';
+ MsgFileFilterExeMac = 'Doom 2D Forever.app|*.app|Doom 2D Forever (Unix Executable)|Doom2DF;*';
+ MsgFileFilterExeWin = 'Doom2DF.exe|Doom2DF.exe;*.exe';
+ MsgFileFilterExeUnix = 'Doom2DF|Doom2DF;*';
+
+ MsgEditorTitle = 'Doom 2D: Forever Map Editor';
Var
- _lc: Array [TStrings_Locale] of String; // for the GUI (in UTF-8)
- _glc: Array [TStrings_Locale] of String; // for GL text (in CP1251)
-
BoolNames: Array [False..True] of String;
DirNames: Array [D_LEFT..D_RIGHT] of String;
DirNamesAdv: Array [0..3] of String;
AreaNames: Array [AREA_PLAYERPOINT1..AREA_BLUETEAMPOINT] of String;
TriggerNames: Array [TRIGGER_EXIT..TRIGGER_MAX] of String;
-
-procedure g_Language_Load(fileName: String);
+function g_Language_GetList (): TStringList;
procedure g_Language_Set(lang: String);
-procedure g_Language_Dump(fileName: String);
Implementation
Uses
+ g_options, IniFiles, gettext, LazFileUtils,
SysUtils, e_log, f_main, f_about, f_activationtype,
f_addresource_sky, f_addresource_sound,
f_addresource_texture, f_choosetype, f_keys, f_mapcheck,
- f_mapoptions, f_maptest, f_mapoptimization, f_options,
+ f_mapoptions, f_mapoptimization, f_options,
f_packmap, f_savemap, f_saveminimap, f_selectmap, Forms, utils;
-Const
- g_lang_default: Array [TStrings_Locale] of Array [1..3] of String = (
- ('NOT ACCESSIBLE', 'N/A',
- 'Н/Д'),
-
- ('ARRAY BOOL FALSE', 'No',
- 'Нет'),
- ('ARRAY BOOL TRUE', 'Yes',
- 'Да'),
-
- ('ARRAY DIR LEFT', 'Left',
- 'Влево'),
- ('ARRAY DIR RIGHT', 'Right',
- 'Вправо'),
- ('ARRAY DIR SAME', 'Don''t change',
- 'Не менять'),
- ('ARRAY DIR REVERSED', 'Reversed',
- 'Обратное'),
-
- ('ARRAY DIRBTN LEFT', 'Left',
- 'Влево'),
- ('ARRAY DIRBTN RIGHT', 'Right',
- 'Вправо'),
- ('ARRAY DIRBTN UP', 'Up',
- 'Вверх'),
- ('ARRAY DIRBTN DOWN', 'Down',
- 'Вниз'),
-
- ('ARRAY PANEL WALL', 'Wall',
- 'Стена'),
- ('ARRAY PANEL BACK', 'Background',
- 'Фон'),
- ('ARRAY PANEL FRONT', 'Foreground',
- 'Передний план'),
- ('ARRAY PANEL DOOR OPEN', 'Open Door',
- 'Открытая дверь'),
- ('ARRAY PANEL DOOR CLOSE', 'Closed Door',
- 'Закрытая дверь'),
- ('ARRAY PANEL STAIR', 'Step',
- 'Ступень'),
- ('ARRAY PANEL WATER', 'Water',
- 'Вода'),
- ('ARRAY PANEL ACID 1', 'Acid 1',
- 'Кислота 1'),
- ('ARRAY PANEL ACID 2', 'Acid 2',
- 'Кислота 2'),
- ('ARRAY PANEL LIFT UP', 'Stream Up',
- 'Лифт вверх'),
- ('ARRAY PANEL LIFT DOWN', 'Stream Down',
- 'Лифт вниз'),
- ('ARRAY PANEL LIFT LEFT', 'Stream Left',
- 'Поток влево'),
- ('ARRAY PANEL LIFT RIGHT', 'Stream Right',
- 'Поток вправо'),
- ('ARRAY PANEL BLOCKMON', 'Monster Boundary',
- 'Блокиратор монстров'),
-
- ('ARRAY FX NONE', 'None',
- 'Нет'),
- ('ARRAY FX TELEPORT', 'Teleport',
- 'Телепортация'),
- ('ARRAY FX RESPAWN', 'Respawn',
- 'Респаун'),
- ('ARRAY FX FIRE', 'Arch-Vile Fire',
- 'Огонь колдуна'),
-
- ('ARRAY ITEM MEDKIT', 'Stimpack',
- 'Аптечка'),
- ('ARRAY ITEM LARGE MEDKIT', 'Medikit',
- 'Большая аптечка'),
- ('ARRAY ITEM BLACK MEDKIT', 'Berserk Pack',
- 'Чёрная аптечка'),
- ('ARRAY ITEM GREEN ARMOR', 'Green Armor',
- 'Зелёная броня'),
- ('ARRAY ITEM BLUE ARMOR', 'Blue Armor',
- 'Синяя броня'),
- ('ARRAY ITEM BLUE SPHERE', 'Soulsphere',
- 'Шарик 100%'),
- ('ARRAY ITEM MEGASPHERE', 'Megasphere',
- 'Мегасфера'),
- ('ARRAY ITEM HAZ SUIT', 'Envirosuit',
- 'Защитный костюм'),
- ('ARRAY ITEM OXYGEN', 'Scuba',
- 'Акваланг'),
- ('ARRAY ITEM INVULNERABILITY', 'Invulnerability',
- 'Неуязвимость'),
- ('ARRAY ITEM CHAINSAW', 'Chainsaw',
- 'Бензопила'),
- ('ARRAY ITEM SHOTGUN', 'Shotgun',
- 'Ружьё'),
- ('ARRAY ITEM DB SHOTGUN', 'Super Shotgun',
- 'Двустволка'),
- ('ARRAY ITEM CHAINGUN', 'Chaingun',
- 'Пулемёт'),
- ('ARRAY ITEM ROCKET LAUNCHER', 'Rocket Launcher',
- 'Ракетница'),
- ('ARRAY ITEM PLASMA RIFLE', 'Plasma Rifle',
- 'Плазмаган'),
- ('ARRAY ITEM BFG', 'BFG9000',
- 'BFG9000'),
- ('ARRAY ITEM SUPER MINIGUN', 'Super Chaingun',
- 'Суперпулемёт'),
- ('ARRAY ITEM FLAMETHROWER', 'Flamethrower',
- 'Огнемёт'),
- ('ARRAY ITEM CLIP', 'Clip',
- 'Патроны'),
- ('ARRAY ITEM AMMO BOX', 'Box of Bullets',
- 'Ящик патронов'),
- ('ARRAY ITEM 4 SHELLS', '4 Shells',
- '4 гильзы'),
- ('ARRAY ITEM 25 SHELLS', 'Box of Shells',
- '25 гильз'),
- ('ARRAY ITEM 1 ROCKET', 'Rocket',
- '1 ракета'),
- ('ARRAY ITEM ROCKET BOX', 'Box of Rockets',
- '5 ракет'),
- ('ARRAY ITEM CELL', 'Energy Cell',
- 'Батарейка'),
- ('ARRAY ITEM LARGE CELL', 'Energy Cell Pack',
- 'Батарея'),
- ('ARRAY ITEM FUELCAN', 'Fuel Canister',
- 'Канистра'),
- ('ARRAY ITEM BACKPACK', 'Backpack',
- 'Рюкзак'),
- ('ARRAY ITEM KEY RED', 'Red Key',
- 'Красный ключ'),
- ('ARRAY ITEM KEY GREEN', 'Green Key',
- 'Зелёный ключ'),
- ('ARRAY ITEM KEY BLUE', 'Blue Key',
- 'Синий ключ'),
- ('ARRAY ITEM BOTTLE', 'Health Globe',
- 'Живая вода'),
- ('ARRAY ITEM HELMET', 'Armor Shard',
- 'Бронешлем'),
- ('ARRAY ITEM JETPACK', 'Jetpack',
- 'Реактивный ранец'),
- ('ARRAY ITEM INVIS', 'Invisibility',
- 'Невидимость'),
-
- ('ARRAY SHOT PISTOL', 'Pistol shot',
- 'Выстрел пистолета'),
- ('ARRAY SHOT BULLET', 'Chaingun shot',
- 'Выстрел пулемёта'),
- ('ARRAY SHOT SHOTGUN', 'Shotgun shot',
- 'Выстрел ружья'),
- ('ARRAY SHOT SSG', 'Super Shotgun shot',
- 'Выстрел двустволки'),
- ('ARRAY SHOT IMP', 'Imp fireball',
- 'Шар беса'),
- ('ARRAY SHOT PLASMA', 'Blue plasma',
- 'Синяя плазма'),
- ('ARRAY SHOT SPIDER', 'Arachnotron plasma',
- 'Плазма арахнотрона'),
- ('ARRAY SHOT CACO', 'Cacodemon fireball',
- 'Шар какодемона'),
- ('ARRAY SHOT BARON', 'Hell Baron projectile',
- 'Выстрел барона ада'),
- ('ARRAY SHOT MANCUB', 'Mancubus gunshot',
- 'Снаряд манкубуса'),
- ('ARRAY SHOT REV', 'Revenant projectile',
- 'Снаряд скелета'),
- ('ARRAY SHOT ROCKET', 'Rocket',
- 'Ракета'),
- ('ARRAY SHOT BFG', 'BFG ball',
- 'Шар BFG'),
- ('ARRAY SHOT EXPL', 'Explosion',
- 'Взрыв'),
- ('ARRAY SHOT BFGEXPL', 'BFG explosion',
- 'Взрыв BFG'),
- ('ARRAY SHOT FLAME', 'Flame',
- 'Огонь'),
-
- ('ARRAY MON DEMON', 'Pinky',
- 'Демон'),
- ('ARRAY MON IMP', 'Imp',
- 'Бес'),
- ('ARRAY MON ZOMBIE', 'Zombie',
- 'Зомби'),
- ('ARRAY MON SERGEANT', 'Sergeant',
- 'Сержант'),
- ('ARRAY MON CYBER', 'Cyberdemon',
- 'Кибердемон'),
- ('ARRAY MON CGUN', 'Commando',
- 'Пулемётчик'),
- ('ARRAY MON HELL BARON', 'Hell Baron',
- 'Барон ада'),
- ('ARRAY MON HELL KNIGHT', 'Hell Knight',
- 'Рыцарь ада'),
- ('ARRAY MON CACODEMON', 'Cacodemon',
- 'Какодемон'),
- ('ARRAY MON LOST SOUL', 'Lost Soul',
- 'Огненный череп'),
- ('ARRAY MON PAIN ELEMENTAL', 'Pain Elemental',
- 'Авиабаза'),
- ('ARRAY MON MASTERMIND', 'Spider Mastermind',
- 'Большой паук'),
- ('ARRAY MON ARACHNATRON', 'Arachnotron',
- 'Арахнотрон'),
- ('ARRAY MON MANCUBUS', 'Mancubus',
- 'Манкубус'),
- ('ARRAY MON REVENANT', 'Revenant',
- 'Скелет'),
- ('ARRAY MON ARCHVILE', 'Arch-Vile',
- 'Колдун'),
- ('ARRAY MON FISH', 'Piranha',
- 'Рыба'),
- ('ARRAY MON BARREL', 'Barrel',
- 'Бочка'),
- ('ARRAY MON ROBOT', 'Robot',
- 'Робот'),
- ('ARRAY MON PRIKOLIST', 'Prikolist',
- 'Приколист'),
-
- ('ARRAY AREA PLAYER ONE', 'Player 1',
- 'Первый игрок'),
- ('ARRAY AREA PLAYER TWO', 'Player 2',
- 'Второй игрок'),
- ('ARRAY AREA DM', 'DM Spawn Point',
- 'Точка DM'),
- ('ARRAY AREA FLAG RED', 'Red Flag',
- 'Красный флаг'),
- ('ARRAY AREA FLAG BLUE', 'Blue Flag',
- 'Синий флаг'),
- ('ARRAY AREA FLAG DOM', 'Domination Flag',
- 'DOM флаг'),
- ('ARRAY AREA TEAM RED', 'Red Team',
- 'Красная команда'),
- ('ARRAY AREA TEAM BLUE', 'Blue Team',
- 'Синяя команда'),
-
- ('ARRAY TR EXIT', 'Exit',
- 'Выход'),
- ('ARRAY TR TELEPORT', 'Teleport',
- 'Телепортация'),
- ('ARRAY TR DOOR OPEN', 'Open Door',
- 'Открыть дверь'),
- ('ARRAY TR DOOR CLOSE', 'Close Door',
- 'Закрыть дверь'),
- ('ARRAY TR DOOR SWITCH', 'Door',
- 'Дверь'),
- ('ARRAY TR DOOR 5 SEC', 'Door (5 sec)',
- 'Дверь (5 секунд)'),
- ('ARRAY TR TRAP CLOSE', 'Close Trap',
- 'Закрыть ловушку'),
- ('ARRAY TR TRAP', 'Trap',
- 'Ловушка'),
- ('ARRAY TR EXTEND', 'Extender',
- 'Расширитель'),
- ('ARRAY TR SECRET', 'Secret',
- 'Секрет'),
- ('ARRAY TR LIFT UP', 'Turn stream up/left',
- 'Лифт вверх/поток влево'),
- ('ARRAY TR LIFT DOWN', 'Turn stream down/right',
- 'Лифт вниз/поток вправо'),
- ('ARRAY TR LIFT SWITCH', 'Revert stream',
- 'Лифт'),
- ('ARRAY TR TEXTURE', 'Change Texture',
- 'Смена текстуры'),
- ('ARRAY TR ON', 'Enable Trigger',
- 'Включить триггер'),
- ('ARRAY TR OFF', 'Disable Trigger',
- 'Выключить триггер'),
- ('ARRAY TR SWITCH', 'Trigger Toggle',
- 'Переключить триггер'),
- ('ARRAY TR SOUND', 'Play Sound',
- 'Звук'),
- ('ARRAY TR SPAWN MONSTER', 'Spawn Monster',
- 'Создать монстра'),
- ('ARRAY TR SPAWN ITEM', 'Spawn Item',
- 'Создать предмет'),
- ('ARRAY TR MUSIC', 'Play Music',
- 'Музыка'),
- ('ARRAY TR PUSH', 'Push',
- 'Ускорение'),
- ('ARRAY TR SCORE', 'Team Score',
- 'Начисление очков'),
- ('ARRAY TR MESSAGE', 'Message',
- 'Сообщение'),
- ('ARRAY TR DAMAGE', 'Damage',
- 'Урон'),
- ('ARRAY TR HEALTH', 'Healer',
- 'Оздоровитель'),
- ('ARRAY TR SHOT', 'Turret',
- 'Турель'),
- ('ARRAY TR EFFECT', 'Effect',
- 'Эффект'),
-
- ('PROP ID', 'ID',
- 'ID'),
- ('PROP X', 'X',
- 'X'),
- ('PROP Y', 'Y',
- 'Y'),
- ('PROP WIDTH', 'Width',
- 'Ширина'),
- ('PROP HEIGHT', 'Height',
- 'Высота'),
- ('PROP PANEL TYPE', 'Panel Type',
- 'Тип панели'),
- ('PROP PANEL TEX', 'Texture',
- 'Текстура'),
- ('PROP PANEL ALPHA', 'Transparency',
- 'Прозрачность'),
- ('PROP PANEL BLEND', 'Blending',
- 'Смешивание'),
- ('PROP DM ONLY', 'DM Only',
- 'Только в DM'),
- ('PROP ITEM FALLS', 'Falls',
- 'Падает'),
- ('PROP DIRECTION', 'Direction',
- 'Направление'),
-
- ('PROP TR TYPE', 'Trigger Type',
- 'Тип триггера'),
- ('PROP TR ENABLED', 'Enabled',
- 'Включён'),
- ('PROP TR TEXTURE PANEL', 'Textured Panel',
- 'Панель с текстурой'),
- ('PROP TR ACTIVATION', 'Activation Type',
- 'Тип активации'),
- ('PROP TR KEYS', 'Keys',
- 'Ключи'),
- ('PROP TR D2D', 'D2D-like',
- 'Как в D2D'),
- ('PROP TR SILENT', 'Silent',
- 'Без звука'),
- ('PROP TR COUNT', 'Count',
- 'Количество'),
- ('PROP TR INTERVAL', 'Interval (in ticks)',
- 'Интервал (в тиках)'),
- ('PROP TR HEALTH', 'Health',
- 'Здоровье'),
- ('PROP TR NEXT MAP', 'Next Map',
- 'След. карта'),
- ('PROP TR TELEPORT TO', 'Teleport to',
- 'Точка телепорта'),
- ('PROP TR TELEPORT SILENT', 'Silent',
- 'Тихий телепорт'),
- ('PROP TR TELEPORT DIR', 'New Direction',
- 'Направление после'),
- ('PROP TR DOOR PANEL', 'Door Panel',
- 'Панель двери'),
- ('PROP TR TRAP PANEL', 'Trap Panel',
- 'Панель ловушки'),
- ('PROP TR EX AREA', 'Action Area',
- 'Область воздействия'),
- ('PROP TR EX DELAY', 'Delay',
- 'Задержка'),
- ('PROP TR EX COUNT', 'Count',
- 'Счётчик'),
- ('PROP TR EX MONSTER', 'Monster ID',
- 'ID монстра'),
- ('PROP TR EX RANDOM', 'Random',
- 'Случайный'),
- ('PROP TR LIFT PANEL', 'Stream Panel',
- 'Панель лифта'),
- ('PROP TR TEXTURE ONCE', 'Once',
- 'Один раз'),
- ('PROP TR TEXTURE ANIM ONCE', 'Animate Once',
- 'Аним. один раз'),
- ('PROP TR SOUND NAME', 'Sound (snd)',
- 'Звук (snd)'),
- ('PROP TR SOUND VOLUME', 'Volume',
- 'Громкость'),
- ('PROP TR SOUND PAN', 'Pan',
- 'Стерео'),
- ('PROP TR SOUND COUNT', 'Loops',
- 'Играть раз'),
- ('PROP TR SOUND LOCAL', 'Local',
- 'Локальный'),
- ('PROP TR SOUND SWITCH', 'Switch',
- 'Переключение'),
- ('PROP TR FX TYPE', 'Effect',
- 'Эффект'),
- ('PROP TR SPAWN TO', 'Spawn at',
- 'Точка появления'),
- ('PROP TR SPAWN MAX', 'Maximum',
- 'Максимум'),
- ('PROP TR SPAWN DELAY', 'Autospawn (in ticks)',
- 'Автоспаун (в тиках)'),
- ('PROP TR MONSTER TYPE', 'Monster',
- 'Тип монстра'),
- ('PROP TR MONSTER ACTIVE', 'Active',
- 'Активен'),
- ('PROP TR MONSTER BEHAVIOUR', 'Behaviour',
- 'Поведение'),
- ('PROP TR MONSTER BEHAVIOUR 0', 'Normal',
- 'Обычное'),
- ('PROP TR MONSTER BEHAVIOUR 1', 'Killer',
- 'Убийца'),
- ('PROP TR MONSTER BEHAVIOUR 2', 'Maniac',
- 'Маньяк'),
- ('PROP TR MONSTER BEHAVIOUR 3', 'Insane',
- 'Поехавший'),
- ('PROP TR MONSTER BEHAVIOUR 4', 'Cannibal',
- 'Каннибал'),
- ('PROP TR MONSTER BEHAVIOUR 5', 'Good',
- 'Добрый'),
- ('PROP TR ITEM TYPE', 'Item',
- 'Тип предмета'),
- ('PROP TR MUSIC NAME', 'Music',
- 'Музыка'),
- ('PROP TR MUSIC ACT', 'Action (m)',
- 'Действие (m)'),
- ('PROP TR MUSIC ON', 'Play',
- 'Включить'),
- ('PROP TR MUSIC OFF', 'Pause',
- 'Выключить'),
- ('PROP TR PUSH ANGLE', 'Angle',
- 'Угол'),
- ('PROP TR PUSH FORCE', 'Force',
- 'Сила'),
- ('PROP TR PUSH RESET', 'Reset velocity',
- 'Сбрасывать скорость'),
- ('PROP TR SCORE ACT', 'Action (s)',
- 'Действие (s)'),
- ('PROP TR SCORE ACT 0', 'Add points',
- 'Прибавить очки'),
- ('PROP TR SCORE ACT 1', 'Subtract points',
- 'Отнять очки'),
- ('PROP TR SCORE ACT 2', 'Team Wins',
- 'Выигрыш'),
- ('PROP TR SCORE ACT 3', 'Team Loses',
- 'Проигрыш'),
- ('PROP TR SCORE TEAM', 'Team',
- 'Команда'),
- ('PROP TR SCORE TEAM 0', 'My',
- 'Своя'),
- ('PROP TR SCORE TEAM 1', 'Enemy',
- 'Соперника'),
- ('PROP TR SCORE TEAM 2', 'Red',
- 'Красная'),
- ('PROP TR SCORE TEAM 3', 'Blue',
- 'Синяя'),
- ('PROP TR SCORE CON', 'Console message',
- 'Сообщение в консоль'),
- ('PROP TR SCORE MSG', 'Game message',
- 'Сообщение в игру'),
- ('PROP TR DAMAGE VALUE', 'Damage',
- 'Ущерб'),
- ('PROP TR HEALTH MAX', 'To maximum',
- 'До максимума'),
- ('PROP TR SHOT TYPE', 'Projectile',
- 'Снаряд'),
- ('PROP TR SHOT SOUND', 'Shot sound',
- 'Звук выстрела'),
- ('PROP TR SHOT ANGLE', 'Angle',
- 'Угол'),
- ('PROP TR SHOT ACC', 'Spread',
- 'Разброс'),
- ('PROP TR SHOT TO', 'Auto targeting',
- 'Автонаведение'),
- ('PROP TR SHOT TO 0', 'None',
- 'Нет'),
- ('PROP TR SHOT TO 1', 'Monsters',
- 'Монстры'),
- ('PROP TR SHOT TO 2', 'Players',
- 'Игроки'),
- ('PROP TR SHOT TO 3', 'Red team',
- 'Красная команда'),
- ('PROP TR SHOT TO 4', 'Blue team',
- 'Синяя команда'),
- ('PROP TR SHOT TO 5', 'Monsters, players',
- 'Монстры, игроки'),
- ('PROP TR SHOT TO 6', 'Players, monsters',
- 'Игроки, монстры'),
- ('PROP TR SHOT AIM', 'Auto-aiming mode',
- 'Режим автонаведения'),
- ('PROP TR SHOT AIM 0', 'Trigger area',
- 'Область триггера'),
- ('PROP TR SHOT AIM 1', 'Entire map',
- 'По всей карте'),
- ('PROP TR SHOT AIM 2', 'Trace trigger area',
- 'Область триггера с трассировкой'),
- ('PROP TR SHOT AIM 3', 'Trace entire map',
- 'Вся карта с трассировкой'),
- ('PROP TR SHOT AMMO', 'Ammo limit',
- 'Кол-во патронов'),
- ('PROP TR SHOT RELOAD', 'Reload interval (in ticks)',
- 'Перезарядка (в тиках)'),
- ('PROP TR SHOT SIGHT', 'Sight interval (in ticks)',
- 'Реакция (в тиках)'),
- ('PROP TR SHOT PANEL', 'Indicator panel',
- 'Панель индикации'),
- ('PROP TR MESSAGE KIND', 'Message kind',
- 'Тип сообщения'),
- ('PROP TR MESSAGE KIND 0', 'Console message',
- 'Текст в консоли'),
- ('PROP TR MESSAGE KIND 1', 'Event message',
- 'Крупный текст по центру'),
- ('PROP TR MESSAGE TO', 'Send to',
- 'Получатель'),
- ('PROP TR MESSAGE TO 0', 'Me',
- 'Я'),
- ('PROP TR MESSAGE TO 1', 'My team',
- 'Моя команда'),
- ('PROP TR MESSAGE TO 2', 'Enemy team',
- 'Вражеская команда'),
- ('PROP TR MESSAGE TO 3', 'Red team',
- 'Красная команда'),
- ('PROP TR MESSAGE TO 4', 'Blue team',
- 'Синяя команда'),
- ('PROP TR MESSAGE TO 5', 'Everyone',
- 'Все игроки'),
- ('PROP TR MESSAGE TEXT', 'Message text',
- 'Текст сообщения'),
- ('PROP TR MESSAGE TIME', 'Time (in ticks)',
- 'Время показа (в тиках)'),
- ('PROP TR EFFECT TYPE', 'Effect type',
- 'Тип эффекта'),
- ('PROP TR EFFECT SUBTYPE', 'Effect subtype',
- 'Подтип эффекта'),
- ('PROP TR EFFECT COLOR', 'Effect color',
- 'Цвет эффекта'),
- ('PROP TR EFFECT CENTER', 'Trigger center',
- 'По центру'),
- ('PROP TR EFFECT VELX', 'Horizontal speed',
- 'Скорость по горизонтали'),
- ('PROP TR EFFECT VELY', 'Vertical speed',
- 'Скорость по вертикали'),
- ('PROP TR EFFECT SPL', 'Speed variance left',
- 'Отклонение влево'),
- ('PROP TR EFFECT SPR', 'Speed variance right',
- 'Отклонение вправо'),
- ('PROP TR EFFECT SPU', 'Speed variance up',
- 'Отклонение вверх'),
- ('PROP TR EFFECT SPD', 'Speed variance down',
- 'Отклонение вниз'),
- ('PROP TR EFFECT PARTICLE', 'Particle generator',
- 'Генератор частиц'),
- ('PROP TR EFFECT ANIMATION', 'Animation',
- 'Анимация'),
- ('PROP TR EFFECT SLIQUID', 'Water splash',
- 'Брызги воды'),
- ('PROP TR EFFECT LLIQUID', 'Light colored splash',
- 'Цветные брызги (светлее)'),
- ('PROP TR EFFECT DLIQUID', 'Dark colored splash',
- 'Цветные брызги (темнее)'),
- ('PROP TR EFFECT BLOOD', 'Blood',
- 'Кровь'),
- ('PROP TR EFFECT SPARK', 'Sparks',
- 'Искры'),
- ('PROP TR EFFECT BUBBLE', 'Bubbles',
- 'Пузырьки'),
-
- ('MSG ERROR', 'Error',
- 'Ошибка'),
- ('MSG WRONG TEXWIDTH', 'Panel Width must be a multiple of Texture Width (%d)',
- 'Ширина панели должна быть кратна ширине текстуры (%d)'),
- ('MSG WRONG TEXHEIGHT', 'Panel Height must be a multiple of Texture Height (%d)',
- 'Высота панели должна быть кратна высоте текстуры (%d)'),
- ('MSG WRONG ALPHA', 'Transparency must be in [0..255] interval',
- 'Прозрачность должна быть в интервале [0..255]'),
- ('MSG WRONG SIZE', 'Width and Height must be greater than 0',
- 'Ширина и высота должны быть больше 0'),
- ('MSG WRONG XY', 'X or Y coordinate hasn''t been set',
- 'Не задана X или Y координата'),
- ('MSG TEXTURE ALREADY', 'Texture "%s" already exists',
- 'Текстура "%s" уже добавлена'),
- ('MSG RES NAME 64', 'Resource "%s" name must not be longer than 64 chars',
- 'Имя ресурса "%s" должно быть не длиннее 64 символов'),
- ('MSG CHOOSE ITEM', 'Select Item',
- 'Выберите предмет'),
- ('MSG CHOOSE MONSTER', 'Select Monster',
- 'Выберите монстра'),
- ('MSG CHOOSE AREA', 'Select Area',
- 'Выберите область'),
- ('MSG CHOOSE TEXTURE', 'Select Texture',
- 'Выберите текстуру'),
- ('MSG CHOOSE RES', 'Resource hasn''t been selected',
- 'Не выбран ресурс'),
- ('MSG EXIT', 'Exit',
- 'Выход'),
- ('MSG EXIT PROMT', 'Leaving so soon?',
- 'Уже уходите?'),
- ('MSG DEL TEXTURE', 'Delete the texture',
- 'Удалить текстуру'),
- ('MSG DEL TEXTURE PROMT', 'Delete the texture "%s" ?',
- 'Удалить текстуру "%s" ?'),
- ('MSG DEL TEXTURE CANT', 'Can''t delete texture in use. Replace it on all panels with this texture.',
- 'Нельзя удалить используемую текстуру. Замените её на каждой панели с ней.'),
- ('MSG DEL RECENT', 'File does not longer exist',
- 'Этого файла больше нет'),
- ('MSG DEL RECENT PROMT', 'Remove entry from recent list?',
- 'Убрать запись из истории?'),
- ('MSG CLEAR MAP', 'New map',
- 'Новая карта'),
- ('MSG CLEAR MAP PROMT', 'Clear the entire map?',
- 'Очистить всю карту?'),
- ('MSG DELETE MAP', 'Delete the map',
- 'Удалить карту'),
- ('MSG DELETE MAP PROMT', 'Delete the map "%s" from "%s" ?',
- 'Удалить карту "%s" из "%s" ?'),
- ('MSG MAP DELETED', 'Map is deleted',
- 'Карта удалена'),
- ('MSG MAP DELETED PROMT', 'Map "%s" is deleted',
- 'Карта "%s" удалена'),
- ('MSG REOPEN MAP PROMT', 'Reopen this map?',
- 'Загрузить карту заново?'),
- ('MSG EXEC ERROR', 'Game start error',
- 'Ошибка запуска игры'),
- ('MSG SOUND ERROR', 'Can''t play sound',
- 'Не удалось проиграть звук'),
- ('MSG WAD ERROR', 'Can''t open WAD: %s',
- 'Ошибка при открытии WAD: %s'),
- ('MSG RES ERROR', 'Can''t read resource: %s:%s\%s',
- 'Ошибка при чтении ресурса: %s:%s\%s'),
- ('MSG PACKED', 'Map "%s" with resources saved to "%s"',
- 'Карта "%s" вместе с ресурсами сохранена в "%s"'),
- ('MSG MAP EXISTS', 'Map "%s" already exists. Overwrite?',
- 'Карта "%s" уже существует. Заменить?'),
- ('MSG SAVE MAP', 'Save the map',
- 'Сохранить карту'),
-
- ('HINT TELEPORT', 'Choose destination of Teleport',
- 'Выберите точку телепорта'),
- ('HINT SPAWN', 'Choose Spawn point',
- 'Выберите точку появления'),
- ('HINT PANEL DOOR', 'Choose Door',
- 'Выберите панель двери'),
- ('HINT PANEL TEXTURE', 'Choose textured Panel',
- 'Выберите панель с текстурой'),
- ('HINT PANEL SHOT', 'Choose textured shot indicator Panel',
- 'Выберите панель индикации выстрела с текстурой'),
- ('HINT PANEL LIFT', 'Choose Stream Panel',
- 'Выберите панель лифта'),
- ('HINT MONSTER', 'Choose Monster',
- 'Выберите монстра'),
- ('HINT EXT AREA', 'Specify action Area',
- 'Укажите область воздействия'),
- ('HINT WIDTH', 'Width: %d',
- 'Ширина: %d'),
- ('HINT HEIGHT', 'Height: %d',
- 'Высота: %d'),
-
- ('MENU FILE', 'File',
- 'Файл'),
- ('MENU FILE NEW', 'New Map',
- 'Новая карта'),
- ('MENU FILE OPEN', 'Open Map',
- 'Открыть карту'),
- ('MENU FILE SAVE', 'Save Map',
- 'Сохранить карту'),
- ('MENU FILE SAVE AS', 'Save Map As...',
- 'Сохранить карту как...'),
- ('MENU FILE OPEN WAD', 'Select Map',
- 'Выбрать карту'),
- ('MENU FILE REOPEN', 'Reopen Map',
- 'Открыть заново'),
- ('MENU FILE SAVE MINI', 'Save Mini-map',
- 'Сохранить мини-карту'),
- ('MENU FILE DELETE', 'Delete Map from WAD...',
- 'Удалить карту из WAD...'),
- ('MENU FILE PACK MAP', 'Pack Map',
- 'Упаковать карту'),
- ('MENU FILE EXIT', 'Exit',
- 'Выход'),
-
- ('MENU EDIT', 'Edit',
- 'Правка'),
- ('MENU EDIT UNDO', 'Undo',
- 'Отменить'),
- ('MENU EDIT COPY', 'Copy',
- 'Копировать'),
- ('MENU EDIT CUT', 'Cut',
- 'Вырезать'),
- ('MENU EDIT PASTE', 'Paste',
- 'Вставить'),
- ('MENU EDIT SELECT ALL', 'Select All',
- 'Выделить всё'),
- ('MENU EDIT TO FORE', 'Bring to Front',
- 'Передвинуть вперёд'),
- ('MENU EDIT TO BACK', 'Send to Back',
- 'Передвинуть назад'),
-
- ('MENU TOOLS', 'Tools',
- 'Инструменты'),
- ('MENU TOOLS SNAP GRID', 'Snap to Grid',
- 'Привязка к сетке'),
- ('MENU TOOLS MINIMAP', 'Show Mini-map',
- 'Мини-карта'),
- ('MENU TOOLS STEP GRID', 'Switch Grid step',
- 'Сменить шаг сетки'),
- ('MENU TOOLS SHOW EDGES', 'Switch Map edges',
- 'Границы карты'),
- ('MENU TOOLS LAYERS', 'Layers',
- 'Слои'),
-
- ('MENU SERV', 'Service',
- 'Сервис'),
- ('MENU SERV TEST', 'Check the Map',
- 'Проверка карты'),
- ('MENU SERV OPT', 'Optimize the Map',
- 'Оптимизация карты'),
- ('MENU SERV PREVIEW', 'Map Preview',
- 'Предварительный просмотр'),
- ('MENU SERV LAUNCH', 'In-game test',
- 'Тест карты в игре'),
-
- ('MENU SETS', 'Settings',
- 'Настройка'),
- ('MENU SETS MAP', 'Map parameters',
- 'Параметры карты'),
- ('MENU SETS EDITOR', 'Editor settings',
- 'Настройки редактора'),
- ('MENU SETS LAUNCH', 'In-game test settings',
- 'Настройки теста в игре'),
-
- ('MENU HELP', 'Help',
- 'Справка'),
- ('MENU HELP ABOUT', 'About',
- 'О программе'),
-
- ('MENU LAYER BACK', '1. Background',
- '1. Фон'),
- ('MENU LAYER WALL', '2. Walls',
- '2. Стены'),
- ('MENU LAYER FORE', '3. Foreground',
- '3. Передний план'),
- ('MENU LAYER STAIR', '4. Steps',
- '4. Ступени'),
- ('MENU LAYER WATER', '5. Liquids',
- '5. Жидкости'),
- ('MENU LAYER ITEM', '6. Items',
- '6. Предметы'),
- ('MENU LAYER MONSTER', '7. Monsters',
- '7. Монстры'),
- ('MENU LAYER AREA', '8. Areas',
- '8. Области'),
- ('MENU LAYER TRIGGER', '9. Triggers',
- '9. Триггеры'),
-
- ('MENU TB NEW', 'New Map',
- 'Новая карта'),
- ('MENU TB OPEN', 'Open Map',
- 'Открыть карту'),
- ('MENU TB SAVE', 'Save Map',
- 'Сохранить карту'),
- ('MENU TB OPEN WAD', 'Open another Map from same WAD',
- 'Открыть другую карту из этого же WAD''а'),
- ('MENU TB MINIMAP', 'Show Mini-map',
- 'Показать мини-карту'),
- ('MENU TB LAYERS', 'Show/Hide Objects',
- 'Отрисовка панелей/объектов'),
- ('MENU TB GRID', 'Grid On/Off',
- 'Включить/Отключить отображение сетки'),
- ('MENU TB GRID STEP', 'Switch Grid step',
- 'Изменить шаг сетки'),
- ('MENU TB LAUNCH', 'In-game test',
- 'Тест карты в игре'),
-
- ('MENU LAUNCH SETS', 'Settings...',
- 'Параметры...'),
-
- ('CAP FX TYPE', 'Select Effect type',
- 'Выберите тип эффекта'),
- ('CAP MONSTER TYPE', 'Select Monster type',
- 'Выберите тип монстра'),
- ('CAP ITEM TYPE', 'Select Item type',
- 'Выберите тип предмета'),
- ('CAP ABOUT', 'About Map Editor',
- 'О программе'),
- ('CAP ACT', 'Activation type',
- 'Тип активации'),
- ('CAP ADD SKY', 'Select Sky Texture',
- 'Выберите текстуру неба'),
- ('CAP ADD SOUND', 'Select Sound/Music',
- 'Выберите звук/музыку'),
- ('CAP ADD TEXTURE', 'Select Texture',
- 'Выберите текстуру'),
- ('CAP KEYS', 'Keys',
- 'Ключи'),
- ('CAP TEST', 'Map Checking',
- 'Проверка карты'),
- ('CAP OPT', 'Map Optimization',
- 'Оптимизация карты'),
- ('CAP SETS', 'Map Parameters',
- 'Параметры карты'),
- ('CAP LAUNCH', 'In-game test Settings',
- 'Настройки теста в игре'),
- ('CAP ES', 'Editor Settings',
- 'Настройки редактора'),
- ('CAP PACK', 'Pack Map',
- 'Упаковать карту'),
- ('CAP SAVE', 'Save Map',
- 'Сохранить карту'),
- ('CAP MINI', 'Save Mini-map',
- 'Сохранить мини-карту'),
- ('CAP SELECT', 'Select Map',
- 'Выберите карту'),
- ('CAP OPEN', 'Open Map',
- 'Открыть карту'),
- ('CAP REMOVE', 'Remove Map',
- 'Удалить карту'),
- ('CAP TEXTURE', 'Texture: %dx%d',
- 'Текстура: %dx%d'),
- ('CAP ANIMATION', 'Animation: %dx%d, %d frames',
- 'Анимация: %dx%d, %d кадров'),
- ('CAP STAT SELECTED', 'Selected objects: %d',
- 'Выделено объектов: %d'),
-
- ('CTRL PROP KEY', 'Property',
- 'Свойство'),
- ('CTRL PROP VALUE', 'Value',
- 'Значение'),
-
- ('CTRL PANELS', 'Panels',
- 'Панели'),
- ('CTRL ITEMS', 'Items',
- 'Предметы'),
- ('CTRL MONSTERS', 'Monsters',
- 'Монстры'),
- ('CTRL AREAS', 'Areas',
- 'Области'),
- ('CTRL TRIGGERS', 'Triggers',
- 'Триггеры'),
-
- ('CTRL LIST TEXTURE', 'Texture List',
- 'Список текстур'),
- ('CTRL LIST ITEM', 'Item List',
- 'Список предметов'),
- ('CTRL LIST MONSTER', 'Monster List',
- 'Список монстров'),
- ('CTRL LIST AREA', 'Area List',
- 'Список областей'),
- ('CTRL LIST TRIGGER', 'Trigger List',
- 'Список триггеров'),
- ('CTRL LIST ACTIVE', 'Activation Type',
- 'Тип активации триггера'),
- ('CTRL LIST KEYS', 'Keys Needed',
- 'Ключи для активации'),
-
- ('CTRL PREVIEW', 'Texture Preview',
- 'Предварительный просмотр'),
- ('CTRL ITEM DM', 'DM Only',
- 'Только в DM'),
- ('CTRL ITEM FALLS', 'Falls',
- 'Падает'),
- ('CTRL LEFT', 'Left',
- 'Влево'),
- ('CTRL RIGHT', 'Right',
- 'Вправо'),
-
- ('CTRL ACT PLAYER CLOSE', 'Player Collides',
- 'Игрок близко'),
- ('CTRL ACT MONSTER CLOSE', 'Monster Collides',
- 'Монстр близко'),
- ('CTRL ACT PLAYER PRESS', 'Player Pressed',
- 'Игрок нажал'),
- ('CTRL ACT MONSTER PRESS', 'Monster Pressed',
- 'Монстр нажал'),
- ('CTRL ACT SHOT', 'Shot',
- 'Выстрел'),
- ('CTRL ACT NO MONSTER', 'No Monsters',
- 'Монстров нет'),
-
- ('CTRL KEYS RED', 'Red Key',
- 'Красный ключ'),
- ('CTRL KEYS GREEN', 'Green Key',
- 'Зелёный ключ'),
- ('CTRL KEYS BLUE', 'Blue Key',
- 'Синий ключ'),
- ('CTRL KEYS TEAM RED', 'Red Team',
- 'Красная команда'),
- ('CTRL KEYS TEAM BLUE', 'Blue Team',
- 'Синяя команда'),
-
- ('CTRL OPT GB', 'Optimization',
- 'Оптимизация'),
- ('CTRL OPT TEXTURE', 'Texture Optimization',
- 'Оптимизация текстур'),
- ('CTRL OPT PANEL', 'Panel Optimization',
- 'Оптимизация панелей'),
- ('CTRL OPT WALL', 'Walls',
- 'Стены'),
- ('CTRL OPT FORE', 'Foreground',
- 'Передний план'),
- ('CTRL OPT BACK', 'Background',
- 'Фон'),
- ('CTRL OPT STAIR', 'Steps',
- 'Ступени'),
- ('CTRL OPT WATER', 'Water',
- 'Вода'),
- ('CTRL OPT ACID1', 'Acid 1',
- 'Кислота 1'),
- ('CTRL OPT ACID2', 'Acid 2',
- 'Кислота 2'),
- ('CTRL OPT LIFT', 'Streams',
- 'Лифты'),
- ('CTRL OPT BLOCKMON', 'Monster Boundary',
- 'Блокиратор монстров'),
- ('CTRL OPT DESC TEXTURE', 'Deletes unused textures from texture list.',
- 'Удаляет неиспользуемые текстуры из списка.'),
- ('CTRL OPT DESC PANEL', 'Merges nearby panels of same type. Increases game performance.',
- 'Объединяет одинаковые панели, расположенные вплотную друг к другу, увеличивая тем самым производительность игры.'),
- ('CTRL SETS STATS', 'Statistics:',
- 'Статистика:'),
- ('CTRL SETS SIZES', 'Map Size:',
- 'Размеры:'),
-
- ('CTRL LAUNCH DM', 'Deathmatch',
- 'Deathmatch'),
- ('CTRL LAUNCH TDM', 'Team Deathmatch',
- 'Team Deathmatch'),
- ('CTRL LAUNCH CTF', 'Capture the Flag',
- 'Capture the Flag'),
- ('CTRL LAUNCH COOP', 'Cooperative',
- 'Cooperative'),
- ('CTRL LAUNCH 2P', 'Two Players',
- 'Два игрока'),
- ('CTRL LAUNCH FF', 'Friendly Fire',
- 'Урон своих'),
- ('CTRL LAUNCH EXIT', 'Enable Exit',
- 'Включить выход'),
- ('CTRL LAUNCH WEAPONS', 'Weapons Stay',
- 'Оружие остаётся'),
- ('CTRL LAUNCH MONSTERS', 'Enable Monsters',
- 'Монстры в DM'),
- ('CTRL LAUNCH CLOSE', 'Close the game after exiting the map',
- 'Закрыть игру после выхода из карты'),
- ('CTRL LAUNCH OPEN', 'Select Doom 2D: Forever executable',
- 'Выберите файл игры Doom 2D: Forever'),
-
- ('CTRL ES GRID', 'Show Grid',
- 'Показывать сетку'),
- ('CTRL ES TEXTURE', 'Show Panel Texture',
- 'Показывать текстуру панели'),
- ('CTRL ES PANEL SIZE', 'Show Panel Size',
- 'Показывать размеры панели '),
- ('CTRL ES CHECKERBOARD', 'Use Checkerboard',
- 'Использовать шахматку'),
-
- ('CTRL PACK TEXTURES', 'Textures',
- 'Текстуры'),
- ('CTRL PACK SKY', 'Sky',
- 'Небо'),
- ('CTRL PACK MUSIC', 'Music',
- 'Музыку'),
- ('CTRL PACK ADD', 'Don''t overwrite WAD',
- 'Не перезаписывать WAD'),
- ('CTRL PACK NON STD', 'Non-standard Resources only',
- 'Только нестандартные ресурсы'),
-
- ('LAB TEX WIDTH', 'Texture Width:',
- 'Ширина текстуры:'),
- ('LAB TEX HEIGHT', 'Texture Height:',
- 'Высота текстуры:'),
-
- ('LAB SPECTRUM', 'Show the Spectrum',
- 'Показать спектр'),
-
- ('LAB ABOUT VER', 'Version 2.1.5',
- 'Версия 2.1.5'),
- ('LAB ABOUT AUTHOR', 'Author: rs.falcon',
- 'Автор: rs.falcon'),
- ('LAB ABOUT AUTHOR 2', 'Additions: Pss',
- 'Дорабатывал: Pss'),
- ('LAB ABOUT MAIL', 'rmw.falcon@mail.ru',
- 'rmw.falcon@mail.ru'),
- ('LAB ABOUT MAIL 2', 'pssxx@mail.ru',
- 'pssxx@mail.ru'),
- ('LAB ABOUT SITE', 'Doom 2D: Forever Web-site',
- 'Сайт Doom 2D: Forever'),
- ('LAB ABOUT HTTP', 'www.doom2d.org',
- 'www.doom2d.org'),
-
- ('LAB ADD WADS', 'WAD Files:',
- 'Список WAD-файлов:'),
- ('LAB ADD SECTIONS', 'WAD Sections:',
- 'Список секций WAD-файла:'),
-
- ('LAB SETS NAME', 'Map Name:',
- 'Название карты:'),
- ('LAB SETS DESC', 'Map Description',
- 'Описание карты:'),
- ('LAB SETS AUTHOR', 'Author:',
- 'Автор:'),
- ('LAB SETS BACK', 'Background/Sky:',
- 'Фон/Небо:'),
- ('LAB SETS MUSIC', 'Music:',
- 'Музыка:'),
- ('LAB SETS TEXTURES', 'Textures:',
- 'Текстур:'),
- ('LAB SETS PANELS', 'Panels:',
- 'Панелей:'),
- ('LAB SETS ITEMS', 'Items:',
- 'Предметов:'),
- ('LAB SETS MONSTERS', 'Monsters:',
- 'Монстров:'),
- ('LAB SETS AREAS', 'Areas:',
- 'Областей:'),
- ('LAB SETS TRIGGERS', 'Triggers:',
- 'Триггеров:'),
- ('LAB SETS SIZES', 'Current:',
- 'Текущий:'),
- ('LAB SETS WIDTH', 'Width:',
- 'Ширина:'),
- ('LAB SETS HEIGHT', 'Height:',
- 'Высота:'),
- ('LAB SETS MAPMOVE', 'Direction to shift map objects:',
- 'Направление смещения объектов карты:'),
- ('LAB SETS SNAPPING', 'Preserve snapping',
- 'Сохранять привязку'),
-
- ('LAB LAUNCH TIME', 'Time Limit:',
- 'Лимит времени:'),
- ('LAB LAUNCH SECS', 'seconds',
- 'секунд'),
- ('LAB LAUNCH SCORE', 'Score Limit:',
- 'Лимит очков:'),
- ('LAB LAUNCH PATH', 'Path to Doom2DF.exe:',
- 'Путь к Doom2DF.exe:'),
- ('LAB LAUNCH ARGS', 'Launch Arguments:',
- 'Параметры запуска:'),
-
- ('LAB ES GRID', 'Grid Step:',
- 'Шаг сетки:'),
- ('LAB ES GRID COLOR', 'Grid Color:',
- 'Цвет сетки:'),
- ('LAB ES GRID SIZE', 'Grid Dot Size:',
- 'Размер точек сетки:'),
- ('LAB ES BACK', 'Background Color:',
- 'Цвет фона:'),
- ('LAB ES PREVIEW', 'Texture Preview Background Color:',
- 'Цвет фона поля предпросмотра текстуры:'),
- ('LAB ES MINIMAP', 'Mini-map Scale:',
- 'Масштаб мини-карты:'),
- ('LAB ES RECENT', 'Recent Maps List Contains:',
- 'Запоминать последних открытых карт:'),
- ('LAB ES LANGUAGE', 'Language:',
- 'Язык:'),
- ('LAB ES COMPRESS', 'Compress archive when save',
- 'Сжимать архив при сохранении'),
- ('LAB ES BACKUP', 'Make backup before save',
- 'Резервная копия при сохранении'),
-
- ('LAB PACK SAVE TO', 'Save to:',
- 'Сохранить в:'),
- ('LAB PACK MAP NAME', 'Map Resource Name:',
- 'Название ресурса карты:'),
- ('LAB PACK TEXTURES', 'Texture Section:',
- 'Секция для текстур:'),
- ('LAB PACK SKY', 'Sky Section:',
- 'Секция для неба:'),
- ('LAB PACK MUSIC', 'Music Section:',
- 'Секция для музыки:'),
-
- ('LAB MINI SCALE', 'Scale:',
- 'Масштаб:'),
-
- ('BTN APPLY PROPS', 'Apply Properties',
- 'Применить свойства'),
- ('BTN OK', 'OK',
- 'OK'),
- ('BTN CANCEL', 'Cancel',
- 'Отмена'),
- ('BTN ADD', 'Add',
- 'Добавить'),
- ('BTN CLOSE', 'Close',
- 'Закрыть'),
- ('BTN ADD CLOSE', 'Add and Close',
- 'Добавить и закрыть'),
- ('BTN TEST AGAIN', 'Check',
- 'Проверить'),
- ('BTN START', 'Run',
- 'Начать'),
- ('BTN PACK', 'Pack',
- 'Упаковать'),
- ('BTN SAVE', 'Save',
- 'Сохранить'),
- ('BTN NO SOUND', 'No sound',
- 'Нет звука'),
- ('BTN TEXTURE ADD', 'Add texture to the list',
- 'Добавить текстуру в список'),
- ('BTN TEXTURE DELETE', 'Delete texture from the list',
- 'Удалить текстуру из списка'),
- ('BTN TEXTURE EMPTY', 'Deselect texture',
- 'Снять выбор с текстуры'),
-
- ('LOAD WAD', 'Reading WAD',
- 'Чтение WAD'),
- ('LOAD MAP', 'Loading Map',
- 'Чтение карты'),
- ('LOAD TEXTURES', 'Reading Textures',
- 'Чтение текстур'),
- ('LOAD PANELS', 'Reading Panels',
- 'Чтение панелей'),
- ('LOAD ITEMS', 'Reading Items',
- 'Чтение предметов'),
- ('LOAD MONSTERS', 'Reading Monsters',
- 'Чтение монстров'),
- ('LOAD AREAS', 'Reading Areas',
- 'Чтение областей'),
- ('LOAD TRIGGERS', 'Reading Triggers',
- 'Чтение триггеров'),
-
- ('TEST AREA WALL', 'Player collides with the wall and will be stuck.',
- 'Если в этой области появится игрок, то он застрянет в стене и не сможет двигаться.'),
- ('TEST AREA WALL STR', 'Area #%d collides with Map (%d:%d)',
- 'Область #%d пересекается с картой (%d:%d)'),
- ('TEST SPAWNS 1', 'There are several spawn points for First Player on the map',
- 'Несколько точек появления первого игрока'),
- ('TEST SPAWNS 2', 'There are several spawn points for Second Player on the map',
- 'Несколько точек появления второго игрока'),
- ('TEST SPAWNS', 'There are several spawn points on the map. Random one will be used.',
- 'Несколько точек появления игрока, будет использована случайная.'),
- ('TEST NO DM', 'There are no DM spawn points on the map',
- 'На карте нет точек DM'),
- ('TEST NO DM EX', 'There are no DM spawn points on the map. Only "Single Player" mode available.',
- 'На карте нет точек DM, поиграть получится только в режиме "Single Player".'),
- ('TEST MONSTER WALL', 'Monster collides with the wall and will be stuck.',
- 'Монстр пересекается с картой. Он застрянет в стене и не сможет двигаться'),
- ('TEST MONSTER WALL STR', 'Monster #%d collides with a map (%d:%d)',
- 'Монстр #%d пересекается с картой (%d:%d)'),
-
- ('OPT NO TEXTURES', 'Texture list is empty',
- 'Список текстур пуст'),
- ('OPT DELETED TEXTURES', 'Deleted Textures:',
- 'Удалённые текстуры:'),
- ('OPT TOTAL TEXTURES', 'Textures Total:',
- 'Всего текстур:'),
- ('OPT TEX DELETED', 'Textures Deleted:',
- 'Удалено текстур:'),
- ('OPT PANELS OPT', 'Panels Optimized:',
- 'Оптимизировано панелей:'),
- ('OPT WALLS', 'Walls Optimization...',
- 'Оптимизация стен...'),
- ('OPT FORES', 'Foreground Optimization...',
- 'Оптимизация переднего плана...'),
- ('OPT BACKS', 'Background Optimization...',
- 'Оптимизация фона...'),
- ('OPT STAIRS', 'Steps Optimization...',
- 'Оптимизация ступеней...'),
- ('OPT WATER', 'Water Optimization...',
- 'Оптимизация воды...'),
- ('OPT ACID1', 'Acid 1 Optimization...',
- 'Оптимизация кислоты 1...'),
- ('OPT ACID2', 'Acid 2 Optimization...',
- 'Оптимизация кислоты 2...'),
- ('OPT LIFTS', 'Streams Optimization...',
- 'Оптимизация лифтов...'),
- ('OPT BLOCKMON', 'Monster Boundaries Optimization...',
- 'Оптимизация блокираторов монстров....'),
- ('OPT TOTAL PANELS', 'Panels Total:',
- 'Всего панелей:'),
- ('OPT PANELS AFTER', 'Panels after Optimization:',
- 'Панелей после оптимизации:'),
-
- ('WAD SPECIAL MAP', '<MAP WAD-FILE>',
- '<WAD-ФАЙЛ КАРТЫ>'),
- ('WAD SPECIAL TEXS', '<EXTRA TEXTURES>',
- '<СПЕЦТЕКСТУРЫ>'),
-
- ('FILE FILTER ALL', 'Doom 2D: Forever Maps (*.dfz, *.wad)|*.dfz;*.wad|Doom 2D: Forever 0.30 Maps (*.ini)|*.ini|Все файлы (*.*)|*.*',
- 'Карты Doom 2D: Forever (*.dfz, *.wad)|*.dfz;*.wad|Старые карты Doom 2D: Forever 0.30 (*.ini)|*.ini|Все файлы (*.*)|*.*'),
- ('FILE FILTER WAD', 'Doom 2D: Forever Maps (*.dfz)|*.dfz|Doom 2D: Forever Maps (*.wad)|*.wad|Все файлы (*.*)|*.*',
- 'Карты Doom 2D: Forever (*.dfz)|*.dfz|Карты Doom 2D: Forever (*.wad)|*.wad|Все файлы (*.*)|*.*'),
-
- ('EDITOR TITLE', 'Doom 2D: Forever Map Editor',
- 'Редактор карт Doom 2D: Forever'),
-
-
- ('', '', '') );
-
+ const
+ InSourceLanguage = 'en_US';
procedure SetupArrays();
var
begin
// Да/Нет:
- BoolNames[False] := _lc[I_ARRAY_BOOL_FALSE];
- BoolNames[True] := _lc[I_ARRAY_BOOL_TRUE];
+ BoolNames[False] := MsgArrayBoolFalse;
+ BoolNames[True] := MsgArrayBoolTrue;
// Направления:
- DirNames[D_LEFT] := _lc[I_ARRAY_DIR_LEFT];
- DirNames[D_RIGHT] := _lc[I_ARRAY_DIR_RIGHT];
+ DirNames[D_LEFT] := MsgArrayDirLeft;
+ DirNames[D_RIGHT] := MsgArrayDirRight;
// Смены направления:
- DirNamesAdv[0] := _lc[I_ARRAY_DIR_SAME];
- DirNamesAdv[1] := _lc[I_ARRAY_DIR_LEFT];
- DirNamesAdv[2] := _lc[I_ARRAY_DIR_RIGHT];
- DirNamesAdv[3] := _lc[I_ARRAY_DIR_REVERSED];
+ DirNamesAdv[0] := MsgArrayDirSame;
+ DirNamesAdv[1] := MsgArrayDirLeft;
+ DirNamesAdv[2] := MsgArrayDirRight;
+ DirNamesAdv[3] := MsgArrayDirReversed;
// Направление (на кнопках):
- DirButtonNames[1] := _lc[I_ARRAY_DIRBTN_LEFT];
- DirButtonNames[2] := _lc[I_ARRAY_DIRBTN_RIGHT];
- DirButtonNames[3] := _lc[I_ARRAY_DIRBTN_UP];
- DirButtonNames[4] := _lc[I_ARRAY_DIRBTN_DOWN];
+ DirButtonNames[1] := MsgArrayDirbtnLeft;
+ DirButtonNames[2] := MsgArrayDirbtnRight;
+ DirButtonNames[3] := MsgArrayDirbtnUp;
+ DirButtonNames[4] := MsgArrayDirbtnDown;
// Названия панелей:
- PANELNAMES[0] := _lc[I_ARRAY_PANEL_WALL];
- PANELNAMES[1] := _lc[I_ARRAY_PANEL_BACK];
- PANELNAMES[2] := _lc[I_ARRAY_PANEL_FRONT];
- PANELNAMES[3] := _lc[I_ARRAY_PANEL_DOOR_OPEN];
- PANELNAMES[4] := _lc[I_ARRAY_PANEL_DOOR_CLOSE];
- PANELNAMES[5] := _lc[I_ARRAY_PANEL_STAIR];
- PANELNAMES[6] := _lc[I_ARRAY_PANEL_WATER];
- PANELNAMES[7] := _lc[I_ARRAY_PANEL_ACID_1];
- PANELNAMES[8] := _lc[I_ARRAY_PANEL_ACID_2];
- PANELNAMES[9] := _lc[I_ARRAY_PANEL_LIFT_UP];
- PANELNAMES[10] := _lc[I_ARRAY_PANEL_LIFT_DOWN];
- PANELNAMES[11] := _lc[I_ARRAY_PANEL_LIFT_LEFT];
- PANELNAMES[12] := _lc[I_ARRAY_PANEL_LIFT_RIGHT];
- PANELNAMES[13] := _lc[I_ARRAY_PANEL_BLOCKMON];
+ PANELNAMES[0] := MsgArrayPanelWall;
+ PANELNAMES[1] := MsgArrayPanelBack;
+ PANELNAMES[2] := MsgArrayPanelFront;
+ PANELNAMES[3] := MsgArrayPanelDoorOpen;
+ PANELNAMES[4] := MsgArrayPanelDoorClose;
+ PANELNAMES[5] := MsgArrayPanelStair;
+ PANELNAMES[6] := MsgArrayPanelWater;
+ PANELNAMES[7] := MsgArrayPanelAcid1;
+ PANELNAMES[8] := MsgArrayPanelAcid2;
+ PANELNAMES[9] := MsgArrayPanelLiftUp;
+ PANELNAMES[10] := MsgArrayPanelLiftDown;
+ PANELNAMES[11] := MsgArrayPanelLiftLeft;
+ PANELNAMES[12] := MsgArrayPanelLiftRight;
+ PANELNAMES[13] := MsgArrayPanelBlockmon;
// Названия эффектов:
- EffectNames[EFFECT_NONE] := _lc[I_ARRAY_FX_NONE];
- EffectNames[EFFECT_TELEPORT] := _lc[I_ARRAY_FX_TELEPORT];
- EffectNames[EFFECT_RESPAWN] := _lc[I_ARRAY_FX_RESPAWN];
- EffectNames[EFFECT_FIRE] := _lc[I_ARRAY_FX_FIRE];
+ EffectNames[EFFECT_NONE] := MsgArrayFxNone;
+ EffectNames[EFFECT_TELEPORT] := MsgArrayFxTeleport;
+ EffectNames[EFFECT_RESPAWN] := MsgArrayFxRespawn;
+ EffectNames[EFFECT_FIRE] := MsgArrayFxFire;
// Названия предметов:
- ItemNames[ITEM_MEDKIT_SMALL] := _lc[I_ARRAY_ITEM_MEDKIT];
- ItemNames[ITEM_MEDKIT_LARGE] := _lc[I_ARRAY_ITEM_LARGE_MEDKIT];
- ItemNames[ITEM_MEDKIT_BLACK] := _lc[I_ARRAY_ITEM_BLACK_MEDKIT];
- ItemNames[ITEM_ARMOR_GREEN] := _lc[I_ARRAY_ITEM_GREEN_ARMOR];
- ItemNames[ITEM_ARMOR_BLUE] := _lc[I_ARRAY_ITEM_BLUE_ARMOR];
- ItemNames[ITEM_SPHERE_BLUE] := _lc[I_ARRAY_ITEM_BLUE_SPHERE];
- ItemNames[ITEM_SPHERE_WHITE] := _lc[I_ARRAY_ITEM_MEGASPHERE];
- ItemNames[ITEM_SUIT] := _lc[I_ARRAY_ITEM_HAZ_SUIT];
- ItemNames[ITEM_OXYGEN] := _lc[I_ARRAY_ITEM_OXYGEN];
- ItemNames[ITEM_INVUL] := _lc[I_ARRAY_ITEM_INVULNERABILITY];
- ItemNames[ITEM_WEAPON_SAW] := _lc[I_ARRAY_ITEM_CHAINSAW];
- ItemNames[ITEM_WEAPON_SHOTGUN1] := _lc[I_ARRAY_ITEM_SHOTGUN];
- ItemNames[ITEM_WEAPON_SHOTGUN2] := _lc[I_ARRAY_ITEM_DB_SHOTGUN];
- ItemNames[ITEM_WEAPON_CHAINGUN] := _lc[I_ARRAY_ITEM_CHAINGUN];
- ItemNames[ITEM_WEAPON_ROCKETLAUNCHER] := _lc[I_ARRAY_ITEM_ROCKET_LAUNCHER];
- ItemNames[ITEM_WEAPON_PLASMA] := _lc[I_ARRAY_ITEM_PLASMA_RIFLE];
- ItemNames[ITEM_WEAPON_BFG] := _lc[I_ARRAY_ITEM_BFG];
- ItemNames[ITEM_WEAPON_SUPERPULEMET] := _lc[I_ARRAY_ITEM_SUPER_MINIGUN];
- ItemNames[ITEM_WEAPON_FLAMETHROWER] := _lc[I_ARRAY_ITEM_FLAMETHROWER];
- ItemNames[ITEM_AMMO_BULLETS] := _lc[I_ARRAY_ITEM_CLIP];
- ItemNames[ITEM_AMMO_BULLETS_BOX] := _lc[I_ARRAY_ITEM_AMMO_BOX];
- ItemNames[ITEM_AMMO_SHELLS] := _lc[I_ARRAY_ITEM_4_SHELLS];
- ItemNames[ITEM_AMMO_SHELLS_BOX] := _lc[I_ARRAY_ITEM_25_SHELLS];
- ItemNames[ITEM_AMMO_ROCKET] := _lc[I_ARRAY_ITEM_1_ROCKET];
- ItemNames[ITEM_AMMO_ROCKET_BOX] := _lc[I_ARRAY_ITEM_ROCKET_BOX];
- ItemNames[ITEM_AMMO_CELL] := _lc[I_ARRAY_ITEM_CELL];
- ItemNames[ITEM_AMMO_CELL_BIG] := _lc[I_ARRAY_ITEM_LARGE_CELL];
- ItemNames[ITEM_AMMO_FUELCAN] := _lc[I_ARRAY_ITEM_FUELCAN];
- ItemNames[ITEM_AMMO_BACKPACK] := _lc[I_ARRAY_ITEM_BACKPACK];
- ItemNames[ITEM_KEY_RED] := _lc[I_ARRAY_ITEM_KEY_RED];
- ItemNames[ITEM_KEY_GREEN] := _lc[I_ARRAY_ITEM_KEY_GREEN];
- ItemNames[ITEM_KEY_BLUE] := _lc[I_ARRAY_ITEM_KEY_BLUE];
- ItemNames[ITEM_WEAPON_KASTET] := '?';
+ ItemNames[ITEM_MEDKIT_SMALL] := MsgArrayItemMedkit;
+ ItemNames[ITEM_MEDKIT_LARGE] := MsgArrayItemLargeMedkit;
+ ItemNames[ITEM_MEDKIT_BLACK] := MsgArrayItemBlackMedkit;
+ ItemNames[ITEM_ARMOR_GREEN] := MsgArrayItemGreenArmor;
+ ItemNames[ITEM_ARMOR_BLUE] := MsgArrayItemBlueArmor;
+ ItemNames[ITEM_SPHERE_BLUE] := MsgArrayItemBlueSphere;
+ ItemNames[ITEM_SPHERE_WHITE] := MsgArrayItemMegasphere;
+ ItemNames[ITEM_SUIT] := MsgArrayItemHazSuit;
+ ItemNames[ITEM_OXYGEN] := MsgArrayItemOxygen;
+ ItemNames[ITEM_INVUL] := MsgArrayItemInvulnerability;
+ ItemNames[ITEM_WEAPON_SAW] := MsgArrayItemChainsaw;
+ ItemNames[ITEM_WEAPON_SHOTGUN1] := MsgArrayItemShotgun;
+ ItemNames[ITEM_WEAPON_SHOTGUN2] := MsgArrayItemDbShotgun;
+ ItemNames[ITEM_WEAPON_CHAINGUN] := MsgArrayItemChaingun;
+ ItemNames[ITEM_WEAPON_ROCKETLAUNCHER] := MsgArrayItemRocketLauncher;
+ ItemNames[ITEM_WEAPON_PLASMA] := MsgArrayItemPlasmaRifle;
+ ItemNames[ITEM_WEAPON_BFG] := MsgArrayItemBfg;
+ ItemNames[ITEM_WEAPON_SUPERCHAINGUN] := MsgArrayItemSuperChaingun;
+ ItemNames[ITEM_WEAPON_FLAMETHROWER] := MsgArrayItemFlamethrower;
+ ItemNames[ITEM_AMMO_BULLETS] := MsgArrayItemClip;
+ ItemNames[ITEM_AMMO_BULLETS_BOX] := MsgArrayItemAmmoBox;
+ ItemNames[ITEM_AMMO_SHELLS] := MsgArrayItem4Shells;
+ ItemNames[ITEM_AMMO_SHELLS_BOX] := MsgArrayItem25Shells;
+ ItemNames[ITEM_AMMO_ROCKET] := MsgArrayItem1Rocket;
+ ItemNames[ITEM_AMMO_ROCKET_BOX] := MsgArrayItemRocketBox;
+ ItemNames[ITEM_AMMO_CELL] := MsgArrayItemCell;
+ ItemNames[ITEM_AMMO_CELL_BIG] := MsgArrayItemLargeCell;
+ ItemNames[ITEM_AMMO_FUELCAN] := MsgArrayItemFuelcan;
+ ItemNames[ITEM_AMMO_BACKPACK] := MsgArrayItemBackpack;
+ ItemNames[ITEM_KEY_RED] := MsgArrayItemKeyRed;
+ ItemNames[ITEM_KEY_GREEN] := MsgArrayItemKeyGreen;
+ ItemNames[ITEM_KEY_BLUE] := MsgArrayItemKeyBlue;
+ ItemNames[ITEM_WEAPON_IRONFIST] := '?';
ItemNames[ITEM_WEAPON_PISTOL] := '??';
- ItemNames[ITEM_BOTTLE] := _lc[I_ARRAY_ITEM_BOTTLE];
- ItemNames[ITEM_HELMET] := _lc[I_ARRAY_ITEM_HELMET];
- ItemNames[ITEM_JETPACK] := _lc[I_ARRAY_ITEM_JETPACK];
- ItemNames[ITEM_INVIS] := _lc[I_ARRAY_ITEM_INVIS];
+ ItemNames[ITEM_BOTTLE] := MsgArrayItemBottle;
+ ItemNames[ITEM_HELMET] := MsgArrayItemHelmet;
+ ItemNames[ITEM_JETPACK] := MsgArrayItemJetpack;
+ ItemNames[ITEM_INVIS] := MsgArrayItemInvis;
// Названия снарядов:
- ShotNames[TRIGGER_SHOT_PISTOL] := _lc[I_ARRAY_SHOT_PISTOL];
- ShotNames[TRIGGER_SHOT_BULLET] := _lc[I_ARRAY_SHOT_BULLET];
- ShotNames[TRIGGER_SHOT_SHOTGUN] := _lc[I_ARRAY_SHOT_SHOTGUN];
- ShotNames[TRIGGER_SHOT_SSG] := _lc[I_ARRAY_SHOT_SSG];
- ShotNames[TRIGGER_SHOT_IMP] := _lc[I_ARRAY_SHOT_IMP];
- ShotNames[TRIGGER_SHOT_PLASMA] := _lc[I_ARRAY_SHOT_PLASMA];
- ShotNames[TRIGGER_SHOT_SPIDER] := _lc[I_ARRAY_SHOT_SPIDER];
- ShotNames[TRIGGER_SHOT_CACO] := _lc[I_ARRAY_SHOT_CACO];
- ShotNames[TRIGGER_SHOT_BARON] := _lc[I_ARRAY_SHOT_BARON];
- ShotNames[TRIGGER_SHOT_MANCUB] := _lc[I_ARRAY_SHOT_MANCUB];
- ShotNames[TRIGGER_SHOT_REV] := _lc[I_ARRAY_SHOT_REV];
- ShotNames[TRIGGER_SHOT_ROCKET] := _lc[I_ARRAY_SHOT_ROCKET];
- ShotNames[TRIGGER_SHOT_BFG] := _lc[I_ARRAY_SHOT_BFG];
- ShotNames[TRIGGER_SHOT_EXPL] := _lc[I_ARRAY_SHOT_EXPL];
- ShotNames[TRIGGER_SHOT_BFGEXPL] := _lc[I_ARRAY_SHOT_BFGEXPL];
- ShotNames[TRIGGER_SHOT_FLAME] := _lc[I_ARRAY_SHOT_FLAME];
+ ShotNames[TRIGGER_SHOT_PISTOL] := MsgArrayShotPistol;
+ ShotNames[TRIGGER_SHOT_BULLET] := MsgArrayShotBullet;
+ ShotNames[TRIGGER_SHOT_SHOTGUN] := MsgArrayShotShotgun;
+ ShotNames[TRIGGER_SHOT_SSG] := MsgArrayShotSsg;
+ ShotNames[TRIGGER_SHOT_IMP] := MsgArrayShotImp;
+ ShotNames[TRIGGER_SHOT_PLASMA] := MsgArrayShotPlasma;
+ ShotNames[TRIGGER_SHOT_SPIDER] := MsgArrayShotSpider;
+ ShotNames[TRIGGER_SHOT_CACO] := MsgArrayShotCaco;
+ ShotNames[TRIGGER_SHOT_BARON] := MsgArrayShotBaron;
+ ShotNames[TRIGGER_SHOT_MANCUB] := MsgArrayShotMancub;
+ ShotNames[TRIGGER_SHOT_REV] := MsgArrayShotRev;
+ ShotNames[TRIGGER_SHOT_ROCKET] := MsgArrayShotRocket;
+ ShotNames[TRIGGER_SHOT_BFG] := MsgArrayShotBfg;
+ ShotNames[TRIGGER_SHOT_EXPL] := MsgArrayShotExpl;
+ ShotNames[TRIGGER_SHOT_BFGEXPL] := MsgArrayShotBfgexpl;
+ ShotNames[TRIGGER_SHOT_FLAME] := MsgArrayShotFlame;
// Названия монстров:
- MonsterNames[MONSTER_DEMON] := _lc[I_ARRAY_MON_DEMON];
- MonsterNames[MONSTER_IMP] := _lc[I_ARRAY_MON_IMP];
- MonsterNames[MONSTER_ZOMBY] := _lc[I_ARRAY_MON_ZOMBIE];
- MonsterNames[MONSTER_SERG] := _lc[I_ARRAY_MON_SERGEANT];
- MonsterNames[MONSTER_CYBER] := _lc[I_ARRAY_MON_CYBER];
- MonsterNames[MONSTER_CGUN] := _lc[I_ARRAY_MON_CGUN];
- MonsterNames[MONSTER_BARON] := _lc[I_ARRAY_MON_HELL_BARON];
- MonsterNames[MONSTER_KNIGHT] := _lc[I_ARRAY_MON_HELL_KNIGHT];
- MonsterNames[MONSTER_CACO] := _lc[I_ARRAY_MON_CACODEMON];
- MonsterNames[MONSTER_SOUL] := _lc[I_ARRAY_MON_LOST_SOUL];
- MonsterNames[MONSTER_PAIN] := _lc[I_ARRAY_MON_PAIN_ELEMENTAL];
- MonsterNames[MONSTER_SPIDER] := _lc[I_ARRAY_MON_MASTERMIND];
- MonsterNames[MONSTER_BSP] := _lc[I_ARRAY_MON_ARACHNATRON];
- MonsterNames[MONSTER_MANCUB] := _lc[I_ARRAY_MON_MANCUBUS];
- MonsterNames[MONSTER_SKEL] := _lc[I_ARRAY_MON_REVENANT];
- MonsterNames[MONSTER_VILE] := _lc[I_ARRAY_MON_ARCHVILE];
- MonsterNames[MONSTER_FISH] := _lc[I_ARRAY_MON_FISH];
- MonsterNames[MONSTER_BARREL] := _lc[I_ARRAY_MON_BARREL];
- MonsterNames[MONSTER_ROBO] := _lc[I_ARRAY_MON_ROBOT];
- MonsterNames[MONSTER_MAN] := _lc[I_ARRAY_MON_PRIKOLIST];
+ MonsterNames[MONSTER_DEMON] := MsgArrayMonDemon;
+ MonsterNames[MONSTER_IMP] := MsgArrayMonImp;
+ MonsterNames[MONSTER_ZOMBY] := MsgArrayMonZombie;
+ MonsterNames[MONSTER_SERG] := MsgArrayMonSergeant;
+ MonsterNames[MONSTER_CYBER] := MsgArrayMonCyber;
+ MonsterNames[MONSTER_CGUN] := MsgArrayMonCgun;
+ MonsterNames[MONSTER_BARON] := MsgArrayMonHellBaron;
+ MonsterNames[MONSTER_KNIGHT] := MsgArrayMonHellKnight;
+ MonsterNames[MONSTER_CACO] := MsgArrayMonCacodemon;
+ MonsterNames[MONSTER_SOUL] := MsgArrayMonLostSoul;
+ MonsterNames[MONSTER_PAIN] := MsgArrayMonPainElemental;
+ MonsterNames[MONSTER_SPIDER] := MsgArrayMonMastermind;
+ MonsterNames[MONSTER_BSP] := MsgArrayMonArachnatron;
+ MonsterNames[MONSTER_MANCUB] := MsgArrayMonMancubus;
+ MonsterNames[MONSTER_SKEL] := MsgArrayMonRevenant;
+ MonsterNames[MONSTER_VILE] := MsgArrayMonArchvile;
+ MonsterNames[MONSTER_FISH] := MsgArrayMonFish;
+ MonsterNames[MONSTER_BARREL] := MsgArrayMonBarrel;
+ MonsterNames[MONSTER_ROBO] := MsgArrayMonRobot;
+ MonsterNames[MONSTER_MAN] := MsgArrayMonPrikolist;
// Названия областей:
- AreaNames[AREA_PLAYERPOINT1] := _lc[I_ARRAY_AREA_PLAYER_ONE];
- AreaNames[AREA_PLAYERPOINT2] := _lc[I_ARRAY_AREA_PLAYER_TWO];
- AreaNames[AREA_DMPOINT] := _lc[I_ARRAY_AREA_DM];
- AreaNames[AREA_REDFLAG] := _lc[I_ARRAY_AREA_FLAG_RED];
- AreaNames[AREA_BLUEFLAG] := _lc[I_ARRAY_AREA_FLAG_BLUE];
- AreaNames[AREA_DOMFLAG] := _lc[I_ARRAY_AREA_FLAG_DOM];
- AreaNames[AREA_REDTEAMPOINT] := _lc[I_ARRAY_AREA_TEAM_RED];
- AreaNames[AREA_BLUETEAMPOINT] := _lc[I_ARRAY_AREA_TEAM_BLUE];
+ AreaNames[AREA_PLAYERPOINT1] := MsgArrayAreaPlayerOne;
+ AreaNames[AREA_PLAYERPOINT2] := MsgArrayAreaPlayerTwo;
+ AreaNames[AREA_DMPOINT] := MsgArrayAreaDm;
+ AreaNames[AREA_REDFLAG] := MsgArrayAreaFlagRed;
+ AreaNames[AREA_BLUEFLAG] := MsgArrayAreaFlagBlue;
+ AreaNames[AREA_DOMFLAG] := MsgArrayAreaFlagDom;
+ AreaNames[AREA_REDTEAMPOINT] := MsgArrayAreaTeamRed;
+ AreaNames[AREA_BLUETEAMPOINT] := MsgArrayAreaTeamBlue;
// Названия триггеров:
- TriggerNames[TRIGGER_EXIT] := _lc[I_ARRAY_TR_EXIT];
- TriggerNames[TRIGGER_TELEPORT] := _lc[I_ARRAY_TR_TELEPORT];
- TriggerNames[TRIGGER_OPENDOOR] := _lc[I_ARRAY_TR_DOOR_OPEN];
- TriggerNames[TRIGGER_CLOSEDOOR] := _lc[I_ARRAY_TR_DOOR_CLOSE];
- TriggerNames[TRIGGER_DOOR] := _lc[I_ARRAY_TR_DOOR_SWITCH];
- TriggerNames[TRIGGER_DOOR5] := _lc[I_ARRAY_TR_DOOR_5_SEC];
- TriggerNames[TRIGGER_CLOSETRAP] := _lc[I_ARRAY_TR_TRAP_CLOSE];
- TriggerNames[TRIGGER_TRAP] := _lc[I_ARRAY_TR_TRAP];
- TriggerNames[TRIGGER_PRESS] := _lc[I_ARRAY_TR_EXTEND];
- TriggerNames[TRIGGER_SECRET] := _lc[I_ARRAY_TR_SECRET];
- TriggerNames[TRIGGER_LIFTUP] := _lc[I_ARRAY_TR_LIFT_UP];
- TriggerNames[TRIGGER_LIFTDOWN] := _lc[I_ARRAY_TR_LIFT_DOWN];
- TriggerNames[TRIGGER_LIFT] := _lc[I_ARRAY_TR_LIFT_SWITCH];
- TriggerNames[TRIGGER_TEXTURE] := _lc[I_ARRAY_TR_TEXTURE];
- TriggerNames[TRIGGER_ON] := _lc[I_ARRAY_TR_ON];
- TriggerNames[TRIGGER_OFF] := _lc[I_ARRAY_TR_OFF];
- TriggerNames[TRIGGER_ONOFF] := _lc[I_ARRAY_TR_SWITCH];
- TriggerNames[TRIGGER_SOUND] := _lc[I_ARRAY_TR_SOUND];
- TriggerNames[TRIGGER_SPAWNMONSTER] := _lc[I_ARRAY_TR_SPAWN_MONSTER];
- TriggerNames[TRIGGER_SPAWNITEM] := _lc[I_ARRAY_TR_SPAWN_ITEM];
- TriggerNames[TRIGGER_MUSIC] := _lc[I_ARRAY_TR_MUSIC];
- TriggerNames[TRIGGER_PUSH] := _lc[I_ARRAY_TR_PUSH];
- TriggerNames[TRIGGER_SCORE] := _lc[I_ARRAY_TR_SCORE];
- TriggerNames[TRIGGER_MESSAGE] := _lc[I_ARRAY_TR_MESSAGE];
- TriggerNames[TRIGGER_DAMAGE] := _lc[I_ARRAY_TR_DAMAGE];
- TriggerNames[TRIGGER_HEALTH] := _lc[I_ARRAY_TR_HEALTH];
- TriggerNames[TRIGGER_SHOT] := _lc[I_ARRAY_TR_SHOT];
- TriggerNames[TRIGGER_EFFECT] := _lc[I_ARRAY_TR_EFFECT];
+ TriggerNames[TRIGGER_EXIT] := MsgArrayTrExit;
+ TriggerNames[TRIGGER_TELEPORT] := MsgArrayTrTeleport;
+ TriggerNames[TRIGGER_OPENDOOR] := MsgArrayTrDoorOpen;
+ TriggerNames[TRIGGER_CLOSEDOOR] := MsgArrayTrDoorClose;
+ TriggerNames[TRIGGER_DOOR] := MsgArrayTrDoorSwitch;
+ TriggerNames[TRIGGER_DOOR5] := MsgArrayTrDoor5Sec;
+ TriggerNames[TRIGGER_CLOSETRAP] := MsgArrayTrTrapClose;
+ TriggerNames[TRIGGER_TRAP] := MsgArrayTrTrap;
+ TriggerNames[TRIGGER_PRESS] := MsgArrayTrExtend;
+ TriggerNames[TRIGGER_SECRET] := MsgArrayTrSecret;
+ TriggerNames[TRIGGER_LIFTUP] := MsgArrayTrLiftUp;
+ TriggerNames[TRIGGER_LIFTDOWN] := MsgArrayTrLiftDown;
+ TriggerNames[TRIGGER_LIFT] := MsgArrayTrLiftSwitch;
+ TriggerNames[TRIGGER_TEXTURE] := MsgArrayTrTexture;
+ TriggerNames[TRIGGER_ON] := MsgArrayTrOn;
+ TriggerNames[TRIGGER_OFF] := MsgArrayTrOff;
+ TriggerNames[TRIGGER_ONOFF] := MsgArrayTrSwitch;
+ TriggerNames[TRIGGER_SOUND] := MsgArrayTrSound;
+ TriggerNames[TRIGGER_SPAWNMONSTER] := MsgArrayTrSpawnMonster;
+ TriggerNames[TRIGGER_SPAWNITEM] := MsgArrayTrSpawnItem;
+ TriggerNames[TRIGGER_MUSIC] := MsgArrayTrMusic;
+ TriggerNames[TRIGGER_PUSH] := MsgArrayTrPush;
+ TriggerNames[TRIGGER_SCORE] := MsgArrayTrScore;
+ TriggerNames[TRIGGER_MESSAGE] := MsgArrayTrMessage;
+ TriggerNames[TRIGGER_DAMAGE] := MsgArrayTrDamage;
+ TriggerNames[TRIGGER_HEALTH] := MsgArrayTrHealth;
+ TriggerNames[TRIGGER_SHOT] := MsgArrayTrShot;
+ TriggerNames[TRIGGER_EFFECT] := MsgArrayTrEffect;
// Установка значений в панели выбора объектов:
with MainForm do
lbTriggersList.Items.Add(TriggerNames[i]);
clbActivationType.Clear();
- clbActivationType.Items.Add(_lc[I_CTRL_ACT_PLAYER_CLOSE]);
- clbActivationType.Items.Add(_lc[I_CTRL_ACT_MONSTER_CLOSE]);
- clbActivationType.Items.Add(_lc[I_CTRL_ACT_PLAYER_PRESS]);
- clbActivationType.Items.Add(_lc[I_CTRL_ACT_MONSTER_PRESS]);
- clbActivationType.Items.Add(_lc[I_CTRL_ACT_SHOT]);
- clbActivationType.Items.Add(_lc[I_CTRL_ACT_NO_MONSTER]);
+ clbActivationType.Items.Add(MsgCtrlActPlayerClose);
+ clbActivationType.Items.Add(MsgCtrlActMonsterClose);
+ clbActivationType.Items.Add(MsgCtrlActPlayerPress);
+ clbActivationType.Items.Add(MsgCtrlActMonsterPress);
+ clbActivationType.Items.Add(MsgCtrlActShot);
+ clbActivationType.Items.Add(MsgCtrlActNoMonster);
clbKeys.Clear();
- clbKeys.Items.Add(_lc[I_CTRL_KEYS_RED]);
- clbKeys.Items.Add(_lc[I_CTRL_KEYS_GREEN]);
- clbKeys.Items.Add(_lc[I_CTRL_KEYS_BLUE]);
- clbKeys.Items.Add(_lc[I_CTRL_KEYS_TEAM_RED]);
- clbKeys.Items.Add(_lc[I_CTRL_KEYS_TEAM_BLUE]);
+ clbKeys.Items.Add(MsgCtrlKeysRed);
+ clbKeys.Items.Add(MsgCtrlKeysGreen);
+ clbKeys.Items.Add(MsgCtrlKeysBlue);
+ clbKeys.Items.Add(MsgCtrlKeysTeamRed);
+ clbKeys.Items.Add(MsgCtrlKeysTeamBlue);
end;
end;
procedure SetupCaptions();
-var
- i: Integer;
-
+ var i: Integer; s: AnsiString;
begin
// Главная форма:
with MainForm do
begin
// Заголовок:
- FormCaption := _lc[I_EDITOR_TITLE];
+ s := g_GetBuildHash(false);
+ if s = 'custom build' then
+ s := s + ' by ' + g_GetBuilderName() + ' ' + EDITOR_BUILDDATE + ' ' + EDITOR_BUILDTIME;
+ FormCaption := MsgEditorTitle + ' (' + s + ')';
i := Pos('-', Caption);
if i > 0 then
begin
end
else
Caption := FormCaption;
- // Главное меню:
- // "Файл":
- miMenuFile.Caption := _lc[I_MENU_FILE];
- miNewMap.Caption := _lc[I_MENU_FILE_NEW];
- miOpenMap.Caption := _lc[I_MENU_FILE_OPEN];
- miSaveMap.Caption := _lc[I_MENU_FILE_SAVE];
- miSaveMapAs.Caption := _lc[I_MENU_FILE_SAVE_AS];
- miOpenWadMap.Caption := _lc[I_MENU_FILE_OPEN_WAD];
- miReopenMap.Caption := _lc[I_MENU_FILE_REOPEN];
- miSaveMiniMap.Caption := _lc[I_MENU_FILE_SAVE_MINI];
- miDeleteMap.Caption := _lc[I_MENU_FILE_DELETE];
- miPackMap.Caption := _lc[I_MENU_FILE_PACK_MAP];
- miExit.Caption := _lc[I_MENU_FILE_EXIT];
- // "Правка":
- miMenuEdit.Caption := _lc[I_MENU_EDIT];
- miUndo.Caption := _lc[I_MENU_EDIT_UNDO];
- miCopy.Caption := _lc[I_MENU_EDIT_COPY];
- miCut.Caption := _lc[I_MENU_EDIT_CUT];
- miPaste.Caption := _lc[I_MENU_EDIT_PASTE];
- miSelectAll.Caption := _lc[I_MENU_EDIT_SELECT_ALL];
- miToFore.Caption := _lc[I_MENU_EDIT_TO_FORE];
- miToBack.Caption := _lc[I_MENU_EDIT_TO_BACK];
- // "Инструменты":
- miMenuTools.Caption := _lc[I_MENU_TOOLS];
- miSnapToGrid.Caption := _lc[I_MENU_TOOLS_SNAP_GRID];
- miMiniMap.Caption := _lc[I_MENU_TOOLS_MINIMAP];
- miSwitchGrid.Caption := _lc[I_MENU_TOOLS_STEP_GRID];
- miShowEdges.Caption := _lc[I_MENU_TOOLS_SHOW_EDGES];
- miLayers.Caption := _lc[I_MENU_TOOLS_LAYERS];
- miLayer1.Caption := _lc[I_MENU_LAYER_BACK];
- miLayer2.Caption := _lc[I_MENU_LAYER_WALL];
- miLayer3.Caption := _lc[I_MENU_LAYER_FORE];
- miLayer4.Caption := _lc[I_MENU_LAYER_STAIR];
- miLayer5.Caption := _lc[I_MENU_LAYER_WATER];
- miLayer6.Caption := _lc[I_MENU_LAYER_ITEM];
- miLayer7.Caption := _lc[I_MENU_LAYER_MONSTER];
- miLayer8.Caption := _lc[I_MENU_LAYER_AREA];
- miLayer9.Caption := _lc[I_MENU_LAYER_TRIGGER];
- // "Сервис":
- miMenuService.Caption := _lc[I_MENU_SERV];
- miCheckMap.Caption := _lc[I_MENU_SERV_TEST];
- miOptimmization.Caption := _lc[I_MENU_SERV_OPT];
- miMapPreview.Caption := _lc[I_MENU_SERV_PREVIEW];
- miTestMap.Caption := _lc[I_MENU_SERV_LAUNCH];
- // "Настройка":
- miMenuSettings.Caption := _lc[I_MENU_SETS];
- miMapOptions.Caption := _lc[I_MENU_SETS_MAP];
- miOptions.Caption := _lc[I_MENU_SETS_EDITOR];
- miMapTestSettings.Caption := _lc[I_MENU_SETS_LAUNCH];
- // "Справка":
- miMenuHelp.Caption := _lc[I_MENU_HELP];
- miAbout.Caption := _lc[I_MENU_HELP_ABOUT];
-
- // Панель инструментов:
- tbNewMap.Hint := _lc[I_MENU_TB_NEW];
- tbOpenMap.Hint := _lc[I_MENU_TB_OPEN];
- tbSaveMap.Hint := _lc[I_MENU_TB_SAVE];
- tbOpenWadMap.Hint := _lc[I_MENU_TB_OPEN_WAD];
- tbShowMap.Hint := _lc[I_MENU_TB_MINIMAP];
- tbShow.Hint := _lc[I_MENU_TB_LAYERS];
- tbGridOn.Hint := _lc[I_MENU_TB_GRID];
- tbGrid.Hint := _lc[I_MENU_TB_GRID_STEP];
- tbTestMap.Hint := _lc[I_MENU_TB_LAUNCH];
- // Всплывающее меню для кнопки слоев:
- miLayerP1.Caption := _lc[I_MENU_LAYER_BACK];
- miLayerP2.Caption := _lc[I_MENU_LAYER_WALL];
- miLayerP3.Caption := _lc[I_MENU_LAYER_FORE];
- miLayerP4.Caption := _lc[I_MENU_LAYER_STAIR];
- miLayerP5.Caption := _lc[I_MENU_LAYER_WATER];
- miLayerP6.Caption := _lc[I_MENU_LAYER_ITEM];
- miLayerP7.Caption := _lc[I_MENU_LAYER_MONSTER];
- miLayerP8.Caption := _lc[I_MENU_LAYER_AREA];
- miLayerP9.Caption := _lc[I_MENU_LAYER_TRIGGER];
- // Всплывающее меню для кнопки теста карты:
- miMapTestPMSet.Caption := _lc[I_MENU_LAUNCH_SETS];
-
- // Кнопка применения свойств:
- bApplyProperty.Caption := _lc[I_BTN_APPLY_PROPS];
- // Редактор свойств объектов:
- vleObjectProperty.TitleCaptions[0] := _lc[I_CTRL_PROP_KEY];
- vleObjectProperty.TitleCaptions[1] := _lc[I_CTRL_PROP_VALUE];
-
- // Вкладка "Панели":
- tsPanels.Caption := _lc[I_CTRL_PANELS];
- lbPanelType.Hint := _lc[I_PROP_PANEL_TYPE];
- lbTextureList.Hint := _lc[I_CTRL_LIST_TEXTURE];
- // Панель настройки текстур:
- LabelTxW.Caption := _lc[I_LAB_TEX_WIDTH];
- LabelTxH.Caption := _lc[I_LAB_TEX_HEIGHT];
- cbPreview.Caption := _lc[I_CTRL_PREVIEW];
- bbAddTexture.Hint := _lc[I_BTN_TEXTURE_ADD];
- bbRemoveTexture.Hint := _lc[I_BTN_TEXTURE_DELETE];
- bClearTexture.Hint := _lc[I_BTN_TEXTURE_EMPTY];
-
- // Вкладка "Предметы":
- tsItems.Caption := _lc[I_CTRL_ITEMS];
- lbItemList.Hint := _lc[I_CTRL_LIST_ITEM];
- cbOnlyDM.Caption := _lc[I_CTRL_ITEM_DM];
- cbFall.Caption := _lc[I_CTRL_ITEM_FALLS];
-
- // Вкладка "Монстры":
- tsMonsters.Caption := _lc[I_CTRL_MONSTERS];
- lbMonsterList.Hint := _lc[I_CTRL_LIST_MONSTER];
- rbMonsterLeft.Caption := _lc[I_CTRL_LEFT];
- rbMonsterRight.Caption := _lc[I_CTRL_RIGHT];
-
- // Вкладка "Области":
- tsAreas.Caption := _lc[I_CTRL_AREAS];
- lbAreasList.Hint := _lc[I_CTRL_LIST_AREA];
- rbAreaLeft.Caption := _lc[I_CTRL_LEFT];
- rbAreaRight.Caption := _lc[I_CTRL_RIGHT];
-
- // Вкладка "Триггеры":
- tsTriggers.Caption := _lc[I_CTRL_TRIGGERS];
- lbTriggersList.Hint := _lc[I_CTRL_LIST_TRIGGER];
- clbActivationType.Hint := _lc[I_CTRL_LIST_ACTIVE];
- clbKeys.Hint := _lc[I_CTRL_LIST_KEYS];
+
+ // Apple menu:
+ miAppleAbout.Caption := MsgMenuAppleAbout;
+ miApplePref.Caption := MsgMenuApplePref;
+ // File menu:
+ miMenuFile.Caption := MsgMenuFile;
+ miNewMap.Caption := MsgMenuFileNew;
+ miOpenMap.Caption := MsgMenuFileOpen;
+ miMacRecentSubMenu.Caption := MsgMenuFileRecentMac;
+ miMacRecentClear.Caption := MsgMenuFileRecentClearMac;
+ miSaveMap.Caption := MsgMenuFileSave;
+ miSaveMapAs.Caption := MsgMenuFileSaveAs;
+ miOpenWadMap.Caption := MsgMenuFileOpenWad;
+ miReopenMap.Caption := MsgMenuFileReopen;
+ miSaveMiniMap.Caption := MsgMenuFileSaveMini;
+ miDeleteMap.Caption := MsgMenuFileDelete;
+ miPackMap.Caption := MsgMenuFilePackMap;
+ miWinRecent.Caption := MsgMenuFileRecentWin;
+ miExit.Caption := MsgMenuFileExitWin;
+ // Edit menu:
+ miMenuEdit.Caption := MsgMenuEdit;
+ miUndo.Caption := MsgMenuEditUndo;
+ miCopy.Caption := MsgMenuEditCopy;
+ miCut.Caption := MsgMenuEditCut;
+ miPaste.Caption := MsgMenuEditPaste;
+ miSelectAll.Caption := MsgMenuEditSelectAll;
+ miSnapToGrid.Caption := MsgMenuEditSnapGrid;
+ miSwitchGrid.Caption := MsgMenuEditStepGrid;
+ miToFore.Caption := MsgMenuEditToFore;
+ miToBack.Caption := MsgMenuEditToBack;
+ miMapOptions.Caption := MsgMenuEditMapProps;
+ miOptions.Caption := MsgMenuEditPrefWin;
+ // View menu:
+ miMenuView.Caption := MsgMenuView;
+ miLayers.Caption := MsgMenuViewLayers;
+ miLayer1.Caption := MsgMenuLayerBack;
+ miLayer2.Caption := MsgMenuLayerWall;
+ miLayer3.Caption := MsgMenuLayerFore;
+ miLayer4.Caption := MsgMenuLayerStair;
+ miLayer5.Caption := MsgMenuLayerWater;
+ miLayer6.Caption := MsgMenuLayerItem;
+ miLayer7.Caption := MsgMenuLayerMonster;
+ miLayer8.Caption := MsgMenuLayerArea;
+ miLayer9.Caption := MsgMenuLayerTrigger;
+ miMiniMap.Caption := MsgMenuViewMinimap;
+ miShowEdges.Caption := MsgMenuViewBounds;
+ miMapPreview.Caption := MsgMenuViewPreview;
+ // Service menu:
+ miMenuService.Caption := MsgMenuServ;
+ miCheckMap.Caption := MsgMenuServTest;
+ miOptimmization.Caption := MsgMenuServOpt;
+ miTestMap.Caption := MsgMenuServLaunch;
+ // Window menu:
+ miMenuWindow.Caption := MsgMenuWindow;
+ miMacMinimize.Caption := MsgMenuWindowMinimize;
+ miMacZoom.Caption := MsgMenuWindowZoom;
+ // Help menu:
+ miMenuHelp.Caption := MsgMenuHelp;
+ miAbout.Caption := MsgMenuHelpAboutWin;
+
+ // Toolbar:
+ tbNewMap.Hint := MsgMenuTbNew;
+ tbOpenMap.Hint := MsgMenuTbOpen;
+ tbSaveMap.Hint := MsgMenuTbSave;
+ tbOpenWadMap.Hint := MsgMenuTbOpenWad;
+ tbShowMap.Hint := MsgMenuTbMinimap;
+ tbShow.Hint := MsgMenuTbLayers;
+ miLayerP1.Caption := MsgMenuLayerBack;
+ miLayerP2.Caption := MsgMenuLayerWall;
+ miLayerP3.Caption := MsgMenuLayerFore;
+ miLayerP4.Caption := MsgMenuLayerStair;
+ miLayerP5.Caption := MsgMenuLayerWater;
+ miLayerP6.Caption := MsgMenuLayerItem;
+ miLayerP7.Caption := MsgMenuLayerMonster;
+ miLayerP8.Caption := MsgMenuLayerArea;
+ miLayerP9.Caption := MsgMenuLayerTrigger;
+ tbGridOn.Hint := MsgMenuTbGrid;
+ tbGrid.Hint := MsgMenuTbGridStep;
+ tbTestMap.Hint := MsgMenuTbLaunch;
+
+ // Object property editor:
+ bApplyProperty.Caption := MsgBtnApplyProps;
+ vleObjectProperty.TitleCaptions[0] := MsgCtrlPropKey;
+ vleObjectProperty.TitleCaptions[1] := MsgCtrlPropValue;
+
+ // Panels Tab:
+ tsPanels.Caption := MsgCtrlPanels;
+ lbPanelType.Hint := MsgPropPanelType;
+ lbTextureList.Hint := MsgCtrlListTexture;
+ LabelTxW.Caption := MsgLabTexWidth;
+ LabelTxH.Caption := MsgLabTexHeight;
+ cbPreview.Caption := MsgCtrlPreview;
+ bbAddTexture.Hint := MsgBtnTextureAdd;
+ bbRemoveTexture.Hint := MsgBtnTextureDelete;
+ bClearTexture.Hint := MsgBtnTextureEmpty;
+
+ // Items Tab:
+ tsItems.Caption := MsgCtrlItems;
+ lbItemList.Hint := MsgCtrlListItem;
+ cbOnlyDM.Caption := MsgCtrlItemDm;
+ cbFall.Caption := MsgCtrlItemFalls;
+
+ // Monters Tab:
+ tsMonsters.Caption := MsgCtrlMonsters;
+ lbMonsterList.Hint := MsgCtrlListMonster;
+ rbMonsterLeft.Caption := MsgCtrlLeft;
+ rbMonsterRight.Caption := MsgCtrlRight;
+
+ // Areas Tab:
+ tsAreas.Caption := MsgCtrlAreas;
+ lbAreasList.Hint := MsgCtrlListArea;
+ rbAreaLeft.Caption := MsgCtrlLeft;
+ rbAreaRight.Caption := MsgCtrlRight;
+
+ // Triggers Tab:
+ tsTriggers.Caption := MsgCtrlTriggers;
+ lbTriggersList.Hint := MsgCtrlListTrigger;
+ clbActivationType.Hint := MsgCtrlListActive;
+ clbKeys.Hint := MsgCtrlListKeys;
end;
// Форма "О программе":
with AboutForm do
begin
- Caption := _lc[I_CAP_ABOUT];
- LabelTitle.Caption := _lc[I_EDITOR_TITLE];
- LabelVer.Caption := _lc[I_LAB_ABOUT_VER];
- LabelAuthor.Caption := _lc[I_LAB_ABOUT_AUTHOR];
- LabelAuthor2.Caption := _lc[I_LAB_ABOUT_AUTHOR_2];
- LabelMail.Caption := _lc[I_LAB_ABOUT_MAIL];
- LabelMail2.Caption := _lc[I_LAB_ABOUT_MAIL_2];
- LabelSite.Caption := _lc[I_LAB_ABOUT_SITE];
- LabelHttp.Caption := _lc[I_LAB_ABOUT_HTTP];
+ Caption := MsgCapAbout;
+ LabelTitle.Caption := MsgEditorTitle;
+ LabelVer.Caption := MsgLabAboutVer;
+ LabelAuthor.Caption := MsgLabAboutAuthor;
+ LabelAuthor2.Caption := MsgLabAboutAuthor2;
+ LabelMail.Caption := MsgLabAboutMail;
+ LabelMail2.Caption := MsgLabAboutMail2;
+ LabelSite.Caption := MsgLabAboutSite;
+ LabelHttp.Caption := MsgLabAboutHttp;
end;
// Форма "Тип активации":
with ActivationTypeForm do
begin
- Caption := _lc[I_CAP_ACT];
- cbPlayerCollide.Caption := _lc[I_CTRL_ACT_PLAYER_CLOSE];
- cbMonsterCollide.Caption := _lc[I_CTRL_ACT_MONSTER_CLOSE];
- cbPlayerPress.Caption := _lc[I_CTRL_ACT_PLAYER_PRESS];
- cbMonsterPress.Caption := _lc[I_CTRL_ACT_MONSTER_PRESS];
- cbShot.Caption := _lc[I_CTRL_ACT_SHOT];
- cbNoMonster.Caption := _lc[I_CTRL_ACT_NO_MONSTER];
- bOK.Caption := _lc[I_BTN_OK];
+ Caption := MsgCapAct;
+ cbPlayerCollide.Caption := MsgCtrlActPlayerClose;
+ cbMonsterCollide.Caption := MsgCtrlActMonsterClose;
+ cbPlayerPress.Caption := MsgCtrlActPlayerPress;
+ cbMonsterPress.Caption := MsgCtrlActMonsterPress;
+ cbShot.Caption := MsgCtrlActShot;
+ cbNoMonster.Caption := MsgCtrlActNoMonster;
+ bOK.Caption := MsgBtnOk;
end;
// Форма "Выбор текстуры для неба":
with AddSkyForm do
begin
- Caption := _lc[I_CAP_ADD_SKY];
- LabelWADs.Caption := _lc[I_LAB_ADD_WADS];
- LabelSections.Caption := _lc[I_LAB_ADD_SECTIONS];
- bOK.Caption := _lc[I_BTN_OK];
- bCancel.Caption := _lc[I_BTN_CANCEL];
+ Caption := MsgCapAddSky;
+ LabelWADs.Caption := MsgLabAddWads;
+ LabelSections.Caption := MsgLabAddSections;
+ bOK.Caption := MsgBtnOk;
+ bCancel.Caption := MsgBtnCancel;
end;
// Форма "Выбор звука или музыки":
with AddSoundForm do
begin
- Caption := _lc[I_CAP_ADD_SOUND];
- LabelWADs.Caption := _lc[I_LAB_ADD_WADS];
- LabelSections.Caption := _lc[I_LAB_ADD_SECTIONS];
- bOK.Caption := _lc[I_BTN_OK];
- bCancel.Caption := _lc[I_BTN_CANCEL];
- bEmpty.Caption := _lc[I_BTN_NO_SOUND];
+ Caption := MsgCapAddSound;
+ LabelWADs.Caption := MsgLabAddWads;
+ LabelSections.Caption := MsgLabAddSections;
+ bOK.Caption := MsgBtnOk;
+ bCancel.Caption := MsgBtnCancel;
+ bEmpty.Caption := MsgBtnNoSound;
end;
// Форма "Выбор текстуры":
with AddTextureForm do
begin
- Caption := _lc[I_CAP_ADD_TEXTURE];
- LabelWADs.Caption := _lc[I_LAB_ADD_WADS];
- LabelSections.Caption := _lc[I_LAB_ADD_SECTIONS];
- bAddTexture.Caption := _lc[I_BTN_ADD];
- bClose.Caption := _lc[I_BTN_CLOSE];
- bAddClose.Caption := _lc[I_BTN_ADD_CLOSE];
+ Caption := MsgCapAddTexture;
+ LabelWADs.Caption := MsgLabAddWads;
+ LabelSections.Caption := MsgLabAddSections;
+ bAddTexture.Caption := MsgBtnAdd;
+ bClose.Caption := MsgBtnClose;
+ bAddClose.Caption := MsgBtnAddClose;
end;
// Форма "Выбор типа монстра" / "Выбор типа предмета":
- ChooseTypeForm.bOK.Caption := _lc[I_BTN_OK];
+ ChooseTypeForm.bOK.Caption := MsgBtnOk;
// Форма "Ключи":
with KeysForm do
begin
- Caption := _lc[I_CAP_KEYS];
- cbRedKey.Caption := _lc[I_CTRL_KEYS_RED];
- cbGreenKey.Caption := _lc[I_CTRL_KEYS_GREEN];
- cbBlueKey.Caption := _lc[I_CTRL_KEYS_BLUE];
- cbRedTeam.Caption := _lc[I_CTRL_KEYS_TEAM_RED];
- cbBlueTeam.Caption := _lc[I_CTRL_KEYS_TEAM_BLUE];
- bOK.Caption := _lc[I_BTN_OK];
+ Caption := MsgCapKeys;
+ cbRedKey.Caption := MsgCtrlKeysRed;
+ cbGreenKey.Caption := MsgCtrlKeysGreen;
+ cbBlueKey.Caption := MsgCtrlKeysBlue;
+ cbRedTeam.Caption := MsgCtrlKeysTeamRed;
+ cbBlueTeam.Caption := MsgCtrlKeysTeamBlue;
+ bOK.Caption := MsgBtnOk;
end;
// Форма "Проверка карты":
with MapCheckForm do
begin
- Caption := _lc[I_CAP_TEST];
- bCheckMap.Caption := _lc[I_BTN_TEST_AGAIN];
- bClose.Caption := _lc[I_BTN_CLOSE];
+ Caption := MsgCapTest;
+ bCheckMap.Caption := MsgBtnTestAgain;
+ bClose.Caption := MsgBtnClose;
end;
// Форма "Оптимизация карты":
with MapOptimizationForm do
begin
- Caption := _lc[I_CAP_OPT];
+ Caption := MsgCapOpt;
// Выбор оптимизации:
- GroupBoxOpt.Caption := _lc[I_CTRL_OPT_GB];
- rbTexturesOptimization.Caption := _lc[I_CTRL_OPT_TEXTURE];
- rbPanelsOptimization.Caption := _lc[I_CTRL_OPT_PANEL];
+ GroupBoxOpt.Caption := MsgCtrlOptGb;
+ rbTexturesOptimization.Caption := MsgCtrlOptTexture;
+ rbPanelsOptimization.Caption := MsgCtrlOptPanel;
// Оптимизация текстур:
- bBeginTextureOptimization.Caption := _lc[I_BTN_START];
+ bBeginTextureOptimization.Caption := MsgBtnStart;
// Оптимизация панелей:
- cbOptimizeWalls.Caption := _lc[I_CTRL_OPT_WALL];
- cbOptimizeForeGround.Caption := _lc[I_CTRL_OPT_FORE];
- cbOptimizeBackGround.Caption := _lc[I_CTRL_OPT_BACK];
- cbOptimizeSteps.Caption := _lc[I_CTRL_OPT_STAIR];
- cbOptimizeWater.Caption := _lc[I_CTRL_OPT_WATER];
- cbOptimizeAcid1.Caption := _lc[I_CTRL_OPT_ACID1];
- cbOptimizeAcid2.Caption := _lc[I_CTRL_OPT_ACID2];
- cbOptimizeLift.Caption := _lc[I_CTRL_OPT_LIFT];
- cbOptimizeBlockMon.Caption := _lc[I_CTRL_OPT_BLOCKMON];
- bBeginPanelsOptimization.Caption := _lc[I_BTN_START];
+ cbOptimizeWalls.Caption := MsgCtrlOptWall;
+ cbOptimizeForeGround.Caption := MsgCtrlOptFore;
+ cbOptimizeBackGround.Caption := MsgCtrlOptBack;
+ cbOptimizeSteps.Caption := MsgCtrlOptStair;
+ cbOptimizeWater.Caption := MsgCtrlOptWater;
+ cbOptimizeAcid1.Caption := MsgCtrlOptAcid1;
+ cbOptimizeAcid2.Caption := MsgCtrlOptAcid2;
+ cbOptimizeLift.Caption := MsgCtrlOptLift;
+ cbOptimizeBlockMon.Caption := MsgCtrlOptBlockmon;
+ bBeginPanelsOptimization.Caption := MsgBtnStart;
end;
// Форма "Параметры карты":
with MapOptionsForm do
begin
- Caption := _lc[I_CAP_SETS];
+ Caption := MsgCapSets;
// Основные параметры:
- LabelName.Caption := _lc[I_LAB_SETS_NAME];
- LabelDesc.Caption := _lc[I_LAB_SETS_DESC];
- LabelAuthor.Caption := _lc[I_LAB_SETS_AUTHOR];
- LabelBack.Caption := _lc[I_LAB_SETS_BACK];
- LabelMusic.Caption := _lc[I_LAB_SETS_MUSIC];
+ LabelName.Caption := MsgLabSetsName;
+ LabelDesc.Caption := MsgLabSetsDesc;
+ LabelAuthor.Caption := MsgLabSetsAuthor;
+ LabelBack.Caption := MsgLabSetsBack;
+ LabelMusic.Caption := MsgLabSetsMusic;
// Статистика:
- GBStats.Caption := _lc[I_CTRL_SETS_STATS];
- LabelTexs.Caption := _lc[I_LAB_SETS_TEXTURES];
- LabelPanels.Caption := _lc[I_LAB_SETS_PANELS];
- LabelItems.Caption := _lc[I_LAB_SETS_ITEMS];
- LabelMonsters.Caption := _lc[I_LAB_SETS_MONSTERS];
- LabelAreas.Caption := _lc[I_LAB_SETS_AREAS];
- LabelTriggers.Caption := _lc[I_LAB_SETS_TRIGGERS];
+ GBStats.Caption := MsgCtrlSetsStats;
+ LabelTexs.Caption := MsgLabSetsTextures;
+ LabelPanels.Caption := MsgLabSetsPanels;
+ LabelItems.Caption := MsgLabSetsItems;
+ LabelMonsters.Caption := MsgLabSetsMonsters;
+ LabelAreas.Caption := MsgLabSetsAreas;
+ LabelTriggers.Caption := MsgLabSetsTriggers;
// Размеры:
- GBSizes.Caption := _lc[I_CTRL_SETS_SIZES];
- LabelWidth.Caption := _lc[I_LAB_SETS_WIDTH];
- LabelHeight.Caption := _lc[I_LAB_SETS_HEIGHT];
- LabelCurSize.Caption := _lc[I_LAB_SETS_SIZES];
- LabelMapMove.Caption := _lc[I_LAB_SETS_MAPMOVE];
- cbSnapping.Caption := _lc[I_LAB_SETS_SNAPPING];
+ GBSizes.Caption := MsgCtrlSetsSizes;
+ LabelWidth.Caption := MsgLabSetsWidth;
+ LabelHeight.Caption := MsgLabSetsHeight;
+ LabelCurSize.Caption := MsgLabSetsSizes;
+ LabelMapMove.Caption := MsgLabSetsMapmove;
+ cbSnapping.Caption := MsgLabSetsSnapping;
// Кнопки:
- bOK.Caption := _lc[I_BTN_OK];
- bCancel.Caption := _lc[I_BTN_CANCEL];
- end;
-
-// Форма "Настройки теста карты":
- with MapTestForm do
- begin
- Caption := _lc[I_CAP_LAUNCH];
- bOK.Caption := _lc[I_BTN_OK];
- bCancel.Caption := _lc[I_BTN_CANCEL];
- // Режим игры:
- rbDM.Caption := _lc[I_CTRL_LAUNCH_DM];
- rbTDM.Caption := _lc[I_CTRL_LAUNCH_TDM];
- rbCTF.Caption := _lc[I_CTRL_LAUNCH_CTF];
- rbCOOP.Caption := _lc[I_CTRL_LAUNCH_COOP];
- // Опции:
- cbTwoPlayers.Caption := _lc[I_CTRL_LAUNCH_2P];
- cbTeamDamage.Caption := _lc[I_CTRL_LAUNCH_FF];
- cbAllowExit.Caption := _lc[I_CTRL_LAUNCH_EXIT];
- cbWeaponStay.Caption := _lc[I_CTRL_LAUNCH_WEAPONS];
- cbMonstersDM.Caption := _lc[I_CTRL_LAUNCH_MONSTERS];
- cbMapOnce.Caption := _lc[I_CTRL_LAUNCH_CLOSE];
- LabelTime.Caption := _lc[I_LAB_LAUNCH_TIME];
- LabelSecs.Caption := _lc[I_LAB_LAUNCH_SECS];
- LabelScore.Caption := _lc[I_LAB_LAUNCH_SCORE];
- // Путь:
- LabelPath.Caption := _lc[I_LAB_LAUNCH_PATH];
- FindD2dDialog.Title := _lc[I_CTRL_LAUNCH_OPEN];
-
- LabelArgs.Caption := _lc[I_LAB_LAUNCH_ARGS];
+ bOK.Caption := MsgBtnOk;
+ bCancel.Caption := MsgBtnCancel;
end;
-// Форма "Настройки редактора":
+// Form preferences:
with OptionsForm do
begin
- Caption := _lc[I_CAP_ES];
- bOK.Caption := _lc[I_BTN_OK];
- bCancel.Caption := _lc[I_BTN_CANCEL];
- // Настройки:
- cbShowDots.Caption := _lc[I_CTRL_ES_GRID];
- cbShowTexture.Caption := _lc[I_CTRL_ES_TEXTURE];
- cbShowSize.Caption := _lc[I_CTRL_ES_PANEL_SIZE];
- cbCheckerboard.Caption := _lc[I_CTRL_ES_CHECKERBOARD];
- cbCompress.Caption := _lc[I_LAB_ES_COMPRESS];
- cbBackup.Caption := _lc[I_LAB_ES_BACKUP];
- LabelGrid.Caption := _lc[I_LAB_ES_GRID];
- LabelGridCol.Caption := _lc[I_LAB_ES_GRID_COLOR];
- LabelGridSize.Caption := _lc[I_LAB_ES_GRID_SIZE];
- LabelBack.Caption := _lc[I_LAB_ES_BACK];
- LabelPreview.Caption := _lc[I_LAB_ES_PREVIEW];
- LabelMinimap.Caption := _lc[I_LAB_ES_MINIMAP];
- LabelRecent.Caption := _lc[I_LAB_ES_RECENT];
- LabelLanguage.Caption := _lc[I_LAB_ES_LANGUAGE];
+ Caption := MsgCapEs;
+ bOK.Caption := MsgBtnOk;
+ bCancel.Caption := MsgBtnCancel;
+ // TabGeneral:
+ TabGeneral.Caption := MsgCtrlEsGeneral;
+ cbShowDots.Caption := MsgCtrlEsGrid;
+ cbShowTexture.Caption := MsgCtrlEsTexture;
+ cbShowSize.Caption := MsgCtrlEsPanelSize;
+ cbCheckerboard.Caption := MsgCtrlEsCheckerboard;
+ LabelGrid.Caption := MsgLabEsGrid;
+ LabelGridCol.Caption := MsgLabEsGridColor;
+ LabelGridSize.Caption := MsgLabEsGridSize;
+ LabelBack.Caption := MsgLabEsBack;
+ LabelPreview.Caption := MsgLabEsPreview;
+ LabelMinimap.Caption := MsgLabEsMinimap;
+ LabelLanguage.Caption := MsgLabEsLanguage;
+ // TabFiles:
+ TabFiles.Caption := MsgCtrlEsFiles;
+ LabelRecent.Caption := MsgLabEsRecent;
+ // TabTesting:
+ TabTesting.Caption := MsgCtrlEsTesting;
+ rbDM.Caption := MsgCtrlLaunchDm;
+ rbTDM.Caption := MsgCtrlLaunchTdm;
+ rbCTF.Caption := MsgCtrlLaunchCtf;
+ rbCOOP.Caption := MsgCtrlLaunchCoop;
+ cbTwoPlayers.Caption := MsgCtrlLaunch2p;
+ cbTeamDamage.Caption := MsgCtrlLaunchFf;
+ cbAllowExit.Caption := MsgCtrlLaunchExit;
+ cbWeaponStay.Caption := MsgCtrlLaunchWeapons;
+ cbMonstersDM.Caption := MsgCtrlLaunchMonsters;
+ cbMapOnce.Caption := MsgCtrlLaunchClose;
+ LabelTime.Caption := MsgLabLaunchTime;
+ LabelSecs.Caption := MsgLabLaunchSecs;
+ LabelScore.Caption := MsgLabLaunchScore;
+ {$IF DEFINED(DARWIN)}
+ LabelPath.Caption := MsgLabLaunchPathMac;
+ ExeEdit.DialogTitle := MsgCtrlLaunchOpen;
+ ExeEdit.Filter := MsgFileFilterExeMac;
+ {$ELSEIF DEFINED(WINDOWS)}
+ LabelPath.Caption := MsgLabLaunchPathWin;
+ ExeEdit.DialogTitle := MsgCtrlLaunchOpen;
+ ExeEdit.Filter := MsgFileFilterExeWin;
+ {$ELSE}
+ LabelPath.Caption := MsgLabLaunchPathUnix;
+ ExeEdit.DialogTitle := MsgCtrlLaunchOpen;
+ ExeEdit.Filter := MsgFileFilterExeUnix;
+ {$ENDIF}
+ LabelArgs.Caption := MsgLabLaunchArgs;
end;
// Форма "Упаковать карту":
with PackMapForm do
begin
- Caption := _lc[I_CAP_PACK];
- bPack.Caption := _lc[I_BTN_PACK];
- LabelSaveTo.Caption := _lc[I_LAB_PACK_SAVE_TO];
- LabelMapName.Caption := _lc[I_LAB_PACK_MAP_NAME];
+ Caption := MsgCapPack;
+ bPack.Caption := MsgBtnPack;
+ LabelSaveTo.Caption := MsgLabPackSaveTo;
+ LabelMapName.Caption := MsgLabPackMapName;
// Что упаковывать:
- cbTextrures.Caption := _lc[I_CTRL_PACK_TEXTURES];
- LabelTextures.Caption := _lc[I_LAB_PACK_TEXTURES];
- cbSky.Caption := _lc[I_CTRL_PACK_SKY];
- LabelSky.Caption := _lc[I_LAB_PACK_SKY];
- cbMusic.Caption := _lc[I_CTRL_PACK_MUSIC];
- LabelMusic.Caption := _lc[I_LAB_PACK_MUSIC];
- cbAdd.Caption := _lc[I_CTRL_PACK_ADD];
- cbNonStandart.Caption := _lc[I_CTRL_PACK_NON_STD];
+ cbTextrures.Caption := MsgCtrlPackTextures;
+ LabelTextures.Caption := MsgLabPackTextures;
+ cbSky.Caption := MsgCtrlPackSky;
+ LabelSky.Caption := MsgLabPackSky;
+ cbMusic.Caption := MsgCtrlPackMusic;
+ LabelMusic.Caption := MsgLabPackMusic;
+ cbAdd.Caption := MsgCtrlPackAdd;
+ cbNonStandart.Caption := MsgCtrlPackNonStd;
end;
// Форма "Сохранить карту":
with SaveMapForm do
begin
- Caption := _lc[I_CAP_SAVE];
- bOK.Caption := _lc[I_BTN_OK];
- bCancel.Caption := _lc[I_BTN_CANCEL];
+ Caption := MsgCapSave;
+ bOK.Caption := MsgBtnOk;
+ bCancel.Caption := MsgBtnCancel;
end;
// Форма "Сохранить мини-карту":
with SaveMiniMapForm do
begin
- Caption := _lc[I_CAP_MINI];
- LabelScale.Caption := _lc[I_LAB_MINI_SCALE];
- bSave.Caption := _lc[I_BTN_SAVE];
- bClose.Caption := _lc[I_BTN_CLOSE];
+ Caption := MsgCapMini;
+ LabelScale.Caption := MsgLabMiniScale;
+ bSave.Caption := MsgBtnSave;
+ bClose.Caption := MsgBtnClose;
end;
// Форма "Выбор карты":
with SelectMapForm do
begin
- Caption := _lc[I_CAP_SELECT];
- bOK.Caption := _lc[I_BTN_OK];
- bCancel.Caption := _lc[I_BTN_CANCEL];
+ Caption := MsgCapSelect;
+ bOK.Caption := MsgBtnOk;
+ bCancel.Caption := MsgBtnCancel;
end;
// Заголовок приложения:
- Application.Title := _lc[I_EDITOR_TITLE];
+ Application.Title := MsgEditorTitle;
end;
-procedure g_Language_Load(fileName: String);
-var
- F: TextFile;
- key, value: String;
- i: TStrings_Locale;
- k: Integer;
- ok: Boolean;
+type
+ TResArg = record
+ ini: TIniFile;
+ ignored: TStringList;
+ end;
+ PResArg = ^TResArg;
+function gResourceItarator (name, value: AnsiString; hash: LongInt; arg: Pointer): AnsiString;
+ var res: PResArg; orig: AnsiString;
begin
-// Значения по-умолчанию:
- for i := Low(TStrings_Locale) to High(TStrings_Locale) do
- _lc[i] := g_lang_default[i][LANGUAGE_ENGLISH_N];
-
- if FileExists(fileName) then
+ res := PResArg(arg);
+ orig := res.ini.ReadString('resourcestring', name + '$', '');
+ if (orig = '') or (orig = value) then
+ begin
+ if res.ini.ValueExists('resourcestring', name) then
+ begin
+ result := res.ini.ReadString('resourcestring', name, '');
+ end
+ else
begin
- AssignFile(F, fileName);
- ReSet(F);
- k := 0;
+ result := value;
+ if res.ignored.IndexOf(Copy(name, 1, Pos('.', name) - 1)) < 0 then
+ e_WriteLog(' Seems that key ' + name + ' not translated', MSG_NOTIFY);
+ end;
+ end
+ else
+ begin
+ e_WriteLog(' Original resource string for ' + name + ' do not match, translation are outdated?', MSG_WARNING);
+ e_WriteLog(' [' + value + '] -> [' + orig + ']', MSG_WARNING);
+ result := value;
+ end;
+end;
- // Читаем файл:
- while not EoF(F) do
+procedure gSetLanguageFormStream (const lang: AnsiString; stream: TStream; out ok: Boolean);
+ var res: TResArg;
+begin
+ ok := False;
+ try
+ res.ini := TIniFile.Create(stream, [ifoStripComments, ifoStripQuotes, ifoEscapeLineFeeds]);
+ except
+ res.ini := nil;
+ end;
+ if res.ini <> nil then
+ begin
+ try
+ ok := res.ini.SectionExists('resourcestring');
+ if ok then
begin
- // Читаем строку:
- ReadLn(F, key);
- key := Trim(key);
-
- // Строка - ключ перевода:
- if (key <> '') and
- (key[1] = '[') and
- (Pos(']', key) > 2) then
- begin
- key := UpperCase(Copy(key, 2, Pos(']', key)-2));
-
- // Пропускаем пустые строки до строки - перевода:
- value := '';
- while (not EoF(F)) and (value = '') do
- begin
- ReadLn(F, value);
- value := Trim(value);
- end;
-
- // Есть строка - перевод:
- if value <> '' then
- begin
- // Ищем индекс ключа перевода:
- ok := False;
- i := TStrings_Locale(k);
-
- // От текущего к первому:
- while i > Low(TStrings_Locale) do
- begin
- if g_lang_default[i][1] = key then
- begin
- _lc[i] := value;
- ok := True;
- Break;
- end;
-
- Dec(i);
- end;
-
- // Первый:
- if not ok then
- begin
- i := Low(TStrings_Locale);
-
- if (g_lang_default[i][1] = key) then
- begin
- _lc[i] := value;
- ok := True;
- end;
- end;
-
- // От следующего за текущим до последнего:
- if not ok then
- begin
- i := TStrings_Locale(k);
-
- while i < High(TStrings_Locale) do
- begin
- Inc(i);
-
- if g_lang_default[i][1] = key then
- begin
- _lc[i] := value;
- Break;
- end;
- end;
- end;
- end;
-
- Inc(k);
- end;
+ res.ignored := TStringList.Create;
+ res.ignored.CaseSensitive := False;
+ res.ini.ReadSection('ignore', res.ignored);
+ res.ignored.Sort;
+ SetResourceStrings(gResourceItarator, @res);
+ res.ignored.Free();
end;
+ finally
+ res.ini.Free();
+ end;
+ end;
+ if not ok then e_WriteLog('Translation file for ' + lang + ' are invalid ', MSG_FATALERROR);
+end;
- CloseFile(F);
- end
- else
- e_WriteLog('Language file "'+fileName+'" not found!', MSG_WARNING);
+procedure gSetLanguageFromFile (const lang: AnsiString; out ok: Boolean);
+ const langfilename = 'editor';
+ var stream: TFileStream; name: AnsiString;
+begin
+ name := LangDir + DirectorySeparator + langfilename + '.' + lang + '.lng';
+ try
+ stream := TFileStream.Create(name, fmOpenRead);
+ try
+ gSetLanguageFormStream(lang, stream, ok);
+ finally
+ stream.Free();
+ end;
+ except on E: EFOpenError do
+ ok := False;
+ end;
+end;
- SetupArrays();
- SetupCaptions();
- RemoveSelectFromObjects();
+procedure gSetLanguage (const lang: AnsiString; out ok: Boolean);
+begin
+ gSetLanguageFromFile(lang, ok);
end;
-procedure g_Language_Set(lang: String);
-var
- i: TStrings_Locale;
- n: Byte;
+function g_Language_GetList (): TStringList;
+ const langfilename = 'editor';
+ var list: TStringList; info: TSearchRec;
+begin
+ list := TStringList.Create;
+ list.Duplicates := dupIgnore;
+ list.Add(InSourceLanguage);
+ if FindFirst(LangDir + DirectorySeparator + langfilename + '.*.lng', faReadOnly, info) = 0 then
+ begin
+ repeat
+ list.Add(Copy(ExtractFileNameWithoutExt(info.Name), Length(langfilename) + 2));
+ until FindNext(info) <> 0;
+ FindClose(info);
+ end;
+ list.Sort;
+ result := list;
+end;
+procedure g_Language_Set(lang: String);
+ var syslang, fallbacklang: String; ok: Boolean;
begin
- if lang = LANGUAGE_ENGLISH then
- n := LANGUAGE_ENGLISH_N
- else
- n := LANGUAGE_RUSSIAN_N;
+ ResetResourceTables;
- for i := Low(TStrings_Locale) to High(TStrings_Locale) do
+ if lang = '' then
begin
- _lc[i] := g_lang_default[i][n];
- // have to cache a CP1251 version for GL text
- _glc[i] := utf8to1251(g_lang_default[i][n]);
+ GetLanguageIDs(syslang, fallbacklang); // TODO: remove dependency on gettext
+ e_WriteLog('g_Language_Set: try strings "' + syslang + '" (system)', MSG_NOTIFY);
+ gSetLanguage(syslang, ok);
+ if not ok then
+ begin
+ e_WriteLog('g_Language_Set: try strings "' + fallbacklang + '" (fallback)', MSG_NOTIFY);
+ gSetLanguage(syslang, ok);
+ end;
+ end
+ else
+ begin
+ e_WriteLog('g_Language_Set: try strings "' + lang + '" (user specified)', MSG_NOTIFY);
+ gSetLanguage(lang, ok);
end;
+ if not ok then e_WriteLog('g_Language_Set: use default strings "' + InSourceLanguage + '" (in-source)', MSG_NOTIFY);
SetupArrays();
SetupCaptions();
RemoveSelectFromObjects();
end;
-procedure g_Language_Dump(fileName: String);
-var
- F: TextFile;
- i: TStrings_Locale;
-
-begin
- AssignFile(F, fileName);
- ReWrite(F);
-
- for i := Low(TStrings_Locale) to High(TStrings_Locale) do
- WriteLn(F, _lc[i]);
-
- CloseFile(F);
-end;
-
End.