- fixed memory leak in new inventory

- fixed some variables not being initialized
- fixed swapped parameter in LOS.cpp
- added variable range check in lighting.cpp, the cause of wrong index value still not fixed

 


git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@1095 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
lalien
2007-07-22 01:09:21 +00:00
parent ab1419fab4
commit 4b42b95a8c
9 changed files with 38 additions and 11 deletions
+2 -2
View File
@@ -783,8 +783,8 @@ UINT16 *Create16BPPPaletteShaded( SGPPaletteEntry *pPalette, UINT32 rscale, UINT
// Convert from RGB to 16 bit value
UINT16 Get16BPPColor( UINT32 RGBValue )
{
UINT16 r16, g16, b16, usColor;
UINT8 r,g,b;
UINT16 r16, g16, b16, usColor = 0;
UINT8 r, g, b;
r = SGPGetRValue( RGBValue );
g = SGPGetGValue( RGBValue );
+5 -3
View File
@@ -211,7 +211,8 @@ NotThisCol:
void BuildShadeTable(void)
{
UINT16 red, green, blue;
UINT16 index;
UINT16 index = 0;
for(red=0; red < 256; red+=4)
for(green=0; green < 256; green+=4)
@@ -238,11 +239,12 @@ void BuildShadeTable(void)
**********************************************************************************************/
void BuildIntensityTable(void)
{
UINT16 red, green, blue;
UINT16 index;
UINT16 red, green, blue = 0;
UINT16 index = 0;
FLOAT dShadedPercent = (FLOAT)0.80;
#if 0
UINT32 lumin;
+1 -1
View File
@@ -1066,7 +1066,7 @@ void RenderInvBodyPanel( SOLDIERTYPE *pSoldier, INT16 sX, INT16 sY )
void HandleRenderInvSlots( SOLDIERTYPE *pSoldier, UINT8 fDirtyLevel )
{
INT32 cnt;
static CHAR16 pStr[ 150 ];
static CHAR16 pStr[ 512 ];
if ( InItemDescriptionBox( ) || InItemStackPopup( ) || InKeyRingPopup( ) )
{
+1 -1
View File
@@ -3798,7 +3798,7 @@ void RenderTEAMPanel( BOOLEAN fDirty )
INT16 sFontX, sFontY;
UINT32 cnt, posIndex;
SOLDIERTYPE *pSoldier;
static CHAR16 pStr[ 200 ], pMoraleStr[ 20 ];
static CHAR16 pStr[ 512 ], pMoraleStr[ 20 ];
// WANNE 2 <new>
if ( fDirty == DIRTYLEVEL2 )
+1 -1
View File
@@ -4148,7 +4148,7 @@ void MoveBullet( INT32 iBullet )
{
iAdjGridNo = iGridNo + DirIncrementer[bDir];
if ( gubWorldMovementCosts[ iAdjGridNo ][ sDesiredLevel ][ bDir ] < TRAVELCOST_BLOCKED)
if ( gubWorldMovementCosts[ iAdjGridNo ][ bDir ][ sDesiredLevel ] < TRAVELCOST_BLOCKED)
{
ubTargetID = WhoIsThere2( (INT16) iAdjGridNo, (INT8) sDesiredLevel );
if (ubTargetID != NOBODY)
+10 -2
View File
@@ -235,7 +235,11 @@ Inventory::Inventory() {
slotCnt = NUM_INV_SLOTS;
inv.reserve(slotCnt);
for (int idx=0; idx < slotCnt; ++idx) {
OBJECTTYPE *filler = new OBJECTTYPE; // Use MEMALLOC?
//OBJECTTYPE *filler = new OBJECTTYPE; // Use MEMALLOC?
OBJECTTYPE *filler = NULL;
filler = (OBJECTTYPE*)MemAlloc( sizeof( OBJECTTYPE ) );
memset( filler, 0, sizeof( OBJECTTYPE ) );
inv.push_back(*filler);
}
clear();
@@ -246,7 +250,11 @@ Inventory::Inventory(int slotCount) {
slotCnt = slotCount;
inv.reserve(slotCnt);
for (int idx=0; idx < slotCnt; ++idx) {
OBJECTTYPE *filler = new OBJECTTYPE; // Use MEMALLOC?
//OBJECTTYPE *filler = new OBJECTTYPE; // Use MEMALLOC?
OBJECTTYPE *filler = NULL;
filler = (OBJECTTYPE*)MemAlloc( sizeof( OBJECTTYPE ) );
memset( filler, 0, sizeof( OBJECTTYPE ) );
inv.push_back(*filler);
}
clear();
+1 -1
View File
@@ -125,7 +125,7 @@ UINT8 gubKnowledgeValue[10][10] =
{
// P E R S O N A L O P P L I S T //
// -4 -3 -2 -1 0 1 2 3 4 5 //
{ 0, 1, 2, 3, 0, 5, 4, 3, 2, 1}, // -4
{ 0, 1, 2, 3, 0, 5, 4, 3, 2, 1}, // -4
{ 0, 0, 1, 2, 0, 4, 3, 2, 1, 0}, // -3 O
{ 0, 0, 0, 1, 0, 3, 2, 1, 0, 0}, // -2 P P
{ 0, 0, 0, 0, 0, 2, 1, 0, 0, 0}, // -1 U P
+2
View File
@@ -71,6 +71,8 @@ ANITILE *CreateAnimationTile( ANITILE_PARAMS *pAniParams )
// Allocate head
pNewAniNode = (ANITILE *) MemAlloc( sizeof( ANITILE ) );
memset( pNewAniNode, 0, sizeof( ANITILE ) );
if ( (uiFlags & ANITILE_EXISTINGTILE ) )
{
pNewAniNode->pLevelNode = pGivenNode;
+15
View File
@@ -3266,6 +3266,11 @@ BOOLEAN LightSpriteFake(INT32 iSprite)
********************************************************************************/
BOOLEAN LightSpriteDestroy(INT32 iSprite)
{
if ( (iSprite >= MAX_LIGHT_SPRITES ) || (iSprite < 0) )
{
return FALSE;
}
if(LightSprites[iSprite].uiFlags&LIGHT_SPR_ACTIVE)
{
if(LightSprites[iSprite].uiFlags&LIGHT_SPR_ERASE)
@@ -3377,6 +3382,11 @@ BOOLEAN fRenderLights=FALSE;
********************************************************************************/
BOOLEAN LightSpritePosition(INT32 iSprite, INT16 iX, INT16 iY)
{
if ( (iSprite >= MAX_LIGHT_SPRITES ) || (iSprite < 0) )
{
return FALSE;
}
if(LightSprites[iSprite].uiFlags&LIGHT_SPR_ACTIVE)
{
if((LightSprites[iSprite].iX==iX) && (LightSprites[iSprite].iY==iY))
@@ -3468,6 +3478,11 @@ BOOLEAN LightSpriteRoofStatus(INT32 iSprite, BOOLEAN fOnRoof)
********************************************************************************/
BOOLEAN LightSpritePower(INT32 iSprite, BOOLEAN fOn)
{
if ( (iSprite >= MAX_LIGHT_SPRITES ) || (iSprite < 0) )
{
return FALSE;
}
if(fOn)
{
//LightSprites[iSprite].uiFlags|=(LIGHT_SPR_ON|LIGHT_SPR_REDRAW);