Added JPEG support for track preview image (= bg img Track Select)
Added specific JPEG bg images for netwok menus Fixed GoldStone preview image and converted to JPEG git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@3082 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: 9592b813517bb1a71c56935f2eebb2501be77515 Former-commit-id: 05132b1de8d0681037333d38eb5eadb8b534892c
This commit is contained in:
parent
bd58f7a9f0
commit
c59e978b4d
4 changed files with 71 additions and 33 deletions
|
@ -973,6 +973,7 @@ MACRO(ADD_SD_DEFINITIONS)
|
||||||
ENDMACRO(ADD_SD_DEFINITIONS)
|
ENDMACRO(ADD_SD_DEFINITIONS)
|
||||||
|
|
||||||
MACRO(SD_INSTALL_CAR CARNAME)
|
MACRO(SD_INSTALL_CAR CARNAME)
|
||||||
|
|
||||||
SET(SDIC_FILES ${CARNAME}.xml ${ARGN})
|
SET(SDIC_FILES ${CARNAME}.xml ${ARGN})
|
||||||
|
|
||||||
FILE(GLOB FILES_ACC *.acc)
|
FILE(GLOB FILES_ACC *.acc)
|
||||||
|
@ -983,9 +984,11 @@ MACRO(SD_INSTALL_CAR CARNAME)
|
||||||
SET(SDIC_FILES ${SDIC_FILES} ${FILES_ACC} ${FILES_RGB} ${FILES_PNG} ${FILES_JPG} ${FILES_WAV})
|
SET(SDIC_FILES ${SDIC_FILES} ${FILES_ACC} ${FILES_RGB} ${FILES_PNG} ${FILES_JPG} ${FILES_WAV})
|
||||||
|
|
||||||
SD_INSTALL_FILES(DATA cars/${CARNAME} FILES ${SDIC_FILES})
|
SD_INSTALL_FILES(DATA cars/${CARNAME} FILES ${SDIC_FILES})
|
||||||
|
|
||||||
ENDMACRO(SD_INSTALL_CAR CARNAME)
|
ENDMACRO(SD_INSTALL_CAR CARNAME)
|
||||||
|
|
||||||
MACRO(SD_INSTALL_TRACK TRACKNAME CATEGORY)
|
MACRO(SD_INSTALL_TRACK TRACKNAME CATEGORY)
|
||||||
|
|
||||||
SET(SDIT_FILES ${TRACKNAME}.xml ${ARGN})
|
SET(SDIT_FILES ${TRACKNAME}.xml ${ARGN})
|
||||||
|
|
||||||
FILE(GLOB FILES_ACC *.acc)
|
FILE(GLOB FILES_ACC *.acc)
|
||||||
|
@ -993,9 +996,10 @@ MACRO(SD_INSTALL_TRACK TRACKNAME CATEGORY)
|
||||||
FILE(GLOB FILES_PNG *.png)
|
FILE(GLOB FILES_PNG *.png)
|
||||||
FILE(GLOB FILES_JPG *.jpg)
|
FILE(GLOB FILES_JPG *.jpg)
|
||||||
FILE(GLOB FILES_RGB *.rgb)
|
FILE(GLOB FILES_RGB *.rgb)
|
||||||
SET(SDIT_FILES ${SDIT_FILES} ${FILES_PNG} ${FILES_RGB} ${FILES_AC} ${FILES_ACC})
|
SET(SDIT_FILES ${SDIT_FILES} ${FILES_AC} ${FILES_ACC} ${FILES_RGB} ${FILES_PNG} ${FILES_JPG})
|
||||||
|
|
||||||
SD_INSTALL_FILES(DATA tracks/${CATEGORY}/${TRACKNAME} FILES ${SDIT_FILES})
|
SD_INSTALL_FILES(DATA tracks/${CATEGORY}/${TRACKNAME} FILES ${SDIT_FILES})
|
||||||
|
|
||||||
ENDMACRO(SD_INSTALL_TRACK TRACKNAME CATEGORY)
|
ENDMACRO(SD_INSTALL_TRACK TRACKNAME CATEGORY)
|
||||||
|
|
||||||
# Data/Lib/Bin/Include files installation (with user settings registration for data files)
|
# Data/Lib/Bin/Include files installation (with user settings registration for data files)
|
||||||
|
|
|
@ -157,26 +157,38 @@ onChangeCarCategory(void * pData)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string GetTrackImagePath(const char *pszCategory,const char *pszTrack)
|
std::string GetTrackPreviewFileName(const char *pszCategory, const char *pszTrack)
|
||||||
{
|
{
|
||||||
char buf[1024];
|
char buf[256];
|
||||||
snprintf(buf,1024, "tracks/%s/%s/%s.png", pszCategory,pszTrack,pszTrack);
|
|
||||||
|
|
||||||
std::string str = buf;
|
// Try JPEG first.
|
||||||
return str;
|
snprintf(buf, sizeof(buf), "tracks/%s/%s/%s.jpg", pszCategory, pszTrack, pszTrack);
|
||||||
|
buf[255] = 0; /* snprinf manual is not clear about that ... */
|
||||||
|
|
||||||
|
// Then PNG if not found.
|
||||||
|
if (!GfFileExists(buf))
|
||||||
|
{
|
||||||
|
snprintf(buf, sizeof(buf), "tracks/%s/%s/%s.png", pszCategory, pszTrack, pszTrack);
|
||||||
|
buf[255] = 0; /* snprinf manual is not clear about that ... */
|
||||||
|
}
|
||||||
|
|
||||||
|
// Then fallback.
|
||||||
|
if (!GfFileExists(buf))
|
||||||
|
strncpy(buf, "data/img/splash-networkrace.jpg", sizeof(buf));
|
||||||
|
|
||||||
|
return std::string(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string GetOutlineFileName(const char *pszCategory,const char *pszTrack)
|
std::string GetTrackOutlineFileName(const char *pszCategory,const char *pszTrack)
|
||||||
{
|
{
|
||||||
char buf[1024];
|
char buf[256];
|
||||||
snprintf(buf,1024, "tracks/%s/%s/outline.png", pszCategory,pszTrack);
|
|
||||||
|
|
||||||
|
snprintf(buf, sizeof(buf), "tracks/%s/%s/outline.png", pszCategory, pszTrack);
|
||||||
|
|
||||||
if (!ulFileExists(buf))
|
if (!GfFileExists(buf))
|
||||||
snprintf(buf,1024, "data/img/transparent.png");
|
strncpy(buf, "data/img/transparent.png", sizeof(buf));
|
||||||
|
|
||||||
std::string str = buf;
|
return std::string(buf);
|
||||||
return str;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -211,8 +223,10 @@ UpdateNetworkPlayers()
|
||||||
sprintf(buf, "%i", laps);
|
sprintf(buf, "%i", laps);
|
||||||
GfuiLabelSetText(racemanMenuHdle,g_lapsHd,buf);
|
GfuiLabelSetText(racemanMenuHdle,g_lapsHd,buf);
|
||||||
|
|
||||||
GfuiScreenAddBgImg(racemanMenuHdle,GetTrackImagePath(strCategory.c_str(),strTrackPath.c_str()).c_str());
|
GfuiScreenAddBgImg(racemanMenuHdle,
|
||||||
GfuiStaticImageSet(racemanMenuHdle, g_OutlineId,GetOutlineFileName(strCategory.c_str(),strTrackPath.c_str()).c_str());
|
GetTrackPreviewFileName(strCategory.c_str(),strTrackPath.c_str()).c_str());
|
||||||
|
GfuiStaticImageSet(racemanMenuHdle, g_OutlineId,
|
||||||
|
GetTrackOutlineFileName(strCategory.c_str(),strTrackPath.c_str()).c_str());
|
||||||
|
|
||||||
// Update category info
|
// Update category info
|
||||||
std::string strCarCat;
|
std::string strCarCat;
|
||||||
|
@ -384,7 +398,7 @@ void CheckDriversCategory()
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
GufiHostServerIdle(void)
|
HostServerIdle(void)
|
||||||
{
|
{
|
||||||
GfuiIdle();
|
GfuiIdle();
|
||||||
if (IsServer())
|
if (IsServer())
|
||||||
|
@ -410,11 +424,14 @@ GufiHostServerIdle(void)
|
||||||
|
|
||||||
GfelPostRedisplay();
|
GfelPostRedisplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Let CPU take breath (and fans stay at low and quiet speed) */
|
||||||
|
GfuiSleep(0.001);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
GufiClientIdle(void)
|
ClientIdle(void)
|
||||||
{
|
{
|
||||||
GfuiIdle();
|
GfuiIdle();
|
||||||
if (IsClient())
|
if (IsClient())
|
||||||
|
@ -444,6 +461,9 @@ GufiClientIdle(void)
|
||||||
|
|
||||||
GfelPostRedisplay();
|
GfelPostRedisplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Let CPU take breath (and fans stay at low and quiet speed) */
|
||||||
|
GfuiSleep(0.001);
|
||||||
}
|
}
|
||||||
|
|
||||||
void NetworkRaceInfo()
|
void NetworkRaceInfo()
|
||||||
|
@ -473,7 +493,7 @@ void NetworkDisplay(void)
|
||||||
|
|
||||||
static void OnActivateNetworkClient(void *)
|
static void OnActivateNetworkClient(void *)
|
||||||
{
|
{
|
||||||
GfelSetIdleCB(GufiClientIdle);
|
GfelSetIdleCB(ClientIdle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -491,7 +511,7 @@ static void OnActivateNetworkHost(void *)
|
||||||
ReInfo->params = GfParmReadFileLocal("config/raceman/networkrace.xml",GFPARM_RMODE_REREAD);
|
ReInfo->params = GfParmReadFileLocal("config/raceman/networkrace.xml",GFPARM_RMODE_REREAD);
|
||||||
assert(ReInfo->params);
|
assert(ReInfo->params);
|
||||||
ReInfo->_reName = GfParmGetStr(ReInfo->params, RM_SECT_HEADER, RM_ATTR_NAME, "");
|
ReInfo->_reName = GfParmGetStr(ReInfo->params, RM_SECT_HEADER, RM_ATTR_NAME, "");
|
||||||
GfelSetIdleCB(GufiHostServerIdle);
|
GfelSetIdleCB(HostServerIdle);
|
||||||
GetServer()->SetRefreshDisplay(true);
|
GetServer()->SetRefreshDisplay(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -702,7 +722,7 @@ reNetworkClientConnectMenu(void * /* dummy */)
|
||||||
|
|
||||||
UpdateNetworkPlayers();
|
UpdateNetworkPlayers();
|
||||||
GfuiScreenActivate(racemanMenuHdle);
|
GfuiScreenActivate(racemanMenuHdle);
|
||||||
GfelSetIdleCB(GufiClientIdle);
|
GfelSetIdleCB(ClientIdle);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -76,14 +76,26 @@ rmtsFreeLists(void *vl)
|
||||||
static char*
|
static char*
|
||||||
rmtsGetPreviewFileName(char* previewNameBuf, unsigned previewNameBufSize)
|
rmtsGetPreviewFileName(char* previewNameBuf, unsigned previewNameBufSize)
|
||||||
{
|
{
|
||||||
|
// Try JPEG first.
|
||||||
|
snprintf(previewNameBuf, previewNameBufSize, "tracks/%s/%s/%s.jpg", CategoryList->name,
|
||||||
|
((tFList*)CategoryList->userData)->name, ((tFList*)CategoryList->userData)->name);
|
||||||
|
previewNameBuf[previewNameBufSize-1] = 0; /* snprinf manual is not clear about that ... */
|
||||||
|
|
||||||
|
// Then PNG if not found.
|
||||||
|
if (!GfFileExists(previewNameBuf))
|
||||||
|
{
|
||||||
snprintf(previewNameBuf, previewNameBufSize, "tracks/%s/%s/%s.png", CategoryList->name,
|
snprintf(previewNameBuf, previewNameBufSize, "tracks/%s/%s/%s.png", CategoryList->name,
|
||||||
((tFList*)CategoryList->userData)->name, ((tFList*)CategoryList->userData)->name);
|
((tFList*)CategoryList->userData)->name, ((tFList*)CategoryList->userData)->name);
|
||||||
previewNameBuf[previewNameBufSize-1] = 0; /* snprinf manual is not clear about that ... */
|
previewNameBuf[previewNameBufSize-1] = 0; /* snprinf manual is not clear about that ... */
|
||||||
if (!ulFileExists(previewNameBuf))
|
|
||||||
{
|
|
||||||
snprintf(previewNameBuf,previewNameBufSize,"data/img/splash-trackselect.png");
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Then fallback.
|
||||||
|
if (!GfFileExists(previewNameBuf))
|
||||||
|
{
|
||||||
|
snprintf(previewNameBuf,previewNameBufSize,"data/img/splash-trackselect.jpg");
|
||||||
|
previewNameBuf[previewNameBufSize-1] = 0; /* snprinf manual is not clear about that ... */
|
||||||
|
}
|
||||||
|
|
||||||
return previewNameBuf;
|
return previewNameBuf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,11 +105,13 @@ rmtsGetOutlineFileName(char* outlineNameBuf, unsigned outlineNameBufSize)
|
||||||
snprintf(outlineNameBuf, outlineNameBufSize, "tracks/%s/%s/outline.png", CategoryList->name,
|
snprintf(outlineNameBuf, outlineNameBufSize, "tracks/%s/%s/outline.png", CategoryList->name,
|
||||||
((tFList*)CategoryList->userData)->name);
|
((tFList*)CategoryList->userData)->name);
|
||||||
outlineNameBuf[outlineNameBufSize-1] = 0; /* snprinf manual is not clear about that ... */
|
outlineNameBuf[outlineNameBufSize-1] = 0; /* snprinf manual is not clear about that ... */
|
||||||
if (!ulFileExists(outlineNameBuf))
|
|
||||||
|
if (!GfFileExists(outlineNameBuf))
|
||||||
{
|
{
|
||||||
snprintf(outlineNameBuf,outlineNameBufSize,"data/img/transparent.png");
|
snprintf(outlineNameBuf,outlineNameBufSize,"data/img/transparent.png");
|
||||||
|
outlineNameBuf[outlineNameBufSize-1] = 0; /* snprinf manual is not clear about that ... */
|
||||||
}
|
}
|
||||||
|
|
||||||
return outlineNameBuf;
|
return outlineNameBuf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<attstr name="name" val="Online Race"/>
|
<attstr name="name" val="Online Race"/>
|
||||||
<attstr name="description" val="Online Race"/>
|
<attstr name="description" val="Online Race"/>
|
||||||
<attnum name="priority" val="10"/>
|
<attnum name="priority" val="10"/>
|
||||||
<attstr name="menu image" val="data/img/splash-networkrace.png"/>
|
<attstr name="menu image" val="data/img/splash-networkrace.jpg"/>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section name="Tracks">
|
<section name="Tracks">
|
||||||
|
|
Loading…
Reference in a new issue