KEYBOARD LAMP MIRROR (L4KEYLIGHT). Ported from RP412, itself a port of vRIO's KeyboardLampMirror. Keys bound to a lamp address in bindings.txt glow with the panel palette through Windows Dynamic Lighting -- yellow for the map's side columns (0x10-0x1F), red for the rest -- flashing in step with the on-screen buttons (its LampLevel copy matches the FIXED BTLampBrightnessOf). Per-key boards light each bound key; zone-lit boards mirror the strongest lamp board-wide. All WinRT runs on a private worker thread: watcher, claim, and a 100 ms paint loop that repaints only on change. RP412's packing hazard does NOT transfer: it forces default struct packing there because its engine is /Zp1, which would break the WinRT ABI. BT411's BT_OPTS carries no /Zp, so only the dialect flags are needed -- /std:c++17 /permissive- per-file, since the project otherwise builds C++14 /permissive. The scalars-only interface is kept anyway so the isolation survives if packing is ever added. Wired in PadRIO: map built from bindings.keyBindings (ActionButton binds only, first-binding-wins per key), fed from PadRIO::SetLamp, stopped in the dtor (which hands the LEDs back to Windows). BT_KEYLIGHT=0 opts out; a machine without Dynamic Lighting logs once and stays dormant. Verified live: claimed this machine's 24-zone keyboard and mirrors 25 bound keys; BT_KEYLIGHT=0 and the pod profile produce zero keylight lines and run clean. SHIPPED CONTROLS REFERENCE. docs/CONTROLS.md carries the keyboard table plus the full 72-BUTTON POD MAP, grouped by the display each bank surrounds, with the coolant-valve detent warning (1-5-50-CLOSED, one press past max shuts the loop) and the jam/eject procedure. mkdist flattens it to ASCII as CONTROLS.txt at the zip root, the README's own idiom. players/README.txt gained pointers to it, to environ.ini, to -fit, and to the RGB mirror. KB: context/glass-cockpit.md and docs/GLASS_COCKPIT.md updated for the whole branch -- layout modes, L4RIOBANK and the under-glass rule, the letterbox fit and its ordering trap, player-tunable displays, the measured legend grid, the closed dead-button backlog, and this mirror. Verified: five-mode regression (surround/exploded/dock/pod/dev) boots and simulates with zero faults; mkdist writes a 5149-byte pure-ASCII CONTROLS.txt. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
122 lines
6.8 KiB
Plaintext
122 lines
6.8 KiB
Plaintext
BattleTech {VERSION} -- multiplayer client
|
|
==========================================
|
|
|
|
IMPORTANT: FULLY EXTRACT this zip first (right-click - Extract All).
|
|
Do NOT run anything from inside the zip. The .bat files must sit next
|
|
to the 'content' and 'build' folders.
|
|
|
|
UPGRADING from an older version? Extract the new zip OVER your
|
|
existing game folder and say YES TO OVERWRITE. Do NOT delete the
|
|
folder first -- your personal files (content\bindings.txt with your
|
|
key/joystick setup, content\volume.cfg with your volume) are not in
|
|
the zip and survive an extract-over-top, but a delete wipes them.
|
|
If you prefer a clean delete anyway, copy those two files out first
|
|
and put them back after.
|
|
|
|
TO JOIN AN INTERNET GAME: double-click join.bat
|
|
-- pick your CALLSIGN and MECH, click JOIN (your choice is sent to
|
|
the operator; waits for the session if it's not up yet)
|
|
TO JOIN A LAN GAME: double-click join_lan.bat (operator's LAN;
|
|
same callsign/mech menu)
|
|
SINGLE-PLAYER: double-click play_solo.bat -- opens the
|
|
mission menu: pick your mech (all 18), map, experience level,
|
|
colours, weather and mission length, then launch
|
|
{STEAM}STEAM INTERNET PLAY: double-click play_steam.bat (EXPERIMENTAL --
|
|
{STEAM} needs the Steam client running; host or join from the menu)
|
|
|
|
Your seat is assigned automatically; you'll pilot the mech you picked
|
|
in the join menu (the operator can override it).
|
|
When a round ends your game AUTOMATICALLY rejoins for the next one
|
|
(same seat, same mech) -- just wait for the operator's next launch.
|
|
Close the window to leave for real.
|
|
If the game closes unexpectedly, send the operator content\join.log.
|
|
|
|
AFTER A MULTIPLAYER SESSION: the game writes a small match report
|
|
(content\matchlog_<date>_<time>_<number>.txt) and, on join.bat /
|
|
join_lan.bat, UPLOADS IT TO THE OPERATOR BY ITSELF at the end of each
|
|
round -- you do not need to send it. Please send one MANUALLY only if
|
|
the game CRASHED mid-round (the upload happens on a clean round end, so
|
|
a crash loses it) or if you were playing SOLO or over STEAM (no relay
|
|
to upload through).
|
|
IF ANYTHING CRASHED OR MISBEHAVED, send content\join.log -- that one is
|
|
never uploaded and only exists on your machine.
|
|
|
|
You start INSIDE the cockpit with the pod's MFD panels composited
|
|
around the view (one window). The red MFD buttons, radar rails and
|
|
joystick buttons are all MOUSE-CLICKABLE -- right-click a button to
|
|
latch it held. Press V any time to toggle the external camera.
|
|
|
|
CONTROLS (keyboard):
|
|
W/S or Up/Down ....... throttle lever X / NumPad5 ... all stop
|
|
A/D or Left/Right .... turn pedals Alt ........... reverse thrust
|
|
Q/E .................. torso twist R/F ........... torso aim
|
|
NumPad 8/2/4/6 ....... torso aim/twist (alt) Shift ......... throttle up
|
|
1 or Space ........... main trigger 2 ............. middle thumb
|
|
3 or Ctrl ............ upper thumb (missiles) 4 ............ pinky
|
|
V view | B look-behind | M control mode | N schematic | J/K/L MFD pages
|
|
NOTE: you SPAWN IN BASIC control mode (the pod's rookie setting) --
|
|
in BASIC the stick steers and the pedal keys (A/D, arrows) do
|
|
NOTHING. Press M once for MID (pedals steer, stick twists the
|
|
torso -- the full experience). If 'turning does not work', it is
|
|
this, not a bug.
|
|
CONTROL MODE (BAS/MID/ADV, the M key IN the cockpit) is NOT the
|
|
menu's EXPERIENCE setting (novice/standard/veteran/expert) -- that
|
|
one changes the simulation (heat, damage), not your controls.
|
|
Numpad aim keys (8/2/4/6) need NUMLOCK ON; with it off they act as
|
|
arrow keys instead.
|
|
- / = ................ game volume down/up (saved between sessions)
|
|
H (hold) ............. coolant flush (dumps reservoir to cool everything)
|
|
C .................... cycle a coolant valve. CAREFUL: the detents go
|
|
1 - 5 - 50 (max) - 0 (CLOSED!) - back to 1. One press past max
|
|
SHUTS THE LOOP OFF and everything on it will overheat -- watch the
|
|
valve dial on the coolant screen. Boosting one loop starves the
|
|
others (the coolant supply is shared).
|
|
A weapon gone quiet with ammo left has probably JAMMED (heat makes
|
|
ballistic weapons jam -- authentic!). Check its panel's ENG DATA page
|
|
for the jam lamp (a cocked round with warning bolts). The pod's fix
|
|
is the EJECT button on that weapon's ENG DATA page: TAP to eject the
|
|
jammed round (weapon reloads and returns to service), HOLD ~3s to
|
|
jettison the whole bay before it cooks off. Watch the TEMP strip and
|
|
pace salvos.
|
|
NEW: on a jam or a bay fire, that system's ENG-page buttons now FLASH
|
|
to catch your eye -- the pod's own annunciator, restored.
|
|
NEW AND DANGEROUS: an AMMO BAY FIRE is now genuinely lethal. You get
|
|
a fire icon by the ammo counter, the flashing buttons, and about TEN
|
|
SECONDS -- then the bay detonates for (rounds x per-round damage),
|
|
which can and will kill you. HOLD the EJECT button on that weapon to
|
|
dump the bay and put the fire out. Previously these fires were
|
|
harmless; they are not any more, so treat one as an emergency.
|
|
G (hold) + fire key .. regroup a weapon onto that trigger -- or hold a
|
|
weapon panel's red PROGRAM button with the mouse and tap a fire key;
|
|
the joystick diagram on the panel shows the binding live.
|
|
|
|
KNOWN ISSUE THIS BUILD -- a weapon that goes dark after you press ENG-page
|
|
buttons: the BUS MODE button detaches that weapon from its generator on
|
|
its second press, and the automatic re-attach is not working yet. The
|
|
symptom is a weapon whose recharge arc and ready dot are BOTH blank and
|
|
which will not fire, while its panel still shows normal data. THE FIX:
|
|
press one of the GENERATOR SELECT buttons (A/B/C/D) on that weapon's
|
|
panel and it comes straight back. Not a lost mech -- just that button.
|
|
|
|
An Xbox controller works out of the box. FLIGHT STICKS / HOTAS /
|
|
pedals: run joyconfig.bat ONCE -- a wizard asks you to move each
|
|
control (stick, twist, throttle, fire buttons), writes the bindings,
|
|
and drops you into the solo menu to try them. Rebind keys in
|
|
content\bindings.txt (regenerates with defaults if deleted).
|
|
|
|
FULL CONTROLS REFERENCE: see CONTROLS.txt next to this file -- every one of
|
|
the pod's 72 cockpit buttons, what it does, and which display it sits on.
|
|
|
|
COCKPIT LAYOUT: content\environ.ini (written on first run, every option
|
|
documented in the file itself) sizes the MFDs and the map, moves the map out
|
|
of the middle of the road, or breaks each display into its own window. The
|
|
cockpit now scales to ANY window shape without distorting -- drag it, maximise
|
|
it, or launch with -fit for borderless full screen.
|
|
|
|
RGB KEYBOARDS: if yours supports Windows Dynamic Lighting, the keys you have
|
|
bound to cockpit buttons glow in the panel's colours and flash along with it.
|
|
|
|
This build: {VERSION}. Private -- do not redistribute.
|
|
{EXPIRE}Test builds STOP WORKING 14 days after they are made -- if the game
|
|
{EXPIRE}says it has expired, just grab the operator's newest zip.
|