Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support demo levels (try 2) #1378

Merged
merged 2 commits into from
May 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
280 changes: 280 additions & 0 deletions data/ship/cfg/TR1X_gameflow_demo_pc.json5
Original file line number Diff line number Diff line change
@@ -0,0 +1,280 @@
{
// NOTE: bad changes to this file may result in crashes.
// Lines starting with double slashes are comments and are ignored.

// path to the main menu background image
"main_menu_picture": "data/images/title.webp",

// path to the savegame file
"savegame_fmt_legacy": "save_demo_pc.%d",
"savegame_fmt_bson": "save_demo_pc_%02d.dat",

"force_game_modes": null,
"force_save_crystals": null,
"demo_delay": 16,
"water_color": [0.45, 1.0, 1.0],
"draw_distance_fade": 22.0,
"draw_distance_max": 30.0,
"injections": [
"data/injections/backpack.bin",
"data/injections/braid.bin",
"data/injections/lara_animations.bin",
"data/injections/lara_jumping.bin",
"data/injections/uzi_sfx.bin",
],
"convert_dropped_guns": false,

"levels": [
// Level 2
{
"title": "City of Vilcabamba",
"file": "data_demo_pc/level2.phd",
"type": "level_demo_pc",
"music": 0,
"injections": [
"data/injections/vilcabamba_itemrots.bin",
"data/injections/vilcabamba_textures.bin",
],
"sequence": [
{"type": "loading_screen", "picture_path": "data/images/peru.webp", "display_time": 5},
{"type": "start_game"},
{"type": "loop_game"},
{"type": "stop_game"},
{"type": "level_stats", "level_id": 0},
{"type": "exit_to_level", "level_id": 1},
],
"strings": {
"key1": "Silver Key",
"puzzle1": "Gold Idol"
},
"demo": true,
Copy link
Collaborator

@walkawayy walkawayy May 29, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should set "unobtainable_pickups": x, and "unobtainable_kills": x, since TR1X analyzes the whole level for pickups and kills, but the demo ends early.

Copy link
Collaborator

@walkawayy walkawayy May 31, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here were the final stats I got. So I think "unobtainable_pickups": 5 and "unobtainable_kills": 9. We don't have an unobtainable_secrets gameflow option either since normally that doesn't come up. is this even worth worrying about @rr- ?

image

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Made a quick PR #1380 to support this.

},

// Level 3
{
"title": "Title",
"file": "data_demo_pc/title.phd",
"type": "title_demo_pc",
"music": 0,
"inherit_injections": false,
"injections": [
"data/injections/pda_model.bin",
],
"sequence": [
{"type": "exit_to_title"},
],
"strings": {},
},

// Level 4
{
"title": "Current Position",
"file": "data/current.phd",
"type": "current",
"music": 0,
"inherit_injections": false,
"sequence": [
{"type": "exit_to_title"},
],
"strings": {},
},
],

"strings": {
"HEADING_INVENTORY": "INVENTORY",
"HEADING_GAME_OVER": "GAME OVER",
"HEADING_OPTION": "OPTION",
"HEADING_ITEMS": "ITEMS",
"PASSPORT_SELECT_LEVEL": "Select Level",
"PASSPORT_RESTART_LEVEL": "Restart Level",
"PASSPORT_STORY_SO_FAR": "Story so far...",
"PASSPORT_LEGACY_SELECT_LEVEL_1": "Legacy saves do not",
"PASSPORT_LEGACY_SELECT_LEVEL_2": "support this feature.",
"PASSPORT_SELECT_MODE": "Select Mode",
"PASSPORT_MODE_NEW_GAME": "New Game",
"PASSPORT_MODE_NEW_GAME_PLUS": "New Game+",
"PASSPORT_MODE_NEW_GAME_JP": "Japanese NG",
"PASSPORT_MODE_NEW_GAME_JP_PLUS": "Japanese NG+",
"PASSPORT_NEW_GAME": "New Game",
"PASSPORT_LOAD_GAME": "Load Game",
"PASSPORT_SAVE_GAME": "Save Game",
"PASSPORT_EXIT_GAME": "Exit Game",
"PASSPORT_EXIT_TO_TITLE": "Exit to Title",
"DETAIL_SELECT_DETAIL": "Select Detail",
"DETAIL_LEVEL_HIGH": "High",
"DETAIL_LEVEL_MEDIUM": "Medium",
"DETAIL_LEVEL_LOW": "Low",
"DETAIL_FPS": "FPS",
"DETAIL_PERSPECTIVE": "Perspective",
"DETAIL_BILINEAR": "Bilinear",
"DETAIL_TEXTURE_FILTER": "Texture filter",
"DETAIL_FBO_FILTER": "FBO filter",
"DETAIL_VSYNC": "VSync",
"DETAIL_BRIGHTNESS": "Brightness",
"DETAIL_UI_TEXT_SCALE": "UI text scale",
"DETAIL_UI_BAR_SCALE": "UI bar scale",
"DETAIL_RENDER_MODE": "Render mode",
"DETAIL_RENDER_MODE_LEGACY": "Window size",
"DETAIL_RENDER_MODE_FBO": "Framebuffer",
"DETAIL_RESOLUTION": "Resolution",
"DETAIL_DECIMAL_FMT": "%d",
"DETAIL_STRING_FMT": "%s",
"DETAIL_FLOAT_FMT": "%.1f",
"DETAIL_RESOLUTION_FMT": "%dx%d",
"SOUND_SET_VOLUMES": "Set Volumes",
"CONTROL_CUSTOMIZE": "Customize Controls",
"CONTROL_KEYBOARD": "Keyboard",
"CONTROL_CONTROLLER": "Controller",
"CONTROL_DEFAULT_KEYS": "Default Keys",
"CONTROL_CUSTOM_1": "Custom Scheme 1",
"CONTROL_CUSTOM_2": "Custom Scheme 2",
"CONTROL_CUSTOM_3": "Custom Scheme 3",
"CONTROL_RESET_DEFAULTS_KEY": "Reset All: Hold R",
"CONTROL_UNBIND_KEY": "Unbind: Hold Backspace",
"CONTROL_RESET_DEFAULTS_BTN": "Reset All: Hold %s",
"CONTROL_UNBIND_BTN": "Unbind: Hold %s",
"KEYMAP_RUN": "Run",
"KEYMAP_BACK": "Back",
"KEYMAP_LEFT": "Left",
"KEYMAP_RIGHT": "Right",
"KEYMAP_STEP_LEFT": "Step Left",
"KEYMAP_STEP_RIGHT": "Step Right",
"KEYMAP_WALK": "Walk",
"KEYMAP_JUMP": "Jump",
"KEYMAP_ACTION": "Action",
"KEYMAP_DRAW_WEAPON": "Draw Weapon",
"KEYMAP_LOOK": "Look",
"KEYMAP_ROLL": "Roll",
"KEYMAP_INVENTORY": "Inventory",
"KEYMAP_PAUSE": "Pause",
"KEYMAP_FLY_CHEAT": "Fly Cheat",
"KEYMAP_ITEM_CHEAT": "Item Cheat",
"KEYMAP_LEVEL_SKIP_CHEAT": "Level Skip",
"KEYMAP_TURBO_CHEAT": "Turbo Speed",
"KEYMAP_ENTER_CONSOLE": "Enter Console",
"KEYMAP_CAMERA_UP": "Camera Up",
"KEYMAP_CAMERA_DOWN": "Camera Down",
"KEYMAP_CAMERA_LEFT": "Camera Left",
"KEYMAP_CAMERA_RIGHT": "Camera Right",
"KEYMAP_CAMERA_RESET": "Reset Camera",
"KEYMAP_EQUIP_PISTOLS": "Equip Pistols",
"KEYMAP_EQUIP_SHOTGUN": "Equip Shotgun",
"KEYMAP_EQUIP_MAGNUMS": "Equip Magnums",
"KEYMAP_EQUIP_UZIS": "Equip Uzis",
"KEYMAP_USE_SMALL_MEDI": "Small Medi",
"KEYMAP_USE_BIG_MEDI": "Large Medi",
"KEYMAP_SAVE": "Quick Save",
"KEYMAP_LOAD": "Quick Load",
"KEYMAP_FPS": "Show FPS",
"KEYMAP_BILINEAR": "Toggle Texture Filter",
"STATS_KILLS_DETAIL_FMT": "KILLS %d of %d",
"STATS_KILLS_BASIC_FMT": "KILLS %d",
"STATS_PICKUPS_DETAIL_FMT": "PICKUPS %d of %d",
"STATS_PICKUPS_BASIC_FMT": "PICKUPS %d",
"STATS_SECRETS_FMT": "SECRETS %d of %d",
"STATS_DEATHS_FMT": "DEATHS %d",
"STATS_TIME_TAKEN_FMT": "TIME TAKEN %s",
"STATS_FINAL_STATISTICS": "Final Statistics",
"STATS_BONUS_STATISTICS": "Bonus Statistics",
"PAUSE_PAUSED": "Paused",
"PAUSE_EXIT_TO_TITLE": "Exit to title?",
"PAUSE_CONTINUE": "Continue",
"PAUSE_QUIT": "Quit",
"PAUSE_ARE_YOU_SURE": "Are you sure?",
"PAUSE_YES": "Yes",
"PAUSE_NO": "No",
"MISC_ON": "On",
"MISC_OFF": "Off",
"MISC_EMPTY_SLOT_FMT": "- EMPTY SLOT %d -",
"MISC_DEMO_MODE": "Demo Mode",
"INV_ITEM_MEDI": "Small Medi Pack",
"INV_ITEM_BIG_MEDI": "Large Medi Pack",
"INV_ITEM_PUZZLE1": "Puzzle",
"INV_ITEM_PUZZLE2": "Puzzle",
"INV_ITEM_PUZZLE3": "Puzzle",
"INV_ITEM_PUZZLE4": "Puzzle",
"INV_ITEM_KEY1": "Key",
"INV_ITEM_KEY2": "Key",
"INV_ITEM_KEY3": "Key",
"INV_ITEM_KEY4": "Key",
"INV_ITEM_PICKUP1": "Pickup",
"INV_ITEM_PICKUP2": "Pickup",
"INV_ITEM_LEADBAR": "Lead Bar",
"INV_ITEM_SCION": "Scion",
"INV_ITEM_PISTOLS": "Pistols",
"INV_ITEM_SHOTGUN": "Shotgun",
"INV_ITEM_MAGNUM": "Magnums",
"INV_ITEM_UZI": "Uzis",
"INV_ITEM_GRENADE": "Grenade",
"INV_ITEM_PISTOL_AMMO": "Pistol Clips",
"INV_ITEM_SHOTGUN_AMMO": "Shotgun Shells",
"INV_ITEM_MAGNUM_AMMO": "Magnum Clips",
"INV_ITEM_UZI_AMMO": "Uzi Clips",
"INV_ITEM_COMPASS": "Compass",
"INV_ITEM_GAME": "Game",
"INV_ITEM_DETAILS": "Detail Levels",
"INV_ITEM_SOUND": "Sound",
"INV_ITEM_CONTROLS": "Controls",
"INV_ITEM_LARAS_HOME": "Lara's Home",
"OSD_FLY_MODE_ON": "Fly mode enabled",
"OSD_FLY_MODE_OFF": "Fly mode disabled",
"OSD_FPS_GET": "FPS currently set to %d",
"OSD_FPS_SET": "FPS set to %d",
"OSD_POS_GET": "Room: %d\nPosition: %.3f, %.3f, %.3f\nRotation: %.3f,%.3f,%.3f",
"OSD_POS_SET_POS": "Teleported to position: %.3f %.3f %.3f",
"OSD_POS_SET_POS_FAIL": "Failed to teleport to position: %.3f %.3f %.3f",
"OSD_POS_SET_ROOM": "Teleported to room: %d",
"OSD_POS_SET_ROOM_FAIL": "Failed to teleport to room: %d",
"OSD_POS_SET_ITEM": "Teleported to object: %s",
"OSD_POS_SET_ITEM_FAIL": "Failed to teleport to object: %s",
"OSD_SPEED_GET": "Current speed: %d",
"OSD_SPEED_SET": "Speed set to %d",
"OSD_BRAID_ON": "Braid enabled",
"OSD_BRAID_OFF": "Braid disabled",
"OSD_VSYNC_ON": "VSync enabled",
"OSD_VSYNC_OFF": "VSync disabled",
"OSD_CHEATS_ON": "Cheats enabled",
"OSD_CHEATS_OFF": "Cheats disabled",
"OSD_GIVE_ITEM": "Added %s to Lara's inventory",
"OSD_GIVE_ITEM_ALL_KEYS": "Surprise! Every key item Lara needs is now in her backpack.",
"OSD_GIVE_ITEM_ALL_GUNS": "Lock'n'load - Lara's armed to the teeth!",
"OSD_GIVE_ITEM_CHEAT": "Lara's backpack just got way heavier!",
"OSD_FLIPMAP_ON": "Flipmap set to ON",
"OSD_FLIPMAP_OFF": "Flipmap set to OFF",
"OSD_FLIPMAP_FAIL_ALREADY_ON": "Flipmap is already ON",
"OSD_FLIPMAP_FAIL_ALREADY_OFF": "Flipmap is already OFF",
"OSD_KILL_ALL": "Poof! %d enemies gone!",
"OSD_KILL_ALL_FAIL": "Uh-oh, there are no enemies left to kill...",
"OSD_KILL": "Bye-bye!",
"OSD_KILL_FAIL": "No enemy nearby...",
"OSD_COMPLETE_LEVEL": "Level complete!",
"OSD_PLAY_LEVEL": "Loading %s",
"OSD_TEXTURE_FILTER_SET": "Texture filter set to %s",
"OSD_TEXTURE_FILTER_NN": "nearest-neighbor",
"OSD_TEXTURE_FILTER_BILINEAR": "bilinear",
"OSD_PERSPECTIVE_FILTER_ON": "Perspective filter enabled",
"OSD_PERSPECTIVE_FILTER_OFF": "Perspective filter disabled",
"OSD_FPS_COUNTER_ON": "FPS counter enabled",
"OSD_FPS_COUNTER_OFF": "FPS counter disabled",
"OSD_UNAVAILABLE_ITEM": "%s is not currently available",
"OSD_INVALID_ITEM": "Unknown item: %s",
"OSD_INVALID_ROOM": "Invalid room: %d. Valid rooms are 0-%d",
"OSD_INVALID_LEVEL": "Invalid level",
"OSD_UNKNOWN_COMMAND": "Unknown command: %s",
"OSD_COMMAND_BAD_INVOCATION": "Invalid invocation: %s",
"OSD_COMMAND_UNAVAILABLE": "This command is not currently available",
"OSD_DOOR_OPEN": "Open Sesame!",
"OSD_DOOR_CLOSE": "Close Sesame!",
"OSD_DOOR_OPEN_FAIL": "No doors in Lara's proximity",
"OSD_LOAD_GAME": "Loaded game from save slot %d",
"OSD_LOAD_GAME_FAIL_UNAVAILABLE_SLOT": "Save slot %d is not available",
"OSD_LOAD_GAME_FAIL_INVALID_SLOT": "Invalid save slot %d",
"OSD_SAVE_GAME": "Save game to save slot %d",
"OSD_SAVE_GAME_FAIL": "Cannot save the game in the current state",
"OSD_SAVE_GAME_FAIL_INVALID_SLOT": "Invalid save slot %d",
"OSD_CURRENT_HEALTH_GET": "Current Lara's health: %d",
"OSD_CURRENT_HEALTH_SET": "Lara's health set to %d",
"OSD_HEAL_ALREADY_FULL_HP": "Lara's already at full health",
"OSD_HEAL_SUCCESS": "Healed Lara back to full health",
},
}
Loading