Data and Source v1.13 Mod High Resolution version from 2006-03-16

*********************************************************
*	2006/03/16					*
*	RoWa21						*
*	Developed in VS 2003				*
*********************************************************

- Changed missing screens to the High-Resolution
	- Tactical Screen
	- Shopkeeper Interface, 
	- Credits Screen,
	- AutoResolve Screen
	- ...

- Some bugfixing with the screens
	- Centered message boxes
	- ...

- Merged lalienxx's features (BUT NO BURST AND NO MP3/OGG SUPPORT!)
	- Rain and lightning visual and sound effects
	- Visibility radius decrease when rainig
	- Weapon relyability decrease when rainig
	- Possibility to spot the enemy at night with lightning
	- New settings in the ja2.ini file for the rain
	- Aiming without shooting with "L" key
		- Move the cursor over an enemy and press the "L" key.

- Added judges bugfixing
	- Swapped internal shopkeeper character numbering to match the Prof.dat in 1.13 (Gabby/Smithy)
	- Added status of the items to item 'tooltip'
		- If it is an ammo, the number of available rounds appear
	- A stack of items now always shows the minimum repair status
		- No more carrying a stack of grenades into battle only to find most are duds
	- Made tactical map loading code more robust against maps with bogus buildings 
	- Made tactical map loading code more robust against maps with characters with bogus locations or schedules 

- Changed the location of the savegame structure
	- Each mode contains its own savegame folder in its own data-folder

