Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
809 commits
Select commit Hold shift + click to select a range
c17e708
移除旧的位移武器
CrimRecya Sep 14, 2025
00f22ee
Merge branch 'develop' into Mix-ECpack
CrimRecya Sep 14, 2025
1611c68
更新说明
CrimRecya Sep 14, 2025
f1770b2
简化代码和版本号更新
CrimRecya Sep 14, 2025
77c1269
修复遗漏的补丁
CrimRecya Sep 14, 2025
7c33873
小更新
CrimRecya Sep 14, 2025
a2d2e72
修复退出时的问题
CrimRecya Sep 15, 2025
054e8f6
再次小更新
CrimRecya Sep 15, 2025
0e6cdd9
寻路
CrimRecya Sep 15, 2025
b973b91
增加注释
CrimRecya Sep 16, 2025
26348bb
Merge branch 'develop' into Mix-ECpack
CrimRecya Sep 17, 2025
70ad61d
修复括号
CrimRecya Sep 19, 2025
ae5c2cb
更多输出
CrimRecya Sep 19, 2025
17bf4a3
修牢问题
CrimRecya Sep 19, 2025
dd4b5b3
修复和引用并更新寻路
CrimRecya Sep 20, 2025
083a2c5
Merge branch 'develop' into Mix-ECpack
CrimRecya Sep 20, 2025
98ba926
update (#81)
TaranDahl Sep 20, 2025
f81f165
Merge branch 'Mix-ECpack' of https://github.com/CrimRecya/Phobos-Mix …
CrimRecya Sep 20, 2025
67bc93f
修复钩子
CrimRecya Sep 20, 2025
a611cb7
更新说明
CrimRecya Sep 20, 2025
7874a10
修复对建筑目的地
CrimRecya Sep 20, 2025
5872301
Merge branch 'develop' into Mix-ECpack
CrimRecya Sep 20, 2025
b8d7db9
修复和版本号更新
CrimRecya Sep 20, 2025
a65cd3b
修复英文说明书
CrimRecya Sep 21, 2025
e33f2ab
修复一些可能的边缘错误
CrimRecya Sep 21, 2025
06ebc62
update (#82)
TaranDahl Sep 22, 2025
37de12b
Merge branch 'Mix-ECpack' of https://github.com/CrimRecya/Phobos-Mix …
CrimRecya Sep 22, 2025
44ddc59
Merge branch 'develop' into Mix-ECpack
CrimRecya Sep 22, 2025
1624b33
更新飞机
CrimRecya Sep 26, 2025
be5b25e
更新说明
CrimRecya Sep 26, 2025
0f4a052
Merge branch 'develop' into Mix-ECpack
CrimRecya Sep 26, 2025
e26073d
update (#83)
TaranDahl Sep 26, 2025
4cd63c4
code (#84)
TaranDahl Sep 26, 2025
c655269
Merge branch 'Mix-ECpack' of https://github.com/CrimRecya/Phobos-Mix …
CrimRecya Sep 26, 2025
357fb06
代码风格和更新说明
CrimRecya Sep 26, 2025
7f62509
寻路
CrimRecya Sep 27, 2025
b2ac380
Merge branch 'develop' into Mix-ECpack
CrimRecya Sep 27, 2025
75ce1c9
更新变量名并修复错误的堆插入计数
CrimRecya Sep 28, 2025
6106e5a
修复并使用重写的分层寻路
CrimRecya Sep 28, 2025
d197dc6
Merge branch 'develop' into Mix-ECpack
CrimRecya Sep 28, 2025
cefebe2
改正变量名并修复错误
CrimRecya Sep 30, 2025
91d3a92
更换代码位置
CrimRecya Oct 1, 2025
698a9a5
Merge branch 'develop' into Mix-ECpack
CrimRecya Oct 1, 2025
19ec028
Update Body.cpp (#86)
TaranDahl Oct 1, 2025
8bd2c87
Update Hooks.Others.cpp (#87)
TaranDahl Oct 1, 2025
3b1e6e7
更新说明
CrimRecya Oct 1, 2025
7d01201
Merge branch 'Mix-ECpack' of https://github.com/CrimRecya/Phobos-Mix …
CrimRecya Oct 1, 2025
d1bb749
更新说明
CrimRecya Oct 1, 2025
9dccbe5
改变所属时清除管理器目标修正 (#88)
TaranDahl Oct 1, 2025
4d65c61
code (#89)
TaranDahl Oct 1, 2025
e94ff19
code (#90)
TaranDahl Oct 1, 2025
5bb031c
载入游戏界面显示小提示 (#91)
TaranDahl Oct 1, 2025
8dd1681
代码风格和功能说明
CrimRecya Oct 1, 2025
9b4663b
消息栏背景不透明度
CrimRecya Oct 1, 2025
8cd71db
Merge branch 'develop' into Mix-ECpack
CrimRecya Oct 1, 2025
17ec436
版本号更新和更新说明
CrimRecya Oct 1, 2025
a90ae92
优化计算和重命名变量
CrimRecya Oct 1, 2025
81e4edc
小作文
CrimRecya Oct 1, 2025
ba63fcc
寻路优化
CrimRecya Oct 3, 2025
d755342
数据可视化
CrimRecya Oct 3, 2025
0379e1b
修复洪水填充遗漏的标志位
CrimRecya Oct 3, 2025
fb52f56
优化掉无用检查
CrimRecya Oct 3, 2025
3c676f9
移除临时可视化显示
CrimRecya Oct 3, 2025
b7eb5b4
抛射体补充说明
CrimRecya Oct 4, 2025
1b310d1
更多输出信息
CrimRecya Oct 4, 2025
23d4d35
代码优化
CrimRecya Oct 4, 2025
959370f
修复变量名和跨区域移动问题
CrimRecya Oct 5, 2025
fb466f5
临时输出用
CrimRecya Oct 5, 2025
8a2e276
优化逻辑
CrimRecya Oct 5, 2025
ec5e1d6
Merge branch 'develop' into Mix-ECpack
CrimRecya Oct 5, 2025
2536230
修 (#92)
TaranDahl Oct 5, 2025
94f8407
code (#93)
TaranDahl Oct 5, 2025
a73aaf2
code (#94)
TaranDahl Oct 5, 2025
bf9c7bb
Merge branch 'Mix-ECpack' of https://github.com/CrimRecya/Phobos-Mix …
CrimRecya Oct 5, 2025
6deac37
版本号更新和更新改动说明
CrimRecya Oct 5, 2025
096ff03
更新疏散功能
CrimRecya Oct 6, 2025
cdf39d8
更新说明书
CrimRecya Oct 6, 2025
f869993
Merge branch 'develop' into Mix-ECpack
CrimRecya Oct 6, 2025
e92a24e
小修复变动
CrimRecya Oct 11, 2025
1f749fd
雷达事件
CrimRecya Oct 11, 2025
2770391
更新说明
CrimRecya Oct 11, 2025
e08ac31
AI索敌空军修复 (#95)
TaranDahl Oct 11, 2025
9befb24
Merge branch 'Mix-ECpack' of https://github.com/CrimRecya/Phobos-Mix …
CrimRecya Oct 11, 2025
b26aabc
Merge branch 'develop' into Mix-ECpack
CrimRecya Oct 11, 2025
bd82cdc
修复合并
CrimRecya Oct 11, 2025
854f457
删掉无效部分
CrimRecya Oct 11, 2025
a1c744a
修复钩子
CrimRecya Oct 11, 2025
f7d0154
版本号更新
CrimRecya Oct 11, 2025
6a160b8
功能说明
CrimRecya Oct 11, 2025
42393a0
移除作用不明显的洪水填充修复
CrimRecya Oct 11, 2025
bb209f6
移除没用的注释
CrimRecya Oct 14, 2025
df80857
Merge branch 'develop' into Mix-ECpack
CrimRecya Oct 27, 2025
087c468
修复更新
CrimRecya Oct 27, 2025
0e5e065
code (#103)
TaranDahl Oct 27, 2025
fab7cca
Merge branch 'Mix-ECpack' of https://github.com/CrimRecya/Phobos-Mix …
CrimRecya Oct 27, 2025
3b5866e
恢复编码格式
CrimRecya Oct 27, 2025
28c9a15
输出工厂产品数量
CrimRecya Oct 27, 2025
2013cac
小修复
CrimRecya Oct 27, 2025
943decd
修复错误逻辑
CrimRecya Oct 29, 2025
f93955d
Merge branch 'develop' into Mix-ECpack
CrimRecya Oct 29, 2025
b22466b
ReorganizeToWhenDefeated.Excluded (#96)
TaranDahl Oct 29, 2025
b8680b8
小队集结行为优化 (#97)
TaranDahl Oct 29, 2025
351b0bf
单位消失保留附着的动画 (#98)
TaranDahl Oct 29, 2025
fa4a8d7
修正编码和格式
CrimRecya Oct 29, 2025
923decb
修编辑器问题
CrimRecya Oct 29, 2025
4cf8078
NoAutoFire增强 (#99)
TaranDahl Oct 29, 2025
ec8e53e
JJ无视建筑高度 (#100)
TaranDahl Oct 29, 2025
28a34fe
导弹被拦截不引爆 (#101)
TaranDahl Oct 29, 2025
da76b98
AI防御基地自定义 (#102)
TaranDahl Oct 29, 2025
2d8567d
Merge branch 'develop' into Mix-ECpack
CrimRecya Oct 29, 2025
26c9307
修复编码和格式并移除重复内容
CrimRecya Oct 29, 2025
2f8772f
更新说明
CrimRecya Oct 29, 2025
44ac44c
小修复
CrimRecya Nov 3, 2025
ff16c1b
恢复说明
CrimRecya Nov 3, 2025
df60c4c
修复错误返回地址
CrimRecya Nov 5, 2025
05b2299
代码风格
CrimRecya Nov 8, 2025
98a92e8
抛体新功能和小修复
CrimRecya Nov 8, 2025
e2c4fa8
功能说明
CrimRecya Nov 8, 2025
9bd70f2
修复说明
CrimRecya Nov 8, 2025
0d7139d
Merge remote-tracking branch 'upstream/develop' into Mix-ECpack
CrimRecya Dec 1, 2025
b644fb6
修复合并
CrimRecya Dec 1, 2025
98e7be3
版本号更新和更新说明
CrimRecya Dec 2, 2025
c2f1435
修复问题
CrimRecya Dec 2, 2025
b940ba8
修复分配
CrimRecya Dec 10, 2025
ecfe364
应用IHCore对换行行为的修正 (#105)
IronHammer-Std Dec 19, 2025
2d8cd97
底边栏修改:选择建筑时,以“攻速增益”显示替换“速度增益”显示 (#104)
Flactine Dec 19, 2025
2c4597a
Merge branch 'Mix-ECpack' of https://github.com/CrimRecya/Phobos-Mix …
CrimRecya Dec 19, 2025
1d99806
优化代码
CrimRecya Dec 19, 2025
2fc2319
Merge remote-tracking branch 'upstream/develop' into Mix-ECpack
CrimRecya Dec 19, 2025
183abff
优化代码
CrimRecya Dec 19, 2025
ab43532
版本更新
CrimRecya Dec 19, 2025
9ec56b7
Merge remote-tracking branch 'upstream/develop' into Mix-ECpack
CrimRecya Jan 1, 2026
d8f323e
修复合并
CrimRecya Jan 1, 2026
c24bfb3
修复工具集过度优化导致的问题
CrimRecya Jan 1, 2026
c14614d
暂停更新
CrimRecya Jan 1, 2026
1fbcbfd
加个防爆保险
CrimRecya Jan 1, 2026
2494848
[Vanilla Fix] Fix the issue that warhead with `IsLocomotor=yes` can b…
NetsuNegi Jan 19, 2026
f00311b
Dont clear AircraftDockingDirs on parse
Starkku Jan 20, 2026
0b3af44
fix a typo in KillWeapon
Coronia Jan 20, 2026
2ae286e
Add low priority deploy filtering (#2045)
Starkku Jan 21, 2026
5b45f8f
Audio logging improvements (#2046)
Starkku Jan 21, 2026
8ee393c
add missing SkipNullCheck boolean for some abstract_cast
Coronia Jan 23, 2026
9ac293b
Revert "Enable fix to ares func `SpawnSurvivors`"
Coronia Jan 23, 2026
0483914
Weekly Regular Documentation Revisions 01.19-01.25 - develop (#2044)
DeathFishAtEase Jan 25, 2026
15e75f2
Clean up radar recalc hook and fix bug breaking radar blackouts
Starkku Jan 25, 2026
490a7df
Add veterancy-based target filtering for weapons and warheads (#2008)
Flactine Jan 25, 2026
10185d0
Add comment for reverted fix to state reason
TaranDahl Jan 25, 2026
a60e86c
修复额外索敌的小问题
CrimRecya Jan 25, 2026
6bf0d09
fix Harvester counter not being updated properly in conversion
Coronia Jan 25, 2026
4ec5377
Vehicle Deployment Enhancement (#2041)
Fly-Star-him Jan 25, 2026
f6e0868
[Phobos Fix] Fix the bug that if there's a tank in tank bunker, tank …
NetsuNegi Jan 26, 2026
ece0c06
correct `GeneralUtils::GetWarheadVersusArmor`
NetsuNegi Jan 26, 2026
fecc058
add ExtendedAircraftMissions toggle for individual aircrafts
Coronia Jan 27, 2026
dbc74c1
Update default parameter in SetAnimOwnerHouseKind
TaranDahl Jan 27, 2026
5eb75bf
Fix issue 1962
TaranDahl Jan 27, 2026
833c6ff
Fix placement of some lines in BuildingTypeExt
Starkku Jan 27, 2026
d05e62e
Allow ProductionAnim for more types of factory buildings
Starkku Jan 27, 2026
91bc939
Fix bugs in PartialVector parsing code
Starkku Jan 27, 2026
bd27323
Adjustments to Adjacent.Disallowed
Starkku Jan 27, 2026
49b0d22
Add a customizable cap for FactoryPlant bonuses from BuildingType
Starkku Jan 27, 2026
0a0c88e
Maximum amount for power plant enhancer
Coronia Jan 27, 2026
acb7461
Return warhead (#2066)
Coronia Jan 28, 2026
67dad7b
Use OwnerObject as target for anim weapon
TaranDahl Jan 28, 2026
9fa66f2
Fixes to elite techno scatter 'bugfix'
Starkku Jan 28, 2026
0ddd579
Fix CanBeBuiltOn not being checked on flushing building foundation on…
Starkku Jan 28, 2026
42949e2
`AllowBerzerkOnAllies` (#2067)
TaranDahl Jan 28, 2026
6135811
Add changelog section for 0.4.0.2 and adjust docs
Starkku Jan 28, 2026
2bdcf8b
Fix the copyright year
Starkku Jan 28, 2026
82227b9
[Vanilla Enhancement] Customize whether weapon can target iron-curtai…
NetsuNegi Jan 29, 2026
0b8a0e6
Fix the bug where selected technos would lose their selection if thei…
NetsuNegi Jan 30, 2026
0e4b06a
[Ares Fix] Fix the bug that building with `Explodes=yes` use Ares's r…
NetsuNegi Jan 30, 2026
5bc8f11
Fixed an issue that retaliation will make the unit keep switching amo…
TaranDahl Jan 31, 2026
a673eab
Fix a trsdyism
Starkku Jan 31, 2026
f277eaf
Fix a bug that caused infantry passengers to spawn at cell coords 0,0
Starkku Jan 31, 2026
488657a
Weekly Regular Documentation Revisions 01.26-02.01 - develop (#2059)
DeathFishAtEase Feb 1, 2026
42b6d58
Fixed the issue where units recruited by a team with `AreTeamMembersR…
TaranDahl Feb 3, 2026
dfbce00
[Vanilla Enhancement] Customizable disk drain logic (#2077)
NetsuNegi Feb 3, 2026
3a0777c
adjust usage of IsClearlyVisibleTo
Coronia Feb 3, 2026
c8cf5ba
Add customizable paradropped unit missions
Starkku Feb 3, 2026
26e6861
Improve PowerSurplus
Starkku Feb 3, 2026
5b3a553
Fix YRpp update being omitted from commit c8cf5bacb5bb01b317b3f0300e3…
Starkku Feb 3, 2026
7a95958
Global default value for `DefaultToGuardArea` (#2079)
TaranDahl Feb 4, 2026
0e78aa9
[Customize] Weapon range finding in cylinder (#1345)
TaranDahl Feb 4, 2026
7bc57ab
only use InfantryAutoDeploy when it can deploy fire
Coronia Feb 5, 2026
32ee5ce
[Vanilla Fix] Fix the bug that cause technos teleport to cell 0,0 by …
NetsuNegi Feb 5, 2026
b91e54f
dont teleport if cannot find location
NetsuNegi Feb 5, 2026
22f5dee
Revert "only use InfantryAutoDeploy when it can deploy fire"
Coronia Feb 5, 2026
2b234be
[Vanilla Fix] Fix the bug that techno in attack move will move to tar…
NetsuNegi Feb 5, 2026
495b2b1
fix 2089 that caused attack allies
NetsuNegi Feb 6, 2026
56bca09
Update Hooks.BugFixes.cpp
NetsuNegi Feb 6, 2026
e272df8
Fix ImmuneToPsionics being rechecked and reapplied after Ares immunit…
Starkku Feb 7, 2026
a33a830
Penetrates damage on transporter (#1766)
NetsuNegi Feb 8, 2026
9c92900
Add amount limit of `LimboKill` (#2083)
NetsuNegi Feb 8, 2026
d1b8d0a
Improvements to guard range logic
Starkku Feb 8, 2026
a7418f5
Fix AffectsAir not applying to on-detonation Warhead effects correctly
Starkku Feb 8, 2026
ebaac2f
Weekly Regular Documentation Revisions 02.02-02.08 - develop (#2076)
DeathFishAtEase Feb 8, 2026
7333a45
Revert detrimental micro-optimization for specific locomotors in Tech…
Starkku Feb 8, 2026
b91dcd3
Improve 2089 (#2095)
NetsuNegi Feb 9, 2026
86748a1
Only apply Adjacent.Disallowed to owner's own buildings
Starkku Feb 9, 2026
5ae7b44
AE AnimCheck tweak
Coronia Feb 10, 2026
2aa37fa
Fixes / improvements to Adjacent.Disallowed
Starkku Feb 10, 2026
a4a1868
Spawns particle when spawns tiberium by terrain (#1798)
NetsuNegi Feb 10, 2026
0a47a90
update YRpp
Coronia Feb 10, 2026
6aac1f2
Allow jumpjet climbing ignore building height (#2037)
TaranDahl Feb 11, 2026
6d9f101
tweak jumpjet moving check during type conversion
Coronia Feb 12, 2026
d6268f5
[Minor] AIChronoSphereSW, AIChronoWarpSW Fixes (#2102)
Fly-Star-him Feb 12, 2026
bb7d1dd
[Vanilla Enhancement] Allow draw SuperWeapon timer as percentage (#2050)
NetsuNegi Feb 12, 2026
d693dcc
Fix ThreatPosed taking effect for uncaptured NeedsEngineer=true build…
Starkku Feb 12, 2026
9362854
Fix a minor documentation error in d693dcc536b99558e6b251b8ac704038b9…
Starkku Feb 12, 2026
abb4cc5
[Vanilla Enhancement] Customize particle system of parasite logic (#2…
NetsuNegi Feb 13, 2026
e5afda6
fix a nullptr crash
Coronia Feb 13, 2026
8dcc97f
Fixed the issue that grinded parasite dont have refund who infect inf…
NetsuNegi Feb 14, 2026
f055d8a
[Phobos Fix] Fix the issue that `PassengerDeletion` dont consider pas…
NetsuNegi Feb 14, 2026
260db8f
Weekly Regular Documentation Revisions 02.09-02.15 - develop (#2097)
DeathFishAtEase Feb 15, 2026
5241ee8
Fix GuardRange hook not fetching control value properly
Starkku Feb 16, 2026
9c63e50
Fix the inconsistencies in the turret drawing and jj Draw_Matrix rewr…
TaranDahl Feb 16, 2026
226c14c
Make the guard range cap customizable and not automatically lifted
Starkku Feb 17, 2026
177807e
Merge remote-tracking branch 'upstream/develop' into Mix-ECpack
CrimRecya Feb 18, 2026
fa3629c
修复编译
CrimRecya Feb 18, 2026
4bd3540
修复并优化卡隧道问题
CrimRecya Feb 18, 2026
2f507a2
修正炮塔阴影
CrimRecya Feb 18, 2026
dbee94d
优化vxl
CrimRecya Feb 19, 2026
c7822e2
[hotfix][doc] Correct the URL of the YRpp repository
DeathFishAtEase Feb 20, 2026
2cfacd9
Vanilla Fix - Sell Unit Exploit (#2109)
CnCRAZER Feb 20, 2026
a0838e9
Update of Chinese community contact address and donation link for Chi…
DeathFishAtEase Feb 20, 2026
fc12197
Fix remaining issues with unit sell bugfix
Starkku Feb 22, 2026
693339c
Fix insignia display on units disguised as trees
Starkku Feb 22, 2026
b9d10b7
Fix a build warning for using negative numbers as params for ObjectCl…
Starkku Feb 22, 2026
ff8b79e
Add 0.4.0.3 section in changelog
Starkku Feb 22, 2026
420aaa8
Fix unit sell bugfix breaking UndeploysInto
Starkku Feb 22, 2026
e1cdffc
Weekly Regular Documentation Revisions 02.16-02.22 - develop (#2108)
DeathFishAtEase Feb 22, 2026
4463c5e
修下单位部署建筑掉血
CrimRecya Feb 23, 2026
12143d7
Fixed the issue where the AI's regular targeting would also target ga…
TaranDahl Feb 23, 2026
819afa2
Fixed the issue that the move mission of the jumpjet does not end cor…
TaranDahl Feb 23, 2026
62af2f2
[doc][hotfix] Update source link for EA C&C modding guidelines
DeathFishAtEase Feb 24, 2026
263f068
Improve AI team garrison script behaviour
Starkku Feb 24, 2026
1f4dee3
Fix issues with AITargetTypes and add new one only for bridge repair …
Starkku Feb 24, 2026
27e8ced
Fix broken guard range hook
Starkku Feb 24, 2026
b56f33b
Adjust Phobos attack missions to skip Immune=yes check for spies, eng…
Starkku Feb 24, 2026
4b025d8
Fix the issue of health loss caused by conversion (#2117)
CrimRecya Feb 25, 2026
8b07a72
Add a toggle for `TypeSelectUseIFVMode` (#2113)
NetsuNegi Feb 25, 2026
f59262c
[doc][hotfix] Corrected the description of applicable files for the I…
DeathFishAtEase Feb 25, 2026
d87d166
fix rare cases where paradropped techno killed by falling down
Coronia Feb 26, 2026
d92c569
Fixed the issue that the Jumpjet must end its movement before startin…
TaranDahl Feb 26, 2026
1bbd955
Taunt warhead (#2112)
TaranDahl Feb 26, 2026
6ce6cf8
[Phobos Fix] Fix the issue that power output of building on tooltip w…
NetsuNegi Feb 27, 2026
a67278e
Split contributing guidelines and project policies; mention reviewing…
TaranDahl Feb 28, 2026
8735a68
简化逻辑
CrimRecya Mar 1, 2026
b99f8a2
Merge remote-tracking branch 'upstream/develop' into Mix-ECpack
CrimRecya Mar 1, 2026
7fad120
更新说明
CrimRecya Mar 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 1 addition & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
<!-- Please manually add a label named [No Documentation Needed] if this change should not be mentioned in documentation, what's new and no credit needs to be given.
If the changes are solely made to the documentation, please set the target branch to the pull request named "Weekly Regular Documentation Revisions", rather than the repository's existing branches. -->
<!-- 注意提交请求时选择分支 Mix-ECpack ,并将功能说明和改动内容填写进《整合包说明》中的对应文档 -->
4 changes: 1 addition & 3 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@ name: Nightly Build
on:
push:
branches:
- master
- main
- develop
- Mix-ECpack

env:
# Path to the solution file relative to the root of the project.
Expand Down
48 changes: 9 additions & 39 deletions .github/workflows/pr-doc-checker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
- labeled
- unlabeled
env:
BASE_BRANCH: ${{ github.event.pull_request.base.ref }}
BASE_REF: ${{ github.event.pull_request.base.sha }}

jobs:
Changelog-Check:
Expand All @@ -25,36 +25,13 @@ jobs:
- name: Check that Changelog has been updated
run: |
# Check that Changelog has been updated
if (git diff --name-only $(git merge-base origin/$BASE_BRANCH HEAD) | grep ^docs/Whats-New.md$)
if ! git diff --quiet $(git merge-base $BASE_REF HEAD) -- "整合包说明/更新改动说明.md";
then
echo "Thank you for remembering to update the Changelog! 😋"
echo "感谢您记得更新变更日志!😋"
exit 0
else
echo "It looks like you forgot to update the Changelog! 🧐"
echo "Please, mention your changes in 'docs/Whats-New.md' or use [No Documentation Needed] label for your Pull Request."
exit 1
fi

Credits-Check:
name: Credits List Mention
# If the No Documentation Needed or Bugfix label is set, then workflow will not be executed
if: ${{ !contains(github.event.pull_request.labels.*.name, 'No Documentation Needed') && !contains(github.event.pull_request.labels.*.name, 'Bugfix') }}
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Check that Credits List has been updated
run: |
# Check that Credits List has been updated
if (git diff --name-only $(git merge-base origin/$BASE_BRANCH HEAD) | grep ^CREDITS.md$)
then
echo "Thank you for remembering to update the Credits List! 😋"
exit 0
else
echo "It looks like you forgot to update the Credits List! 🧐"
echo "Please, mention your contribution in 'CREDITS.md' or use [No Documentation Needed] label for your Pull Request."
echo "你好像忘了更新变更日志!🧐"
echo "请在“整合包说明/更新改动说明”中提及您的更改。"
exit 1
fi

Expand All @@ -71,19 +48,12 @@ jobs:
- name: Check that Documentation has been updated
run: |
# Check that Documentation has been updated
if (git diff --name-only $(git merge-base origin/$BASE_BRANCH HEAD) | \
grep \
-e ^docs/New-or-Enhanced-Logics.md$ \
-e ^docs/Fixed-or-Improved-Logics.md$ \
-e ^docs/AI-Scripting-and-Mapping.md$ \
-e ^docs/User-Interface.md$ \
-e ^docs/Miscellanous.md$ \
)
if ! git diff --quiet $(git merge-base $BASE_REF HEAD) -- "整合包说明/额外功能说明.md";
then
echo "Thank you for remembering to add your changes to the docs! 😋"
echo "感谢您记得更新功能说明!😋"
exit 0
else
echo "It looks like you forgot to add your changes to the docs! 🧐"
echo "Please, document your changes or use [No Documentation Needed] label for your Pull Request."
echo "你好像忘了更新功能说明!🧐"
echo "请在“整合包说明/额外功能说明”中提及您的更改。"
exit 1
fi
10 changes: 10 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,16 @@
"panel": "shared",
"showReuseMessage": false
}
},
{
"label": "Convert to UTF-8 with BOM",
"type": "shell",
"command": "powershell",
"args": [
"-Command",
"Get-ChildItem -Recurse -Include *.cpp,*.h,*.hpp,*.c | ForEach-Object { $content = Get-Content $_.FullName -Raw; [System.IO.File]::WriteAllText($_.FullName, $content, [System.Text.Encoding]::UTF8) }"
],
"problemMatcher": []
}
],
"inputs": [
Expand Down
55 changes: 52 additions & 3 deletions CREDITS.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ This page lists all the individual contributions to the project by their author.
- Recursive transport killer fix
- Custom locomotors example implementation and piggybacking test warheads
- Initial jumpjet facing fix
- Techno Attachment logic
- Migration utility
- GitHub Actions setup
- Official docs
Expand Down Expand Up @@ -147,6 +148,7 @@ This page lists all the individual contributions to the project by their author.
- Shared ammo logic
- Customizable FLH when infantry is prone or deployed
- Initial strength for cloned infantry
- Grant new superweapons in superweapons
- Map Events 604 & 605 for checking if a specific Techno enters in a cell
- Warhead that can not kill
- `Pips.HideIfNoStrength` and `SelfHealing.EnabledBy` additions for shields
Expand Down Expand Up @@ -261,6 +263,8 @@ This page lists all the individual contributions to the project by their author.
- Customizable ChronoSphere teleport delays for units
- Allowed and disallowed types for `FactoryPlant`
- Forbidding parallel AI queues for specific TechnoTypes
- Vehicles keeping target on move command
- Reimplemented `Airburst` & `Splits` logic with more customization options
- Nonprovocative Warheads
- Customizing effect of level lighting on air units
- Reimplemented `Airburst` & `Splits` logic with more customization options
Expand All @@ -284,6 +288,11 @@ This page lists all the individual contributions to the project by their author.
- Owner change during buildup bugfix
- Subterranean harvester pathfinding fix
- Toggle to exclude technos from base center calculations
- Deploy priority filtering
- Customizable paradrop missions
- Guard range customizations
- Wall overlay unit sell exploit fix
- Fix vehicles disguised as trees incorrectly displaying veterancy insignia when they shouldn't
- **Morton (MortonPL)**:
- `XDrawOffset` for animations
- Shield passthrough & absorption
Expand Down Expand Up @@ -405,6 +414,11 @@ This page lists all the individual contributions to the project by their author.
- Map Action 511, 609, 610
- Weapons now support `AttackFriendlies` and `AttackCursorOnFriendlies`
- Attack non-threatening structures extensions
- Vehicle Deployment Enhancement
- Fix an issue where miners affected by `Passengers/DeployFire` were unable to unload minerals
- Fix an issue where mining vehicles could not move after leaving a tank bunker
- Fixed the bug in AI scripts 56 and 57 that forced the launch of superweapons with index numbers 3 and 4
- Fix rare cases where paradropped techno killed by falling down
- **NetsuNegi**:
- Forbidding parallel AI queues by type
- Jumpjet crash speed fix when crashing onto building
Expand Down Expand Up @@ -480,6 +494,22 @@ This page lists all the individual contributions to the project by their author.
- Fix the bug that weapon cannot used to intercept on gound bullet if it's projectile has `AG=no`
- Customize size for mind controlled unit
- Fix the issue that weapon selection don't check if secondary's warhead has `IsLocomotor=yes`
- Fix the issue that warhead with `IsLocomotor=yes` can be used to vehicles who is in tank bunker
- Fix the bug that if there's a tank in tank bunker, tank bunker use auto death by vanish will cause tank get stuck and game will crash quickly
- Customize whether weapon can be used to targeting ironcurtained technos or not
- Fix the bug where selected technos would lose their selection if their regular mind control was replaced with permanent mind control or with the control from the Psychic Dominator superweapon
- Fix the bug that building with `Explodes=yes` use Ares's rubble logic will cause it's owner cannot defeat normally
- Customizable disk drain logic
- Fix the bug that cause technos teleport to cell 0,0 by ChronoSphere superweapon
- Fix the bug that techno in attack move will move to target if it cannot attack it
- Penetrates damage on transporter
- Add amount limit of `LimboKill`
- Spawns particle when spawns tiberium by terrain
- Allow draw SuperWeapon timer as percentage
- Customize particle system of parasite logic
- Fix an issue where parasites that have infected infantry do not provide a refund when the infected infantry enters a Grinding building
- Fix the issue that `PassengerDeletion` dont consider passenger's passenger, parasite and hijacker
- Fix the issue that power output of building on tooltip won't consider power enhancer
- **Apollo** - Translucent SHP drawing patches
- **ststl**:
- Customizable `ShowTimer` priority of superweapons
Expand Down Expand Up @@ -525,7 +555,7 @@ This page lists all the individual contributions to the project by their author.
- Use 2D distance instead of 3D to check whether in air team members have arrived destination
- No rearm and reload in EMP or temporal
- Enhanced Straight trajectory
- Enable Building Production Queue
- Enable building production queue
- Fix for sidebar not updating queued unit numbers when on hold
- New Parabola trajectory
- Enhanced Bombard trajectory
Expand Down Expand Up @@ -582,6 +612,7 @@ This page lists all the individual contributions to the project by their author.
- Fix an issue that the currently hovered planning node not update up-to-date, such as using hotkeys to select technos
- Allow the aircraft to enter area guard mission and not crash immediately without any airport
- Allow merging AOE damage to buildings into one
- Fix the bug that `DeploysInto` and `UndeploysInto` will make damaged techno lose 1 health
- **Ollerus**:
- Build limit group enhancement
- Customizable rocker amplitude
Expand All @@ -607,6 +638,9 @@ This page lists all the individual contributions to the project by their author.
- Toggle off laser trail and shake effects
- OpenTopped range bonus and damage multiplier customization for passengers
- AutoDeath upon ownership change
- Maximum amount for power plant enhancer
- Return warhead
- Fix rare cases where paradropped techno killed by falling down
- **NaotoYuuki** - Vertical & meteor trajectory projectile prototypes
- **handama** - AI script action to `16005 Jump Back To Previous Script`
- **TaranDahl (航味麻酱)**:
Expand Down Expand Up @@ -673,14 +707,28 @@ This page lists all the individual contributions to the project by their author.
- Fix an issue that rockets do not consider the destination altitude during climbing
- Fix an issue that the AI would set anger towards friendly houses, causing it to act stupidly
- Fix an issue that the AI would look for the first house in the array as an enemy instead of the nearest one when there were no enemies
- `AllowBerzerkOnAllies`
- Fix an issue that retaliation will make the unit keep switching among multiple targets with the same amount of threat
- Fix an issue where units recruited by a team with `AreTeamMembersRecruitable=false` cannot be recruited even if they have been liberated by that team
- Global default value for `DefaultToGuardArea`
- Weapon range finding in cylinder
- Allow jumpjet climbing ignore building height
- Fix an issue where the AI's regular targeting would also target garrisonable buildings
- Fix an issue that the move mission of the jumpjet does not end correctly
- Fix the issue that the Jumpjet must end its movement before starting the next mission
- Taunt warhead
- **solar-III (凤九歌)**
- Target scanning delay customization (documentation)
- Skip target scanning function calling for unarmed technos (documentation)
- **Flactine** - add target filtering options to attacheffect system
- **Flactine**
- Add target filtering options to attacheffect system
- Add veterancy-based target filtering for weapons and warheads
- **tyuah8**:
- Drive/Jumpjet/Ship/Teleport locomotor did not power on when it is un-piggybacked bugfix
- Destroyed unit leaves sensors bugfix
- **Aephiex** - initial fix for Ares academy not working on the initial payloads of vehicles built from a war factory
- **Aephiex**:
- initial fix for Ares academy not working on the initial payloads of vehicles built from a war factory
- Aggressive stance toggle command (auto target unarmed enemy buildings)
- **Multfinite** - Allow to toggle main exception handler via command line argument `-ExceptionHandler=boolean`
- **hejiajun107, Xkein** - Fix a jumpjet crash related to voxel shadow drawing
- **Ares developers**:
Expand Down Expand Up @@ -716,3 +764,4 @@ This page lists all the individual contributions to the project by their author.
- **Dmitry Volkov** - extensive and thorough testing
- **Rise of the East community** - extensive playtesting of in-dev features
- **11EJDE11** - Prevent mpdebug number from being drawn when visibility toggled off
- **CnCRazer** - Wall overlay unit sell exploit fix
79 changes: 79 additions & 0 deletions ECSDK/EC.Listener.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
#pragma once
#include "IH.Loader.h"


struct ExceptionAnalyzer
{
//行为受SyringeIH是否存在影响,可以通过 HasSyringeIH() 确定是否存在。
void (CALLBACK* AnalyzeAddr)(DWORD /*In*/ Addr, size_t /*In*/ BaseDescBufSize, DWORD& /*Out*/ RelAddr, char* /*Out GBK*/ BaseDesc);
void (CALLBACK* GetAccessStr)(LPVOID /*In*/ Addr, size_t /*In*/ BaseDescBufSize, char* /*Out GBK*/ AccessStr);
bool (CALLBACK* IsAddrExecutable)(LPVOID /*In*/ Addr);
void (CALLBACK* WriteToExceptIH)(const char* /*In GBK*/ Format, ...);

int Reserved[4];
};

/*
前排:
EC监听器的实现还是初始服务接口
本质是一个叫做EC::Internal::ListenerAccess的服务
以后一些乱七八糟的功能也会用服务接口给
(或许这样初始服务看起来会不那么废物?)
*/

namespace ECListener
{
void Set(const char* ListenerType, LibFuncHandle Function);

LibFuncHandle Get(const char* ListenerType);

void Remove(const char* ListenerType);

std::vector<LibFuncHandle> GetAll(const char* ListenerType);

//!!一个库每件事只能有一个监听器!!

//在EXE的最开始,全局对象初始化完成,内存可分配,Winmain顶头位置
//完成一些必要的初始化工作
typedef void (CALLBACK* Listener_InitBeforeEverything)();
void Listen_InitBeforeEverything(Listener_InitBeforeEverything Func);

//在读入rules(如rulesmd.ini,地图文件)等时触发
//Listen_LoadBeforeTypeData在原版的类型读取前触发
//Listen_LoadAfterTypeData在原版的类型读取后触发
//载入或更新设置
typedef void (CALLBACK* Listener_OnLoadGame)(const CCINIClass* pIni);
void Listen_LoadBeforeTypeData(Listener_OnLoadGame Func);
void Listen_LoadAfterTypeData(Listener_OnLoadGame Func);

//在触发FE时调用,入参为一组在异常状态下可以安全分析内存的函数
//记录必要的错误信息,转存入except_ih.txt
typedef void (CALLBACK* Listener_BeginWritingExceptIH)(const ExceptionAnalyzer& Anal);
void Listen_BeginWritingExceptIH(Listener_BeginWritingExceptIH Func);

//在载入CSF条目时调用,可以截留CSF的解析
//如果想要修改解析的结果,可以返回非零值作为新的解析结果,要求返回的const wchar_t*是非临时值,生命期一直保持
//监听函数返回nullptr,则返回原有查找策略
typedef const wchar_t* (CALLBACK* Listener_LoadCSFString)(const char* pLabel);
void Listen_LoadCSFString(Listener_LoadCSFString Func);

//对局从INI载入时,载入过程当中触发
typedef void (CALLBACK* Listener_LoadScenario)();
void Listen_LoadScenario(Listener_LoadScenario Func);

//从存档载入对局时,载入完成后将会调用
// HasWIC() == true 时可以工作
// 什么,不要问我为什么这个必样的函数执行的时候Swizzle怎么还没生效
typedef void (CALLBACK* Listener_AfterLoadGame)();
void Listen_AfterLoadGame(Listener_AfterLoadGame Func);

//从INI、地图载入对局时,载入完成后将会调用
// HasWIC() == true 时可以工作
typedef void (CALLBACK* Listener_AfterLoadINI)();
void Listen_AfterLoadINI(Listener_AfterLoadINI Func);

//对局结束,清理数据时将会调用
// HasWIC() == true 时可以工作
typedef void (CALLBACK* Listener_ClearScenario)();
void Listen_ClearScenario(Listener_ClearScenario Func);
}
Loading