Skip to content

Conversation

ayylmaoRotE
Copy link

@ayylmaoRotE ayylmaoRotE commented Sep 24, 2025

Picking up the closed PR #530 .

Forward ported the old PR and fixed the following from showing under fog:

  • Ebolt
  • Shrapnel related Ebolts (ownerless?)
  • NaturalParticleSystem
  • RefinerySmokeParticleSystem (from UnitTypes)
  • DamageParticleSystems
  • SparkParticleSystem
  • LaserTrailClass (all 3 types)
  • LaserDrawClass (includes DiskLaserClass)
  • RadBeam
  • CaptureManager (MindControl unit link)
  • Phobos FlyingStrings
  • SpySat=yes support

Other improvements:

  • Can be enabled via CnCNet Client, e.g.
  • Implemented RemoveShroudGlobally to combat the Shroud=no issue below
  • Reworked fog proxy drawing to stop BuildingType, OverlayType and TerrainType flickering/vanishing under fog

RemoveShroudGlobally
I added this as a way to bypass the Shroud=no issue, it works by removing Shroud at the beginning of the game, while keeping Fog intact. How to use:

[General]
RemoveShroudGlobally=yes

Note: this can also be enabled via CnCNet Client configuration

CnCNet Client
In your game/skirmish/multiplayerlobby config, add a GameLobbyCheckBox with:

SpawnIniOption=FogOfWar
Checked=True

Still to do:

General

  • Buildings fog proxy silhouette will disappear if they are destroyed, correct behaviour is to remain until revealed
  • Sometimes XParticleSystem becomes visible
  • Voxel turrets on BuildingTypes do not show currently
  • Add coauth @secsome
  • Remove debug messages and comments in debug.log and code.

Ares

  • IonBlastClass::Draw / applyRipples / Ripple.Radius
  • ProduceCashDisplay
  • Flying strings such as Bounty

Vanilla

  • Sparky=yes on WH
  • RevealToAll=yes - does reveal the building but it gets fogged soon after
  • RadSite
  • RefinerySmokeParticleSystem created by Slaved InfantryTypes still shows under fog

Severe issues:

  • Save/Load is not working, crash on load, not sure how far back I need to troubleshoot
  • Shroud=no completely breaks everything (offset by RemoveShroudGlobally)
  • Performance, lots of objects under fog after some time = big impact on FPS, not sure why or how to tackle it.

Future QOL:

  • LaserTrail drawing should respect height vs fog, e.g. 3D vs Cell drawn at ground level/Z.
  • If we want Shroud=no instead of RemoveShroudGlobally=yes, a pro will need to look into it.
quick.fow.mp4
image image

  - Hide particles under fog for all units, not just enemies
  - Add exception handling to prevent cursor targeting crashes on fogged buildings
  - Simplify fog checks using Fog::IsFogged() for consistency
…rlayTypes and TerrainTypes. still to do: objects remain on screen unchanged from fog proxy state
Copy link

Nightly build for this pull request:

This comment is automatic and is meant to allow guests to get latest nightly builds for this pull request without registering. It is updated on every successful build.

@TaranDahl TaranDahl added ❓Restored feature Logic present in older gen. games but not in YR ⚙️T2 T2 maintainer review is sufficient ⚙️T3 and removed ⚙️T3 labels Sep 24, 2025
@SCIPCION
Copy link

-Terrain Objects with custom palettes are using theater palette under fog
-Smudges drawn over buildings cause crazy performance issues

image

@zhnjsacdjkn
Copy link

If it really doesn't work, then forget it. Using a smoke shell combined with passive super weapon effects is also quite good.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
❓Restored feature Logic present in older gen. games but not in YR ⚙️T2 T2 maintainer review is sufficient
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants