Skip to content

Commit 5d6ddbc

Browse files
committed
feat: add Unit Passengers Display
- Show passenger cameo icons (SHP/PCX) and counts above vehicles when selected - Toggle via hotkey Toggle Unit Passengers with CSF-configurable messages - Two modes: Permanent (ShowUnitPassengers=true) and Toggleable (ShowUnitPassengers.Toggleable=true) - Icons use CAMEO_PAL/SHP, with PCX cameo fallback, arranged bottom-to-top with fixed bottom boundary New INI tags: [AudioVisual] ShowUnitPassengers, ShowUnitPassengers.Toggleable [TechnoType] ShowPassengers, ShowPassengers.PerRow, ShowPassengers.BottomOffset
2 parents 5e17992 + cc5483d commit 5d6ddbc

56 files changed

Lines changed: 2366 additions & 282 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CREDITS.md

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ This page lists all the individual contributions to the project by their author.
5353
- Ported XNA CnCNet Client MP save handling
5454
- Retint fix toggle
5555
- Voxel drawing invisible sections skip
56+
- Animatable template
5657
- **Uranusian (Thrifinesma)**:
5758
- Mind Control enhancement
5859
- Custom warhead splash list
@@ -266,6 +267,7 @@ This page lists all the individual contributions to the project by their author.
266267
- Customizing effect of level lighting on air units
267268
- Reimplemented `Airburst` & `Splits` logic with more customization options
268269
- Buildings considered as destroyable pathfinding obstacles
270+
- Animation transparency customization settings
269271
- Animation visibility customization settings
270272
- Light effect customizations
271273
- Building unit repair customizations
@@ -294,8 +296,10 @@ This page lists all the individual contributions to the project by their author.
294296
- Frame CRC generation rewrite
295297
- Laser drawing Z-adjust customization
296298
- Armed building guard mission retry delay customization
297-
- Animation theater/tile palette toggle
298299
- Building turret idle/firing/low power animations
300+
- Animation theater/tile palette toggle
301+
- Animatable template
302+
- Tank Bunker improvements
299303
- **Morton (MortonPL)**:
300304
- `XDrawOffset` for animations
301305
- Shield passthrough & absorption
@@ -541,6 +545,7 @@ This page lists all the individual contributions to the project by their author.
541545
- Fix the bug where passengers, when their transport unit is removed, would cause incorrect `LimboTracker` counts due to either having their destructor called directly (bypassing `UnInit`) or nested `UnInit` calls resetting the deletion flag too early, thereby breaking auto-death and superweapon auxiliary techno checks
542546
- Allow `Temporal` warhead to apply ratio and bonus
543547
- Fix the bug that techno will get stuck if change owner in tunnel
548+
- Fix the bug that the vanilla `SecondSpawnOffset` no longer takes effect
544549
- **Apollo** - Translucent SHP drawing patches
545550
- **ststl**:
546551
- Customizable `ShowTimer` priority of superweapons
@@ -645,6 +650,45 @@ This page lists all the individual contributions to the project by their author.
645650
- Allow the aircraft to enter area guard mission and not crash immediately without any airport
646651
- Allow merging AOE damage to buildings into one
647652
- Fix the bug that `DeploysInto` and `UndeploysInto` will make damaged techno lose 1 health
653+
- **Noble Fish**:
654+
- Documentation maintenance
655+
- Chinese documentation maintenance and translation
656+
- Established Community Chinese docs
657+
- Took over and completely rewrite the Official Chinese docs during Build#46
658+
- Fix frame by frame hotkey description to read `TXT_FRAME_BY_FRAME_DESC` instead of `TXT_DISPLAY_DAMAGE_DESC`
659+
- Remove the hardcoded wall interaction of NoSecondaryWeaponFallback that was erroneously introduced by Phobos
660+
- Fix a read bug when setting the SHP file name in INI
661+
- Unify the messy tag names such as `xxx.(AffectHouse/AffectsHouses/AffectedHouse)` and improve tag names like `AutoFire`
662+
- Add compatibility for deprecated tag names and output warnings to avoid breaking the normal operation of existing Mods
663+
- Fix the bug where warhead flags are read twice
664+
- Fix an issue where shadow matrix scaling was incorrectly applied to `TurretOffset` causing turret shadow misplacement
665+
- Extend the Harvester counter color definition and standardize the variable names
666+
- Fix a bug where a unit's turrets would also get locked when the unit became deactivated for reasons other than being under EMP
667+
- Wall overlay unit sell exploit fix
668+
- Allows defining whether passengers of an OpenTopped transport unit can fire when it is affected by a locomotor warhead
669+
- Customize `HarvesterLoadRate`
670+
- Fix the bug where the `.SubjectToGround` of the Trajectory type did not consider bridges
671+
- Customize `HarvesterDumpRate`
672+
- Allow users to define the time interval of `DisplayIncome`
673+
- Electric bolt Z-adjust
674+
- Allow disabling the processing of the Z-depth of EBolt drawn by BuildingType being clamped to non-positive numbers
675+
- Add the `Bolt.ZAdjust` setting item to the LaserTrailType with `DrawType=ebolt`
676+
- Fix the bug where `WeaponRange.AllowWeapons` and `WeaponRange.DisallowWeapons` only support weapons listed in the `[WeaponTypes]` list
677+
- Fix a bug where stationary vehicles would also block movement caused by external factors
678+
- Fix the Phobos bug where visual effect drawing does not respect `[BuildingType] -> TargetCoordOffset`
679+
- Allow *Harvester counter* to display only the total number or the number currently working
680+
- Allow users to customize whether the movement state check depends on the destination for the `DiscardOn=move` condition of AE to support more usage scenarios
681+
- Restore the original Tiberian Sun behavior of playing the `[AudioVisual] -> DeploySound=` sound effect when clicking the sidebar to execute `Deploy`
682+
- Allow `RemoveMindControl` and `MindControl.Permanent` warheads to mute `MindClearedSound`
683+
- Introduce weight selection rules for ExtraWarheads
684+
- Add action `512 Set Follower for Associated Unit...`
685+
- Dehardcode of parasites unlimboing after killing naval targets
686+
- Allow warhead to only affect invoker
687+
- Allow customizing whether the creation of shrapnel weapon is controlled by the new target check on the warhead of the parent weapon
688+
- Customize `Tiled` drawing interval and centering
689+
- Customize whether technos with `Locomotor=Fly` wobble
690+
- Customize the landing animation of technos that have `Locomotor=Fly`
691+
- Allow infantry to use `Convert.Deploy` without requiring `IsSimpleDeployer=true`
648692
- **Ollerus**:
649693
- Build limit group enhancement
650694
- Customizable rocker amplitude
@@ -757,6 +801,7 @@ This page lists all the individual contributions to the project by their author.
757801
- Allow disable an over-optimization in targeting
758802
- Extra threat
759803
- Fix the incorrect mission switching in infantry EnterIdleMode
804+
- Customizable Berzerk mission
760805
- Fix the issue that `BombSight` not being updated correctly in techno conversion
761806
- Fix BalloonHover incorrectly considering ground factors when pathfinding
762807
- Technos with Walk locomotor spawn wake like ship
@@ -795,7 +840,6 @@ This page lists all the individual contributions to the project by their author.
795840
- **E1 Elite** - TileSet 255 and above bridge repair fix
796841
- **AutoGavy** - interceptor logic, Warhead critical hit logic
797842
- **Chasheen (Chasheenburg)** - CN docs help for Build#24
798-
- **Noble Fish** - some minor improvements and fixes, established Community Chinese docs, took over and completely rewrite the Official Chinese docs during Build#46, Dehardcode of parasites unlimboing after killing naval targets
799843
- **tomsons26** - all-around help, assistance and guidance in reverse-engineering, YR binary mappings
800844
- **CCHyper** - all-around help, current project logo, assistance and guidance in reverse-engineering, YR binary mappings, custom locomotors example implementation
801845
- **AlexB** - Original FlyingStrings implementation
@@ -821,4 +865,7 @@ This page lists all the individual contributions to the project by their author.
821865
- Multiplayer gamespeed fix for RealTimeTimers
822866
- Revert Ares patch to allow OpenTopped transport customization
823867
- Fix for units with Fly, Jumpjet or Rocket locomotors crashing off-map not being cleaned up
868+
- **Chang_zhi**:
869+
- Interop export interface for accessing scenario local/global variables
870+
- Add `ClampToScreen` tag for `BannerType` to control whether banner position is clamped to the visible area
824871
- **ABCZ (CZHczhABCZ)** - Unit passengers display

