Commit Graph
8 Commits
Author SHA1 Message Date
CydandClaude Fable 5 16ce4dfbea Exploded view remembers where you drag its windows
Ported from BT411's BT_GLASS_LAYOUT (29c502d).

The exploded view's panes are draggable desktop windows, but the
arrangement is recomputed on every launch, so dragging one somewhere
useful never survived the menu-race-menu loop.

RP412MFDLAYOUT persists it to mfd_layout.cfg beside bindings.txt:

  off / 0 / unset   computed arrangement only, no file (default)
  load / restore    restore saved positions at startup, never write
  save / adjust     restore, then rewrite on each finished drag
                    (WM_EXITSIZEMOVE) and on teardown

One "<title>=x,y,w,h" line per pane. Position is restored and the size
read and discarded: a pane's size follows its content and its button
banks, so letting an old size back in would misshape it after any
geometry change - and this port has changed that geometry twice already.

Load runs after the computed arrangement rather than instead of it, so a
pane the file does not mention simply keeps its computed spot. Only the
exploded view registers: the composited cockpit's panes are chrome-less
children with nothing to drag, so they have no position worth keeping.

RP412 needs no equivalent of BT411's "restored" flag. Its re-snap is
LayoutCockpit on WM_SIZE, which only runs in cockpit mode, so nothing
comes back later to overwrite a hand-placed window.

Verified by round trip: dragged Map to 777,333 in save mode, the file
took all six panes, and a fresh launch in load mode put it physically
back at 777,333. The harness also resized the window while moving it,
which incidentally proved the saved size really is ignored - the pane
came back correctly sized from a cfg that recorded 136x39.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-29 08:28:44 -05:00
CydandClaude Fable 5 1bd6dd83e2 MFD rendering: HALFTONE downscale, plus the exploded diagnostic view
Two pieces of MFD work that had been sitting in the tree (already in
every build and dist since).

The compact cockpit glass shows the full 640x480 gauge canvas at about
half size, and COLORONCOLOR did that by dropping every other row and
column - which shredded the 1-bit vector strokes and small text.
HALFTONE area-averages instead (with the brush origin set, as MSDN
requires) so the downscaled MFDs stay legible.

L4MFDSPLIT=2 adds an exploded diagnostic view: every display in its
own full-size desktop window at native resolution, decoded exactly as
the pod VDB split them from the single gauge canvas, with no cockpit
compositing and no downscale. It makes an individual MFD readable and
screenshottable at full resolution for comparison against the
emulator per-channel reference windows. L4MFDSPLIT=1 keeps the
composited glass cockpit and stays the default.

Also: .gitignore now covers the packaged RedPlanet-*.zip releases,
which live on the Gitea release page rather than in the tree.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 20:10:14 -05:00
CydandClaude Fable 5 a2843fe0ea pack-dist.ps1: assemble a runnable game package into dist\
Collects the Release exe (+pdb), the AUDIO/GAUGE/VIDEO data and INIs from
assets\RP411 (leaving the arcade launch scripts and old 4.10 exe behind),
libsndfile + the system OpenAL runtime (oalinst.exe as fallback), a
desktop environ.ini (PAD;KEYBOARD + on-screen plasma), start-windowed.bat
and a controls README. -Zip additionally produces a handoff zip. dist\ is
gitignored; verified by running the game from the packaged folder.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 13:51:31 -05:00
CydandClaude Fable 5 e4afc5ca19 Untrack the local cockpit-launcher wrappers
startrp-800x600.bat/.ps1 rode into the previous commit unintentionally;
remove them from tracking (local copies untouched) and gitignore them so
a bulk add cannot sweep them back in.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 12:53:34 -05:00
CydandClaude Opus 4.8 3b8b729ecb Add complete game working copy under assets/ (runtime data + binaries)
Imports the full shipped working copy of Red Planet v4.10 so the repo is
self-contained: buildable (source) and runnable (data). ~110 MB, committed
directly to git per project decision.

