Skip to content

Commit 63168dd

Browse files
committed
Merge branch 'develop' into BalloonHoverPathingFix
2 parents 5ecf308 + d594920 commit 63168dd

39 files changed

+1031
-278
lines changed

.github/workflows/nightly.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ env:
2020

2121
jobs:
2222
build:
23-
runs-on: windows-2019
23+
runs-on: windows-latest
2424

2525
steps:
2626
- uses: actions/checkout@v4

.github/workflows/pr-nightly.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ env:
1616

1717
jobs:
1818
build:
19-
runs-on: windows-2019
19+
runs-on: windows-latest
2020

2121
steps:
2222
- uses: actions/checkout@v4

.vsconfig

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
22
"version": "1.0",
3-
"components": [
4-
"Microsoft.VisualStudio.Component.CoreEditor",
5-
"Microsoft.VisualStudio.Workload.CoreEditor",
6-
"Microsoft.VisualStudio.Component.VC.CoreIde",
7-
"Microsoft.VisualStudio.Component.Windows10SDK.20348",
8-
"Microsoft.VisualStudio.Component.VC.14.29.16.11.x86.x64",
9-
"Microsoft.VisualStudio.Component.VC.14.29.16.11.ATL"
10-
]
3+
"components": [
4+
"Microsoft.VisualStudio.Component.CoreEditor",
5+
"Microsoft.VisualStudio.Workload.CoreEditor",
6+
"Microsoft.VisualStudio.Component.VC.CoreIde",
7+
"Microsoft.VisualStudio.Component.Windows10SDK.20348",
8+
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
9+
"Microsoft.VisualStudio.Component.VC.ATL"
10+
]
1111
}

CREDITS.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,8 +266,7 @@ This page lists all the individual contributions to the project by their author.
266266
- Vehicles keeping target on move command
267267
- `IsSonic` wave drawing crash fix
268268
- Customizable electric bolt duration and electric bolt-related fixes
269-
- Airstrike flare visual customizations
270-
- Fix an issue where airstrike flare line drawn to target at lower elevation would clip
269+
- Airstrike flare visual customizations & fixes
271270
- **Morton (MortonPL)**:
272271
- `XDrawOffset` for animations
273272
- Shield passthrough & absorption
@@ -369,6 +368,7 @@ This page lists all the individual contributions to the project by their author.
369368
- Second weapon with `ElectricAssault=yes` will not unconditionally attack your building with `Overpowerable=yes`
370369
- Fix the issue where some units crashed after the deployment transformation
371370
- Turretless vehicles with `Voxel=no` support use `FireUp` like infantry
371+
- Infantry support `IsGattling=yes`
372372
- **NetsuNegi**:
373373
- Forbidding parallel AI queues by type
374374
- Jumpjet crash speed fix when crashing onto building
@@ -408,6 +408,7 @@ This page lists all the individual contributions to the project by their author.
408408
- Exclusive SuperWeapon Sidebar
409409
- Fix the bug that AlphaImage remained after unit entered tunnel
410410
- Weapon target filtering by health percentage
411+
- Fix the bug that `DamageSelf` and `AllowDamageOnSelf` are ineffective on airforce
411412
- **Apollo** - Translucent SHP drawing patches
412413
- **ststl**:
413414
- Customizable `ShowTimer` priority of superweapons
@@ -484,6 +485,8 @@ This page lists all the individual contributions to the project by their author.
484485
- Amphibious access vehicle
485486
- Fix an issue that spawned `Strafe` aircraft on aircraft carriers may not be able to return normally if aircraft carriers moved a short distance when the aircraft is landing
486487
- Exclusive SuperWeapon Sidebar
488+
- Fix an issue that the widespread damage caused by detonation on the bridge/ground cannot affect objects on the ground/bridge who are in the opposite case
489+
- Several new Infotypes, no display in specific status and a new single frame display method
487490
- **Ollerus**:
488491
- Build limit group enhancement
489492
- Customizable rocker amplitude

