forked from Ports/goldeneye-pc-port
Deck/Windows playtest fixes: fog rework (D540) and RSP-style CPU near-plane clip with per-vertex N64 fog (D543), with fog recomputed on near-plane-clipped vertices as the RSP does, so the haze around the player stays steady (D553); colour-combiner clamp for banded walls (D548); rocket and thrown-item stack overflows (D545, D549); menu double-trigger mitigation (D541); Dam ending first-shot camera swivel restored by removing an old port look-at workaround (D552); settings standardisation (D546), live All unlocked (D547), F10 mouse (D544); static window title and the project mark (the in-game crosshair shape, site gold) as window/taskbar icon and favicon (D550). Reference frames re-based on Windows, Linux and Steam Deck (A/B-confirmed); capture_p7.sh runs on Windows. Opt-in update check, off by default (D551: one HTTPS request to GitHub per launch when enabled; winhttp.dll loaded only then; the tag CI job checks the tag against GE007_VERSION). Release notes, ROADMAP, internals and security docs updated; tree-hygiene pass. Refs: D540 D541 D543 D544 D545 D546 D547 D548 D549 D550 D551 D552 D553 D554 D555 D556 D557 D558 D559 D560 D561 D562 D563 D564
50 lines
1.9 KiB
C
50 lines
1.9 KiB
C
#ifndef _FILE2_H_
|
|
#define _FILE2_H_
|
|
#include <ultra64.h>
|
|
|
|
#include <bondconstants.h>
|
|
#include <bondtypes.h>
|
|
#include "file.h"
|
|
|
|
|
|
|
|
/* EEPROM masks for in-game settings */
|
|
#define OPTION_INVERTLOOK 0x0001
|
|
#define OPTION_AUTOAIM 0x0002
|
|
#define OPTION_AIMCONTROL 0x0004
|
|
#define OPTION_SIGHTONSCREEN 0x0008
|
|
#define OPTION_LOOKAHEAD 0x0010
|
|
#define OPTION_DISPLAYAMMO 0x0020
|
|
#define OPTION_SCREENWIDE 0x0040
|
|
#define OPTION_SCREENRATIO 0x0080
|
|
#define OPTION_CONTROLTYPE 0x0700
|
|
#define OPTION_SCREENCINEMA 0x0800
|
|
|
|
#ifdef PORT
|
|
/* D557 (Rule-2 sign-off: maintainer 2026-10-06): new/blank profiles start with
|
|
* Look ahead OFF on PC -- its pitch auto-centring fights mouse and right-stick
|
|
* look (PD's PC port likewise keeps it on only for N64). Existing saves keep
|
|
* their stored option bits; only BLANKSAVEDATA-initialised profiles change. */
|
|
#define DEFAULT_OPTIONS (OPTION_AUTOAIM | OPTION_SIGHTONSCREEN | OPTION_DISPLAYAMMO)
|
|
#else
|
|
#define DEFAULT_OPTIONS (OPTION_AUTOAIM | OPTION_SIGHTONSCREEN | OPTION_LOOKAHEAD | OPTION_DISPLAYAMMO)
|
|
#endif
|
|
|
|
extern ChrRecord *g_CurModelChr;
|
|
|
|
u8 fileGetBondForFolder(u32 folder);
|
|
void fileValidateSaves(void);
|
|
bool fileGetIsCheatUnlocked(save_data *save, s32 cheat);
|
|
STAGESTATUS fileIsStageUnlockedAtDifficulty(s32 foldernum, LEVEL_SOLO_SEQUENCE levelid, DIFFICULTY difficulty);
|
|
void fileUnlockStageInFolderAtDifficulty(s32 foldernum, LEVEL_SOLO_SEQUENCE levelid, DIFFICULTY difficulty, s32 newtime);
|
|
void fileSaveFolderUnlockCheat(s32 foldernum, s32 cheat);
|
|
void fileLoadSettingsForFolder(u32 folder);
|
|
void fileDeleteSaveForFolder(s32 foldernum);
|
|
|
|
void fileGetHighestStageDifficultyCompletedForFolder(s32 foldernum, LEVEL_SOLO_SEQUENCE *levelid, DIFFICULTY *difficulty);
|
|
bool check_aztec_completed_any_folder_secret_00(void);
|
|
bool fileIsEgyptCompletedOn00AnyFolder(void);
|
|
LEVEL_SOLO_SEQUENCE fileGetHighestStageUnlockedAnyFolder(void);
|
|
|
|
#endif
|