mirror of
https://github.com/jkdansereau/goldeneye-pc-port.git
synced 2026-10-24 00:02:45 +02:00
docs: cut-content research backlog from TCRF export (first pass)
Cross-reference the local TCRF 'cutting room floor' export (scratchpad/backlog-scrape/restore-cut-content-mod, gitignored) against the decomp source and extracted asset tables. Article bodies were lost to a Cloudflare challenge at scrape time; findings rest on the ~170 intact article images + all image filenames, each mapped to ROM object/level evidence: - A: full debug menu (U+D C-hold) decompiled in debugmenu_handler.c — free cam, level switch, ramrom record/replay, screenshot grabs; all compiled into PC build - B: cut weapons (taser/rocket/grenade/P90/spectre/autoshot) have models + stats + SFX; rocket/grenade/P90 grantable via existing cheat codes (cheat.c) - C: 'unused items' page maps 1:1 to file_resource_table entries with use-logic - D: 8 commented-out MP map entries in front.c with dev notes (Citadel/Statue/ Cradle/Aztec/Runway/Dam/Depot/Frigate) - E: per-level unused props + orphaned level geometry (Crypt has bg+briefing but no LEVELID; len/dish/cat/oat/arec/ame/ark/ref dirs beyond shipped set) - F/G/H: unused faces, prerelease comparison pairs, dev-build video embeds Feasibility tiers 0-3 with the port-layer-only constraint called out.
This commit is contained in:
1 parent
e1cb96ef19
commit
395c616fc5
1 file changed
+327
@@ -0,0 +1,327 @@
|
||||
# CUT-CONTENT-BACKLOG — TCRF "cutting room floor" findings vs decomp/port
|
||||
|
||||
Research branch: `research/cut-content-backlog`. Source of truth: the local TCRF
|
||||
export at `scratchpad/backlog-scrape/restore-cut-content-mod/` (gitignored).
|
||||
Working notes: `docs/dev/notes/cut-content/` (gitignored).
|
||||
|
||||
## 0. Source & limitations
|
||||
|
||||
The export covers six TCRF articles on GoldenEye 007 (N64):
|
||||
|
||||
| Article | Export state |
|
||||
|---|---|
|
||||
| GoldenEye 007 (main) | **Body blocked** (Cloudflare challenge page). All ~172 article image *filenames* captured; images themselves are CF stubs. |
|
||||
| Unused items | **Body blocked**, but all 20 article images captured intact. |
|
||||
| Unused stuff by level | **Body blocked**, but ~150 article images captured intact (the richest page). |
|
||||
| Prerelease | **Body blocked**; image filenames + 7 YouTube embeds captured. |
|
||||
| Bugs / Notes | Body + images blocked; nothing usable. |
|
||||
|
||||
So claims below are derived from (a) the captured image filenames/imagery, which
|
||||
are descriptive and map 1:1 onto ROM object names, and (b) direct cross-reference
|
||||
against the decomp source (`src/`) and extracted asset tables (`assets/obseg/`).
|
||||
Anything not verifiable in code/assets is marked **unverified** — re-scrape the
|
||||
article bodies (or read TCRF directly) before acting on those.
|
||||
|
||||
Article imagery that *is* intact lives under the export's `*_files/` dirs; image
|
||||
names carry a per-page suffix (`_KYPp` main, `_LxbF` unused items, `_wAKT` by
|
||||
level, `_1vt` prerelease).
|
||||
|
||||
## 1. Findings
|
||||
|
||||
### A. Debug menu & dev tools — fully in the ROM, fully compiled into the PC build
|
||||
|
||||
TCRF main page images: `GEDebugMenu`, `GECheatOptions`, `GoldenEye-displayspeed`,
|
||||
`GoldenEye-moveview`, `GoldenEye-LineMode`, `GoldenEye-testingmanpos`,
|
||||
`GoldenEye-gunwatchpos`.
|
||||
|
||||
All of these exist in decompiled code:
|
||||
|
||||
- **Debug menu** — `src/game/debugmenu_handler.c` (1202 lines). Opened by holding
|
||||
**U + D C-buttons** (`debug_menu_processor`, ~line 451; wired into `boss.c:551`
|
||||
and the main game loop). Full option list at lines 116–185: `move view`,
|
||||
`stan view`, `bond view`, `level` / `region` / `scale` (level switching),
|
||||
`play title`, `bond die`, `select anim`, `gun pos`, `flash colour`,
|
||||
`hit colour`, `music`, `sfx`, `invincible`, `visible`, `collisions`,
|
||||
`all guns`, `max ammo`, `display speed`, `background`, `props`,
|
||||
`stan hit` / `stan region` / `stan problems`, `print man pos`,
|
||||
`port close` / `port inf` / `port approx`, `pr room loads`,
|
||||
`show mem use` / `show mem bars`, `grab rgb` / `grab jpeg` / `grab task`
|
||||
(screenshots), `rnd walk`, **`record ramrom` / `replay ramrom` /
|
||||
`save ramrom` / `load ramrom`** (input recording/replay!), `auto y aim`,
|
||||
`auto x aim`, `agent` / `all` / `fast` (unlock flags), `objectives`,
|
||||
`marg top/bot/left/right/reset`, `screen size`, `screen pos`,
|
||||
`show patrols`, `intro` / `intro edit` / `intro pos`, `world pos`,
|
||||
`gun key pos`, `vis cvg`.
|
||||
- **Free camera** — `src/game/debug_camera.c` (the "move view" option).
|
||||
- **Load-all-models tool** — `src/game/deb_loadallmodels.c` (used by
|
||||
`initguards.c`; dumps every model — how the TCRF screenshots of unused
|
||||
models were likely made).
|
||||
- **Line mode** — `CHEAT_LINEMODE` in `src/game/cheat.c:685` (wireframe toggle,
|
||||
cheat-menu unlockable; `front.c:1017`).
|
||||
- Screenshot options (`grab rgb`/`grab jpeg`) call `indyGrabRgb32bit()` /
|
||||
`indyGrabJpg32bit()` — N64 VI grabs; on PC these are the natural hook for the
|
||||
port's existing screenshot QoL (see `feat/qol-mute-screenshot` lineage).
|
||||
|
||||
**Status: Tier 0.** Everything compiles into the PC build (`CMakeLists.txt`
|
||||
`GLOB_RECURSE src/game/*.c`). The debug menu should already work in the PC port
|
||||
if U+D C-buttons can be produced by `port/src/input.c`. *Verify in-game* (open
|
||||
menu, toggle `display speed`, use free cam). Mod value: document it; consider a
|
||||
config/keybind that synthesizes the U+D c-button hold, and mapping `grab rgb`
|
||||
to the port's screenshot path.
|
||||
|
||||
### B. Cut weapons — fully functional in the ROM, grantable via existing cheat codes
|
||||
|
||||
TCRF images (main + prerelease pages): `GoldenEye-Taser[PR]`, `GoldenEye-KF7[PR]`
|
||||
(+`KF7Watch`), `GoldenEye-GrenadeLauncher[PR]`, `GoldenEye-RocketLauncher[PR]`
|
||||
(+`RocketLauncherWatch`), `GoldenEye-RifleLauncher` (+`RifleLauncherCheat`),
|
||||
`GE64_Shotgun1`, watch variants `MagnumWatchPR`, `PP7WatchPR`, `KlobbWatchPR`,
|
||||
`TaserWatch`.
|
||||
|
||||
Evidence in code/assets:
|
||||
|
||||
- Model + stat files exist for every cut gun under `assets/obseg/gun/`:
|
||||
`taser/`, `rocketlaunch/`, `grenadelaunch/`, `fnp90/`, `spectre/`,
|
||||
`autoshot/`, `ak47/`, `m16/`, `skorpion/` … each with
|
||||
`gunWeaponStat.inc.c` + `ModelFileHeader.inc.c`.
|
||||
- `assets/obseg/gun/gunWeaponStats.inc.c`: complete `WeaponStats` for
|
||||
`taser_stats` (line ~365), `rocketlaunch_stats` (~305),
|
||||
`grenadelaunch_stats` (~295), plus `watchlaser_stats`, `tank_stats`,
|
||||
`bombcase_stats`, etc. These are data-driven — the weapon engine
|
||||
(`src/game/gun.c`, `gunfire.c`) will run them.
|
||||
- First-person view cases exist: `src/game/bondview_r.c:38` handles
|
||||
`ITEM_GRENADELAUNCH`, `:41` `ITEM_ROCKETLAUNCH`.
|
||||
- **Cheat codes grant them**: `src/game/cheat.c` — `CHEAT_2X_ROCKET_LAUNCHER`
|
||||
(line 711), `CHEAT_2X_GRENADE_LAUNCHER` (712), `CHEAT_2X_RCP90` (713),
|
||||
plus unlock sequences (`CHEAT_UNLOCK_2XGL/2XRL/2XFNP0`, lines ~695–734) and
|
||||
the grant logic at lines 1277–1310: `bondinvAddInvItem(ITEM_ROCKETLAUNCH)` /
|
||||
`give_cur_player_ammo(AMMO_ROCKETS, …)` etc. Note the `#if defined(BUGFIX_R1)`
|
||||
guards — check which region macros the PC build defines (non-negotiable #3).
|
||||
- Taser SFX exist: `GUN_TASER_SFX` / `GUN_TASER_LOOP_SFX` (`src/bondconstants.h:2271`).
|
||||
- `ITEM_TASER` is in the item enum and used as an inventory bound in
|
||||
`bondinv.c:854` (JP-text-trigger branch) — the taser was closest to shipping.
|
||||
|
||||
**Status: Tier 0/1.** Rocket launcher, grenade launcher and FN P90 are
|
||||
playable today via the game's own cheat codes (single-player). Taser/Spectre/
|
||||
AutoShot have no cheat path but everything needed is in the binary; a
|
||||
port-layer toggle calling the same `bondinvAddInvItem` +
|
||||
`give_cur_player_ammo` pair the cheats use would be a clean mod (no game-logic
|
||||
change — it replicates an existing code path). Watch-mounted variants
|
||||
(KF7/Magnum/PP7/Taser watch) are *not* in the item enum — likely cut before
|
||||
data landed; **unverified** whether any model exists beyond what TCRF shows.
|
||||
|
||||
### C. "Unused items" page (intact imagery) — objects with full logic, never placed
|
||||
|
||||
The 20 intact images correspond exactly to ROM object entries
|
||||
(`assets/obseg/file_resource_table.inc.c`, 781 entries):
|
||||
|
||||
| Image | Resource ID | Notes |
|
||||
|---|---|---|
|
||||
| `GE007-AudioTape` | `AUDIOTAPE` / `CHRAUDIOTAPE` (lines 125, 265) | pickup + prop variants |
|
||||
| `GE007-BombCase` | `BOMBCASE` (129) | has full `bombcase_stats` (throwable explosive) |
|
||||
| `GE007-Controller` | N64 controller model (`joypad/` dir in gun table) | desk prop |
|
||||
| `GE007-WatchMagnetRepel` | `ITEM_WATCHMAGNETREPEL` (`bondconstants.h:4190`) | watch function, use-logic present |
|
||||
| `GEMicroCamera` | `MICROCAMERA` (176) + `AMMO_MICRO_CAMERA` | |
|
||||
| `GoldenEye-Weapon_Case` | `ITEM_WEAPONCASE` (`gunfire.c:3066` use-case) | |
|
||||
| `GE007-PolarizedGlasses` | `POLARIZEDGLASSES` (185) + `ITEM_POLARIZEDGLASSES` | `darkglasses/` also present |
|
||||
| `GoldenEye-Plans` | `PLANS` (183) | `blueprints/` variant too |
|
||||
| `GoldenEye-Watch_Identifier` | `WATCHIDENTIFIER` (208) + `ITEM_WATCHIDENTIFIER` (`gunfire.c:3076`) | 4th watch function with use-anim, never spawned |
|
||||
| `GoldenEye-Safecracker` | `SAFECRACKERCASE` (190) | |
|
||||
| `GoldenEye-Watch_Communicator` / `Watch_Geiger_Counter` | `ITEM_WATCHCOMMUNICATOR` / `ITEM_WATCHGEIGERCOUNTER` (`bondconstants.h:4188-89`) | shown for contrast — these *are* used (Aztec) |
|
||||
| `GEGasKeyring` | `GASKEYRING` (157) + `ITEM_GASKEYRING` | |
|
||||
|
||||
All have `GUN_ANIM_STATE_USE_ITEM` handling in `gunfire.c:3060-3084` — i.e. the
|
||||
game can *use* them; level data just never places them.
|
||||
|
||||
**Status: Tier 1/2.** Granting any of these to Bond is a port-layer item-spawn
|
||||
(same mechanism as §B). Actually *placing* them in levels requires ROM/level-data
|
||||
editing (a level editor or hand-patched object tables) — Tier 2, out of scope
|
||||
for this repo but viable as a data mod.
|
||||
|
||||
### D. Cut multiplayer maps — 8 commented-out menu entries with dev notes
|
||||
|
||||
`src/game/front.c:556-573` `multi_stage_setups[]`: the shipped MP list is
|
||||
Random/Temple/Complex/Caves/Library/Basement/Stack (default) + Facility/Bunker2/
|
||||
Archives/Caverns/Egypt (progression-unlocked). Immediately below, **commented
|
||||
out with in-source dev annotations**:
|
||||
|
||||
```c
|
||||
//{... LEVELID_CITADEL ...}, //Citadel (old format setup)
|
||||
//{... LEVELID_FRIGATE ...}, //dest (has xbla setup)
|
||||
//{... LEVELID_STATUE ...}, //stat (works)
|
||||
//{... LEVELID_CRADLE ...}, //crad (works)
|
||||
//{... LEVELID_AZTEC ...}, //azt (needs setup)
|
||||
//{... LEVELID_RUNWAY ...}, //runway (xbla setup)
|
||||
//{... LEVELID_DAM ...}, //dam (xbla setup)
|
||||
//{... LEVELID_DEPOT ...}, //depot (xbla setup)
|
||||
```
|
||||
|
||||
TCRF imagery matches: `GECitadel*` (5 screenshots, main page),
|
||||
`GEStatueMulti`, `GECradleMulti`, the whole Depot image set (`DepotCrateStack`,
|
||||
`DepotRockets`, `DepotSafeTable`, `DepotSiloPipe[Ed]`, `DepotTrailers`,
|
||||
`DepotPhoto`), and `GoldenEye-FrigateMap`.
|
||||
|
||||
The port already boots every one of these standalone (`-level_XX`; see
|
||||
`docs/dev/LEVEL-STATUS.md` — Statue `-level_22`, Train `-level_25`, etc. all
|
||||
PASS). So the geometry, AI setup and briefings
|
||||
(`assets/obseg/brief/UbriefdepoZ.c`, `UbrieftraZ.c`, …) are intact; only the MP
|
||||
menu entry was removed.
|
||||
|
||||
**Status: Tier 3 (mod fork).** Re-enabling = editing a game data table in
|
||||
`src/game/front.c` — that's a game-logic change, disallowed in this repo
|
||||
(non-negotiable #2). Viable as a separate mod branch/fork ("8 more MP maps"),
|
||||
or as a documented cheat-menu route (the debug menu's `level`/`region` options
|
||||
may already jump to any level ID — verify).
|
||||
|
||||
### E. Per-level unused props & geometry ("Unused stuff by level" page)
|
||||
|
||||
~150 intact screenshots, grouped by level. Cross-referenced against the object
|
||||
table and level IDs:
|
||||
|
||||
- **Streets** (campaign stage 12; `LEVELID_STREETS`): an entire prop kit was
|
||||
never placed — `StreetsCars`, `StreetsLamp[Base/Big]`, `StreetsSign[2/3]`,
|
||||
`StreetsTrafficLight`, `StreetsShovel`, `StreetsCrossing`, plus two cut set
|
||||
pieces `GE64-StreetsArea1/2` and Ourumov's car driving/crashing
|
||||
(`StreetsOuruGo`, `StreetsOuruCrash`, `GEOurumovsCar`). Suggests a cut
|
||||
street-chase scene.
|
||||
- **Silo**: `SiloVentShaft`, `SiloLadder`, `SiloLaunchDoors`,
|
||||
`SiloWalkway2Door/Guard`, `SiloMissingHandrail` (a bug/oddity screenshot),
|
||||
`GoldenEye_UnusedStartingPoint`, and prerelease-only `PRSiloElevator`,
|
||||
`PRSiloLamps`, `SiloCutWalkway`, **`ThirdSiloEditor`** (editor view of a
|
||||
third silo that didn't ship).
|
||||
- **Facility**: PR-vs-final wall sets (`FacilityWalls[Final]`,
|
||||
`PRFacilityWalls`, `ArchivesWalls`), plus cut rooms: `FacilityBathroom`,
|
||||
`FacilityConveyor`, `FacilityGasTanks`, `FacilityLabTanks`,
|
||||
`FacilityWalkway`, `FacilityArmedScientistPR`, `FacilitySatBoxTex`,
|
||||
`GoldenEye007-FacilityPhoto`.
|
||||
- **Archives**: `ArchivesOverview`, `ArchivesLamp[Scan]`, `ArchivesPhoto`,
|
||||
`PRArchivesNoWalls` (wall-less build view).
|
||||
- **Bunker**: `BunkerExtraMons[Side]` (extra monster/guard spawns),
|
||||
`BunkerPIP`, PR `BunkerLamp`.
|
||||
- **Caverns**: `CavernsPursueObj` (a cut "pursue" objective marker), PR
|
||||
`CavernsWalkway`.
|
||||
- **Dam**: `DamIsland`, `DamPlatform`, `DamDockDoors`, `DamEndDuct`,
|
||||
`DamTruckDoor`; region-diff shots `DamCompUS/EU`.
|
||||
- **Frigate**: `FrigateHarpoonScan` (scan of a harpoon model),
|
||||
`PRTrainTargetGlass`, `Pdest_harpoonZ[2]`, `Ptorpedo_rack`,
|
||||
`FrigateMoneypennyPR` (a Moneypenny model in the Frigate PR build!),
|
||||
region-diff `FrigateIntroUS/JP`.
|
||||
- **Aztec/Temple**: `AztecConsolePads1-4`, `GE-AztScreen2781/2789`,
|
||||
`AztExtraMainframe`, `AztDronePadsLabel`, `unused-Aztec-Path` (a whole
|
||||
unplaced path), `EgyptianRed/WhiteClouds` (two skybox variants),
|
||||
`TempleSkySolo/Multi`, PR: `AztBlueSuitPR` (cut enemy suit),
|
||||
`AztHeavyFogPR`, `AztTableScreensPR`.
|
||||
- **Surface**: `SurfaceBookCrate`, `SurfaceObsPad`, `SurfaceTower`,
|
||||
`SurfaceJerryCan`, `SurfaceHutTable`, `SurfacePropHut`, PR
|
||||
`SurfaceOverviewPR`, `SurfaceVent[PR]`, `SurfaceDish[PR]`.
|
||||
- **Train** (campaign stage 14): `GE007-TrainSecretRoom` (a hidden room),
|
||||
`TrainTargetGlass`.
|
||||
- **Misc props/vehicles**: `GEMotorbike`, `GERedTruck`, `GESovietBoat`,
|
||||
`GEHelicopterPilot`, `GEBiker`, `GoldenEye-moonfemale` (`moonfemale/` chr
|
||||
model exists), `OurumovKey/Briefcase`, `GEDeskMat`, `GoldenEye-Crypt`
|
||||
(confirmed orphaned map — see note below),
|
||||
`GE64-BridgeRooms`, `GEJunglePicture`, `Runwaypicture`,
|
||||
`Controlicon`, `Cactus`.
|
||||
- **Orphaned level geometry** — `assets/obseg/bg/` holds per-level dirs for
|
||||
`ame arch arec ark azt cat cave crad cryp dam depo dest dish len oat ref run
|
||||
sev sevb sevx silo stat tra`. Notable: `cryp` (Crypt) has full geometry +
|
||||
briefing (`UbriefcrypZ.c`) but **no `LEVELID_CRYPT` entry** in
|
||||
`bondconstants.h` — fully orphaned. `len` (Lenin statue area, cf.
|
||||
`StatueLeninPR`) and `dish`/`cat`/`oat`/`arec`/`ame`/`ark`/`ref` are further
|
||||
level dirs beyond the shipped set. No `citadel` dir — its geometry was
|
||||
either removed or shared (TCRF's 5 Citadel screenshots show a finished map,
|
||||
so it existed in some build).
|
||||
|
||||
**Status: Tier 2.** All models are in the ROM's object table (spot-checked:
|
||||
`PchrtesttubeZ`, `Pdest_harpoonZ`, `Pdoor_roller1-4Z`, `PhatfurryZ`,
|
||||
`Pletter_tray1Z`, `Pmissile_rackZ`, `PsilencerZ`, `Psteel_door2[ b]Z`,
|
||||
`Ptorpedo_rack`). Placing them needs level-data editing (object spawn tables) —
|
||||
a data-mod / level-editor project, not a port change. The PR-vs-final texture
|
||||
pairs (`*PR__1vt.jpg`) are interesting for a "pre-release textures" cosmetic mod
|
||||
via the `tools_pc` asset pipeline — but the PR ROM itself isn't available here,
|
||||
so source assets would have to come from TCRF's screenshots (low-res) or a
|
||||
donated PR dump.
|
||||
|
||||
### F. Unused characters & faces
|
||||
|
||||
TCRF main-page imagery: `UnusedFace1/2/3` (each with F/S1/S2 views),
|
||||
`GE64-FemHead1-4`, `KenFaceUnused/Used`, `Rosika[Compare]`, `SciCompare`,
|
||||
`FemaleSci`, `GEBonds`, `Terrorists`, `TerroristBiker`, `StPetersburgGuard`,
|
||||
Bond-suit sets named after actors: `Connery*`, `Dalton*`, `Moore*` (each with
|
||||
HeadFront/Back/Left/Right + Jacket pieces), `GEArmor[our]`.
|
||||
|
||||
Cross-reference:
|
||||
|
||||
- The MP character table (`front.c:601+` `mp_chr_setup[]`) is huge — ~40 named
|
||||
entries beyond the 8 selectable, including `ROSIKA`, `KARL`, `MARTIN`,
|
||||
`MARK`, `DAVE`, `DUNCAN`, … `TERRORIST`, `BIKER`, `STPETERSBURGGUARD`,
|
||||
`HELICOPTERPILOT` — Brosnan-body + swapped-head combos. The "unused faces"
|
||||
are almost certainly extra head models in this pool that no body/entry uses.
|
||||
- Head model dirs exist under `assets/obseg/chr/`: `headken` (the Ken face),
|
||||
`headbrosnan*` (4 costume variants), `moonfemale`, plus ~30 named heads.
|
||||
The actor-named suits (Connery/Dalton/Moore) do **not** appear as chr dirs —
|
||||
likely cut before model export, or embedded in a shared body file.
|
||||
**Unverified** which exact models the TCRF face shots show.
|
||||
|
||||
**Status: Tier 2/3.** Cosmetic mod (extra MP faces) = asset-level work if the
|
||||
models are in the ROM; verify by dumping `assets/obseg/chr/*/Model.c` headers.
|
||||
|
||||
### G. Prerelease / dev-build evidence
|
||||
|
||||
Prerelease page (body blocked; filenames + embeds only):
|
||||
|
||||
- PR-vs-final comparison pairs: Taser, KF7, GrenadeLauncher, RocketLauncher
|
||||
(+watch versions), SurfaceVent/Dish, `StatueLeninPR`, Facility walls/rooms
|
||||
(§E), ArchivesWalls, CavernsWalkway, SiloCutWalkway, ThirdSiloEditor,
|
||||
PRSiloElevator, BunkerLamp, OutletConsoles. Pattern: the PR build had more
|
||||
weapons (watch-mounted guns!) and different Facility/Silo/Aztec geometry.
|
||||
- **Dev-build videos** (YouTube embeds captured in the export):
|
||||
- "Goldeneye 007 - Shoshinkai/Space World 1996"
|
||||
- "Nintendo of America E3 1996 Take Away Video (VHS Rip)"
|
||||
- "Goldeneye Beta WalMart Video"
|
||||
- "Goldeneye 007 Promotional Trailer 1996"
|
||||
- "N64 vous n'en reviendrez pas (VHS RIP 1997)"
|
||||
- "64History - N64 B-Roll (1995)"
|
||||
- "Escape (Banjo-Kazooie, GoldenEye 007)" — engine sibling footage.
|
||||
Useful for dating PR features; not actionable in-repo.
|
||||
|
||||
### H. Misc oddities (main page, unverified)
|
||||
|
||||
- `GoldenEye007MickeyMouse` (by-level page, 2 KB image) — no "mickey" object in
|
||||
the resource table; likely a texture/model easter egg spotted in a level.
|
||||
- `Unused_bond_walk.gif` — an unused Bond walk animation (check
|
||||
`assets/animationtable_entries.c` for orphaned anim IDs).
|
||||
- `GoldenEye007-MovieLogoUnused` / `-MovieNoLogoUnused` — alternate intro logo
|
||||
frames (title sequence data; `src/game/brief*`? verify).
|
||||
- `GE_UnusedAlarm`, `GoldenEye-BloodImpact` / `BoxBlood` / PR `OpaqueBlood` —
|
||||
blood-effect variants (cf. `src/game/blood_animation.c`).
|
||||
- `GoldenEye007-BarrelUnused` / `-SmallBarrelUnused` — barrel props never placed.
|
||||
- `GoldenEye-OddDay`, `Sight[Alt]`, `MountainTex`, `background`, `Pbin1Z`,
|
||||
`PchrtesttubeZ[Explode]`, `PitonGunBungee`, `Psev_door[3_wind]Z` — props in
|
||||
the table, placement unverified.
|
||||
- Bugs & Notes articles: **nothing recoverable from this export** — re-scrape.
|
||||
|
||||
## 2. Feasibility summary
|
||||
|
||||
| Tier | Item | Effort | Where it lands |
|
||||
|---|---|---|---|
|
||||
| **0 — already works** | Debug menu (U+D C-hold), free cam, line mode, ramrom record/replay, cheat-grantable rocket/grenade/P90 | verify in-game; document keybinds | docs + maybe `input.c` keybind for U+D c-buttons |
|
||||
| **1 — port-layer hook** | Grant taser/spectre/autoshot + unused items (watch identifier, bomb case, …) via config toggle replicating the cheat grant path (`bondinvAddInvItem` + `give_cur_player_ammo`) | small; follow F10-toggles pattern (`feat/f10-game-toggles`) | `port/src/` only |
|
||||
| **2 — data/asset mod** | Place unused props per level; extra MP faces; PR texture swap | needs level-editor or object-table patching; separate project | data mod, not this repo's code |
|
||||
| **3 — game-logic change (mod fork)** | Re-enable 8 cut MP maps (`front.c` table), campaign reordering | one-line-per-map table edits + setup fixes ("xbla setup" = unknown editor flag) | separate mod branch/fork only |
|
||||
|
||||
## 3. Next steps
|
||||
|
||||
1. **In-game verification pass** (PC build): open debug menu; confirm free cam,
|
||||
`display speed`, level switch; enter the 2X rocket/grenade/P90 cheat codes;
|
||||
screenshot via `grab rgb`. Record results here + findings.md if anything new
|
||||
breaks (Dxx).
|
||||
2. Confirm which region macros the PC build defines vs the `BUGFIX_R1` guards in
|
||||
the weapon-grant cheats (non-negotiable #3) — the grants may be dead code in
|
||||
our build.
|
||||
3. Dump `assets/obseg/chr/` model headers to identify the UnusedFace1-3 /
|
||||
FemHead1-4 models concretely.
|
||||
4. Re-scrape TCRF article bodies (main/prerelease/bugs/notes) to upgrade
|
||||
"unverified" claims; the CF challenge blocked both the original scrape and a
|
||||
direct `api.php` attempt.
|
||||
5. If Tier-1 item granting is wanted: spec it as an F10 toggle set, port-layer
|
||||
only, each entry citing the cheat-code precedent in `cheat.c`.
|
||||
Reference in new issue
Block a user