Bloodcats
Verfasst: 22 Feb 2006, 16:20
[font=Arial]Hallo Leute,
ich Bitte um Hilfe von Source Spezialisten!
Ist hier jemand in der Lage die Bloodcat Programmzeilen (siehe unten) so abzuändern das man Bloodcats auch in Untergrund Maps einbauen kann?
[/font][font=Arial]void AddSoldierInitListBloodcats()
{
SECTORINFO *pSector;
[/font][font=Arial]SOLDIERINITNODE *curr;
[/font][font=Arial]UINT8 ubSectorID;
[/font][font=Arial]if( gbWorldSectorZ )
[/font][font=Arial]{
[/font][font=Arial]return; //no bloodcats underground.
}
[/font][font=Arial]ubSectorID = (UINT8)SECTOR( gWorldSectorX, gWorldSectorY );
[/font][font=Arial]pSector = &SectorInfo[ ubSectorID ];
[/font][font=Arial]if( !pSector->bBloodCatPlacements )
[/font][font=Arial]{ //This map has no bloodcat placements, so don't waste CPU time.
[/font][font=Arial]return;
}
[/font][font=Arial]if( pSector->bBloodCatPlacements )
[/font][font=Arial]{ //We don't yet know the number of bloodcat placements in this sector so
[/font][font=Arial]//count them now, and permanently record it.
[/font][font=Arial]INT8 bBloodCatPlacements = 0;
[/font][font=Arial]curr = gSoldierInitHead;
[/font][font=Arial]while( curr )
{
if( curr->pBasicPlacement->bBodyType == BLOODCAT )
{
bBloodCatPlacements++;
}
curr = curr->next;
}
if( bBloodCatPlacements != pSector->bBloodCatPlacements &&
ubSectorID != SEC_I16 && ubSectorID != [/font][font=Arial]SEC_N5 )
[/font][font=Arial]{
#ifdef JA2BETAVERSION
[/font][font=Arial]UINT16 str[200];
[/font][font=Arial]swprintf( str, L"Table specifies that there are %d bloodcat placements in sector %c%d, but the map actually has %d bloodcat placements. Map value takes precedence. KM,LC:1",
pSector->bBloodCatPlacements, gWorldSectorY + 'A' - 1, gWorldSectorX, bBloodCatPlacements );
DoScreenIndependantMessageBox( str, MSG_BOX_FLAG_OK, NULL );
[/font][font=Arial]#endif
[/font][font=Arial]pSector->bBloodCatPlacements = bBloodCatPlacements;
[/font][font=Arial]pSector->bBloodCats = -1;
[/font][font=Arial]if( !bBloodCatPlacements )
{
return;
[/font][font=Arial]}
[/font][font=Arial]}
}
if( pSector->bBloodCats > 0 )
[/font][font=Arial]{ //Add them to the world now...
[/font][font=Arial]UINT8 ubNumAdded = 0;
[/font][font=Arial]UINT8 ubMaxNum = (UINT8)pSector->bBloodCats;
[/font][font=Arial]SOLDIERINITNODE *mark;
[/font][font=Arial]UINT8 ubSlotsToFill;
[/font][font=Arial]UINT8 ubSlotsAvailable;
[/font][font=Arial]SOLDIERINITNODE *curr;
...
Mfg...[/font]
ich Bitte um Hilfe von Source Spezialisten!
Ist hier jemand in der Lage die Bloodcat Programmzeilen (siehe unten) so abzuändern das man Bloodcats auch in Untergrund Maps einbauen kann?
[/font][font=Arial]void AddSoldierInitListBloodcats()
{
SECTORINFO *pSector;
[/font][font=Arial]SOLDIERINITNODE *curr;
[/font][font=Arial]UINT8 ubSectorID;
[/font][font=Arial]if( gbWorldSectorZ )
[/font][font=Arial]{
[/font][font=Arial]return; //no bloodcats underground.
}
[/font][font=Arial]ubSectorID = (UINT8)SECTOR( gWorldSectorX, gWorldSectorY );
[/font][font=Arial]pSector = &SectorInfo[ ubSectorID ];
[/font][font=Arial]if( !pSector->bBloodCatPlacements )
[/font][font=Arial]{ //This map has no bloodcat placements, so don't waste CPU time.
[/font][font=Arial]return;
}
[/font][font=Arial]if( pSector->bBloodCatPlacements )
[/font][font=Arial]{ //We don't yet know the number of bloodcat placements in this sector so
[/font][font=Arial]//count them now, and permanently record it.
[/font][font=Arial]INT8 bBloodCatPlacements = 0;
[/font][font=Arial]curr = gSoldierInitHead;
[/font][font=Arial]while( curr )
{
if( curr->pBasicPlacement->bBodyType == BLOODCAT )
{
bBloodCatPlacements++;
}
curr = curr->next;
}
if( bBloodCatPlacements != pSector->bBloodCatPlacements &&
ubSectorID != SEC_I16 && ubSectorID != [/font][font=Arial]SEC_N5 )
[/font][font=Arial]{
#ifdef JA2BETAVERSION
[/font][font=Arial]UINT16 str[200];
[/font][font=Arial]swprintf( str, L"Table specifies that there are %d bloodcat placements in sector %c%d, but the map actually has %d bloodcat placements. Map value takes precedence. KM,LC:1",
pSector->bBloodCatPlacements, gWorldSectorY + 'A' - 1, gWorldSectorX, bBloodCatPlacements );
DoScreenIndependantMessageBox( str, MSG_BOX_FLAG_OK, NULL );
[/font][font=Arial]#endif
[/font][font=Arial]pSector->bBloodCatPlacements = bBloodCatPlacements;
[/font][font=Arial]pSector->bBloodCats = -1;
[/font][font=Arial]if( !bBloodCatPlacements )
{
return;
[/font][font=Arial]}
[/font][font=Arial]}
}
if( pSector->bBloodCats > 0 )
[/font][font=Arial]{ //Add them to the world now...
[/font][font=Arial]UINT8 ubNumAdded = 0;
[/font][font=Arial]UINT8 ubMaxNum = (UINT8)pSector->bBloodCats;
[/font][font=Arial]SOLDIERINITNODE *mark;
[/font][font=Arial]UINT8 ubSlotsToFill;
[/font][font=Arial]UINT8 ubSlotsAvailable;
[/font][font=Arial]SOLDIERINITNODE *curr;
...
Mfg...[/font]