98 Commits
Author SHA1 Message Date
AsdowandGitHub b8a870df02 Reduce code duplication (#233)
* Use ConvertGridNoToCenterCellXY instead of CenterX & CenterY

* Add direction utility function

We have a lot of places in the code that calculate direction based on center cell coordinates, but lack a utility function for it similar to other direction methods.

* Use utility function for calculating direction

* Use ConvertGridNoToCenterCellXY

* Use utility function for direction

* Use ConvertGridNoToCenterCellXY instead of CenterX & CenterY

* Use ConvertGridNoToCenterCellXY instead of CenterX & CenterY

* Remove CenterX & CenterY functions

Use ConvertGridNoToCenterCellXY instead

* Remove CenterX & CenterY calls from UB configuration

* Address review feedback

* Remove duplicate function

ConvertGridNoToCenterCellXY and ConvertMapPosToWorldTileCenter do the exact same thing

* Use PythSpacesAway instead of GetRangeFromGridNoDiff

Both functions calculate the same thing

* Remove GetRangeFromGridNoDiff

* Remove calls to abs()

The values end up being squared anyways making these unnecessary
2023-10-07 15:14:15 +03:00
Andrzej FałkowskiandGitHub 3ddacf1a44 Fix vehicles consuming fuel after instant movement cancel (#213) 2023-08-28 16:26:02 +03:00
rftrdevandGitHub 1150fb5352 Update simultaneous combat check for group arrivals (#176)
The previous check didn't take group team into account, so it was possible for a simultaneous battle to be triggered by an enemy group moving into a friendly sector
2023-07-11 22:26:31 -07:00
rftrdevandGitHub fb03cba2fa New feature: transport groups (#172)
https://thepit.ja-galaxy-forum.com/index.php?t=msg&goto=365395
2023-07-04 20:58:56 -07: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
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
rftrdev feaf9827c9 Set up ASSIGNMENT_REBELCOMMAND
Hook up Start Mission button
2022-10-13 11:31:48 -07:00
rftr 2747f9cee0 Fix: Assertion failures on militia strategic commands (by sun_alf)
* Discarding a route can result in failure"Path exists, but no waypoints were added!	AM-0".
* Waypoints can be not deleted upon arrival to final destination.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9356 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2022-04-02 04:27:02 +00:00
rftr bd5b14358d Fix: incorrect path rebuilding in RebuildWayPointsForGroupPath(), incorrect GroupAtFinalDestination() detection (by sun_alf)
*  RebuildWayPointsForGroupPath(): incorrect manipulations with 'iOldDelta' and 'iDelta' lead to skipping a node in 'pHeadOfPath' and to assertion failure as a result:
   AssertMsg( FALSE, String( "Invalid DIAGONAL waypoint being added for groupID %d. AM-0", pGroup->ubGroupID ) );
* GroupAtFinalDestination(): should take into account the amount of WayPoints, otherwise multiple visiting of a sector is not possible (group end up in that sector at first entrance):
   if( ( pGroup->ubSectorX == wp->x ) && ( pGroup->ubSectorY == wp->y ) )

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9348 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2022-03-26 21:00:13 +00:00
Sevenfm b7adaf802a Small arc update (by rftr):
- 2 new directives
- 3 new admin actions
- arc website dropdown fix
- one admin action per region can now be changed

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9161 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2021-09-01 16:48:13 +00:00
Flugente 960bb2d4ba New feature (by rftr): Mini events are a feature where the player can receive short text blurbs, and pick one of two outcomes.
Based on game implementations like Gloomhaven (road/city events) or Battletech (travel events).

For more info, see https://thepit.ja-galaxy-forum.com/index.php?t=msg&th=24865&goto=363481&#msg_363481

Requires GameDir >= r2599

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9137 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2021-07-09 19:38:55 +00:00
Sevenfm f611cec057 Fix for leaving merc never reaching final sector until current battle is finished (by Shadooow).
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8991 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2021-04-30 14:16:42 +00:00
Sevenfm b6f15b2347 Add robots to enemy groups (by rftr).
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8956 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2021-04-03 03:32:40 +00:00
Flugente ce61a0b85b Fix: if no squad name is provided in xml, fall back on hardcoded name
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8867 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2020-07-15 21:23:53 +00:00
Flugente 1e101b2065 Use macro where appropriate for easier maintenance
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8847 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2020-07-07 19:47:52 +00:00
Flugente 000de06890 Fix: incorrect travel time calculation outside of pathing
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8834 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2020-07-03 20:40:22 +00:00
Flugente de24b4df88 Fix: noticable lag on slow machines or while debugging when plotting a path in strategic view
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8832 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2020-07-02 21:58:45 +00:00
Flugente 098dc8e280 Disease update:
- <InfectionChance_WOUND_FIRE> can cause infections when taking fire damage
- <InfectionChance_WOUND_GAS> can cause infections when taking non-fire gas damage
- <fSpecialFlagLimitedUseArms> causes the infected to be unable to use one arm
- <fSpecialFlagLimitedUseLegs> causes the infected to be unable to run, and walk and travel slowly
- JA2_options.ini option DISEASE_SEVERE_LIMITATIONS controls whether <fSpecialFlagContractDisability>, <fSpecialFlagLimitedUseArms> and <fSpecialFlagLimitedUseLegs> are used

For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=msg&th=22099&goto=360451&#msg_360451

- Gas damage split up in fire and non-fire damage.
- Flamethrower projectile damaged is affected by fire resistance.

Requires GameDir >= r2553.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8828 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2020-06-25 22:42:44 +00:00
silversurfer 0e9e13e838 fix: travel time wasn't correctly calculated for survivalist and background speed bonuses
enhancement: new calculations for travel speed bonuses of survivalist and backgrounds

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8794 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2020-04-27 20:34:51 +00:00
Sevenfm 1455409057 AI:
- before deciding anything, stop cowering animation
- before deciding anything, stop giving aid animation
- before deciding to raise weapon, check if weapon can be raised
- simplified scope check
- removed duplicate code in Red AI

Added missing actions to gzActionStr[].
Fixed OKLIFE checks.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8740 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2020-01-25 19:02:53 +00:00
Flugente 494dbc6e69 Store the profile type in the profile structure and remove superfluous code
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8620 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2018-09-24 19:36:28 +00:00
Flugente a59b75b0be New feature: we have to bury corpses, or their rot causes diseases in sectors
Requires GameDir >= r2436.

Fopr more info, see http://thepit.ja-galaxy-forum.com/index.php?t=tree&th=23828&goto=354321&#msg_354321

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8591 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2018-08-12 12:42:38 +00:00
Flugente 9e71b31a30 - Fix: missing individual profiles for militia arriving in currently loaded sector
- reduce number of warnings if no individual militia profiles are found

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8558 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2018-04-19 19:23:08 +00:00
Flugente d6db35f000 - Fix: possible crash if enemy forces arrive via non-group (enemy heli)
- Fix: possible crash when ordering militia to move if previous path was not properly cleared

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8541 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2018-03-08 21:49:26 +00:00
Flugente 82a2b6c2db Added new assignments for training existing militia and doctoring them.
For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=msg&th=23044&goto=352617&#msg_352617

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8537 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2018-03-04 21:20:38 +00:00
Flugente e55b480996 New feature: Getting and using intel allows for more spy-related roleplay.
For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=msg&th=23643&goto=352475&#msg_352475

Requires GameDir >= r2401.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8522 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2018-02-18 23:17:34 +00:00
Flugente b64e0d0f91 Fix: enemy airdrops could cause a deployment screen when there shouldn't be one
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8446 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2017-08-10 22:54:07 +00:00
Flugente 3419fd1c5d dded new character trait "Coward" (charrcter trait #13)
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8362 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2017-01-12 23:24:41 +00:00
Flugente 258e9c24a0 New feature: SAM site cover can now overlap, and SAM sites can be hacked to lower their radius. For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=msg&th=23211&goto=347188&#msg_347188
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8309 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2016-10-05 22:22:50 +00:00
Sevenfm 120507a9fd UpdateStrategicDetectionLevel fix: reset detection level
ScoutIsPresentInSquad: allow scouting only if soldier is not in a vehicle and not on assignment
StartCivQuote fix: uninitialized ubCivQuoteID2

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8256 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2016-06-25 08:48:40 +00:00
Flugente 2c85d6dc03 Fix: determining a militia path in strategic map could cause the sector militia size to be cut to MAX_STRATEGIC_ENEMY_GROUP_SIZE
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8243 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2016-05-28 15:07:44 +00:00
Flugente 9f52c940a8 New feature: individual militia creates small militia profiles that track a militia's history and allow it to be recreated, thereby maintaining the illusion of persistent militia.
Requires GameDir >= r2316.

For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=tree&th=23044&goto=345324&#msg_345324

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8202 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2016-05-06 14:51:24 +00:00
Flugente 9e97538d89 New feature: enemy combat jeeps fill the role between infantry and tanks. For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=msg&goto=344628&#msg_344628
This is savegame compatible. GameDir >= r2305 required.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8114 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2016-03-20 18:45:51 +00:00
Flugente e206c21daa Unified strategic map display code for airspace, militia restrictions and disease
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8101 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2016-03-09 22:48:16 +00:00
Flugente d1e1759aa2 Removed ENABLE_ZOMBIES-define
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8047 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2016-01-31 17:54:51 +00:00
inshy 4cf9f557f8 1) Do not use a "Tab" instead "Space" in the text messages. We don't have symbol for symbol "Tab" in the fonts, so when we use it in the text the game show "A"
2) Fixed mistakes in English
3) New translation for Russian text 

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8025 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2016-01-17 09:54:44 +00:00
Flugente 3af6748b03 - Fix: compiler warning
- If possible, use the intended macrso to determine sector coordinates

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8018 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2016-01-10 18:06:55 +00:00
Flugente 7664342746 - New Feature: Arulco special division controls other features to fight the player. For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=tree&goto=343706&#msg_343706
- New Feature: Enemy helicopters allow the AI to rapidly deploy troops aross the map. For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=tree&goto=343707&#msg_343707. GameDir <= r2279 is required.
- Fix: income of mine 0 was not correctly calculated

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8015 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2016-01-09 19:45:30 +00:00
Wanne 48413a9242 Fix: Fixed crash, when clicking on "Done" button after "Auto Resolve" has been finished (pGroup NULL pointer)
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8008 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2016-01-03 11:43:38 +00:00
Flugente 5e8ab2af31 Fix: possible access to invalid memory if waypoint is list was corrupted
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7962 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2015-08-07 20:16:15 +00:00
Flugente b8c3d26013 If an enemy group pursuits a player group that just retreated, make sure they don't arrive before or at the same time as the player group.
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7907 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2015-07-08 21:06:31 +00:00
Flugente 86e21d43a8 If the player retreats from an enemy attack that was targetted at this sector, the enemy group pursuits instead of being given new orders.
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7901 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2015-07-05 12:44:12 +00:00
Flugente 32a8b75748 - Fix: wrong final destination displayed for travelling militia
- Fix: when ordering militia movement, data of another group's path can be erased
- Fix: a militia groups's path isn't always destroyed if the group is deleted
- Fix: unsafe pointer handling can result in a gamecrash when loading strategic AI data from a savegame
- Fix: traveltime calculations do not correctly handle waypoints, resulting in possible crashes

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7876 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2015-05-24 14:09:48 +00:00
Flugente afd192cde2 Fix: crash during group movement as GROUP pointer was corrupted
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7805 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2015-04-01 19:03:32 +00:00
Flugente 01bdeb2c7f Merged revision(s) 7798 from branches/ja2_source_official_2014:
Fix: Due to unknown circumstances, a GROUP's waypoints can be corrupted. This will cause incorrect movement and can crash the game. As we have no way of knowing where the group was supposed to move, we instead delete the waypoints and stop moving.

This does NOT fix the initial corruption of waypoints. That is a very troubling error that should be fixed ASAP!

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7800 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2015-03-29 15:44:26 +00:00
Flugente 8bfb14e90a New Trait: SURVIVAL (new minor trait) gets the non-weapon parts of the ranger trait.
Requires GameDir >= r2213.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7756 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2015-02-27 23:23:03 +00:00
Flugente d4432d95c3 - If ALLOW_MILITIA_STRATEGIC_COMMAND is TRUE and militia can be commanded, oen can order them to retreat from autoresolve
- Final sector in a militia group's path is shown while plotting in the strategic map.


git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7743 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2015-02-20 23:27:22 +00:00
Flugente f5ba30c57f Militia groups can coordinate their arrival with other player and militia groups.
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7733 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2015-02-12 21:45:55 +00:00
Flugente 39b45c89d8 No nighttime movement penalty for militia groups if they move inside a town.
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7731 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2015-02-12 19:23:50 +00:00
Flugente c9bcf90966 Expanded feature: Militia Strategic Movement is turned on with ALLOW_MILITIA_STRATEGIC_COMMAND set to TRUE and allows plotting paths for the militia just like for merc squads.
GameDir >= r2204 is recommended.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7727 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2015-02-08 22:11:16 +00:00