Skip to content
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
12 changes: 12 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ set(DISRUPTOR_EXTRA_SOURCES
"${CMAKE_CURRENT_SOURCE_DIR}/src/game/session/capsule.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/src/game/session/cheats.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/src/game/input/control_probe.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/src/game/session/diagnostics.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/src/game/render/far_rendering.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/src/game/frame/frame_rate.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/src/game/host.cpp"
Expand Down Expand Up @@ -220,6 +221,7 @@ if(BUILD_TESTING)
disruptor_contract(smooth_turn)
disruptor_contract(ambient_occlusion)
disruptor_contract(debug_tab)
disruptor_contract(diagnostics)
disruptor_contract(instruction_hooks)
disruptor_contract(state_key)
disruptor_contract(test_registration)
Expand Down Expand Up @@ -281,6 +283,16 @@ if(BUILD_TESTING AND NOT CMAKE_CROSSCOMPILING)
set_tests_properties(disruptor_high_precision_camera_registration PROPERTIES
ENVIRONMENT "PSX_DISRUPTOR_MOUSE_AIM=;PSX_DISRUPTOR_VERTICAL_LOOK=;PSX_DISRUPTOR_MODERN_CONTROLS=;PSX_DISRUPTOR_HIGH_PRECISION_CAMERA=1")

disruptor_unit_test(disruptor_diagnostics tests/unit/disruptor_diagnostics_test.cpp
SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/src/game/session/diagnostics.cpp"
INCLUDES tests/support/stubs
DEFINITIONS PSX_SDL3=1)
set_tests_properties(disruptor_diagnostics PROPERTIES ENVIRONMENT "PSX_DISRUPTOR_DETAILED_LOGGING=")
add_test(NAME disruptor_diagnostics_forced COMMAND disruptor-diagnostics-test --forced)
set_tests_properties(disruptor_diagnostics_forced PROPERTIES ENVIRONMENT "PSX_DISRUPTOR_DETAILED_LOGGING=1")
add_test(NAME disruptor_diagnostics_refused COMMAND disruptor-diagnostics-test --refused)
set_tests_properties(disruptor_diagnostics_refused PROPERTIES ENVIRONMENT "PSX_DISRUPTOR_DETAILED_LOGGING=0")

disruptor_unit_test(disruptor_cheats tests/unit/disruptor_cheats_test.cpp RUNTIME_HEADERS)
disruptor_unit_test(disruptor_vertical_camera tests/unit/disruptor_vertical_camera_test.cpp RUNTIME_HEADERS)
disruptor_unit_test(disruptor_far_rendering tests/unit/disruptor_far_rendering_test.cpp RUNTIME_HEADERS)
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ disc revision; the redistributable OpenBIOS backend is used for booting.
- Experimental vertical mouse look and weapon aim.
- In-game settings for controls, display, fullscreen, VSync, volume, and mute.
- Diagnostic views and a screen recorder for reports of a fault in the picture.
- A launcher button that gathers logs and settings for a bug report, and a
detailed log to switch on for one.
- Memory-card saves and twelve save-state slots.
- Windows launcher with disc-image browsing, automatic copy/CUE setup,
full-disc SHA-256 verification, the game's settings with a hint for each,
Expand Down
27 changes: 24 additions & 3 deletions docs/PLAYING.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,28 @@ retain your controls and display preferences.
God Mode resets off on launch. Granting all weapons and psionics marks the game
as cheated, including subsequent game saves.

## Reporting a problem

Press **Report a problem** in the launcher. It gathers the game's log of the
last two runs, the mouse log, your settings, the notes the game leaves of how
its last run ended and of a freeze, and a note of the system into one
ZIP under `reports/` beside the executable and shows it in Explorer. Where
Windows cannot make the ZIP, it is a folder of the same name: attach its
files. The name of your Windows user folder is cut out of paths, and
your disc image, BIOS and saves are never
included. Attach the ZIP to a
[bug report](https://github.com/micmea668/DisruptorRecomp/issues) with the
level and the steps that lead to the problem. For a fault in the picture add
a replay capsule or a screen recording, described below.

For a problem you can repeat, first switch on **Detailed logging** on the
launcher's **Troubleshooting** page, play until it shows, close the game and
then make the report. The log then also says every ten seconds how the
frames ran, each setting changed in the game's menu, controllers connected
and removed, and what the graphics driver complains of. The switch is in the
game's menu too, under **Settings → Debug**, where the driver's part starts
with the next launch.

## Reports and replay capsules

**Settings → Debug** offers diagnostic views and **Record the screen** for
Expand Down Expand Up @@ -181,9 +203,8 @@ for the replay tool and its limits.
your graphics driver. Try turning off 60 FPS gameplay and in-between
frames if they are enabled.
- **Mouse does not turn:** enter gameplay and middle-click to capture it.
- **Other problems:** include the level, reproduction steps, render settings,
and `startup.log` in a [bug report](https://github.com/micmea668/DisruptorRecomp/issues).
Do not attach your game image, game assets, or BIOS files.
- **Other problems:** see [Reporting a problem](#reporting-a-problem). Do not
attach your game image, game assets, or BIOS files.

This is an early alpha. The first mission and training-level path have been
tested, including the recent 8x / 32:9 corruption fix. Full campaign coverage
Expand Down
Loading
Loading