Phobos.vcxproj

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
</ProjectConfiguration>
1919
</ItemGroup>
2020
<ItemGroup>
21+
<ClCompile Include="src\Ext\Infantry\Hooks.Firing.cpp" />
2122
<ClCompile Include="src\Ext\Unit\Hooks.Firing.cpp" />
2223
<ClCompile Include="src\New\Type\Affiliated\CreateUnitTypeClass.cpp" />
2324
<ClCompile Include="src\Blowfish\blowfish.cpp" />
@@ -323,21 +324,21 @@
323324
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
324325
<ConfigurationType>DynamicLibrary</ConfigurationType>
325326
<UseDebugLibraries>false</UseDebugLibraries>
326-
<PlatformToolset>v142</PlatformToolset>
327+
<PlatformToolset>v143</PlatformToolset>
327328
<CharacterSet>NotSet</CharacterSet>
328329
<XPDeprecationWarning>false</XPDeprecationWarning>
329330
</PropertyGroup>
330331
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DevBuild|Win32'" Label="Configuration">
331332
<ConfigurationType>DynamicLibrary</ConfigurationType>
332333
<UseDebugLibraries>false</UseDebugLibraries>
333-
<PlatformToolset>v142</PlatformToolset>
334+
<PlatformToolset>v143</PlatformToolset>
334335
<CharacterSet>NotSet</CharacterSet>
335336
<XPDeprecationWarning>false</XPDeprecationWarning>
336337
</PropertyGroup>
337338
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
338339
<ConfigurationType>DynamicLibrary</ConfigurationType>
339340
<UseDebugLibraries>false</UseDebugLibraries>
340-
<PlatformToolset>v142</PlatformToolset>
341+
<PlatformToolset>v143</PlatformToolset>
341342
<CharacterSet>NotSet</CharacterSet>
342343
<XPDeprecationWarning>false</XPDeprecationWarning>
343344
</PropertyGroup>

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ UIDescription=<none> ; CSF entry key
8282
Building manually
8383
-----------------
8484

85-
0. Install **Visual Studio** (2022 is recommended, 2019 is minimum) with the dependencies listed in `.vsconfig` (it will prompt you to install missing dependences when you open the project, or you can run VS installer and import the config). If you prefer to use **Visual Studio Code** you may install **VS Build Tools** with the dependencies from `.vsconfig` instead. Not using a code editor or IDE and building via **command line scripts** included with the project is also an option.
85+
0. Install **Visual Studio** (2022 is minimum) with the dependencies listed in `.vsconfig` (it will prompt you to install missing dependences when you open the project, or you can run VS installer and import the config). If you prefer to use **Visual Studio Code** you may install **VS Build Tools** with the dependencies from `.vsconfig` instead. Not using a code editor or IDE and building via **command line scripts** included with the project is also an option.
8686
1. Clone this repo recursively via your favorite git client (that will also clone YRpp).
8787
2. To build the extension:
8888
- in Visual Studio: open the solution file in VS and build it (`Debug` build config is recommended);

docs/Fixed-or-Improved-Logics.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,9 @@ This page describes all ingame logics that are fixed or improved in Phobos witho
229229
- Fixed an issue where airstrike flare line drawn to target at lower elevation would clip.
230230
- Fixed the bug that uncontrolled scatter when elite techno attacked by aircraft or some unit try crush it.
231231
- Second weapon with `ElectricAssault=yes` will not unconditionally attack your building with `Overpowerable=yes`.
232+
- Infantry support `IsGattling=yes`.
233+
- Fixed the issue that the widespread damage caused by detonation on the bridge/ground cannot affect objects on the ground/bridge who are in the opposite case.
234+
- Fixed the bug that `DamageSelf` and `AllowDamageOnSelf` are ineffective on airforce.
232235
- Fixed the bug where technos with `BalloonHover=yes` incorrectly considered ground factors when setting the destination and distributing moving commands. If you don't want this anyway, use `[General]->BalloonHoverPathingFix=false` to disable this fix.
233236

234237
## Fixes / interactions with other extensions

