Releases: chronic8000/ProjectDalian
Release list
Project Dalian v0.5.16-alpha
v0.5.16-alpha — Hawk mortar arc (up → over → down)
Download ProjectDalian-v0.5.16-alpha-win64.zip
Hawk / Car-SAM flight
v0.5.15 still lofted too horizontally, so rounds flew out toward terrain then steered in sideways.
Mortar profile now:
- Nearly straight up from the launcher
- High transit over the map mark
- Tip over and dive onto the target
Fuse still arms late and only near the ground on the dive.
Requirements
- Windows 10/11 x64 + Battlefield 2 install (set BF2 path in Options)
Project Dalian v0.5.15-alpha
v0.5.15-alpha — Hawk / Car-SAM visible loft + dive
Download ProjectDalian-v0.5.15-alpha-win64.zip
Hawk missile flight
The round was launching, but a bad proximity fuse detonated it mid-air (within ~14m horizontally while still up to 35m above the mark), so the dive never showed. Flight was also too fast.
Now:
- Ballistic climb (~2.4s), then guidance for the dive
- Slower artillery arc (~58 m/s, softer boost)
- Fuse arms after 1.6s and only near the ground while diving
- Stronger loft + launch point raised off the rails
Click a map mark a few hundred metres away — you should see climb, coast, then drop.
Also in recent alphas
- v0.5.14: LDR washout fix, sun tone-down, Hawk blast dial-back, OBS/Windows HDR notes
- v0.5.13: Laptop LDR path / Compat Mode (green-magenta fix)
Requirements
- Windows 10/11 x64 + Battlefield 2 install (set BF2 path in Options)
Project Dalian v0.5.14-alpha
v0.5.14-alpha — Colour / HDR audit, OBS SDR, Hawk blast dial-back
Download ProjectDalian-v0.5.14-alpha-win64.zip
Colour / HDR / brightness audit
Research (LearnOpenGL HDR/gamma, Narkowicz ACES): tonemap in linear, gamma only after ACES. Our textures are not sRGB→linear, so the LDR path must not apply pow(1/2.2).
Fixes:
- HDR off: removed the mistaken display-gamma that washed the sun white; soft Reinhard highlight compression instead
- Sun: slightly lower lighting gain + tighter/dimmer sky disc
- Output Brightness slider (Options → Graphics) — leave at 1.0 unless capture needs a nudge
- HDR on: still ACES + gamma (float path); label remains “HDR TONEMAP (float GPU)” — not Windows/monitor HDR
Recording for YouTube / OBS
Dark OBS files were usually Windows HDR capture, not missing in-game gamma.
- Turn Windows HDR / Auto HDR off while recording
- In-game: HDR off, Bloom off, Output Brightness 1.0
- OBS: SDR (NV12 / Rec.709 / Partial) — no HDR tonemap capture
Hawk / Car-SAM blast
Was dialed like a nuke (38m / 320 damage + oversized FX). Now 12m / 145 with sane VFX scale — still punchy, not map-clearing.
Laptop note (from v0.5.13)
Green/magenta on weak GPUs → Options → Laptop / Compat Mode, or BF2_COMPAT=1.
Requirements
- Windows 10/11 x64 + Battlefield 2 install (set BF2 path in Options)
Project Dalian v0.5.13-alpha
v0.5.13-alpha — Laptop LDR fix, Compat Mode, Hawk polish
Download ProjectDalian-v0.5.13-alpha-win64.zip
Fix: green sky / purple world on weak laptops
This was not “monitor has no HDR.” The engine was always rendering the 3D scene into a float colour buffer (RGB16F), even when Options → HDR was off. Many Intel / old laptop GPUs corrupt that path → neon green sky, magenta terrain, scanline noise. The HUD stayed normal because UI is LDR.
v0.5.13:
- HDR off = real LDR (
RGBA8) scene + bloom buffers - Float buffers only when HDR tonemap is on and the GPU float-FBO probe passes
- Automatic fallback to LDR if the float FBO is incomplete
- Options label clarified: HDR TONEMAP (float GPU) — not Windows/display HDR
Laptop / Compat Mode
Options → Graphics → Laptop / Compat Mode (then Apply):
- HDR / bloom / SSAO / MSAA off
- Upscaling → Bilinear (safer than FSR on weak GPUs)
- Lower render scale, shadows, aniso; grass off
Or set env BF2_COMPAT=1 before launch (overrides settings.cfg graphics).
Default upscaling is now Bilinear (was FSR 1.0).
Hawk SAM (Dalian Plant)
- Orientation / ground sit fix (Z-up → Y-up)
- Solid MTL colours so the launcher is not flat grey when textures fail
- Relocated toward the solitary Chinese heli area (Z-8)
- Bigger SAM explosion VFX + heavier sound
If colours are still wrong
- Options → Graphics → Laptop / Compat Mode → Apply
- Or:
set BF2_COMPAT=1then runproject_dalian.exe - Or delete
%APPDATA%\ProjectDalian\ProjectDalian\settings.cfg
Requirements
- Windows 10/11 x64 + Battlefield 2 install (set BF2 path in Options)
Project Dalian v0.5.12-alpha
v0.5.12-alpha — Performance, FSR 1.0, Hawk SAM, FPS counter
Download ProjectDalian-v0.5.12-alpha-win64.zip
Performance (HD textures / Dalian Plant)
- Render Scale — draw the world below native resolution (biggest FPS lever)
- FSR 1.0 (EASU + RCAS) — spatial upscaling that runs on every GPU (NVIDIA / AMD / Intel)
- Options → Graphics → Upscaling: Bilinear / FSR 1.0 / Auto
- FSR Sharpness (RCAS) slider
- Mip LOD Bias, Shadow Distance, softer defaults (MSAA off, SSAO off, shadows 2048, aniso 4)
- Grass on/off + distance
- Vendor-agnostic upscaling facade ready for future DLSS / XeSS / FSR3 behind the same Auto option
MIM-23 Hawk emplacement (Dalian Plant 64 CQ)
- Custom launcher OBJ on the Chinese airfield runway apron (near the jets), not south of the strip
- Content pack is copied next to the exe / into the release zip (
content/emplacements/...) - Scaled + ground-snapped so it is visible; orange minimap blip when ammo remains
- Walk up → [E] / [F8] for map SAM fire (3 rounds)
UI / QoL
- Show FPS toggle (Options → Video) — top-left overlay
- Graphics options mouse-wheel scroll (list no longer overlaps APPLY / BF2 path)
- Storm Shadow custom missile mesh path (Car-SAM)
Flight feel
- Jet sweet-spot turn curve + mass-scaled thrust
- Heli J-hook / slide tuning
Requirements
- Windows 10/11 x64 + Battlefield 2 install (set BF2 path in Options)
v0.5.11-alpha
Project Dalian v0.5.11-alpha
Map browser — all mods, clear labels
- Single-player Play and multiplayer Host setup list every map from every installed mod (no deduplication).
- Each row shows MAP + MOD columns; mod tags are highlighted as
[bf264],[64coop20YA], etc. - Selected-map detail panel shows mod folder and archive folder name.
Multiplayer UI
- Faction / army list scrolls with the mouse wheel in host setup (wheel over the right panel scrolls armies; left panel scrolls maps).
- Host disconnect: when the host leaves a match or lobby, clients see CONNECTION LOST / The host has ended the session and return to the main menu.
Tank tread rendering
- BF2 treads scroll on the U texture axis (was V — caused smeared “radial” strips).
- Tracked tanks: road-wheel pads use UV scroll; drive sprockets still rotate as geometry.
- Wheeled APCs unchanged (tires spin, no tread UV scroll).
Includes all v0.5.10 fixes
- Lobby syncs
map_server_zipso joiners load the host's map - v0.5.9 snapshot interpolation, v0.5.8 MP vehicle sync
Both players should use the same build for multiplayer.
Project Dalian v0.5.10-alpha
Project Dalian v0.5.10-alpha
Multiplayer — joiners load the host's selected map
Symptoms in v0.5.9: when a second player joined, they always loaded Dalian Plant instead of the map the host picked. Both players were not on the same level.
Cause: the lobby only synced the map display name, not the server.zip path. If name lookup failed (manual IP join, case mismatch, etc.), the client fell back to maps[0] — the first map alphabetically (Dalian Plant).
Fix:
- Lobby wire format now includes
map_server_zip(authoritative path to the level archive) - Host publishes full map info when opening the lobby
- Joiners resolve the map from
server.zippath first, then display/folder name - Removed the silent fallback to map index 0; joiners wait for lobby sync instead
Both players must use this build.
Includes all v0.5.9 fixes
- Snapshot interpolation netcode, input replication, measured velocity
- v0.5.8 vehicle/animation MP sync, v0.5.7 viewport fix
Project Dalian v0.5.9-alpha
Project Dalian v0.5.9-alpha
Multiplayer netcode overhaul — snapshot interpolation + input replication
Symptoms in v0.5.8: second player still moved very slowly (host could lap them); remote soldiers looked orange/tan, small in the distance, with guns sticking out of shoulders and deformed arms.
Root cause: v0.5.8 added velocity and vehicle replication but still used exponential position smoothing (wrong model for fast movement). Remote facing used velocity instead of look yaw; team colour tints distorted appearance.
Fixes (industry-standard listen-server netcode):
Phase 1 — Movement sync
- Snapshot interpolation (Gaffer model): 64-entry timestamped ring buffer per player; render ~100 ms in the past by lerping two known snapshots
- Dead reckoning for short gaps (
pos + vel × age, capped at 250 ms) - Hard snap if render position drifts >2 m from authoritative state
- Immediate relay: host rebroadcasts on every client
MSG_STATE/MSG_INPUT(not only host frame) - Fixed 60 Hz snapshot timer decoupled from host render FPS
Phase 2 — Visual fixes
- Measured velocity from position delta each send (not just
desired_velocity) - Remote facing = look yaw (matches local third-person; fixes gun-through-shoulder)
- Neutral soldier tint (no orange/blue team wash on remotes)
- Interpolated
anim_timefrom snapshot buffer
Phase 3 — Input replication foundation
- New
NetInput+MSG_INPUTwire message (seq, move, yaw/pitch, buttons) - Sent every frame alongside state; stored server-side per player
- Wire format v3 adds
input_seq(backward compatible with v2)
Both players must use this build.
Includes all v0.5.8 fixes
- Vehicle transform replication, spawn-locked unoccupied vehicles
- v0.5.7 viewport fix, v0.5.6 UI/kill feed polish
Project Dalian v0.5.8-alpha
Project Dalian v0.5.8-alpha
Multiplayer sync — movement, animation, and vehicles
Symptoms in v0.5.7: the second player moved very slowly (host could run laps around them); remote soldiers slid with frozen legs; helicopters showed as a floating soldier with no vehicle model; parked vehicles could drift out of sync between clients.
Fixes:
- Extended player replication with velocity, animation time, pose, and vehicle id/transform (backward-compatible wire format)
- Faster remote smoothing with velocity extrapolation so other players keep up at run speed
- Full soldier animation set for remote players (walk/run/crouch/prone via synced
anim_time+ pose) - Vehicle transform replication when driving — remotes see the actual helicopter/tank mesh, not a hovering body
- Unoccupied vehicles lock to their map spawn point; spawn anchors stored at load time
- Vehicle draw culling uses live position instead of stale spawn origin
Test with two clients on the same build: on-foot movement speed, crouch/prone visibility, helicopter pilot + observer, parked vehicles staying put.
Includes all v0.5.7 fixes
- In-game viewport no longer stretched/skewed after shadow pass
- v0.5.6 UI clipping, kill feed, join/leave toasts
Project Dalian v0.5.7-alpha
Project Dalian v0.5.7-alpha
Hotfix — in-game view stretched / skewed (v0.5.6 regression)
Symptoms in v0.5.6: menus looked fine, but the 3D battlefield appeared stretched or skewed; third-person showed only part of the soldier; walking forward (W) looked diagonal while strafe (A/D) felt normal.
Cause: after shadow-map rendering, OpenGL's viewport was left at shadow resolution (e.g. 4096×4096) while the 3D camera projection still used the window aspect ratio. The world was drawn into the wrong viewport, distorting everything in-game. UI overlays were unaffected because they reset the viewport separately.
Fix: restore the drawable viewport before the main 3D pass (begin_frame + explicit reset after shadow cascades).
Includes all v0.5.6 features
- UI text clipping across menus and HUD
- Kill feed with retail BF2 bot names
- Join / leave toasts for human players