Phobos.vcxproj

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,8 @@
218218
<ClCompile Include="src\Interop\BulletExt.cpp" />
219219
<ClCompile Include="src\Interop\EventExt.cpp" />
220220
<ClCompile Include="src\Interop\TechnoExt.cpp" />
221+
<ClCompile Include="src\Interop\ScenarioExt.cpp" />
222+
<ClCompile Include="src\Interop\Version.cpp" />
221223
<!-- src\Locomotion -->
222224
<ClCompile Include="src\Locomotion\TestLocomotionClass.cpp" />
223225
<!-- src\Misc -->
@@ -357,6 +359,8 @@
357359
<ClInclude Include="src\Interop\BulletExt.h" />
358360
<ClInclude Include="src\Interop\EventExt.h" />
359361
<ClInclude Include="src\Interop\TechnoExt.h" />
362+
<ClInclude Include="src\Interop\ScenarioExt.h" />
363+
<ClInclude Include="src\Interop\Version.h" />
360364
<!-- src\Locomotion -->
361365
<ClInclude Include="src\Locomotion\TestLocomotionClass.h" />
362366
<!-- src\Misc -->
@@ -393,6 +397,7 @@
393397
<ClInclude Include="src\Utilities\Anchor.h" />
394398
<ClInclude Include="src\Utilities\AresFunctions.h" />
395399
<ClInclude Include="src\Utilities\AresHelper.h" />
400+
<ClInclude Include="src\Utilities\Interpolation.h" />
396401
<ClInclude Include="src\Utilities\Constructs.h" />
397402
<ClInclude Include="src\Utilities\Container.h" />
398403
<ClInclude Include="src\Utilities\Debug.h" />
@@ -415,4 +420,4 @@
415420
<ClInclude Include="src\Utilities\Template.h" />
416421
<ClInclude Include="src\Utilities\TemplateDef.h" />
417422
</ItemGroup>
418-
</Project>
423+
</Project>

