mirror of
https://github.com/1dot13/source.git
synced 2026-08-26 14:30:26 +02:00
Reworked Encyclopedia (by Moa)
- Access Encyclopedia from laptop screen - Encyclopedia can be enabled/disabled in the ja2_options.ini: ENCYCLOPEDIA - more infos: http://www.bears-pit.com/board/ubbthreads.php/topics/327315/Re_Ingame_Encyclopaedia.html#Post327315 git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6550 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -81,6 +81,7 @@
|
||||
#include "random.h" // added by Flugente
|
||||
#include "Explosion Control.h" // added by Flugente
|
||||
#include "Food.h" // added by Flugente
|
||||
#include "Encyclopedia_new.h" //Moa: enc. item visibility
|
||||
#endif
|
||||
|
||||
#ifdef JA2UB
|
||||
@@ -3710,7 +3711,8 @@ void INVRenderItem( UINT32 uiBuffer, SOLDIERTYPE * pSoldier, OBJECTTYPE *pObjec
|
||||
{
|
||||
RestoreExternBackgroundRect( sX, sY, sWidth, sHeight );
|
||||
}
|
||||
|
||||
//Moa: set encyclopedia item visibility
|
||||
EncyclopediaSetItemAsVisible( pItem->uiIndex, ENC_ITEM_DISCOVERED );
|
||||
}
|
||||
|
||||
SetFont( ITEM_FONT );
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
#include "PATHAI.h"
|
||||
#include "Points.h"
|
||||
#include "InterfaceItemImages.h"
|
||||
#include "Encyclopedia_new.h"
|
||||
#endif
|
||||
|
||||
#ifdef JA2UB
|
||||
@@ -2839,6 +2840,9 @@ UINT32 DisplayInvSlot( UINT16 ubSlotNum, UINT16 usItemIndex, UINT16 usPosX, UINT
|
||||
//blt the item
|
||||
BltVideoObjectOutlineFromIndex( FRAME_BUFFER, GetInterfaceGraphicForItem( pItem ), g_bUsePngItemImages ? 0 : pItem->ubGraphicNum, sCenX, sCenY, Get16BPPColor( FROMRGB( 255, 255, 255 ) ), fHighlighted );
|
||||
|
||||
//Moa: encyclopedia item visibility
|
||||
EncyclopediaSetItemAsVisible( usItemIndex, ENC_ITEM_DISCOVERED_INSPECTABLE );
|
||||
|
||||
//Display the status of the item
|
||||
DrawItemUIBarEx( pItemObject, 0, (INT16)(usPosX+2), (INT16)(usPosY+2+20), 2, 20, Get16BPPColor( FROMRGB( 140, 136, 119 ) ), Get16BPPColor( FROMRGB( 140, 136, 119 ) ), TRUE, guiRENDERBUFFER );//guiSAVEBUFFER
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "SkillCheck.h"
|
||||
#include "soldier profile type.h"
|
||||
#include "Soldier macros.h"
|
||||
#include "Encyclopedia_new.h" ///< Encyclopedia item visibility
|
||||
#endif
|
||||
|
||||
//forward declarations of common classes to eliminate includes
|
||||
@@ -230,7 +231,11 @@ void SoldierTooltip( SOLDIERTYPE* pSoldier )
|
||||
swprintf( pStrInfo, gzTooltipStrings[STR_TT_CAT_CURRENT_ENERGY], pStrInfo, pSoldier->bBreath );
|
||||
if ( gGameExternalOptions.fEnableSoldierTooltipMorale )
|
||||
swprintf( pStrInfo, gzTooltipStrings[STR_TT_CAT_CURRENT_MORALE], pStrInfo, pSoldier->aiData.bMorale );
|
||||
|
||||
//Moa: show shock and suppression values in debug tooltip
|
||||
if ( gGameExternalOptions.fEnableSoldierTooltipShock )
|
||||
swprintf( pStrInfo, gzTooltipStrings[STR_TT_CAT_SHOCK], pStrInfo, pSoldier->aiData.bShock );
|
||||
if ( gGameExternalOptions.fEnableSoldierTooltipSuppressionPoints )
|
||||
swprintf( pStrInfo, gzTooltipStrings[STR_TT_CAT_SUPPRESION], pStrInfo, pSoldier->ubSuppressionPoints );
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Added by SANDRO - show enemy skills
|
||||
if ( gGameExternalOptions.fEnableSoldierTooltipTraits )
|
||||
@@ -282,11 +287,26 @@ void SoldierTooltip( SOLDIERTYPE* pSoldier )
|
||||
if ( ubTooltipDetailLevel >= DL_Full )
|
||||
{
|
||||
if ( gGameExternalOptions.fEnableSoldierTooltipHelmet )
|
||||
{
|
||||
swprintf( pStrInfo, gzTooltipStrings[STR_TT_CAT_HELMET], pStrInfo, pSoldier->inv[HELMETPOS].usItem ? ItemNames[ pSoldier->inv[HELMETPOS].usItem ] : gzTooltipStrings[STR_TT_NO_HELMET] );
|
||||
//Moa: encyclopedia item visibility
|
||||
if ( pSoldier->inv[HELMETPOS].usItem )
|
||||
EncyclopediaSetItemAsVisible( pSoldier->inv[HELMETPOS].usItem, ENC_ITEM_DISCOVERED_NOT_REACHABLE );
|
||||
}
|
||||
if ( gGameExternalOptions.fEnableSoldierTooltipVest )
|
||||
{
|
||||
swprintf( pStrInfo, gzTooltipStrings[STR_TT_CAT_VEST], pStrInfo, pSoldier->inv[VESTPOS].usItem ? ItemNames[ pSoldier->inv[VESTPOS].usItem ] : gzTooltipStrings[STR_TT_NO_VEST] );
|
||||
//Moa: encyclopedia item visibility
|
||||
if ( pSoldier->inv[VESTPOS].usItem )
|
||||
EncyclopediaSetItemAsVisible( pSoldier->inv[VESTPOS].usItem, ENC_ITEM_DISCOVERED_NOT_REACHABLE );
|
||||
}
|
||||
if ( gGameExternalOptions.fEnableSoldierTooltipLeggings )
|
||||
{
|
||||
swprintf( pStrInfo, gzTooltipStrings[STR_TT_CAT_LEGGINGS], pStrInfo, pSoldier->inv[LEGPOS].usItem ? ItemNames[ pSoldier->inv[LEGPOS].usItem ] : gzTooltipStrings[STR_TT_NO_LEGGING] );
|
||||
//Moa: encyclopedia item visibility
|
||||
if ( pSoldier->inv[LEGPOS].usItem )
|
||||
EncyclopediaSetItemAsVisible( pSoldier->inv[LEGPOS].usItem, ENC_ITEM_DISCOVERED_NOT_REACHABLE );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -338,6 +358,9 @@ void SoldierTooltip( SOLDIERTYPE* pSoldier )
|
||||
{
|
||||
swprintf( pStrInfo, gzTooltipStrings[STR_TT_CAT_NVG], pStrInfo,
|
||||
iNVG ? ItemNames[ pSoldier->inv[ iNVG ].usItem ] : gzTooltipStrings[STR_TT_NO_NVG] );
|
||||
//Moa: encyclopedia item visibility
|
||||
if ( iNVG )
|
||||
EncyclopediaSetItemAsVisible( pSoldier->inv[ iNVG ].usItem, ENC_ITEM_DISCOVERED_NOT_REACHABLE );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -350,9 +373,19 @@ void SoldierTooltip( SOLDIERTYPE* pSoldier )
|
||||
else // gGameExternalOptions.ubSoldierTooltipDetailLevel == DL_Debug
|
||||
{
|
||||
if ( gGameExternalOptions.fEnableSoldierTooltipHeadItem1 )
|
||||
{
|
||||
swprintf( pStrInfo, gzTooltipStrings[STR_TT_CAT_HEAD_POS_1], pStrInfo, ItemNames[ pSoldier->inv[HEAD1POS].usItem ] );
|
||||
//Moa: encyclopedia item visibility
|
||||
if ( pSoldier->inv[HEAD1POS].usItem )
|
||||
EncyclopediaSetItemAsVisible( pSoldier->inv[ HEAD1POS ].usItem, ENC_ITEM_DISCOVERED_NOT_REACHABLE );
|
||||
}
|
||||
if ( gGameExternalOptions.fEnableSoldierTooltipHeadItem2 )
|
||||
{
|
||||
swprintf( pStrInfo, gzTooltipStrings[STR_TT_CAT_HEAD_POS_2], pStrInfo, ItemNames[ pSoldier->inv[HEAD2POS].usItem ] );
|
||||
//Moa: encyclopedia item visibility
|
||||
if ( pSoldier->inv[HEAD2POS].usItem )
|
||||
EncyclopediaSetItemAsVisible( pSoldier->inv[ HEAD2POS ].usItem, ENC_ITEM_DISCOVERED_NOT_REACHABLE );
|
||||
}
|
||||
}
|
||||
// head slots info code block end
|
||||
|
||||
@@ -474,6 +507,9 @@ void DisplayWeaponInfo( SOLDIERTYPE* pSoldier, CHAR16* pStrInfo, UINT8 ubSlot, U
|
||||
// display exact weapon model
|
||||
swprintf( pStrInfo, gzTooltipStrings[STR_TT_CAT_WEAPON], pStrInfo,
|
||||
WeaponInHand( pSoldier ) ? ItemNames[ pSoldier->inv[ubSlot].usItem ] : gzTooltipStrings[STR_TT_NO_WEAPON] );
|
||||
//Moa: encyclopedia item visibility
|
||||
if ( pSoldier->inv[ubSlot].usItem )
|
||||
EncyclopediaSetItemAsVisible( pSoldier->inv[ ubSlot ].usItem, ENC_ITEM_DISCOVERED_NOT_REACHABLE );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
+8
-5
@@ -193,11 +193,14 @@ typedef PARSE_STAGE;
|
||||
#define EMAILOTHER "Email\\EmailOther.xml"
|
||||
#define EMAILINSURANCE "Email\\EmailInsurance.xml"
|
||||
|
||||
#define ENCYCLOPEDIALOCATIONFILENAME "Encyclopedia\\EncyclopediaLocations.xml"
|
||||
#define ENCYCLOPEDIAPROFILEFILENAME "Encyclopedia\\EncyclopediaProfiles.xml"
|
||||
#define ENCYCLOPEDIAINVENTORYFILENAME "Encyclopedia\\EncyclopediaInventory.xml"
|
||||
#define ENCYCLOPEDIAOTHERFILENAME "Encyclopedia\\EncyclopediaOthers.xml"
|
||||
#define ENCYCLOPEDIAQUESTSFILENAME "Encyclopedia\\EncyclopediaQuests.xml"
|
||||
// WANNE: Old encyclopedia. Not used anymore ..
|
||||
#ifdef ENABLE_ENCYCLOPEDIA
|
||||
#define ENCYCLOPEDIALOCATIONFILENAME "Encyclopedia\\EncyclopediaLocations.xml"
|
||||
#define ENCYCLOPEDIAPROFILEFILENAME "Encyclopedia\\EncyclopediaProfiles.xml"
|
||||
#define ENCYCLOPEDIAINVENTORYFILENAME "Encyclopedia\\EncyclopediaInventory.xml"
|
||||
#define ENCYCLOPEDIAOTHERFILENAME "Encyclopedia\\EncyclopediaOthers.xml"
|
||||
#define ENCYCLOPEDIAQUESTSFILENAME "Encyclopedia\\EncyclopediaQuests.xml"
|
||||
#endif
|
||||
|
||||
#define BRIEFINGROOMFILENAME "BriefingRoom\\BriefingRoom.xml"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user