Contents (assets/RP411/):
- AUDIO/  (~97 MB) 223 .wav + audio config/res
- VIDEO/  (~10 MB) .X meshes, .SKL/.det/.sph geometry, .met materials,
          .pcc/.png/.pcx textures, .vsh/.psh shaders, material tables
- GAUGE/  (~0.8 MB) HUD .GIM images, .PCC/.PCX bitmaps, gauge config
- SPOOLS/ runtime replay output dir (kept via .gitkeep)
- Root config/launch: environ.ini, RPDPL.INI, JOYSTICK.INI, TEST.EGG,
  RPL4.RES, *.bat launchers
- Runtime binaries: rpl4opt.exe (shipped reference build), libsndfile-1.dll,
  oalinst.exe (OpenAL redist installer), sleep.exe

Housekeeping:
- .gitignore: re-include assets/**/*.exe and *.dll (global rules skip them);
  keep Thumbs.db and runtime *.spl out.
- .gitattributes: mark asset media (.wav/.png/.pcc/.gim/.x/.skl/... ) binary.
- docs/ASSETS.md: runtime layout, config chain (environ.ini -> RPDPL.INI ->
  video/audio/gauge paths), launch args, and per-directory asset inventory.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 10:11:47 -05:00
CydandClaude Opus 4.8 8d18ce0ee4 Wire up remaining DirectX SDK paths; build now succeeds
Verified full build with VC++ 2008 Express SP1 + Windows SDK v6.0A + DirectX
SDK (June 2010): 4 Projects succeeded, 0 failed (Release|Win32). Outputs:
Release\rpl4opt.exe, Release\RPL4TOOL.exe, lib\Munga_L4.lib, lib\DivLoader.lib.

Two projects referenced DirectX but were never repointed at $(DXSDK_DIR)
(they had no hardcoded path to replace earlier):

- DivLoader.vcproj: add "$(DXSDK_DIR)Include" to both compiler configs
  (was failing on D3DX9.h).
- RPL4TOOL.vcproj / RPL4TOOL VS2008.vcproj: add "$(DXSDK_DIR)Lib\x86" to the
  linker search path (was failing with LNK1181 on dinput8.lib).

.gitignore: ignore the build-output static libs that land in lib/
(Munga_L4.lib, DivLoader.lib); the dependency libs OpenAL32.lib and
libsndfile-1.lib stay tracked.

BUILD.md / docs/BUILD-NOTES.md: record the verified build, the CLI recipe,
and the DXSDK_DIR stale-environment gotcha.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 09:56:19 -05:00
CydandClaude Opus 4.8 2229f154d1 Clean solution, un-hardcode DirectX SDK path, add build docs
- WinTesla.sln: remove 6 dangling project references (BT410_L4, TextureExp,
  MeshExp, SphereExp, DetailExp, MatReplaceExp) that are not present in the
  repo, plus their config entries. Solution now builds the 4 present projects:
  Munga_L4, RP_L4, RPL4TOOL, DivLoader.
- Munga_L4.vcproj / RP_L4.vcproj: replace hardcoded
  "C:\Program Files (x86)\Microsoft DirectX SDK (March 2009)\" include/lib
  paths with the installer-provided $(DXSDK_DIR) variable, matching the
  existing VS2008 project variants.
- Add BUILD.md (toolchain/SDK requirements and build steps) and
  docs/BUILD-NOTES.md (findings, cleanup history, orphaned files).
- .gitignore: ignore *.sln.cache.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 09:12:29 -05:00
CydandClaude Opus 4.8 4abbf8879f Initial import of Red Planet v4.10 Win32 source
Imports the current Win32 source for the pod-racing game 'Red Planet',
built on the MUNGA engine and its L4 (Win32/DirectX) platform layer:

- MUNGA / MUNGA_L4: cross-platform engine core and Win32 backend
- RP / RP_L4: Red Planet game logic and Win32 application
- DivLoader, Setup1: asset loader and installer project
- lib, MUNGA_L4/openal, MUNGA_L4/sos: third-party audio dependencies

Removed stale Subversion metadata and added .gitignore/.gitattributes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 07:59:51 -05:00