Files
goldeneye-pc-port/port/include/watchsettings.h
T
James Dansereau 1303c0ebe1 D350: expose watch-backed Bond settings in PC options and F10
Add a game-thread bridge and field-scoped per-file persistence for PC UI edits, with an explicit file chooser; keep watch-only edits session-only. Fix D351 row initializer offsets for units and auto-hide. Document verification and review follow-ups.
2026-09-27 13:20:21 -04:00

29 lines
1.1 KiB
C

#ifndef PORT_WATCHSETTINGS_H
#define PORT_WATCHSETTINGS_H
/* D349: one source of truth for Bond-file-backed GE settings. All GE state and
* EEPROM access runs on the game thread. F10 sends requests to that thread. */
enum WatchSettingField {
WATCH_SETTING_MUSIC,
WATCH_SETTING_FX,
WATCH_SETTING_LOOK,
WATCH_SETTING_AUTOAIM,
WATCH_SETTING_AIMCONTROL,
WATCH_SETTING_SIGHT,
WATCH_SETTING_LOOKAHEAD,
WATCH_SETTING_AMMO,
WATCH_SETTING_COUNT
};
int watchSettingsFieldForKey(const char *key); /* -1 for non-watch row */
int watchSettingsFolder(void); /* explicit front chooser; -1 = none */
void watchSettingsChooseFile(int dir); /* game thread only */
int watchSettingsAvailable(void);
int watchSettingsRead(enum WatchSettingField field); /* front: saved file, F10: snapshot */
void watchSettingsSet(enum WatchSettingField field, int value, int commit);
void watchSettingsCommit(enum WatchSettingField field); /* slider release */
void watchSettingsGameTick(void); /* game thread; after gfxFrameMsgQ receive */
int watchSettingsPersistField(int folder, enum WatchSettingField field);
#endif