diff --git a/main/config.cfg b/main/config.cfg index becac51..6c05eb5 100644 --- a/main/config.cfg +++ b/main/config.cfg @@ -92,6 +92,7 @@ cl_forcedefaultfov "0" cl_highdetail "1" cl_himodels "0" cl_idealpitchscale "0.8" +cl_labelmaps "1" cl_lc "1" cl_logocolor "#Valve_Orange" cl_logofile "lambda" diff --git a/main/source/cl_dll/hud.cpp b/main/source/cl_dll/hud.cpp index 1be79cd..192e4d5 100644 --- a/main/source/cl_dll/hud.cpp +++ b/main/source/cl_dll/hud.cpp @@ -33,7 +33,7 @@ #include "mod/AvHNetworkMessages.h" #include "ui/ChatPanel.h" - +#include "mod/AvHClientVariables.h" // tankefugl: duck toggle bool g_bDuckToggled; // :tankefugl @@ -207,6 +207,7 @@ void CHud :: Init( void ) cl_lw = gEngfuncs.pfnGetCvarPointer( "cl_lw" ); CVAR_CREATE( "cl_showspeed", "0", 0); + CVAR_CREATE( kvLabelMaps, "0", FCVAR_ARCHIVE); m_pSpriteList = NULL; diff --git a/main/source/mod/AvHClientVariables.h b/main/source/mod/AvHClientVariables.h index 640fb63..a2ae501 100644 --- a/main/source/mod/AvHClientVariables.h +++ b/main/source/mod/AvHClientVariables.h @@ -35,6 +35,9 @@ extern cvar_t* cl_musicdir; // Variables #define kvAutoHelp "cl_autohelp" +// puzl: 1064 The cl var that controls the display of labelled minimaps +#define kvLabelMaps "cl_labelmaps" +// :puzl #define kvCMHotKeys "cl_cmhotkeys" #define kvForceDefaultFOV "cl_forcedefaultfov" #define kvCenterEntityID "cl_centerentityid" diff --git a/main/source/mod/AvHMiniMap.cpp b/main/source/mod/AvHMiniMap.cpp index a7f6c25..4b90f03 100644 --- a/main/source/mod/AvHMiniMap.cpp +++ b/main/source/mod/AvHMiniMap.cpp @@ -218,13 +218,18 @@ bool AvHMiniMap::Process() #ifdef AVH_CLIENT -string AvHMiniMap::GetSpriteNameFromMap(int inSpriteWidth, const string& inMapName) +string AvHMiniMap::GetSpriteNameFromMap(int inSpriteWidth, const string& inMapName, int useLabels) { char theWidthString[128]; sprintf(theWidthString, "%d", inSpriteWidth); - - string theMiniMapName = kMiniMapSpritesDirectory + string("/") /*+ string(theWidthString)*/ + inMapName + string(".spr"); - //string theMiniMapName = kMiniMapSpritesDirectory + string("/") + inMapName + string(".spr"); + // puzl: 1064 + // insert _labelled into the filename before ".spr" + string extraname=""; + if ( useLabels == 1 ) { + extraname="_labelled"; + } + string theMiniMapName = kMiniMapSpritesDirectory + string("/") /*+ string(theWidthString)*/ + inMapName + extraname + string(".spr"); + // :puzl return theMiniMapName; } @@ -325,7 +330,10 @@ bool AvHMiniMap::WriteMapToSprite() if(!this->GetIsProcessing()) { // Open file - string theSpriteFileName = string(getModDirectory()) + string("/") + GetSpriteNameFromMap(0, this->mMapName); + // puzl: 1064 + // We always want to use the normal filename when generating a minimap + string theSpriteFileName = string(getModDirectory()) + string("/") + GetSpriteNameFromMap(0, this->mMapName, 0); + // :puzl FILE* theFile = fopen(theSpriteFileName.c_str(), "wb"); if(theFile) { diff --git a/main/source/mod/AvHMiniMap.h b/main/source/mod/AvHMiniMap.h index e385fd7..ee500ab 100644 --- a/main/source/mod/AvHMiniMap.h +++ b/main/source/mod/AvHMiniMap.h @@ -29,7 +29,9 @@ public: #endif #ifdef AVH_CLIENT - static string GetSpriteNameFromMap(int inSpriteWidth, const string& inMapName); + // puzl: 1064 + // Allow the caller to specify the use of the labelled minimap + static string GetSpriteNameFromMap(int inSpriteWidth, const string& inMapName, int useLabels); int ReceiveFromNetworkStream(void* const buffer, const int size); bool WriteSpritesIfJustFinished(); #endif diff --git a/main/source/mod/AvHOverviewMap.cpp b/main/source/mod/AvHOverviewMap.cpp index 63f2875..149a2bc 100644 --- a/main/source/mod/AvHOverviewMap.cpp +++ b/main/source/mod/AvHOverviewMap.cpp @@ -12,6 +12,7 @@ #include "mod/AvHPlayerUpgrade.h" #include "mod/AvHSpriteAPI.h" #include "mod/AvHSprites.h" +#include "mod/AvHClientVariables.h" using std::string; @@ -414,14 +415,30 @@ void AvHOverviewMap::KillOldAlerts(float inCurrentTime) void AvHOverviewMap::DrawMiniMap(const DrawInfo& inDrawInfo) { + // puzl: 1064 + // Use labelled minimaps if cl_labelmaps is 1 + // Load the mini-map sprite if it's not already loaded. + static string lastMiniMapName=""; + if ( mMapName != "") { + int drawLabels=CVAR_GET_FLOAT(kvLabelMaps); + string theMiniMapName = AvHMiniMap::GetSpriteNameFromMap(ScreenWidth(), mMapName, drawLabels); + if ( lastMiniMapName != theMiniMapName ) + { + mMiniMapSprite = Safe_SPR_Load(theMiniMapName.c_str()); - if (!mMiniMapSprite && (mMapName != "")) - { - string theMiniMapName = AvHMiniMap::GetSpriteNameFromMap(ScreenWidth(), mMapName); - mMiniMapSprite = Safe_SPR_Load(theMiniMapName.c_str()); - } + // We want to preserve the last minimap even if we fail. There's no point in failing again until the player + // changes the value of the cvar. + lastMiniMapName=theMiniMapName; + // Draw normal minimap if no labelled map exists ( for custom maps ) + if ( !mMiniMapSprite && drawLabels ) { + theMiniMapName = AvHMiniMap::GetSpriteNameFromMap(ScreenWidth(), mMapName, 0); + mMiniMapSprite = Safe_SPR_Load(theMiniMapName.c_str()); + } + } + } + // :puzl if (!mMiniMapSprite) { return; diff --git a/main/sprites/minimaps/ns_altair.spr b/main/sprites/minimaps/ns_altair.spr index aac5d32..2cdde31 100644 Binary files a/main/sprites/minimaps/ns_altair.spr and b/main/sprites/minimaps/ns_altair.spr differ diff --git a/main/sprites/minimaps/ns_altair_labelled.spr b/main/sprites/minimaps/ns_altair_labelled.spr new file mode 100644 index 0000000..aac5d32 Binary files /dev/null and b/main/sprites/minimaps/ns_altair_labelled.spr differ diff --git a/main/sprites/minimaps/ns_ayumi.spr b/main/sprites/minimaps/ns_ayumi.spr index 871b57e..f4cc8ec 100644 Binary files a/main/sprites/minimaps/ns_ayumi.spr and b/main/sprites/minimaps/ns_ayumi.spr differ diff --git a/main/sprites/minimaps/ns_ayumi_labelled.spr b/main/sprites/minimaps/ns_ayumi_labelled.spr new file mode 100644 index 0000000..871b57e Binary files /dev/null and b/main/sprites/minimaps/ns_ayumi_labelled.spr differ diff --git a/main/sprites/minimaps/ns_bast.spr b/main/sprites/minimaps/ns_bast.spr index 6f68752..2cfc20f 100644 Binary files a/main/sprites/minimaps/ns_bast.spr and b/main/sprites/minimaps/ns_bast.spr differ diff --git a/main/sprites/minimaps/ns_bast_labelled.spr b/main/sprites/minimaps/ns_bast_labelled.spr new file mode 100644 index 0000000..6f68752 Binary files /dev/null and b/main/sprites/minimaps/ns_bast_labelled.spr differ diff --git a/main/sprites/minimaps/ns_caged.spr b/main/sprites/minimaps/ns_caged.spr index 187c1f7..cebe411 100644 Binary files a/main/sprites/minimaps/ns_caged.spr and b/main/sprites/minimaps/ns_caged.spr differ diff --git a/main/sprites/minimaps/ns_caged_labelled.spr b/main/sprites/minimaps/ns_caged_labelled.spr new file mode 100644 index 0000000..187c1f7 Binary files /dev/null and b/main/sprites/minimaps/ns_caged_labelled.spr differ diff --git a/main/sprites/minimaps/ns_eclipse.spr b/main/sprites/minimaps/ns_eclipse.spr index 67d0309..1c71454 100644 Binary files a/main/sprites/minimaps/ns_eclipse.spr and b/main/sprites/minimaps/ns_eclipse.spr differ diff --git a/main/sprites/minimaps/ns_eclipse_labelled.spr b/main/sprites/minimaps/ns_eclipse_labelled.spr new file mode 100644 index 0000000..67d0309 Binary files /dev/null and b/main/sprites/minimaps/ns_eclipse_labelled.spr differ diff --git a/main/sprites/minimaps/ns_eon.spr b/main/sprites/minimaps/ns_eon.spr index 8ade067..289160a 100644 Binary files a/main/sprites/minimaps/ns_eon.spr and b/main/sprites/minimaps/ns_eon.spr differ diff --git a/main/sprites/minimaps/ns_eon_labelled.spr b/main/sprites/minimaps/ns_eon_labelled.spr new file mode 100644 index 0000000..8ade067 Binary files /dev/null and b/main/sprites/minimaps/ns_eon_labelled.spr differ diff --git a/main/sprites/minimaps/ns_hera.spr b/main/sprites/minimaps/ns_hera.spr index ec606c8..8b1c148 100644 Binary files a/main/sprites/minimaps/ns_hera.spr and b/main/sprites/minimaps/ns_hera.spr differ diff --git a/main/sprites/minimaps/ns_hera_labelled.spr b/main/sprites/minimaps/ns_hera_labelled.spr new file mode 100644 index 0000000..e971fa9 Binary files /dev/null and b/main/sprites/minimaps/ns_hera_labelled.spr differ diff --git a/main/sprites/minimaps/ns_lost.spr b/main/sprites/minimaps/ns_lost.spr index 97f3314..336a151 100644 Binary files a/main/sprites/minimaps/ns_lost.spr and b/main/sprites/minimaps/ns_lost.spr differ diff --git a/main/sprites/minimaps/ns_lost_labelled.spr b/main/sprites/minimaps/ns_lost_labelled.spr new file mode 100644 index 0000000..97f3314 Binary files /dev/null and b/main/sprites/minimaps/ns_lost_labelled.spr differ diff --git a/main/sprites/minimaps/ns_metal.spr b/main/sprites/minimaps/ns_metal.spr index e8ac891..5c0e5e1 100644 Binary files a/main/sprites/minimaps/ns_metal.spr and b/main/sprites/minimaps/ns_metal.spr differ diff --git a/main/sprites/minimaps/ns_metal_labelled.spr b/main/sprites/minimaps/ns_metal_labelled.spr new file mode 100644 index 0000000..e8ac891 Binary files /dev/null and b/main/sprites/minimaps/ns_metal_labelled.spr differ diff --git a/main/sprites/minimaps/ns_nancy.spr b/main/sprites/minimaps/ns_nancy.spr index 4bb53b6..18e0bd0 100644 Binary files a/main/sprites/minimaps/ns_nancy.spr and b/main/sprites/minimaps/ns_nancy.spr differ diff --git a/main/sprites/minimaps/ns_nancy_labelled.spr b/main/sprites/minimaps/ns_nancy_labelled.spr new file mode 100644 index 0000000..4bb53b6 Binary files /dev/null and b/main/sprites/minimaps/ns_nancy_labelled.spr differ diff --git a/main/sprites/minimaps/ns_nothing.spr b/main/sprites/minimaps/ns_nothing.spr index c2bd937..81c75b5 100644 Binary files a/main/sprites/minimaps/ns_nothing.spr and b/main/sprites/minimaps/ns_nothing.spr differ diff --git a/main/sprites/minimaps/ns_nothing_labelled.spr b/main/sprites/minimaps/ns_nothing_labelled.spr new file mode 100644 index 0000000..c2bd937 Binary files /dev/null and b/main/sprites/minimaps/ns_nothing_labelled.spr differ diff --git a/main/sprites/minimaps/ns_origin.spr b/main/sprites/minimaps/ns_origin.spr index b9167ee..dcd5a00 100644 Binary files a/main/sprites/minimaps/ns_origin.spr and b/main/sprites/minimaps/ns_origin.spr differ diff --git a/main/sprites/minimaps/ns_origin_labelled.spr b/main/sprites/minimaps/ns_origin_labelled.spr new file mode 100644 index 0000000..b9167ee Binary files /dev/null and b/main/sprites/minimaps/ns_origin_labelled.spr differ diff --git a/main/sprites/minimaps/ns_tanith.spr b/main/sprites/minimaps/ns_tanith.spr index 349983a..3e62ef6 100644 Binary files a/main/sprites/minimaps/ns_tanith.spr and b/main/sprites/minimaps/ns_tanith.spr differ diff --git a/main/sprites/minimaps/ns_tanith_labelled.spr b/main/sprites/minimaps/ns_tanith_labelled.spr new file mode 100644 index 0000000..349983a Binary files /dev/null and b/main/sprites/minimaps/ns_tanith_labelled.spr differ diff --git a/main/sprites/minimaps/ns_veil.spr b/main/sprites/minimaps/ns_veil.spr index f739393..02c441d 100644 Binary files a/main/sprites/minimaps/ns_veil.spr and b/main/sprites/minimaps/ns_veil.spr differ diff --git a/main/sprites/minimaps/ns_veil_labelled.spr b/main/sprites/minimaps/ns_veil_labelled.spr new file mode 100644 index 0000000..f739393 Binary files /dev/null and b/main/sprites/minimaps/ns_veil_labelled.spr differ diff --git a/main/user.scr b/main/user.scr index 87d6774..bacdc1a 100644 --- a/main/user.scr +++ b/main/user.scr @@ -49,6 +49,13 @@ DESCRIPTION INFO_OPTIONS SetInfo } + "cl_labelmaps" + { + "Draw location names" + { BOOL } + { "1" } + } + "cl_centerentityid" { "Center player names"