mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
- 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:
@@ -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 );
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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( ) )
|
||||
{
|
||||
|
||||
@@ -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
@@ -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)
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user