- Some general bugfixing
	- See Bugfixing.xls on the ftp

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@24 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
lalien
2006-04-19 17:22:20 +00:00
parent 89b4d71bf3
commit 8b2d0e33aa
25 changed files with 1433 additions and 68 deletions
+36 -5
View File
@@ -44,6 +44,10 @@
#include "SkillCheck.h"
#endif
//rain
#define VIS_DIST_DECREASE_PER_RAIN_INTENSITY 20
//end rain
#define WE_SEE_WHAT_MILITIA_SEES_AND_VICE_VERSA
extern void SetSoldierAniSpeed( SOLDIERTYPE *pSoldier );
@@ -255,6 +259,14 @@ UINT8 gubSightFlags = 0;
}
//rain
extern INT8 gbCurrentRainIntensity;
extern BOOLEAN gfLightningInProgress;
extern BOOLEAN gfHaveSeenSomeone;
extern UINT8 ubRealAmbientLightLevel;
//end rain
INT16 AdjustMaxSightRangeForEnvEffects( SOLDIERTYPE *pSoldier, INT8 bLightLevel, INT16 sDistVisible )
{
INT16 sNewDist = 0;
@@ -264,8 +276,16 @@ INT16 AdjustMaxSightRangeForEnvEffects( SOLDIERTYPE *pSoldier, INT8 bLightLevel,
// Adjust it based on weather...
if ( guiEnvWeather & ( WEATHER_FORECAST_SHOWERS | WEATHER_FORECAST_THUNDERSHOWERS ) )
{
sNewDist = sNewDist * 70 / 100;
//sNewDist = sNewDist * 70 / 100;
//rain
sNewDist = sNewDist * ( 100 - VIS_DIST_DECREASE_PER_RAIN_INTENSITY * gbCurrentRainIntensity ) / 100;
//end rain
}
//rain
if( gfLightningInProgress )
sNewDist += sNewDist * ( ubRealAmbientLightLevel ) / 10; // 10% per dark level
//end rain
return( sNewDist );
}
@@ -785,6 +805,7 @@ void HandleSight(SOLDIERTYPE *pSoldier, UINT8 ubSightFlags)
pSoldier->bNewOppCnt = 0;
pSoldier->bNeedToLook = FALSE;
// Temporary for opplist synching - disable random order radioing
#ifndef RECORDOPPLIST
// if this soldier's NOT on our team (MAY be under our control, though!)
@@ -839,7 +860,6 @@ void HandleSight(SOLDIERTYPE *pSoldier, UINT8 ubSightFlags)
// CJC August 13 2002: at the end of handling sight, reset sight flags to allow interrupts in case an audio cue should
// cause someone to see an enemy
gubSightFlags |= SIGHT_INTERRUPT;
}
@@ -1028,7 +1048,6 @@ INT16 DistanceVisible( SOLDIERTYPE *pSoldier, INT8 bFacingDir, INT8 bSubjectDir,
//bSubjectDir = atan8(pSoldier->sX,pSoldier->sY,pOpponent->sX,pOpponent->sY);
}
if ( !TANK( pSoldier ) && ( bFacingDir == DIRECTION_IRRELEVANT || (pSoldier->uiStatusFlags & SOLDIER_ROBOT) || (pSubject && pSubject->fMuzzleFlash) ) )
{
sDistVisible = MaxDistanceVisible();
@@ -1420,6 +1439,7 @@ void ManLooksForOtherTeams(SOLDIERTYPE *pSoldier)
UINT32 uiLoop;
SOLDIERTYPE *pOpponent;
#ifdef TESTOPPLIST
DebugMsg( TOPIC_JA2OPPLIST, DBG_LEVEL_3,
String("MANLOOKSFOROTHERTEAMS ID %d(%S) team %d side %d",pSoldier->ubID,pSoldier->name,pSoldier->bTeam,pSoldier->bSide));
@@ -1457,7 +1477,6 @@ void ManLooksForOtherTeams(SOLDIERTYPE *pSoldier)
}
}
}
}
void HandleManNoLongerSeen( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pOpponent, INT8 * pPersOL, INT8 * pbPublOL )
@@ -1550,6 +1569,7 @@ INT16 ManLooksForMan(SOLDIERTYPE *pSoldier, SOLDIERTYPE *pOpponent, UINT8 ubCall
INT16 sDistVisible,sDistAway;
INT8 *pPersOL,*pbPublOL;
/*
if (ptr->guynum >= NOBODY)
{
@@ -1593,6 +1613,8 @@ INT16 ManLooksForMan(SOLDIERTYPE *pSoldier, SOLDIERTYPE *pOpponent, UINT8 ubCall
return(FALSE);
}
// if we're somehow looking for a guy who is inactive, at base, or already dead
if (!pOpponent->bActive || !pOpponent->bInSector || pOpponent->bLife <= 0 || pOpponent->sGridNo == NOWHERE )
{
@@ -1696,6 +1718,7 @@ INT16 ManLooksForMan(SOLDIERTYPE *pSoldier, SOLDIERTYPE *pOpponent, UINT8 ubCall
pPersOL = &(pSoldier->bOppList[pOpponent->ubID]);
pbPublOL = &(gbPublicOpplist[pSoldier->bTeam][pOpponent->ubID]);
// if soldier is known about (SEEN or HEARD within last few turns)
if (*pPersOL || *pbPublOL)
{
@@ -1791,6 +1814,8 @@ INT16 ManLooksForMan(SOLDIERTYPE *pSoldier, SOLDIERTYPE *pOpponent, UINT8 ubCall
}
return(bSuccess);
}
@@ -2256,6 +2281,9 @@ else
// then locate to him and set his locator flag
bDoLocate = TRUE;
//rain
if( gfLightningInProgress ) gfHaveSeenSomeone = TRUE;
//end rain
}
// make opponent visible (to us)
@@ -2321,7 +2349,10 @@ else
{
if (!pOpponent->bNeutral && (pSoldier->bSide != pOpponent->bSide))
{
SlideTo(0,pOpponent->ubID, pSoldier->ubID, SETLOCATOR);
//SlideTo(0,pOpponent->ubID, pSoldier->ubID, SETLOCATOR);
//rain
SlideTo(0,pOpponent->ubID, pSoldier->ubID, SETLOCATORFAST);
//end rain
}
}
}