YRpp

docs/AI-Scripting-and-Mapping.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,14 @@ This page describes all AI scripting and mapping related additions and changes i
2626
- `alivecount`: taking the amount of players that's not defeated at the moment into account, including itself.
2727
- `aliveallies`: taking the amount of allied players that's not defeated at the moment into account, excluding itself.
2828
- `aliveenemies`: taking the amount of hostile players that's not defeated at the moment into account.
29+
- `none`: dynamic team delay will be disabled regardless of the settings of `TeamDelays.CountN`.
2930
- `TeamDelays.CountN` control the team delay when the amount of players meets the above conditions, where `N` stands for an integer between 1-8. Consisted by 3 integers that represent each difficulty.
3031
- If a dynamic team delay is not set for this player amount, or the set value isn't greater than 0, it'll default to `[General] -> TeamDelays`.
3132

3233
In `rulesmd.ini`:
3334
```ini
3435
[General]
35-
TeamDelays.DynamicType=startingpoint ; Dynamic Team Delay Type Enumeration (startingpoint|playercount|allies/ally|enemies/enemy|alivecount|aliveallies/alliveally|aliveenemies|aliveenemy)
36+
TeamDelays.DynamicType=startingpoint ; Dynamic Team Delay Type Enumeration (startingpoint|playercount|allies/ally|enemies/enemy|alivecount|aliveallies/alliveally|aliveenemies/aliveenemy|none)
3637
TeamDelays.CountN= ; List of 3 integers indicating AI's TeamDelays in Difficult / Normal / Easy game diffculty.
3738
```
3839

@@ -787,7 +788,7 @@ ID=ActionCount,[Action1],609,0,0,[RadarMode],0,0,0,A,[ActionX]
787788
### `610` Set house's `TeamDelays` value
788789

789790
- Set the `TeamDelays` value of the trigger's house.
790-
- If this value is less than 0, then use the value of `[General] -> TeamDelays`, or dynamic team delay if set and in skirmish.
791+
- If this value is less than 0, then use the value of `[General] -> TeamDelays`, or [dynamic team delay](AI-Scripting-and-Mapping.md#dynamic-team-delays) if set and in skirmish.
791792

792793
In `mycampaign.map`:
793794
```ini
@@ -819,6 +820,7 @@ Team delay change will take effect for a house after its next AI team is created
819820
- `Duration` determines how long the banner will be displayed. Negative values mean the banner can always be displayed until being deleted. The banner itself won't be deleted when it's not displaying.
820821
- `Delay` determines when the banner will be displayed again after it stops displaying by a positive `Duration`. Neagtive values mean it can't be displayed again.
821822
- If an `SHP` banner displays again after the delay, it'll start from the frame when it's stopped last time. This can also be changed to its first frame if `SHP.RefreshAfterDelay` set to true.
823+
- `ClampToScreen` controls whether the banner is clamped to stay within the visible area. When disabled, a PCX banner exceeding the top screen edge may crash the game.
822824

823825
In `rulesmd.ini`:
824826
```ini
@@ -836,6 +838,7 @@ CSF.Background=false ; boolean
836838
CSF.VariableFormat=none ; List of Variable Format Enumeration (none|variable|prefix/prefixed|surfix/surfixed)
837839
Duration=-1 ; integer
838840
Delay=-1 ; integer
841+
ClampToScreen=true ; boolean
839842
```
840843

841844
In `mycampaign.map`:

0 commit comments

Comments
 (0)