Home » MODDING HQ 1.13 » v1.13 Bug Reports » Bugs: Unofficial releases (SCI's), unstable and DEV builds (Read the first post before posting!)
|
|
|
|
|
|
|
Re: Bugs: Unofficial releases (SCI's), unstable and DEV builds[message #342084 is a reply to message #341972]
|
Fri, 14 August 2015 18:50
|
|
M16AMachinegun |
|
Messages:304
Registered:September 2013 |
|
|
An enemy that retreats into A10: Omerta (East) will cause a battle in this sector; engaging in battle breaks AI pathing where Fatima is supposed to lead you to the Rebel Hideout
Reproducibility: I'd imagine simply placing an enemy in A10 while Fatima is following her AI pathing would cause the first quest to break
Oh, i'm using SCI 7917 with the latest AFS mod
Edit 1:
Attempting to talk to that bounty hunter (or probably any NPC) while additionally asking another merc to pick a lock causes the game to softlock
Sector: Drassen Middle
Ability to Reproduce: Always
Steps:
1)Tell a merc to run a long distance (halfway across the map) to pick the lock in the child-labor shirt factory
2)Tell a second merc to talk to the bounty hunter
3)Game displays pop-up for lockpick-merc to do his thing on the door, but no cursor so i can't click on anything
4) hitting escape causes unending timer
[Updated on: Sun, 16 August 2015 09:06] Report message to a moderator
|
Master Sergeant
|
|
|
|
|
|
|
|
|
Re: Bugs: Unofficial releases (SCI's), unstable and DEV builds[message #342324 is a reply to message #342208]
|
Sat, 05 September 2015 20:46
|
|
ShoGUN |
Messages:4
Registered:August 2015 |
|
|
Marcell wrote on Thu, 27 August 2015 00:35Bug description: weird situation in SAM site.....says there's some enemies in the sector (shows so on the map) along with a tank, however they aren't any (unless I'm really blind) and I can't use sector functions like training militia or sleeping, yet I can use sector inventory.
I have the same bug, additionaly, I have a recipe to deal with it. Sometimes, when enemy attacks a sector, the enemies are "invisible", they doesn't appear in tactical, until you go to strategic map, click on a sector, where the battle is, and click "go to sector". Then, enemy troops/tanks appear out of nowhere, sometimes very closely to your position. It's something wrong with enemy count when enemies attacks a sector where our mercs are. In addition, sometimes some enemies are visible and some are not(maybe it's connected with reinforcements somehow?), and in such situation, if the "invisible" part doesn't appear until you kill all visible enemies, the battle will end, leading to quoted bug.
[Updated on: Sat, 05 September 2015 20:46] Report message to a moderator
|
Civilian
|
|
|
Re: Bugs: Unofficial releases (SCI's), unstable and DEV builds[message #342325 is a reply to message #342324]
|
Sat, 05 September 2015 21:07
|
|
ShoGUN |
Messages:4
Registered:August 2015 |
|
|
1. Bug description: snitch assignment+vehicle bug. If you give a "spread propaganda" assignment to a merc, who had sitting in vehicle, he doesn't seem to leave it(no sound, but the label changes, and assgnment begins). It leads to a very weird situation, when you cannot return that merc to vehicle. You can give him any other orders, it seem to work, until he, or a vehicle leave a sector. When you select a vehicle to move somewhere, he moves with the vehicle When you try to move him to other sector separately, assertion appears.
2. https_//yadi.sk/d/V4i75L_bitZgL
3. In my save it's Leon & Eldorado. Try to move Eldorado, Leon will move with it(but label says he doesn't seat in Eldorado). Try to move Leon separately after it, and you will get an assertion.
4. 7987
5. AIMNAS+BigMaps, last SCI version.
Report message to a moderator
|
Civilian
|
|
|
Re: Bugs: Unofficial releases (SCI's), unstable and DEV builds[message #342434 is a reply to message #342325]
|
Mon, 14 September 2015 08:36
|
|
M16AMachinegun |
|
Messages:304
Registered:September 2013 |
|
|
Bug: When prone or crouching in the same spot for several turns and attacking different enemy, merc will occasionally turn a random direction and shoot commanded burst fire or whatever he was ordered to do and shoot in a random angle
Bug: Unable to shoot at the torso or head at anyone in the top row on the map
https://www.dropbox.com/s/4exub0r4b3kqp9t/cant%20attack%20enemy%27s%20torso.png?dl=0
Literally can't move cursor up another pixel [1600x1024 windowed on Win7 64x professional]
The only reason i can see these guys at all is by pressing Tab since that shifts the window up a few squares [since it represents a higher plane]
using 7917 for both of these, not sure if these were fixed
[Updated on: Mon, 14 September 2015 08:40] Report message to a moderator
|
Master Sergeant
|
|
|
Re: Bugs: Unofficial releases (SCI's), unstable and DEV builds[message #342462 is a reply to message #342434]
|
Wed, 16 September 2015 17:37
|
|
M16AMachinegun |
|
Messages:304
Registered:September 2013 |
|
|
7917 again
Can someone look into NORMAL_RECOIL_DISTANCE in CTHConstraints?
I set it to 200 and a test OP-as-fuck merc with 95% camo rating is getting shot at when prone when enemy visibility is 'yellow'
Meanwhile when i set it to 70, enemy can't see me as what should be
Additionally, transforming a face item causes all items in backpack [while worn] to spill out onto the ground
example: Sun Goggles > Sungoggles 2 [no difference/AP spent], all backpack contents are dumped onto the ground, pop up of 'Due to lack of inventory space after tgransformation, some of [merc]'s items have been dropped to the ground.'
[Updated on: Wed, 16 September 2015 17:40] Report message to a moderator
|
Master Sergeant
|
|
|
|
Re: Bugs: Unofficial releases (SCI's), unstable and DEV builds[message #342670 is a reply to message #342466]
|
Sun, 04 October 2015 22:11
|
|
navaroe |
|
Messages:78
Registered:August 2012 |
|
|
There is another bug in dealing with reinforcements. Silversurfer, remember fixing "the attacks of the clones"? Thanks to this one, parts of roadblocks were resurrected after their death.
I fixed it, here's the diff. After brief testing seems fine. The issue was we were assigning wrong groupID to reinforcing roadblock - its elites were given ID belonging to the mobile group, which initiated combat...I'll explain more in detail should some feel the need to hear it (on IRC or here).
I also tried to leave comments to the parts of code I needed to understand in the process, because I think they are desperately needed if we want more people dealing with code eventually.
Toggle Spoiler
Index: Strategic/Auto Resolve.cpp
===================================================================
--- Strategic/Auto Resolve.cpp (revision 7992)
+++ Strategic/Auto Resolve.cpp (working copy)
@@ -764,7 +764,7 @@
{
SECTORINFO *pSector;
GROUP *pGroup;
- UINT8 ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks;
+ UINT8 ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks; //how many soldiers of the type do we still have to assign to a group?
UINT8 ubISNumAdmins, ubISNumTroops, ubISNumElites, ubISNumTanks;
UINT8 ubNumElitesInGroup, ubNumTroopsInGroup, ubNumAdminsInGroup, ubNumTanksInGroup;
INT32 i;
@@ -784,10 +784,10 @@
ubNumTanks = pSector->ubNumTanks;
//Now go through our enemies in the autoresolve array, and assign the ubGroupID to the soldier
- //Stationary groups have a group ID of 0
+ //Stationary groups have a group ID of 0 - first assign enemies from those stationary groups
for( i = 0; i < gpAR->ubEnemies; ++i )
{
- if ( gpEnemies[i].uiFlags & CELL_TANK && ubNumTanks )
+ if ( gpEnemies[i].uiFlags & CELL_TANK && ubNumTanks ) //is this soldier a tank? and we still have some tanks to add? (since there might not be a static tank in sector)
{
gpEnemies[i].pSoldier->ubGroupID = 0;
gpEnemies[i].uiFlags |= CELL_ASSIGNED;
@@ -835,36 +835,36 @@
ubNumTanksInGroup = pGroup->pEnemyGroup->ubNumTanks;
for( i = 0; i < gpAR->ubEnemies; i++ )
{
- if( !(gpEnemies[ i ].uiFlags & CELL_ASSIGNED) )
+ if( !(gpEnemies[ i ].uiFlags & CELL_ASSIGNED) ) //has this soldier already been assigned to a cell and therefore a group (while processing the static enemies above) ?
{
- if( ubNumTanks && ubNumTanksInGroup )
+ if (ubNumTanks && ubNumTanksInGroup && gpEnemies[i].uiFlags & CELL_TANK ) //is there still a tank to assign and is this a cell for tank?
{
gpEnemies[ i ].pSoldier->ubGroupID = pGroup->ubGroupID;
gpEnemies[ i ].uiFlags |= CELL_ASSIGNED;
ubNumTanks--;
ubNumTanksInGroup--;
}
- else if( ubNumElites && ubNumElitesInGroup )
+ else if (ubNumElites && ubNumElitesInGroup && gpEnemies[i].uiFlags & CELL_ELITE)
{
gpEnemies[ i ].pSoldier->ubGroupID = pGroup->ubGroupID;
gpEnemies[ i ].uiFlags |= CELL_ASSIGNED;
ubNumElites--;
ubNumElitesInGroup--;
}
- else if( ubNumTroops && ubNumTroopsInGroup )
+ else if (ubNumTroops && ubNumTroopsInGroup && gpEnemies[i].uiFlags & CELL_TROOP)
{
gpEnemies[ i ].pSoldier->ubGroupID = pGroup->ubGroupID;
gpEnemies[ i ].uiFlags |= CELL_ASSIGNED;
ubNumTroops--;
ubNumTroopsInGroup--;
}
- else if( ubNumAdmins && ubNumAdminsInGroup )
+ else if (ubNumAdmins && ubNumAdminsInGroup && gpEnemies[i].uiFlags & CELL_ADMIN)
{
gpEnemies[ i ].pSoldier->ubGroupID = pGroup->ubGroupID;
gpEnemies[ i ].uiFlags |= CELL_ASSIGNED;
ubNumAdmins--;
ubNumAdminsInGroup--;
- }
+ }
}
}
}
@@ -876,7 +876,7 @@
pGroup = gpGroupList;
while( pGroup )
{
- // Don't process road block. It'll be processed as static
+ // Don't process road block. It'll be processed as static (because their ubGroupID is 0 so the first term eval to false)
if ( pGroup->ubGroupID && pGroup->usGroupTeam == ENEMY_TEAM && IsGroupInARightSectorToReinforce( pGroup, gpAR->ubSectorX, gpAR->ubSectorY ) )
{
ubNumElitesInGroup = pGroup->pEnemyGroup->ubNumElites;
@@ -887,28 +887,28 @@
{
if( !(gpEnemies[ i ].uiFlags & CELL_ASSIGNED) )
{
- if ( ubNumTanks && ubNumTanksInGroup )
+ if (ubNumTanks && ubNumTanksInGroup && gpEnemies[i].uiFlags & CELL_TANK)
{
gpEnemies[i].pSoldier->ubGroupID = pGroup->ubGroupID;
gpEnemies[i].uiFlags |= CELL_ASSIGNED;
ubNumTanks--;
ubNumTanksInGroup--;
}
- else if ( ubNumElites && ubNumElitesInGroup )
+ else if (ubNumElites && ubNumElitesInGroup && gpEnemies[i].uiFlags & CELL_ELITE)
{
- gpEnemies[ i ].pSoldier->ubGroupID = pGroup->ubGroupID;
+ gpEnemies[ i ].pSoldier->ubGroupID = pGroup->ubGroupID;
gpEnemies[ i ].uiFlags |= CELL_ASSIGNED;
ubNumElites--;
ubNumElitesInGroup--;
}
- else if( ubNumTroops && ubNumTroopsInGroup )
+ else if (ubNumTroops && ubNumTroopsInGroup && gpEnemies[i].uiFlags & CELL_TROOP)
{
gpEnemies[ i ].pSoldier->ubGroupID = pGroup->ubGroupID;
gpEnemies[ i ].uiFlags |= CELL_ASSIGNED;
ubNumTroops--;
ubNumTroopsInGroup--;
}
- else if( ubNumAdmins && ubNumAdminsInGroup )
+ else if (ubNumAdmins && ubNumAdminsInGroup && gpEnemies[i].uiFlags & CELL_ADMIN)
{
gpEnemies[ i ].pSoldier->ubGroupID = pGroup->ubGroupID;
gpEnemies[ i ].uiFlags |= CELL_ASSIGNED;
@@ -921,7 +921,7 @@
pGroup = pGroup->next;
}
- // Set GroupID = 0 for the rest
+ // Set GroupID = 0 for the rest (that includes reinforcements)
ubDirAmount = GetAdjacentSectors( pSectors, gpAR->ubSectorX, gpAR->ubSectorY );
for( ubCurrSI = 0; ubCurrSI < ubDirAmount; ++ubCurrSI )
@@ -935,7 +935,7 @@
for( i = 0; i < gpAR->ubEnemies; ++i )
{
- if( ubISNumAdmins + ubISNumTroops + ubISNumElites + ubISNumTanks <= gubReinforcementMinEnemyStaticGroupSize ) break;
+ if( ubISNumAdmins + ubISNumTroops + ubISNumElites + ubISNumTanks <= gubReinforcementMinEnemyStaticGroupSize ) break; //if group would be left understaffed, it wont reinforce - go chceck another sector (what if are there more groups here?)
if( !(gpEnemies[ i ].uiFlags & CELL_ASSIGNED) )
{
@@ -978,6 +978,10 @@
}
}
}
+ /*at this point, all enemies should have been assigned to their cell and group. If not, there is a bug around
+ Because number and type of cells should be computed for the same composition of enemies as the one we see in this function, it should not happen though*/
+ AssertMsg(!(ubISNumAdmins & ubISNumTroops & ubISNumElites & ubISNumTanks), "Mapping between actual enemies and autoresolve cells is wrong.");
+
}
@@ -2531,9 +2535,9 @@
{
if( gpEnemies[ i ].pSoldier )
{
- if( fDeleteForGood && gpEnemies[ i ].pSoldier->stats.bLife < OKLIFE )
+ if( fDeleteForGood && gpEnemies[ i ].pSoldier->stats.bLife < OKLIFE ) //if we are finished with battle and soldier is either dead or dying
{
- TrackEnemiesKilled( ENEMY_KILLED_IN_AUTO_RESOLVE, gpEnemies[ i ].pSoldier->ubSoldierClass );
+ TrackEnemiesKilled( ENEMY_KILLED_IN_AUTO_RESOLVE, gpEnemies[ i ].pSoldier->ubSoldierClass ); //add casualty to some statistic
if( ProcessLoyalty() )HandleGlobalLoyaltyEvent( GLOBAL_LOYALTY_ENEMY_KILLED, gpAR->ubSectorX, gpAR->ubSectorY, 0 );
ProcessQueenCmdImplicationsOfDeath( gpEnemies[ i ].pSoldier );
AddDeadSoldierToUnLoadedSector( gpAR->ubSectorX, gpAR->ubSectorY, 0, gpEnemies[ i ].pSoldier, RandomGridNo(), ADD_DEAD_SOLDIER_TO_SWEETSPOT );
Index: Strategic/Reinforcement.cpp
===================================================================
--- Strategic/Reinforcement.cpp (revision 7992)
+++ Strategic/Reinforcement.cpp (working copy)
@@ -36,7 +36,7 @@
void GetNumberOfEnemiesInFiveSectors( INT16 sSectorX, INT16 sSectorY, UINT8 *pubNumAdmins, UINT8 *pubNumTroops, UINT8 *pubNumElites, UINT8 *pubNumTanks )
{
UINT8 ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks;
- UINT16 pusMoveDir[4][3];
+ UINT16 pusMoveDir[4][3]; //first column in this matrix is number of sector, except for 4th row
UINT8 ubDirNumber, ubIndex;
GetNumberOfStationaryEnemiesInSector( sSectorX, sSectorY, pubNumAdmins, pubNumTroops, pubNumElites, pubNumTanks );
@@ -57,10 +57,10 @@
GenerateDirectionInfos( sSectorX, sSectorY, &ubDirNumber, pusMoveDir, FALSE, TRUE );
for( ubIndex = 0; ubIndex < ubDirNumber; ubIndex++ )
- {
+ { //take number of the involved sector, find its X and Y coordintes and then ask for number of troops there
GetNumberOfStationaryEnemiesInSector( SECTORX( pusMoveDir[ ubIndex ][ 0 ] ), SECTORY( pusMoveDir[ ubIndex ][ 0 ] ), &ubNumAdmins, &ubNumTroops, &ubNumElites, &ubNumTanks );
- while( ubNumElites + ubNumTroops + ubNumAdmins + ubNumTanks > gubReinforcementMinEnemyStaticGroupSize)
+ while( ubNumElites + ubNumTroops + ubNumAdmins + ubNumTanks > gubReinforcementMinEnemyStaticGroupSize) //count how many of static group will reinforce the battle, but leave minimal group size to guard
{
if( ubNumElites )
{
Index: Strategic/Queen Command.cpp
===================================================================
--- Strategic/Queen Command.cpp (revision 7992)
+++ Strategic/Queen Command.cpp (working copy)
@@ -655,7 +655,7 @@
if (mapMaximumNumberOfEnemies > gGameExternalOptions.ubGameMaximumNumberOfEnemies)
mapMaximumNumberOfEnemies = gGameExternalOptions.ubGameMaximumNumberOfEnemies;
-
+ //is there more enemies in the sector then we can actually place on map?
//are there more enemies in the sector then we can actually place on map?
gfPendingNonPlayerTeam[ENEMY_TEAM] = (NumNonPlayerTeamMembersInSector( gWorldSectorX, gWorldSectorY, ENEMY_TEAM ) > mapMaximumNumberOfEnemies);
Report message to a moderator
|
Corporal
|
|
|
|
|
|
Re: Bugs: Unofficial releases (SCI's), unstable and DEV builds[message #342829 is a reply to message #342828]
|
Wed, 14 October 2015 21:28
|
|
johnson |
|
Messages:59
Registered:September 2015 |
|
|
Invincible enemies. On rare occasion unconscious enemies become impossible to hit until they regain consciousness.
First time I noticed it, i had 16 militia targeting 1 unconscious enemy. About 5 turns later of continues fire, i had only 8 militia left (friendly fire), then the enemy woke up and was killed on the spot. Initially I assume green militia incompetence. Then it happened to me twice. The last time it lasted long enough for me to test it, I had couple of my best mercs empty their mags at the downed enemy, from multiple positions no hits, I tried melee knife and fist no hits(although the first gave me a thinking weird thinking animation). Finally the enemy woke up and was killed with first shot.
Happened with v7816 AFS mod and v7974 UC 1.13 mod. Also no idea if its relevant, but in both cases there were multiple bodies around, it was near a corner (house,truck).
Report message to a moderator
|
Corporal
|
|
|
Re: Bugs: Unofficial releases (SCI's), unstable and DEV builds[message #342861 is a reply to message #342829]
|
Fri, 16 October 2015 14:13
|
|
merc05 |
|
Messages:90
Registered:January 2013 |
|
|
Long time no see. I started playing again - version 7995. New bugs found:
1. When attempting to handcuff a named NPC (like Fatima etc.) a red handcuff icon appears but when clicked it crashes the game to desktop. Reproducable 100% of time.
2. Calling artillery strike on non-standard (big) maps causes game to freeze. Again reproducable 100% of time.
3. Out of combat ordering militia from nearby sector to enter the one occupied by mercs causes strange things. First they don't show up. When I exit tactical view I can see militia has moved to my sector. When I go to tactical view again the game crashes. Manual ordering militia movement on map is on. Happens every time.
4. When I enter a vehicle with merc and click on the unit on the strategic map to give move command it sometimes displays assertion error in line 450 in Squads.cpp. This is reproducable but not 100% of time.
5. Giving shopkeeper an item opens up the buy menu and results in loosing the item permanently.
[Updated on: Fri, 16 October 2015 14:43] Report message to a moderator
|
Corporal 1st Class
|
|
|
Re: Bugs: Unofficial releases (SCI's), unstable and DEV builds[message #342866 is a reply to message #342861]
|
Fri, 16 October 2015 15:55
|
|
johnson |
|
Messages:59
Registered:September 2015 |
|
|
I can confirm the above #1 with v7974 (UC 1.13 mod, posted there) and not just named NPC, but all non military factions.
[Updated on: Fri, 16 October 2015 15:56] Report message to a moderator
|
Corporal
|
|
|
|
|
|
|
Re: Bugs: Unofficial releases (SCI's), unstable and DEV builds[message #342897 is a reply to message #342896]
|
Sat, 17 October 2015 18:08
|
|
merc05 |
|
Messages:90
Registered:January 2013 |
|
|
It's hard to check because it mostly does a ctd without prompting anything. When I tried to remove just the "&& pTargetSoldier" part it seemingly worked like it ought to (didn't crash when clicking) but after clicking on the civilian and then trying to enter the merc inventory it crashed with a stackhash error.
EDIT: Oh, and it doesn't allow to capture everything, only to attempt to do so. If the character is not allowed to be captured the merc will say the "nothing" quote instead.
[Updated on: Sat, 17 October 2015 18:11] Report message to a moderator
|
Corporal 1st Class
|
|
|
|
|
|
|
|
Re: Bugs: Unofficial releases (SCI's), unstable and DEV builds[message #342908 is a reply to message #342906]
|
Sun, 18 October 2015 22:56
|
|
merc05 |
|
Messages:90
Registered:January 2013 |
|
|
I'm using VS2010 Express. Never had any serious problems with compiling with it. Is there anywhere to download a compiled exe?
EDIT: The debug compile allows clicking but crashes after trying to open the said mercs inventory. A text in window says: Debug Assertion Failed. File:f:\dd\vctools\crt_bld\self_86\crt\src\dbgheap.c Line: 1516 Expression: _CrtIsValidHeapPointer(pUserData)
[Updated on: Sun, 18 October 2015 23:11] Report message to a moderator
|
Corporal 1st Class
|
|
|
|
|
|
Goto Forum:
Current Time: Sat Nov 30 21:12:16 GMT+2 2024
Total time taken to generate the page: 0.02410 seconds
|