Commit Graph
295 Commits
Author SHA1 Message Date
Asdow b9641d4c90 Convert to SoldierID 2024-11-17 20:52:12 +02:00
Asdow 2e147d4bd7 Convert to SoldierID 2024-11-17 16:35:26 +02:00
Asdow 274be524e6 More functions converted to SoldierID 2024-11-17 16:25:12 +02:00
Asdow 34f0b40f93 Convert functions and globals to SoldierID 2024-11-17 14:53:52 +02:00
Asdow f58cf588a6 Mark TacticalStatusType::sSlideReason as _UNUSED
Removed from function call parameters at the same time.
It was supplied to SlideTo, SlideToLocation and SoldierLocationRelativeToScreen but was never used.
2024-11-17 14:20:37 +02:00
Asdow 3fe6e4f3d8 GetSoldier() to SoldierID 2024-11-17 10:33:29 +02:00
Asdow cbf53f8848 TacticalStatusType::ubLastRequesterSurgeryTargetID to SoldierID 2024-11-17 10:26:01 +02:00
Asdow 61c5a41bea LocateSoldier() & HandleMercLeavingEquipmentInDrassen() & HandleMercLeavingEquipmentInOmerta() 2024-11-17 01:35:49 +02:00
Asdow 419b0c794d SOLDIERTYPE::CreateSoldierCommon to SoldierID 2024-11-16 00:18:02 +02:00
Asdow 566ead5815 Convert SOLDIERTYPE::ubTargetID to SoldierID 2024-11-15 23:46:15 +02:00
Asdow ee429fd1f4 Convert SOLDIERTYPE->ubAttackerID to SoldierID 2024-11-15 22:51:48 +02:00
Asdow ecb29ae9bc Convert SOLDIERTYPE->usChatPartnerID to SoldierID 2024-11-15 21:09:17 +02:00
Asdow 83b3485e58 Convert prisonerdialoguetargetID to SoldierID 2024-11-15 21:04:05 +02:00
Asdow b98732daa7 Convert gusSelectedSoldier to SoldierID 2024-11-15 19:06:34 +02:00
Asdow 6a0d02e9b9 Change type from BOOLEAN(!) to SoldierID 2024-11-15 01:03:21 +02:00
Asdow 1345d92521 Convert Soldier Find.cpp to SoldierID 2024-11-14 00:45:50 +02:00
Asdow f5b1447646 Move MercSlots zeroing to same loop where MercPtrs are set
One less for loop that way
2024-11-13 22:12:37 +02:00
Asdow 4d740055da Provide access function to MenPtrs, MercPtrs & MercSlots
All raw array accesses should be done with these instead.
2024-11-13 01:33:32 +02:00
Asdow 6c33009fab Remove bLastKnownEnemies from SECTORINFO
As per the old comment, even though the field value is updated partially according to whether there are known enemies present or not, it's not used for anything.
2024-11-11 00:14:51 +02:00
Asdow fcf2b27d1a More UINT8 -> UINT16 changes 2024-11-11 00:08:30 +02:00
Asdow a81820d0d7 Fix UB compilation 2024-11-09 16:46:39 +02:00
Asdow 10250dc035 Merge branch 'master' into ExtraMercs 2024-11-09 13:44:53 +02:00
AsdowandGitHub 49a119e6b9 Convert INVTYPE boolean fields to flagmask (#325)
Rearranged fields from largest to smallest to remove alignment padding
2024-08-22 08:48:29 +03:00
AsdowandGitHub ef69f9b2e6 Allow enemy to retreat (#279)
This check was preventing enemies from retreating into another sector if tactical AI retreat was enabled, leading into AI deadlock every time AI_ACTION_RUNAWAY was the decision.
2024-02-11 00:27:14 +02:00
Asdow 03482ffc3d Merge branch 'master' into ExtraMercs 2023-07-26 13:17:49 +03:00
AsdowandGitHub ae1fd0a2ee Prisoner feature bugfix (#110)
* Allow game to continue after offering to surrender to enemies

* Fix issues related to surrender and POW quests

- Quests were ended prematurely if one had prisoners in both alma and tixa
- Strategic status flags for rescue/escape were not set properly
- Only the maximum amount a prison can hold will be taken as POWs, rest of the mercs will either escape or have to fight to the death, to prevent a player having unrescuable POWs
- Capturing a mercenary had a lot of functions called that should not have been, IF the merc is not going to be captured after all

* Switch all tactical surrender calls to use one unified function

* Only mercs that are capable can escape

Incapacitated mercs left behind will die.
Should probably prioritize incapacitated mercs to be captured by the enemy to prevent needless deaths

* Combine pow quest state changes into one function

* Add JumpIntoEscapedSector to header file

* Allow enemy to demand surrender even if they already have POWs in Tixa and Alma

* Remove surrender from UB

* Address review feedback
2023-01-22 23:35:08 +02:00
Marco Antonio Jaguaribe CostaandAsdow 8b1c4effa0 nuke all the #if 0's
scripted commit:

find . -not -path '*/.*' -and -not -path '*/ext*' -type d -exec coan source -R -E {} ';'

https://coan2.sourceforge.net/coan_man_1.html
2023-01-19 00:13:08 +02:00
majcostaandGitHub 6afe785f4b Default to not displaying the fake light around mercs (#86)
* Remove option to disable 'Mercs Lights during Movement"

This might've cost someone some frames in 1999, but today even a 10
year old smartphone can probably run with this turned on at 1080p without
dropping a sweat

This does not remove the menu option which I plan to replace with
'Highlight Mercs' which was hidden for some reason.

'Merc Lights during Movement' is a noop now tho

* Replace 'Merc Lights during movement' with 'Highlight Mercs'

as title

* Make 'Merc Highlights' default to false

"Wtf why am I glowing?" well your problems are over
2023-01-18 20:56:34 +02:00
majcostaandGitHub 24425a82b1 More unused stuff removal (#49)
* More unused stuff removal

delete:
- giant 'metaheaders' (JA2 All.h, Laptop All.h, etc), preferring to add #includes directly where needed
- unused ExceptionHandling and DbMan translation units
- unused WizShare.h, Bitmap.h, trle.h, video_private.h headers

* remove mentions from vc proj files too

* remove preprocessor conditionals for unused definitions

find . -iname '*.h' -o -iname '*.cpp' -exec unifdef.exe -m -UPRECOMPILED_HEADERS -UJA2_PRECOMPILED_HEADERS -UWIZ8_PRECOMPILED_HEADERS -UPRECOMPILEDHEADERS {} ';'

then manually fixed a couple files the tool errored out on

* yes, the comments too

as title
2023-01-03 15:51:48 +02:00
Asdow 1f0a8f46e8 Import changes from the local SVN working copy 2022-10-10 10:08:44 +03:00
Asdow f733bda830 Fixed nullptr dereference in void CommonEnterCombatModeCode( ) & added two nullptr safety checks
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9393 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2022-08-02 22:29:00 +00:00
rftr 86fd310d6d fix tactical turncoat activation reducing enemy soldier count twice
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9366 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2022-04-15 04:14:34 +00:00
rftr fcc21e32dc added new option in Skills_Settings.ini: [Covert Ops] COVERT_TURNCOATS_ACTIVATE_IN_AUTORESOLVE
if enabled, turncoats will automatically activate when entering an autoresolve battle

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9365 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2022-04-14 06:50:44 +00:00
Shadooow 9668618b68 Demand surrender feature will now work on each team separately, ie. demanding surrender from regular enemy will not count hostile civilians or bandits and neither it will capture them.
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9271 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2022-01-22 16:46:13 +00:00
Sevenfm b11957691c Fix for critical bug introduced in r9182: replace CoweringShockLevel check which calculates suppression tolerance every time, with IsCowering, which uses cowering animation check.
DrawBarsInUIBox: fix possible divide by zero.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9184 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2021-10-16 16:07:31 +00:00
Sevenfm 9fd9e82397 NEW_SUPPRESSION_CODE:
- increased min base value for suppression tolerance, so merc with low morale/level have higher base tolerance which can be reduced by other factors
- NEARBY_FRIENDLIES_AFFECT_TOLERANCE: penalty -0.5 if friend is cowering or unconscious, increased limits to +-5

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9183 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2021-10-15 09:05:32 +00:00
Sevenfm 6d14282538 NEW_SUPPRESSION_CODE:
- use effective experience level when calculating base suppression tolerance, so nearby squad leaders may raise effective level and help fight suppression
- if NEARBY_FRIENDLIES_AFFECT_TOLERANCE option is active, nearby friends can help increase suppression tolerance, up to +-3 points added depending on distance, only for merc bodytypes

CheckStatusNearbyFriendlies: minor code improvements, fixed variable names, use INT16 for calculation

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9182 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2021-10-15 08:44:57 +00:00
Sevenfm 7978ad77f3 Morale changes for AI soldiers:
- GetMoraleModifier: use bMorale for both player and AI.
- CalcSuppressionTolerance: use morale as a base for tolerance for AI soldiers.
- HandleSuppressionFire: morale loss for AI soldiers.
- EVENT_BeginMercTurn: increase morale for AI soldiers.
- TacticalCreateSoldier: Set morale = 60 + 2 * bExpLevel + Random(20) when creating AI soldier.

NEW_SUPPRESSION_CODE: UseGun, UseGunNCTH: reduce shock when firing gun.
AI_NEW_MORALE: limit AI morale depending on morale and shock level.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9181 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2021-10-15 05:52:09 +00:00
Sevenfm b689b51962 NEW_SUPPRESSION_CODE: calc base suppression tolerance for AI from health/shock instead of AI morale.
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9175 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2021-10-05 12:10:07 +00:00
Sevenfm d1911e421e Added NEW_SUPPRESSION_CODE option, which makes suppression tolerance calculation more balanced.
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9172 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2021-10-04 17:55:04 +00:00
Sevenfm 9ebd4a5137 Bugfix: dissolve all militia groups involved in a battle when it is completed. this fixes bad/immobile militia groups created by safehouses (ARC feature) (by rftr).
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9170 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2021-10-04 06:59:37 +00:00
Flugente eca080f0f9 New feature (by rftr): Arulco Rebel Command (ARC)
Improve you cities and overall campaign by choosing out of several upgrades

Requires GameDir >= r2613

For more info, see https://thepit.ja-galaxy-forum.com/index.php?t=msg&th=24884&start=0&

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9153 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2021-08-22 19:00:09 +00:00
Flugente 6cad680b02 We can now use interactive actions to alter decals on walls, so it is possible to simulate taking off an object from the scenery and add it as an item.
For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=msg&goto=363513&#msg_363513

Requires GameDir >= r2601

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9141 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2021-07-13 19:50:49 +00:00
Shadooow 9f2f164bde fixed vehicles turning towards player merc who shot them
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9126 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2021-07-06 15:54:14 +00:00
Shadooow dce924540f fixed POW code throwing errors when trying to compile UB build
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9101 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2021-06-23 23:04:49 +00:00
Shadooow f779c0cb37 Major rework of getting captured quests and mechanics.
- new feature: added Tixa as another prison where capture mercs can be held (Alma is still primary choice though)
- fix: all mercs in the map will be taken POW when surrendered, however only 3 will appear in Alma/Tixa/N7, rest will be POW forever without chance of getting free
- fix: whenever player liberates any of the POW sectors (Alma, Tixa, N7) the respective quest/cutscene with POW will be disabled in that sector until enemy recapture the sector
- robot will be destroyed when surrendered as it makes no sense to inprison mechanical units
- externalized the GridNos for freeing POW mercs into Mod_Settings.ini

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9095 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2021-06-21 13:53:56 +00:00
Shadooow 70eda57141 no battle records for POW mercs
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9092 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2021-06-21 01:19:32 +00:00
Shadooow 4b8a00f6e2 experimental fix for charging AP for turning at the end of the movement
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9067 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2021-06-07 16:29:36 +00:00
Shadooow aaaf13bda2 deleted now redundant old code for marbles which is no longer executedby game due to said change
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9054 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2021-05-26 21:29:15 +00:00
Shadooow c890640e1d fix: vehicle assignment will no longer show destroyed vehicles
fix: helicopter will no longer be available when Skyrider dies (will not work in saved games where he is already dead though)

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9040 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2021-05-23 21:32:16 +00:00