Files
goldeneye-pc-port/.github/social-preview.html
T
James Dansereau 4b710728bf v0.5.0 playtest fold-in: fog and near-plane clip, crash fixes, polish (D540-D564)
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
2026-10-06 18:35:44 -04:00

146 lines
7.9 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<!--
Source for .github/social-preview.png — the repo's GitHub "Social preview"
card (Settings → General → Social preview). 1280×640.
Regenerate the PNG with headless Chrome/Edge (any Chromium):
chrome --headless --disable-gpu --hide-scrollbars \
--force-device-scale-factor=1 --virtual-time-budget=6000 \
--window-size=1280,640 \
--screenshot=social-preview.png \
"$(pwd)/social-preview.html"
--virtual-time-budget waits for the Google Fonts (Tinos, Arimo) to load.
If your Chromium blocks file:// font loads, serve the folder first
(`python -m http.server` and point --screenshot at the localhost URL).
Design + rationale: .github/social-preview.md
-->
<html>
<head>
<meta charset="utf-8">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Tinos:ital,wght@0,400;0,700;1,400&family=Arimo:wght@400;700&display=swap" rel="stylesheet">
<style>
* { margin:0; padding:0; box-sizing:border-box; }
html,body { width:1280px; height:640px; overflow:hidden; }
body {
position:relative;
background:#4c4f3c;
font-family:'Arimo','Helvetica Neue',Arial,sans-serif;
}
/* rough concrete/stone surround, like the GE briefing screen.
Layered SVG fractal-noise: broad blotches (dark), mid mottle (light),
fine tooth. */
.concrete { position:absolute; inset:0; z-index:0;
background-color:#5c5f48;
background-image:
url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='520'%20height='520'%3E%3Cfilter%20id='a'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='0.007'%20numOctaves='4'%20seed='19'%20stitchTiles='stitch'/%3E%3CfeColorMatrix%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.55%200.5%200.4%200%20-0.5'/%3E%3C/filter%3E%3Crect%20width='100%25'%20height='100%25'%20filter='url(%23a)'/%3E%3C/svg%3E"),
url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='520'%20height='520'%3E%3Cfilter%20id='b'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='0.02'%20numOctaves='4'%20seed='4'%20stitchTiles='stitch'/%3E%3CfeColorMatrix%20type='matrix'%20values='0%200%200%200%200.82%200%200%200%200%200.83%200%200%200%200%200.72%200.4%200.38%200.32%200%20-0.42'/%3E%3C/filter%3E%3Crect%20width='100%25'%20height='100%25'%20filter='url(%23b)'/%3E%3C/svg%3E"),
url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='200'%20height='200'%3E%3Cfilter%20id='c'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='0.12'%20numOctaves='2'%20seed='8'%20stitchTiles='stitch'/%3E%3CfeColorMatrix%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.4%200.4%200.4%200%20-0.55'/%3E%3C/filter%3E%3Crect%20width='100%25'%20height='100%25'%20filter='url(%23c)'/%3E%3C/svg%3E");
background-size:520px 520px,520px 520px,200px 200px;
}
.concrete::after { content:""; position:absolute; inset:0;
background:radial-gradient(ellipse at 50% 45%, transparent 45%, rgba(12,14,8,.30) 100%); }
/* file tabs on the right edge */
.tabs { position:absolute; right:26px; top:70px; bottom:70px; width:58px;
display:flex; flex-direction:column; align-items:stretch; z-index:4; }
.tab { flex:1; margin:5px 0; background:linear-gradient(90deg,#8f8f86,#c4c4bb);
border:2px solid #5b5b52; border-left:none;
box-shadow:2px 3px 6px rgba(0,0,0,.4);
display:flex; align-items:center; justify-content:center; }
.tab span { writing-mode:vertical-rl; text-orientation:mixed;
font-family:'Arimo',sans-serif; font-weight:700; font-size:15px;
letter-spacing:4px; color:#3b3b33; transform:rotate(180deg); }
/* the project mark: in-game default crosshair proportions (ring outer r 18,
bars reach ~1.43x r with an open centre ~0.24x r); see tools_pc/make_icon.py */
.reticle { position:absolute; right:30px; top:242px; width:52px; height:52px; z-index:5; }
/* the parchment card */
.card { position:absolute; left:40px; top:40px; right:96px; bottom:40px;
background:#d9d4b0;
background-image:
repeating-radial-gradient(circle at 30% 20%, rgba(150,140,95,.10) 0 6px, rgba(120,112,72,.05) 6px 13px),
repeating-linear-gradient(4deg, rgba(140,130,90,.08) 0 3px, transparent 3px 9px);
box-shadow:0 6px 24px rgba(0,0,0,.5), inset 0 0 60px rgba(150,138,95,.35);
padding:44px 58px 40px; overflow:hidden; z-index:2; }
/* faint watermark, upper right */
.crest { position:absolute; right:44px; top:30px; width:190px; height:190px;
opacity:.10; }
.crest .ring { position:absolute; inset:0; border:9px solid #3a3320; border-radius:50%; }
.crest .ring2 { position:absolute; inset:34px; border:4px solid #3a3320; border-radius:50%; }
.crest .bar { position:absolute; left:50%; top:6%; width:6px; height:88%;
margin-left:-3px; background:#3a3320; transform:rotate(30deg); transform-origin:center; }
.crest .bar2 { transform:rotate(-30deg); }
.crest .bar3 { transform:rotate(90deg); }
.h1 { font-family:'Tinos','Times New Roman',serif; font-weight:700;
font-size:62px; line-height:1.02; color:#1c1a12; letter-spacing:1px; }
.h1 .r { color:#a01818; }
.h1 small { display:inline-block; font-size:44px; font-weight:700; letter-spacing:3px;
color:#a01818; margin-top:4px; border-bottom:5px solid #a01818; padding-bottom:1px; }
.meta { font-size:25px; line-height:1.45; color:#1c1a12; margin-top:14px; }
.rep { font-size:26px; font-weight:700; color:#1c1a12; margin-top:14px; letter-spacing:1px; }
.rows { margin-top:8px; font-size:25px; line-height:1.5; color:#1c1a12; }
.rows .status { color:#a01818; font-weight:700; }
.statusline { font-size:26px; margin-bottom:10px; }
.stats { display:grid; grid-template-columns:auto 1fr; column-gap:22px; row-gap:4px;
max-width:1000px; }
.stats .k { white-space:nowrap; font-weight:700; }
.foot { position:absolute; left:58px; bottom:26px; font-size:17px;
color:#4a4432; letter-spacing:.5px; }
/* diagonal CLASSIFIED stamp */
.classified { position:absolute; left:-30px; bottom:40px; right:0;
text-align:center; transform:rotate(-16deg); transform-origin:left bottom;
font-family:'Arimo',sans-serif; font-weight:700; font-size:104px;
letter-spacing:12px; color:rgba(172,40,40,.16); z-index:6; }
</style>
</head>
<body>
<div class="concrete"></div>
<div class="card">
<div class="crest">
<div class="ring"></div><div class="ring2"></div>
<div class="bar"></div><div class="bar bar2"></div><div class="bar bar3"></div>
</div>
<div class="h1">GOLDENEYE <span class="r">007</span><br><small>PC&nbsp;PORT</small></div>
<div class="meta">
Mission: Native PC port of GoldenEye 007, compiled from the N64 decomp project
</div>
<div class="rep">REPORT:</div>
<div class="rows">
<div class="statusline">Status: <span class="status">RELEASED v0.5.0 &mdash; WINDOWS &middot; LINUX &middot; STEAM DECK</span></div>
<div class="stats">
<span class="k">Statistics:</span><span>All 20 solo missions &mdash; full campaign completed in playtesting</span>
<span></span><span>~210 game-code units, compiled unmodified</span>
<span></span><span>~34k lines C/C++ &nbsp;&middot;&nbsp; ~10k Python (port layer + tools)</span>
<span></span><span>407 findings logged &nbsp;&middot;&nbsp; two coding agents, one human, part-time</span>
</div>
</div>
<div class="foot">github.com/jkdansereau/goldeneye-pc-port</div>
<div class="classified">CLASSIFIED</div>
</div>
<div class="tabs">
<div class="tab"><span>NEXT</span></div>
<div class="tab"><span>PREVIOUS</span></div>
</div>
<svg class="reticle" viewBox="-26 -26 52 52" aria-hidden="true"><g fill="none" stroke="#c62828" stroke-width="3"><circle r="16.5"/><path d="M0-26V-4.5M0 4.5V26M-26 0H-4.5M4.5 0H26"/></g></svg>
</body>
</html>