docs/User-Interface.md

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,27 @@ IngameScore.LoseTheme= ; Soundtrack theme ID
3535
*Default configuration of digital display using example shapes from [Phobos supplementaries](https://github.com/Phobos-developers/PhobosSupplementaries).*
3636

3737
- You can now configure various types of numerical counters to be displayed over Techno to represent its attributes, such as health points or shield points and can be turned on or off via a [new hotkey](#toggle-digital-display).
38+
- `InfoIndex` defines the specific `InfoType`.
39+
- In `InfoType=Spawns`, 0 - alive spawns, 1 - docked spawns, 2 - launching spawns.
40+
- In `InfoType=Tiberium`, 0 - all, 1 - the first tiberium, 2 - the second tiberium, ...
41+
- In `InfoType=SpawnTimer`, 0 - the fastest spawnee, 1 - the first spawnee, 2 - the second spawnee, ...
42+
- In `InfoType=SuperWeapon`, 0 - the first SW of all, 1 - SW, 2 - SW2, 3 - the first SWs' SW, ...
43+
- In `InfoType=FactoryProcess`, 0 - the first factory in production, 1 - primary factory, 2 - secondary factory.
3844
- `Anchor.Horizontal` and `Anchor.Vertical` set the anchor point from which the display is drawn (depending on `Align`) relative to unit's center/selection box. For buildings, `Anchor.Building` is used instead.
3945
- `Offset` and `Offset.ShieldDelta` (the latter applied when a shield is active) can be used to further modify the position.
4046
- By default, values are displayed in `current/maximum` format (i.e. `20/40`).
4147
- `HideMaxValue=yes` will make the counter show only the current value (i.e. `20`), default to whether the techno is infantry or not.
4248
- `Percentage=yes` changes the format to `percent%` (i.e. `50%`).
49+
- `ValueAsTimer` controls whether the value will be displayed in the form of a timer (i.e. `0:30`, `5:00` or `1:00:00`).
4350
- `VisibleToHouses` and `VisibleToHouses.Observer` can limit visibility to specific players.
51+
- `VisibleInSpecialState` controls whether this display type will show when the owner is in ironcurtain or is attacked by a temporal weapon.
4452
- The digits can be either a custom shape (.shp) or text drawn using the game font. This depends on whether `Shape` is set.
4553
- `Text.Color`, `Text.Color.ConditionYellow` and `Text.Color.ConditionRed` allow customization of the font color. `Text.Background=yes` will additionally draw a black rectangle background.
46-
- When using shapes, a custom palette can be specified with `Palette`. `Shape.Spacing` controls pixel buffer between characters.
47-
- Frames 0-9 will be used as digits when the owner's health bar is green, 10-19 when yellow, 20-29 when red. For `/` and `%` characters, frame numbers are 30-31, 32-33, 34-35, respectively.
54+
- When using shapes, a custom palette can be specified with `Palette`. `Shape.Spacing` controls pixel buffer between characters. If `Shape.PercentageFrame` set to true, it will only draw one frame that corresponds to total frames by percentage.
55+
- Frames 0-9 will be used as digits when the owner's health bar is green, 10-19 when yellow, 20-29 when red. For `/` and `%` (or `:` if set `ValueAsTimer` to true) characters, frame numbers are 30-31, 32-33, 34-35, respectively.
4856
- Default `Offset.ShieldDelta` for `InfoType=Shield` is `0,-10`, `0,0` for others.
4957
- Default `Shape.Spacing` for buildings is `4,-2`, `4,0` for others.
50-
- `ValueScaleDivisor` can be used to adjust scale of displayed values. Both the current & maximum value will be divided by the integer number given, if higher than 1.
58+
- `ValueScaleDivisor` can be used to adjust scale of displayed values. Both the current & maximum value will be divided by the integer number given, if higher than 1. Default to 1 (or 15 when set `ValueAsTimer` to true).
5159

5260
In `rulesmd.ini`:
5361
```ini
@@ -62,7 +70,8 @@ Aircraft.DefaultDigitalDisplayTypes= ; List of DigitalDisplayTypes
6270

6371
[SOMEDIGITALDISPLAYTYPE] ; DigitalDisplayType
6472
; Generic
65-
InfoType=Health ; Displayed value enumeration (health|shield|ammo|mindcontrol|spawns|passengers|tiberium|experience|occupants|gattlingstage)
73+
InfoType=Health ; Displayed value enumeration (Health|Shield|Ammo|Mindcontrol|Spawns|Passengers|Tiberium|Experience|Occupants|GattlingStage|ROF|Reload|SpawnTimer|GattlingTimer|ProduceCash|PassengerKill|AutoDeath|SuperWeapon|IronCurtain|TemporalLife|FactoryProcess)
74+
InfoIndex= ; integer
6675
Offset=0,0 ; integers - horizontal, vertical
6776
Offset.ShieldDelta= ; integers - horizontal, vertical
6877
Align=right ; Text alignment enumeration (left|right|center/centre)
@@ -73,7 +82,9 @@ Percentage=false ; boolean
7382
HideMaxValue=false ; boolean
7483
VisibleToHouses=owner ; Affected house enumeration (none|owner/self|allies/ally|team|enemies/enemy|all)
7584
VisibleToHouses.Observer=true ; boolean
76-
ValueScaleDivisor=1 ; integer
85+
VisibleInSpecialState=true ; boolean
86+
ValueScaleDivisor= ; integer
87+
ValueAsTimer=false ; boolean
7788
; Text
7889
Text.Color=0,255,0 ; integers - Red, Green, Blue
7990
Text.Color.ConditionYellow=255,255,0 ; integers - Red, Green, Blue
@@ -83,6 +94,7 @@ Text.Background=false ; boolean
8394
Shape= ; filename with .shp extension, if not present, game-drawn text will be used instead
8495
Palette=palette.pal ; filename with .pal extension
8596
Shape.Spacing= ; integers - horizontal, vertical spacing between digits
97+
Shape.PercentageFrame=false ; boolean
8698

8799
[SOMETECHNO] ; TechnoType
88100
DigitalDisplay.Disable=false ; boolean

docs/Whats-New.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,6 +389,8 @@ New:
389389
- [Customize whether `Crater=yes` animation would destroy tiberium](Fixed-or-Improved-Logics.md#customize-whether-crater-yes-animation-would-destroy-tiberium) (by TaranDahl)
390390
- Weapon target filtering by health percentage (by NetsuNegi)
391391
- [Turretless vehicles with `Voxel=no` support use `FireUp` like infantry](New-or-Enhanced-Logics.md#turretless-shape-vehicle-fireup) (by FlyStar)
392+
- Infantry support `IsGattling=yes` (by FlyStar)
393+
- [Several new Infotypes, no display in specific status and a new single frame display method](User-Interface.md#digital-display) (by CrimRecya)
392394
393395
Vanilla fixes:
394396
- Fixed sidebar not updating queued unit numbers when adding or removing units when the production is on hold (by CrimRecya)
@@ -412,6 +414,8 @@ Vanilla fixes:
412414
- Fixed an issue where airstrike flare line drawn to target at lower elevation would clip (by Starkku)
413415
- Fixed the bug that uncontrolled scatter when elite techno attacked by aircraft or some unit try crush it (by NetsuNegi)
414416
- Second weapon with `ElectricAssault=yes` will not unconditionally attack your building with `Overpowerable=yes` (by FlyStar)
417+
- Fixed the issue that the widespread damage caused by detonation on the bridge/ground cannot affect objects on the ground/bridge who are in the opposite case (by CrimRecya)
418+
- Fixed the bug that `DamageSelf` and `AllowDamageOnSelf` are ineffective on airforce (by NetsuNegi)
415419
- Fix BalloonHover incorrectly considering ground factors when pathfinding (by TaranDahl)
416420
417421
Phobos fixes:
@@ -424,7 +428,6 @@ Fixes / interactions with other extensions:
424428
- Fixed an issue where a portion of Ares's trigger event 75/77 was determined unsuccessfully (by FlyStar)
425429
- Fixed the issue where some units crashed after the deployment transformation (by ststl, FlyStar)
426430
- Fixed the bug that AlphaImage remained after unit entered tunnel (by NetsuNegi)
427-
428431
```
429432

430433
### 0.4

0 commit comments

Comments
 (0)