mirror of
https://github.com/johndoe6345789/SDL3CPlusPlus.git
synced 2026-05-01 00:55:07 +00:00
- Updated JsonConfigWriterService to structure the JSON output with new sections for scripts, window settings, input bindings, paths, rendering, and GUI configurations. - Introduced a new method in ICrashRecoveryService to record frame heartbeats, allowing for better tracking of long-running operations. - Refactored existing code to improve readability and maintainability, including the addition of helper functions for adding string members to JSON objects.
138 lines
3.6 KiB
JSON
138 lines
3.6 KiB
JSON
{
|
|
"schema_version": 2,
|
|
"launcher": {
|
|
"name": "Cube Demo",
|
|
"description": "3D cube room with first-person controls, lanterns, and physics interactions",
|
|
"enabled": true
|
|
},
|
|
"window": {
|
|
"title": "SDL3 Bgfx Demo",
|
|
"size": {
|
|
"width": 1024,
|
|
"height": 768
|
|
},
|
|
"mouse_grab": {
|
|
"enabled": true,
|
|
"grab_on_click": true,
|
|
"release_on_escape": true,
|
|
"start_grabbed": false,
|
|
"hide_cursor": true,
|
|
"relative_mode": true,
|
|
"grab_mouse_button": "left",
|
|
"release_key": "escape"
|
|
}
|
|
},
|
|
"scripts": {
|
|
"entry": "scripts/cube_logic.lua",
|
|
"lua_debug": false
|
|
},
|
|
"paths": {
|
|
"project_root": "../",
|
|
"scripts": "scripts",
|
|
"shaders": "shaders"
|
|
},
|
|
"input": {
|
|
"bindings": {
|
|
"move_forward": "W",
|
|
"move_back": "S",
|
|
"move_left": "A",
|
|
"move_right": "D",
|
|
"fly_up": "Q",
|
|
"fly_down": "Z",
|
|
"jump": "Space",
|
|
"noclip_toggle": "N",
|
|
"music_toggle": "M",
|
|
"music_toggle_gamepad": "start",
|
|
"gamepad_move_x_axis": "leftx",
|
|
"gamepad_move_y_axis": "lefty",
|
|
"gamepad_look_x_axis": "rightx",
|
|
"gamepad_look_y_axis": "righty",
|
|
"gamepad_dpad_up": "dpup",
|
|
"gamepad_dpad_down": "dpdown",
|
|
"gamepad_dpad_left": "dpleft",
|
|
"gamepad_dpad_right": "dpright",
|
|
"gamepad_button_actions": {
|
|
"a": "gamepad_a",
|
|
"b": "gamepad_b",
|
|
"x": "gamepad_x",
|
|
"y": "gamepad_y",
|
|
"leftshoulder": "gamepad_lb",
|
|
"rightshoulder": "gamepad_rb",
|
|
"leftstick": "gamepad_ls",
|
|
"rightstick": "gamepad_rs",
|
|
"back": "gamepad_back",
|
|
"start": "gamepad_start"
|
|
},
|
|
"gamepad_axis_actions": {
|
|
"lefttrigger": "gamepad_lt",
|
|
"righttrigger": "gamepad_rt"
|
|
},
|
|
"gamepad_axis_action_threshold": 0.5
|
|
}
|
|
},
|
|
"rendering": {
|
|
"bgfx": {
|
|
"renderer": "vulkan"
|
|
},
|
|
"materialx": {
|
|
"enabled": true,
|
|
"parameters_enabled": true,
|
|
"library_path": "MaterialX/libraries",
|
|
"library_folders": [
|
|
"stdlib",
|
|
"pbrlib",
|
|
"lights",
|
|
"bxdf",
|
|
"cmlib",
|
|
"nprlib",
|
|
"targets"
|
|
],
|
|
"materials": [
|
|
{
|
|
"shader_key": "floor",
|
|
"document": "MaterialX/resources/Materials/Examples/StandardSurface/standard_surface_wood_tiled.mtlx",
|
|
"material": "Tiled_Wood"
|
|
},
|
|
{
|
|
"shader_key": "wall",
|
|
"document": "MaterialX/resources/Materials/Examples/StandardSurface/standard_surface_brick_procedural.mtlx",
|
|
"material": "M_BrickPattern"
|
|
},
|
|
{
|
|
"shader_key": "ceiling",
|
|
"document": "MaterialX/resources/Materials/Examples/StandardSurface/standard_surface_marble_solid.mtlx",
|
|
"material": "Marble_3D"
|
|
},
|
|
{
|
|
"shader_key": "solid",
|
|
"document": "MaterialX/resources/Materials/Examples/StandardSurface/standard_surface_brass_tiled.mtlx",
|
|
"material": "Tiled_Brass"
|
|
}
|
|
]
|
|
},
|
|
"atmospherics": {
|
|
"ambient_strength": 0.006,
|
|
"fog_density": 0.006,
|
|
"fog_color": [0.03, 0.04, 0.06],
|
|
"sky_color": [0.02, 0.03, 0.05],
|
|
"gamma": 2.2,
|
|
"exposure": 1.15,
|
|
"enable_tone_mapping": true,
|
|
"enable_shadows": true,
|
|
"enable_ssgi": true,
|
|
"enable_volumetric_lighting": true,
|
|
"pbr_roughness": 0.28,
|
|
"pbr_metallic": 0.08
|
|
}
|
|
},
|
|
"gui": {
|
|
"font": {
|
|
"use_freetype": true,
|
|
"font_path": "scripts/assets/fonts/Roboto-Regular.ttf",
|
|
"font_size": 18.0
|
|
},
|
|
"opacity": 1.0
|
|
},
|
|
"config_file": "config/seed_runtime.json"
|
|
}
|