The COG Factory / Level Design Projects

The Karrow Curfew

ONE NIGHT IN AN OCCUPIED FREE PORT — a six-level chained singleplayer episode with no Dark Jedi, built by a fleet of level agents on one shared kit, with a verdict
DOWNLOAD ZIP · 11 MBBUILD 32026-09-14
The Karrow Curfew

Q. Can the campaign pipeline ship a six-level singleplayer episode with no Dark Jedi in it, where every objective a player completes is tested on the player's own path, every level agent runs its own level in the engine, and the chain reads as one journey?

Yes, as far as the harness can see, and not yet as far as a player can. Six levels chain p55bay, p55mkt, p55twr, p55press, p55siren and p55dawn in one P55.GOB: 161 sectors, 3,280 surfaces, 246 things, 52 hostiles and not one Dark Jedi (the validator refuses any hostile outside each level's design roster, and the master cog grants Force rank and mana but no power). Every objective a player completes is tested on the player's own path: each level's walk row walks the plan's route on foot with every actor dead, rides every lift (down as well as up in the tower and at dawn), presses every switch with a real SPACE from 0.13 off the wall and crosses into the exit; and where the fight is the point, the proof runs with the garrison alive: the tower's control room, and Vosk's honour guard with SSOSK, taken with the player's own weapon; the tower's pair, the rooftop purge squad, the dawn gantry's guns and the finale's opening fought on retail shields; the press floor's pursuit under live fire, under the probe's guard, and its entry lock holding the hall droid; and the kit's lift crush clearing both rooftop jams. Every level agent ran its own level in the engine in its own sandbox, and a second agent audited it by re-running the chain. Build 3's gate is 97/97 in 572.5 s, and 46 of those rows are controls that each fail exactly once at a named line; its GOB exported clean, with 257 entries. In build 2 all six levels were rebuilt in SED on kit v5 in 91-108 s, with every build and geom check green. And the chain reads as one night: the briefing hour 2100, then the hour plates GATE 9 2200, FREIGHT 2300, CHUTE 0100, SLED 0300 and TRAM 0500, each on the player's right hand on both sides of its load (kit v5), and home to the Crow's hold under CROW / BAY 12; the Crow's hold is level 1's entry and level 6's exit, and walking up her hatch ends the episode; Bay 12 is the same box, the same sandstone and the same clamp positions in both, and since build 3 it has level 1's beacons and scanner (level 6's hold still sits 0.69 further west, as measured in build 2); the posters read DACE in levels 1-2, flip at the turn in level 3 and read KATARN in 4-6; Force rank only rises (1, 2, 2, 3, 4, 5), every level grants its own weapon and no hostile drops one early; and each level has its own music track, 50 to 55.

Known and OPEN, stated as plainly. (1) Levels 3, 4 and 5 resolved with the same beat in build 2: one trigger unlocked the exit-side door and loosed exactly two hostiles from behind the player, three levels running. Build 3 changed the tower's and the rooftops' versions (the tower's bay key comes on the first commando down or 20 s after the purge; the purge squad comes through the tram lock one trooper at a time), but each of the three still looses two. (2) Every raised tier is 0.60 over the level's one tall space, reached by the same 0.55 kit lift pad, and adjacent levels 2-3 and 5-6 still share it. Build 3's two-way lift made leaving a raised room by lift expressible, and the ride down was spent on the tower and dawn, whose gallery and ledge are now railed for the player. (3) RULE, HELD ACTORS wakes groups before their story releases. In build 2 the levels worked round it one at a time (a march in level 1, a transfer bay locked until the turn in level 3, a proof room the dock press opens in level 4, a sight gate in level 5), and the rule is still open as doctrine: level 3's guard still wakes on approach, and level 6's gun hold breaks the adjoining-room clause by design. Build 3 retired the tower's wrong-press release in the docs. (4) SSOSK is the fifth counted foe, by the owner's choice: the goal reads 'Bring down Colonel Vosk, his honour guard and SSOSK.', and SSOSKSPARE is its control. (5) The episode END, level 6's gotoA -1 into the credits, is asserted in the harness log, with NOEND controls; that the credits draw is not proven by pixels, and retail has not seen it. (6) Health not carrying across a load, and so no first-room heals, is measured in this core and confirmed for retail by the owner. (7) The tower's pair fight is timing-fragile. On retail shields with perfect aim the gate's wait-140 positive ends at 1-39, wait 40 at 40-59 and wait 320 at 1-39. Of 12 copies run with N = 0-10 and 13 extra frames after the head, 8 pass, and the 4 at N = 3, 4, 5 and 13 die at the fight pose; 6 of 6 copies shifted at the fight pose pass. No heal, by the owner's decision. The lead ships ON, also by the owner's decision, with no row and no control: build 3's 'lethal to a player who flees at wait 320' did NOT reproduce on retail shields, where led and unled players both die at waits 320 and 140, and at wait 40 the led player lived and the unled one died. (8) Dawn's whole finale is not scriptably winnable: on retail shields it went 0 won, 12 alive and 1 dead of 13 timings, so its gate row is the opening only, where the rifle burst holds until PB FIRST FOE DOWN (18/18 in a sweep), and retail judges the whole fight. The gantry walker draws the concussion rifle and asserts TERM DOWN and HALL DOWN (14/14), and GUNSFREE, whose TOP line means no gun hit before the top and health plus shields of at least 80, locates in 14 of 14. (9) The press floor's passive walk is fatal: unguarded, a walker who never fires dies even with 100 shields (the pursuit entering TUNNEL, the lane at the booth end). The owner accepted it, and the playtest judges. The harness also segfaults (rc=139) after a player death under --keep-going. (10) On the rooftops the tram-fight positive ends at 80-89 at its own timing, and the source of that loss is not isolated; its sweep passed 12 of 12, 9 ending at 100, and REACT=30 gives 0 failures. Each trooper walks out unarmed and arms at its post, kept by the owner. (11) Kit findings. Fixed in build 3: the kit lift no longer strands a rider (it reverses, retries, and crushes an actor after 3 blocks, never the player); the COG lint catches a label and a symbol with the same name, a goalbase default and the literal budget; the cross-level ORDER landing check is RED; OBJECTIVE and DONE text is asserted in the log (P55_NOOBJTEXT); a kit door opens on unlock for a player already standing in its stub (P55_DOORDEAF); check.py refuses control banners and a missing jkEndLevel(1); amb is keyed by sector name first; box_model(fit=True) fits each face to its MAT's size; a MAT taller than 256 is refused at gen time; --report takes the hostiles a cog creates; an optional walk_effects hook lets a level assert any goal's effect on the walked path (level 5 uses it); and the kit's kill win step keeps the fight room's centre only when it is 0.30 clear of every actor and prop in the room, otherwise takes a clear quarter point, and stops when none is clear. A hostile's line of fire into a landing box is now checked, as an advisory only. Build 2's other kit findings stand as listed: controls() carries no environment and no failed-at marker, so the gate rows carry them by hand; the clearance RED still uses the size= sphere, with a 3DO box only an advisory; every landing box is 28 surfaces against the brief's 20; and goto's z band admits a floor 0.5999 under a deck. The lift's rider re-check is proven only in the kit spike sandbox; a crush survivor and a blocked rise are not engine-proven. The p55s-spike kit proofs are not gate rows, because the sandboxes are dropped. Lanes that change shipped row values with no banner need a plain gen last before export, and the unused mat/p55xlsgn.mat still rides in the GOB.

A green gate is not the final test: nothing of build 3 has run in retail JKDF2 or in front of a human in RetroArch, and this toolchain has shipped green GOBs that crash stock JKDF2. The owner's build 3 smoke test, from dist/: play the chain from Bay 12 through all five loads, up the Crow's hatch and into the credits; check the hour plate is on your right on both sides of every load; check that the objectives and the story lines show on screen; call a lift from either end, ride down in the tower and at dawn, and see a jam clear; check that the tower's gallery rail and the dawn ledge rail stop you and do not stop bolts or AI; in the tower, fight the pair after the turn with real aim on retail shields, and wait in the bay stub for the key; on the press floor, run the pursuit fighting back, with the booth bacta; on the rooftops, meet the purge squad one trooper at a time; at dawn, take the gantry guns and the finale's opening, and finish all five, SSOSK included; listen for the music, MUSIC/Track50..55.ogg, which OpenJKDF2 plays and retail is unverified on; and try the rooftop cistern's timed jump (1 in 4 for the agent in build 2).
archetypeONE NIGHT IN AN OCCUPIED FREE PORT — a six-level chained singleplayer episode with no Dark Jedi, built by a fleet of level agents on one shared kit, with a verdict
projectp55-karrow-curfew
date2026-09-12
built6 levels, one chained episode (6 SED saves, rebuilt on kit v5 in build 2) · 161 sectors · 3,280 surfaces · 246 things · 52 hostiles, no Dark Jedi · 14 secrets · 19 objectives · 10 switches · 5 lifts · 16 doors · 2 player-only rails · 6 music tracks · build 3: 97 gate rows incl. 46 located controls, 97/97 green in 572.5 s · 257 GOB entries · 91-108 s per level in SED
packageepisode/ (P55.GOB, readme.txt, screenshot.jpg), MUSIC/ (6 tracks)
build3 — 2026-09-14 (first packaged 2026-09-12)
sha2566b9262bd1725ab4a9a75db1d23533b2850efbd2fed305a63d3358f48dd82a00c

Installing it

  1. Unzip it. Inside are two folders, episode and MUSIC.
  2. Merge both into your Jedi Knight folder — the one that already has episode/JK1.GOB and resource/ — so P55.GOB lands in episode and MUSIC sits beside episode and resource. The engine plays music from that folder, not from inside the GOB and not from beside it.
  3. Pick it from the episode list. On a libretro frontend, load the .GOB from that episode folder as content; the unzipped folder will not do, because the core wants resource/ beside episode/.

The GOB carries its own levels, cogs, models, materials, and text, and the zip carries its music in MUSIC/. Everything else is read from the stock resource/, and 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

One of these 27 tiles is a harness working frame (640×480), flagged on the tile: not yet re-shot at 1280×720 with the HUD and dev text off.

Textures generated for this project

p55xt0p55xt1p55xt5p55xlbdp55xsandp55xpstdp55xpstkp55xvoskp55mbntyp55pprfp55stimep55dtkt

The readme that ships with it

========================================================================
 Jedi Knight Level

 P55.GOB

 Karrow Crossing, 2100, and the curfew sirens are starting. Kyle Katarn
 puts the Crow down in Customs Bay 12 to collect Dace, reported caught
 with the Old Quarter cell list. Get through customs and out by Gate 9,
 up through the Lantern Market to Dace's safehouse, and into Colonel
 Vosk's security tower to take the control room and open Cell 7 --
 where the cell is furnished, because Dace was never a prisoner. Dace
 sold the list, and you, and the purge of the Old Quarter starts at
 0500. Then the night runs the other way: down the press floor's lane
 without stopping, across the rooftops to give the Old Quarter three
 long blasts on the storm siren, and back to Bay 12 at dawn, where the
 Crow is still clamped under two gantry guns and Vosk waits at her ramp
 with his guard and the bounty hunter SSOSK. Six levels, one night, and
 no Dark Jedi anywhere in it.

 [cogfactory / p55-karrow-curfew]

 BUILD 3  --  2026-09-14   (first packaged 2026-09-12)
 sha256 6b9262bd1725ab4a9a75db1d23533b28

 This level is not made or distributed by LucasArts
 Entertainment Co.
========================================================================

THIS PACKAGE
------------------------------------------------------------------------
  P55.GOB          the level
  readme.txt       this file
  screenshot.jpg   what it looks like
  MUSIC/           6 music tracks

INSTALLATION
------------------------------------------------------------------------
Drop P55.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 levels, cogs,
models, materials and text, and reads the stock resource/ for everything
else.

On a libretro frontend such as RetroArch, unzip first and put P55.GOB in
the episode folder of your Jedi Knight folder, then load it from there.
The core treats the folder above the GOB's folder as the game folder,
reads the episode from episode/P55.GOB inside it, and will not start
unless that folder also holds resource/ (Res2.gob) from a real install.
Put MUSIC/ in that same game folder, beside episode/ and resource/;
music is played from files there, never from inside the GOB.

CONTROLS
------------------------------------------------------------------------
  PLAY IT: New Game, and pick COG Factory p55 The Karrow Curfew.
  SIX LEVELS, ONE NIGHT, 2100 TO 0500. Levels 1 to 5 each add one
    weapon, in order: stormtrooper rifle, thermal detonators,
    bowcaster, repeater and rail detonators; level 6 adds two, the
    concussion rifle and sequencer charges. Your Force rank rises,
    but no Force powers are granted.
  OBJECTIVES: press ESC and choose Objectives; three or four a level,
    nineteen in all, and they tick off as you go.
  SECRETS: fourteen, two or three on every level.
  THE CURFEW LOCKS: every level but the last ends in a small airlock
    with a sealed blast door. Walk in and the next level loads around
    you in the same lock; the lit sign on your right names the place
    and the hour. The last level ends up the Crow's hatch, in her hold.
  SWITCHES are at hand height: walk up close and press SPACE.
  MUSIC: six tracks in MUSIC/. Put that folder in your Jedi Knight
    folder, beside episode/ and resource/ (see INSTALLATION).

NOTES
------------------------------------------------------------------------
  NO DARK JEDI AND NO LIGHTSABER. The night is Colonel Vosk's
  garrison, its turrets and probe droids, the Lantern Market's thugs,
  and the bounty hunter who has already claimed Kyle's bounty.

  ONE LOCK, SIX HOURS. Every level but the last ends in a curfew lock
  and the next begins in it, and the lit plate on its wall reads the
  place and the hour: GATE 9 at 2200, FREIGHT at 2300, CHUTE at 0100,
  SLED at 0300, TRAM at 0500. The last level ends up the Crow's hatch,
  in her hold, so the episode's first room and its last are the same
  room.

  EVERY LEVEL IS WALKED BY A TEST. A test walks each level's real
  route with the enemies removed, rides every lift and presses every
  switch with the use key from 0.13 units off the wall; another wins
  each level with its garrison alive; the tower's pair fight, the
  rooftop purge squad, the dawn gantry's guns and the opening of the
  dawn finale are fought on the shields a player really has. 97 tests
  in all, 46 of them controls built to fail when the mechanism is
  taken out. The tests aim perfectly, so they say nothing about how
  hard the night is for a person.

  THE SIGN STAYS ON YOUR RIGHT. The lock's plate was on the wrong wall
  in four of the five level changes, so it jumped sides as you passed
  through; all six levels were rebuilt so it stays on your right hand,
  and every lock was photographed from both sides to prove it.

  NO DROP ON THE ROUTE IS TALLER THAN 0.6. Falls were measured after
  the first round of building: 1.6 units costs 11 to 20 health, and
  1.0 costs nothing. The tower's gallery and the dawn gantry's ledge
  are railed, and you ride their lifts down.

  BUILD 3. Lifts can be called from either end and ridden down as well
  as up. The tower's bay door unlocks when the first commando goes
  down, or 20 seconds after Vosk announces the purge. On the rooftops
  the purge squad comes through the tram lock one trooper at a time.
  At dawn SSOSK is the fifth foe you must bring down, Bay 12 has level
  1's beacons and scanner, and walking up the Crow's hatch ends the
  episode.

  KNOWN ISSUES. Build 3 has not yet been played through in retail Jedi
  Knight. In the tests, the tower's pair fight was lost at 4 of the 17
  timings tried, the whole dawn finale was won in none of 13 tries,
  and on the press floor a player who never fires back dies even with
  100 shields. Every level starts you at full health with at least 100
  shields, whatever you carried out of the last one. Music plays from
  MUSIC/ in OpenJKDF2; whether retail Jedi Knight plays those tracks
  is unverified.

WHAT IS IN THE GOB
------------------------------------------------------------------------
       286  episode.jk
    159108  jkl\p55bay.jkl
    162321  jkl\p55dawn.jkl
    179598  jkl\p55mkt.jkl
    173036  jkl\p55press.jkl
    173881  jkl\p55siren.jkl
    179194  jkl\p55twr.jkl
     16449  cog\p55bbay.cog
     15915  cog\p55dawn.cog
     11891  cog\p55mmkt.cog
     27622  cog\p55pline.cog
     22993  cog\p55ssirn.cog
     21797  cog\p55ttwr.cog
      8889  cog\p55xdr1.cog
      8889  cog\p55xdr2.cog
      8889  cog\p55xdr3.cog
      8889  cog\p55xdr4.cog
      8889  cog\p55xdr5.cog
      8889  cog\p55xdr6.cog
      7466  cog\p55xgl1.cog
      7466  cog\p55xgl2.cog
      7466  cog\p55xgl3.cog
      7466  cog\p55xgl4.cog
      7466  cog\p55xgl5.cog
      7466  cog\p55xgl6.cog
     12922  cog\p55xlt2.cog
     12922  cog\p55xlt3.cog
     15435  cog\p55xlt5.cog
     12922  cog\p55xlt6.cog
      6080  cog\p55xlv1.cog
      6080  cog\p55xlv2.cog
      6080  cog\p55xlv3.cog
      6080  cog\p55xlv4.cog
      6080  cog\p55xlv5.cog
      6080  cog\p55xlv6.cog
      5410  cog\p55xsw1.cog
      5410  cog\p55xsw2.cog
      5410  cog\p55xsw3.cog
      5410  cog\p55xsw4.cog
      5410  cog\p55xsw5.cog
      5410  cog\p55xsw6.cog
      2275  3do\p55bbcn.3do
     10573  3do\p55bbunk.3do
      3900  3do\p55bclmp.3do
      2293  3do\p55bcon.3do
      2293  3do\p55bdsk.3do
      2293  3do\p55bfrk.3do
      2278  3do\p55bhead.3do
      2276  3do\p55bpst.3do
      2276  3do\p55brck.3do
      3897  3do\p55darm.3do
      2275  3do\p55dbcn.3do
      2275  3do\p55dcon.3do
      2291  3do\p55dcrt.3do
      2275  3do\p55ddrm.3do
      3915  3do\p55dhook.3do
      2292  3do\p55dksk.3do
      2290  3do\p55dscn.3do
      2276  3do\p55mbox.3do
      2276  3do\p55mcab.3do
      2278  3do\p55mcart.3do
      2278  3do\p55mcrat.3do
      5550  3do\p55mgpst.3do
     10498  3do\p55mlstr.3do
      2254  3do\p55mshtr.3do
      2278  3do\p55mtarp.3do
      2262  3do\p55pbale.3do
      7187  3do\p55pcar.3do
      2278  3do\p55ppost.3do
      2275  3do\p55pram.3do
      8795  3do\p55pshlf.3do
      2278  3do\p55psled.3do
      2275  3do\p55pvat.3do
      2262  3do\p55schim.3do
      2278  3do\p55scord.3do
      5513  3do\p55sdeck.3do
      2278  3do\p55sdrum.3do
      2299  3do\p55shorn.3do
      2278  3do\p55sline.3do
      2276  3do\p55smnt.3do
      2278  3do\p55spost.3do
      2278  3do\p55ssled.3do
      2297  3do\p55tbnk.3do
      2292  3do\p55tc6l.3do
      2276  3do\p55tcbl.3do
      2276  3do\p55tchr.3do
      2276  3do\p55tcol.3do
      2276  3do\p55tdsk.3do
      2276  3do\p55thst.3do
      2295  3do\p55track.3do
      2277  3do\p55tsgn.3do
      2252  3do\p55xd67.3do
      2252  3do\p55xd68.3do
      2260  3do\p55xd89.3do
      2292  3do\p55xlbd.3do
      2275  3do\p55xpad.3do
      2278  3do\p55xswch.3do
     32908  mat\p55bbcn.mat
     32908  mat\p55bbunk.mat
     32908  mat\p55bceil.mat
     32972  mat\p55bclpd.mat
     32908  mat\p55bcons.mat
     16524  mat\p55bduty.mat
     32908  mat\p55bfuel.mat
     49420  mat\p55bgate.mat
     32908  mat\p55bgrit.mat
     32908  mat\p55bhead.mat
     33100  mat\p55blamp.mat
     98572  mat\p55blna.mat
     98572  mat\p55blnb.mat
     98572  mat\p55blnc.mat
     98572  mat\p55blnd.mat
     32908  mat\p55block.mat
     65740  mat\p55bscan.mat
     32908  mat\p55bsky.mat
     32908  mat\p55btile.mat
     32908  mat\p55btrim.mat
     32908  mat\p55bwhpn.mat
     32908  mat\p55dbcn.mat
     32908  mat\p55dblk.mat
     49420  mat\p55dbpn.mat
     32908  mat\p55dceil.mat
     32908  mat\p55dcon.mat
     16524  mat\p55dcpl.mat
     32908  mat\p55dcrs.mat
     32908  mat\p55dcrt.mat
     32908  mat\p55dcsh.mat
     32908  mat\p55dfhl.mat
     32908  mat\p55dflor.mat
     16524  mat\p55dfpl.mat
     32908  mat\p55dfue.mat
     32908  mat\p55dgrt.mat
     32908  mat\p55dgwl.mat
     32908  mat\p55dksk.mat
     32972  mat\p55drla.mat
     65868  mat\p55drlb.mat
     32908  mat\p55dscan.mat
     16524  mat\p55dsgn.mat
     32908  mat\p55dsky.mat
     32908  mat\p55dsot.mat
     16524  mat\p55dtkt.mat
     32908  mat\p55dtrim.mat
     32908  mat\p55dtrm.mat
     32908  mat\p55dwall.mat
     32908  mat\p55mbnty.mat
     32908  mat\p55mboxw.mat
     65740  mat\p55mbrkr.mat
     16524  mat\p55mcntr.mat
     32908  mat\p55mcobl.mat
     65676  mat\p55mcode.mat
     65740  mat\p55mdark.mat
     32908  mat\p55mdflr.mat
     32908  mat\p55mfrgt.mat
     98572  mat\p55mfsgn.mat
     65868  mat\p55mgsgn.mat
      6412  mat\p55mlamp.mat
     98572  mat\p55mlant.mat
     65868  mat\p55mmagl.mat
      8332  mat\p55mneon.mat
     16524  mat\p55mshut.mat
     32908  mat\p55msky.mat
     32908  mat\p55msubw.mat
     32908  mat\p55mtag.mat
     32908  mat\p55mtarp.mat
     32908  mat\p55mtimb.mat
     98572  mat\p55mwall.mat
     32908  mat\p55pbale.mat
     32908  mat\p55pceil.mat
     65676  mat\p55pchk.mat
    115212  mat\p55pdgat.mat
     32908  mat\p55pflor.mat
     98764  mat\p55plamp.mat
    262348  mat\p55ppla.mat
    393484  mat\p55pplb.mat
    524620  mat\p55pplc.mat
    655756  mat\p55ppld.mat
     32908  mat\p55ppost.mat
     32908  mat\p55pprf.mat
     32908  mat\p55pram.mat
     32908  mat\p55psled.mat
     32908  mat\p55ptrim.mat
     32908  mat\p55ptrk.mat
     32908  mat\p55pvat.mat
     32908  mat\p55pwall.mat
     16524  mat\p55pwind.mat
     32908  mat\p55sbrik.mat
     16524  mat\p55scarv.mat
     32908  mat\p55sceil.mat
     32908  mat\p55sdeck.mat
     32908  mat\p55sedge.mat
     32908  mat\p55sflor.mat
     32908  mat\p55sglow.mat
     32908  mat\p55shmth.mat
     32908  mat\p55shorn.mat
     32908  mat\p55sline.mat
     32908  mat\p55spost.mat
     32908  mat\p55ssled.mat
     65740  mat\p55sswin.mat
     32908  mat\p55stile.mat
     16524  mat\p55stime.mat
     32908  mat\p55stin.mat
     32908  mat\p55strim.mat
     32908  mat\p55swall.mat
     32908  mat\p55swnch.mat
     32908  mat\p55tbay.mat
     32908  mat\p55tbunk.mat
     32908  mat\p55tc6l.mat
     32908  mat\p55tcage.mat
     16524  mat\p55tcd1.mat
     16524  mat\p55tcd2.mat
     16524  mat\p55tcd3.mat
     16524  mat\p55tcd7.mat
     32908  mat\p55tceil.mat
     65676  mat\p55tchut.mat
    197068  mat\p55tcons.mat
     32908  mat\p55tcrst.mat
     65676  mat\p55tdata.mat
     32908  mat\p55tflor.mat
     32908  mat\p55tfurn.mat
     32908  mat\p55tgls.mat
     32908  mat\p55tintr.mat
     98572  mat\p55tlamp.mat
     32908  mat\p55tlkfl.mat
     32908  mat\p55tlock.mat
     32908  mat\p55tlog.mat
     65676  mat\p55tordr.mat
     32908  mat\p55track.mat
     32908  mat\p55twall.mat
     32908  mat\p55xbpad.mat
     32908  mat\p55xclmp.mat
     32908  mat\p55xcrow.mat
     32908  mat\p55xgrat.mat
     32908  mat\p55xhaz.mat
     32908  mat\p55xhcei.mat
     32908  mat\p55xhflr.mat
     32908  mat\p55xhtrm.mat
     32908  mat\p55xhwal.mat
     32908  mat\p55xlbd.mat
     32908  mat\p55xlcei.mat
     65676  mat\p55xleaf.mat
     32908  mat\p55xlflr.mat
     16524  mat\p55xlsgn.mat
     32908  mat\p55xltrm.mat
     32908  mat\p55xlwal.mat
     32908  mat\p55xpad.mat
     65740  mat\p55xpost.mat
     32908  mat\p55xpstd.mat
     32908  mat\p55xpstk.mat
     32908  mat\p55xsand.mat
     16524  mat\p55xt0.mat
     16524  mat\p55xt1.mat
     16524  mat\p55xt2.mat
     16524  mat\p55xt3.mat
     16524  mat\p55xt4.mat
     16524  mat\p55xt5.mat
     32908  mat\p55xvosk.mat
      9000  misc\cogstrings.uni

   9413693  bytes in 257 entries

CREDITS
------------------------------------------------------------------------
  Generated by tools/cogfactory in the openjkdf2_libretro tree.
  Geometry authored through SED (github.com/smlu/SED) over the
  cogfactory bridge.
  Music: six tracks generated with ElevenLabs for this episode.
  LucasArts did not make this. Jedi Knight is theirs; this is a fan-
  made episode.

  The readme format is styled after SM Sith Lord's cog headers,
  because his are the ones everybody read.

========================================================================