mirror of
https://github.com/tangerineturtle1/NX2navi.git
synced 2026-11-15 19:19:58 -04:00
F8 now always writes a folder under logs/captures: the area, Link's position and rotation, the camera of the frame on screen and the game's own, the presented frame as a PNG, frame times around the press, the machine, the settings that differ from the defaults, the end of the log, the save, and the game's flags and texts. A note on screen names the capture. The flight recorder's F8 dump goes into the capture's folder. NX2NAVI_CAPTURE_REPLAY starts a run on a capture's settings, teleports to its area, walks Link to where he stood and puts the free camera where the camera was; tools/capture_run.py prepares the profile from the capture's save, runs it and compares the two captures. docs/bug-capture.md has the files and the steps. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
32 lines
1.6 KiB
C
32 lines
1.6 KiB
C
// Bug captures (bugcap.c): F8 writes what is needed to find a bug again where the player saw it, as one folder under
|
|
// the log folder, and NX2NAVI_CAPTURE_REPLAY starts a run at a capture's place with its camera and its settings.
|
|
// docs/bug-capture.md has the folder's files and the steps.
|
|
#pragma once
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
// perf_present, every present on the render thread: one record into the ring of frame times, and the triggers (F8 while
|
|
// the game window is in front, NX2NAVI_CAPTURE_AT=<frame>[,<frame>...], a replay's own capture).
|
|
void bugcap_frame(uint64_t frame, uint64_t now_ns, uint64_t interval_ns, uint64_t replay_ns);
|
|
|
|
// The note on screen after a capture (ui/menu.cpp, the present path): 1 while it shows, with the capture's number,
|
|
// whether it was written, and its folder's name ("003-20261113-141502").
|
|
int bugcap_note(int *number, int *ok, char name[64]);
|
|
|
|
// A replay (NX2NAVI_CAPTURE_REPLAY=<a capture's folder>). bugcap_replay_dir: the folder, or NULL without one; cfg.c
|
|
// reads the capture's settings.ini in place of nx2navi.ini then and writes neither. The game's thread at its pad read
|
|
// (debug_tools.c): bugcap_replay_pad presses A until the save is loaded, bugcap_replay_tick then teleports to the
|
|
// capture's area, walks Link to where he stood, puts the free camera where the camera was and takes a capture of its
|
|
// own for the comparison.
|
|
const char *bugcap_replay_dir(void);
|
|
void bugcap_replay_pad(uint64_t *buttons);
|
|
void bugcap_replay_tick(uint64_t tick);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|