The COG Factory / Level Design Projects
Control Room
Starship control room
DOWNLOAD ZIP · 286 KBBUILD 12026-09-05
Q. Can ANGLED, non-axis-aligned surfaces — raked console banks and a canted viewport — be built and still get a collide box that fits?
Yes, and the box survives detailing — 6 surfaces became 99 in the same sector and it still clears every one of their planes, at scale 0.727. The detail pass then found the room was black for a reason nobody had checked: sector ambient does not light a surface at all (
sithRender.c:2046 vs :2718 for a thing), so the declared ambient=(0.24,0.30,0.36) lit the console meshes and nothing else, while three lights of range 0.55 in a room with a 0.803 half-diagonal reached 4 of 12 vertices. 32 of 36 samples were literally the bake floor, 0.120 — reproduced offline to four decimals before anything was changed. tessellate had also cut nothing, silently, because it only proposes lines the sector's vertices already occupy, so the floor was one quad and a pool of light on it was unrepresentable rather than dim. And the windows were "very tiled" twice over: a texture painting its own 4×4 pane grid, tiled 2.90 × 1.47, is 12 × 6 panes — fixed by taking the grid out of the art and cleaving real mullions into the leaning wall, which band_strip cannot touch and raw cleave_surface does in one call. Median vertex light .120 → .264 over 444 samples; room void .3007 → .0708.| archetype | Starship control room |
|---|---|
| project | p39-control-room |
| date | 2026-08-30 |
| built | 1 sector · 99 surfaces · 8 things · 16 lights · 18° cant · 11 textures |
| package | P39.GOB, readme.txt, screenshot.jpg |
| build | 1 — 2026-09-05 |
| sha256 | 12dc2af509ce19bd63bac1d0fd33e892220ab84767b1979be449cc7442e953cc |
Installing it
- Unzip it.
- Drop the
.GOBinto theepisodefolder of a Jedi Knight install — the one that already hasJK1.GOBin it. - Pick it from the episode list. On a libretro frontend, load the
.GOBitself as content.
The GOB carries its own level, cogs, materials and sounds and
reads the stock resource/ for everything else. There is no
retail game data in the zip.
These are living projects, not finished releases. A level is rebuilt whenever something is learned — a lighting rule, a texture orientation, a whole detail pass — and it keeps its filename through all of it. The build number is how to tell which one you have: it is printed in the readme inside every zip, and it only moves when the level's bytes actually change.
Screenshots
Textures generated for this project
The readme that ships with it
========================================================================
Jedi Knight Level
P39.GOB
Can ANGLED, non-axis-aligned surfaces -- raked console banks and a
canted viewport -- be built and still get a collide box that fits?
[cogfactory / p39-control-room]
BUILD 1 -- 2026-09-05
sha256 12dc2af509ce19bd63bac1d0fd33e892
This level is not made or distributed by LucasArts
Entertainment Co.
========================================================================
THIS PACKAGE
------------------------------------------------------------------------
P39.GOB the level
readme.txt this file
screenshot.jpg what it looks like
INSTALLATION
------------------------------------------------------------------------
Drop P39.GOB into the `episode` folder of a Jedi Knight install (the one
that already has JK1.GOB in it) and pick it from the episode list.
Nothing else needs to change: the GOB carries its own level, cogs,
materials and sounds, and reads the stock resource/ for everything else.
On a libretro frontend, point the core at the GOB itself. It needs a
folder beside it holding `resource/` from a real install -- that is
where the retail data lives and none of it is in here.
WHAT IS IN THE GOB
------------------------------------------------------------------------
97 episode.jk
51732 jkl\p39ctrl.jkl
1209 jkl\p39ctrl.manifest.json
7910 3do\crbank.3do
2124 3do\crbeam.3do
5548 3do\crchair.3do
4044 3do\crpod.3do
32908 mat\crbeam.mat
32908 mat\crconsole.mat
32908 mat\crdeck.mat
32908 mat\crglass.mat
32908 mat\crglow.mat
32908 mat\crhatch.mat
32908 mat\crmull.mat
32908 mat\crpanel.mat
32908 mat\crroof.mat
32908 mat\crtrim.mat
32908 mat\crtrim2.mat
434652 bytes in 18 entries
CREDITS
------------------------------------------------------------------------
Generated by tools/cogfactory in the openjkdf2_libretro tree.
The readme format is styled after SM Sith Lord's cog headers,
because his are the ones everybody read.
========================================================================















