Files
goldeneye-pc-port/docs/the-asset-pipeline.md
T
James Dansereau d7b9371afb Docs: public copy, site presentation, release-gate review (D533, D534)
Public-copy language pass, homepage restructure and Documentation rename,
404 page, dead-anchor and permalink fixes, release-gate sign-off, and the
pre-release review fixes of the 2026-10-05 batch (probe-doc drift,
build-path hygiene, verify.sh and capture safety).

Refs: D533 D534
2026-10-06 18:35:44 -04:00

34 lines
1.5 KiB
Markdown

---
title: The asset pipeline
description: How the GoldenEye 007 PC port turns N64 ROM assets into the model and graphics files it loads at runtime.
date: '2026-10-05'
modified_time: '2026-10-05'
---
## The asset pipeline
The N64 stored the game's assets (models, textures, fonts, level and cutscene
data) inside the ROM in on-hardware formats a PC can't use directly. The port
converts them into two "sidecar" files it loads at runtime:
- **`pcmodels`** — the 3D models (a PC layout of the N64's RZ model format).
- **`pccg`** — the graphics: textures, fonts and the rest of the ROM data.
Each is a single concatenated image plus a small `manifest.csv` (name, offset,
size) that the loader reads — `port/src/pcmodels.c` and `port/src/pccg.c`.
**Where they come from.** Two paths produce the same files:
- **A downloaded build** generates them from *your* ROM on first start, into
`data/pcmodels-<region>/` and `data/pccg-<region>/` next to the executable.
Delete them at any time — they are made again on the next start.
- **Building from source** runs the offline Python converters in `tools_pc/`
to produce the same files (see the [Building](building.md) guide, §4).
This is one of the deliberate differences from the Perfect Dark port, which
fixes up the N64 asset formats at load time: GoldenEye's serialized formats
are converted **offline** instead.
*More: [building](building.md) §2 and §4; the loaders are
`port/src/pcmodels.c` and `port/src/pccg.c`.*