Separate the real weather from OPTION_WEBSERVER. Real weather is now always available

git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@8126 30fe4595-0a0c-4342-8851-515496e4dcbd
This commit is contained in:
beaglejoe 2022-04-26 02:55:50 +00:00
parent 226af40060
commit 725e6b6084
12 changed files with 43 additions and 101 deletions

View File

@ -263,19 +263,15 @@ MACRO(CHECK_LIBRARIES)
MESSAGE(STATUS "Looking for library SDL2_mixer - NOT found")
ENDIF(SDL2_MIXER_FOUND)
# CURL
Find_Package(CURL)
IF(OPTION_WEBSERVER)
# CURL
Find_Package(CURL)
IF(CURL_FOUND)
SET(HAVE_CURL 1)
MESSAGE(STATUS "Looking for library CURL - found")
ELSE(CURL_FOUND)
MESSAGE(STATUS "Looking for library CURL - NOT found")
ENDIF(CURL_FOUND)
ENDIF(OPTION_WEBSERVER)
IF(CURL_FOUND)
SET(HAVE_CURL 1)
MESSAGE(STATUS "Looking for library CURL - found")
ELSE(CURL_FOUND)
MESSAGE(STATUS "Looking for library CURL - NOT found")
ENDIF(CURL_FOUND)
# OSG
IF(OPTION_OSGGRAPH)

View File

@ -182,10 +182,8 @@ MACRO(_FIND_3RDPARTY_DEPENDENCIES ROOT_DIR)
# JPEG.
_FIND_3RDPARTY_DEPENDENCY(JPEG jpeglib.h "" "jpeg_s;jpeg;jpeg-9;jpeg-8" ${ROOT_DIR} "")
IF(OPTION_WEBSERVER)
# CURL.
_FIND_3RDPARTY_DEPENDENCY(CURL curl/curl.h "" "libcurl;libcurl_imp" ${ROOT_DIR} "")
ENDIF(OPTION_WEBSERVER)
# CURL.
_FIND_3RDPARTY_DEPENDENCY(CURL curl/curl.h "" "libcurl;libcurl_imp" ${ROOT_DIR} "")
# ZLib.
_FIND_3RDPARTY_DEPENDENCY(ZLIB zlib.h "" "z;zlib;zlib1" ${ROOT_DIR} "")
@ -381,10 +379,8 @@ MACRO(SD_INSTALL_CUSTOM_3RDPARTY TARGET_NAME)
_FIND_3RDPARTY_DLL("${JPEG_LIBRARY}" "jpeg;jpeg-9;jpeg-8" "lib" _DLL_PATHNAME)
LIST(APPEND _THIRDPARTY_DLL_PATHNAMES "${_DLL_PATHNAME}")
IF(OPTION_WEBSERVER)
_FIND_3RDPARTY_DLL("${CURL_LIBRARY}" "curl" "lib" _DLL_PATHNAME)
LIST(APPEND _THIRDPARTY_DLL_PATHNAMES "${_DLL_PATHNAME}")
ENDIF(OPTION_WEBSERVER)
_FIND_3RDPARTY_DLL("${CURL_LIBRARY}" "curl" "lib" _DLL_PATHNAME)
LIST(APPEND _THIRDPARTY_DLL_PATHNAMES "${_DLL_PATHNAME}")
# 2) Copy found 3rd party DLL files to the bin folder (for running without installing).
#MESSAGE(STATUS "3rdParty dependencies : Will install ${_THIRDPARTY_DLL_PATHNAMES}")

View File

@ -435,32 +435,30 @@ MACRO(ADD_JPEG_LIBRARY TARGET)
ENDMACRO(ADD_JPEG_LIBRARY TARGET)
IF(OPTION_WEBSERVER)
#CURL
MACRO(ADD_CURL_INCLUDEDIR)
#CURL
MACRO(ADD_CURL_INCLUDEDIR)
FIND_PACKAGE(CURL)
FIND_PACKAGE(CURL)
IF(CURL_FOUND)
INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIR})
ELSE(CURL_FOUND)
MESSAGE(FATAL_ERROR "Cannot find CURL header files")
ENDIF(CURL_FOUND)
IF(CURL_FOUND)
INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIR})
ELSE(CURL_FOUND)
MESSAGE(FATAL_ERROR "Cannot find CURL header files")
ENDIF(CURL_FOUND)
ENDMACRO(ADD_CURL_INCLUDEDIR)
ENDMACRO(ADD_CURL_INCLUDEDIR)
MACRO(ADD_CURL_LIBRARY TARGET)
MACRO(ADD_CURL_LIBRARY TARGET)
FIND_PACKAGE(CURL)
FIND_PACKAGE(CURL)
IF(CURL_FOUND)
TARGET_LINK_LIBRARIES(${TARGET} ${CURL_LIBRARY})
ELSE(CURL_FOUND)
MESSAGE(FATAL_ERROR "Cannot find CURL libraries")
ENDIF(CURL_FOUND)
IF(CURL_FOUND)
TARGET_LINK_LIBRARIES(${TARGET} ${CURL_LIBRARY})
ELSE(CURL_FOUND)
MESSAGE(FATAL_ERROR "Cannot find CURL libraries")
ENDIF(CURL_FOUND)
ENDMACRO(ADD_CURL_LIBRARY TARGET)
ENDIF(OPTION_WEBSERVER)
ENDMACRO(ADD_CURL_LIBRARY TARGET)
MACRO(ADD_X11_INCLUDEDIR)

View File

@ -12,10 +12,7 @@ ADD_SUBDIRECTORY(sky)
ADD_SUBDIRECTORY(textures)
ADD_SUBDIRECTORY(tracks)
ADD_SUBDIRECTORY(music)
IF (OPTION_WEBSERVER)
ADD_SUBDIRECTORY(weather)
ENDIF(OPTION_WEBSERVER)
ADD_SUBDIRECTORY(weather)
IF(OPTION_OSGGRAPH)
ADD_SUBDIRECTORY(shaders)

View File

@ -1691,7 +1691,6 @@ GfParmWriteBuf (void *handle, char *buf, int size) /* Never used in current code
return 0; // Success
}
#ifdef WEBSERVER
/** Write a configuration string.
@ingroup conf
@param handle Configuration handle
@ -1721,7 +1720,6 @@ GfParmWriteString (void *handle, std::string& str)
return 0; // Success
}
#endif //WEBSERVER
/** Set the dtd path and header if necessary
@ingroup conf

View File

@ -420,9 +420,7 @@ TGF_API int GfParmWriteFile(const std::string &file, void *handle, const char *n
TGF_API int GfParmWriteFileSDHeader(const char *file, void* handle, const char *name, const char *author, bool trace = true);
/* write a parameter file to a supplied buffer */
TGF_API int GfParmWriteBuf(void *handle, char *buf, int size);/* Never used in current codebase: to be removed? */
#ifdef WEBSERVER
TGF_API int GfParmWriteString(void *handle, std::string& str);
#endif //WEBSERVER
TGF_API char *GfParmGetName(void *handle);
TGF_API char *GfParmGetFileName(void *handle);

View File

@ -7,20 +7,15 @@ SET(_SOURCES standardgame.cpp
raceinit.cpp racemain.cpp
racetrack.cpp raceresults.cpp racesimusimu.cpp
racestate.cpp racesituation.cpp racemessage.cpp
raceutil.cpp)
raceutil.cpp racewebmetar.cpp)
SET(_HEADERS standardgame.h
racecareer.h raceupdate.h racenetwork.h racecars.h
raceinit.h racemain.h
racetrack.h raceresults.h racesimusimu.h
racestate.h racesituation.h racemessage.h
raceutil.h)
raceutil.h racewebmetar.h)
SET(_OTHER_SOURCES )
IF(OPTION_WEBSERVER)
SET(_SOURCES ${_SOURCES} racewebmetar.cpp )
SET(_HEADERS ${_HEADERS} racewebmetar.h )
ENDIF(OPTION_WEBSERVER)
IF(OPTION_CLIENT_SERVER)
SET(NETWORKING_INC csnetworking)
SET(NETWORKING_LIB csnetworking)
@ -31,24 +26,18 @@ ENDIF(OPTION_CLIENT_SERVER)
ADD_INTERFACE_INCLUDEDIR()
IF(OPTION_WEBSERVER)
ADD_SDLIB_INCLUDEDIR(math portability robottools tgf tgfdata ${NETWORKING_INC} tgfclient)
ELSE(OPTION_WEBSERVER)
ADD_SDLIB_INCLUDEDIR(math portability robottools tgf tgfdata ${NETWORKING_INC})
ENDIF(OPTION_WEBSERVER)
ADD_SDLIB_INCLUDEDIR(math portability robottools tgf tgfdata ${NETWORKING_INC} tgfclient)
ADD_PLIB_INCLUDEDIR()
ADD_SDL2_INCLUDEDIR()
ADD_CURL_INCLUDEDIR()
IF(OPTION_3RDPARTY_SQLITE3)
ADD_SQLITE3_INCLUDEDIR()
ENDIF(OPTION_3RDPARTY_SQLITE3)
IF(OPTION_WEBSERVER)
ADD_CURL_INCLUDEDIR()
ENDIF(OPTION_WEBSERVER)
# Disable developer warning
IF (COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
@ -69,18 +58,13 @@ SD_ADD_LIBRARY(standardgame MODULE ${_SOURCES} ${_HEADERS} ${_OTHER_SOURCES})
# Might not work with GCC 4.5 or + (non-robot modules crash at 1st reload = after 1 dlclose)
#SET_TARGET_PROPERTIES(standardgame PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
IF(OPTION_WEBSERVER)
ADD_SDLIB_LIBRARY(standardgame portability tgf tgfdata robottools ${NETWORKING_LIB} tgfclient)
ELSE(OPTION_WEBSERVER)
ADD_SDLIB_LIBRARY(standardgame portability tgf tgfdata robottools ${NETWORKING_LIB})
ENDIF(OPTION_WEBSERVER)
ADD_SDLIB_LIBRARY(standardgame portability tgf tgfdata robottools ${NETWORKING_LIB} tgfclient)
ADD_CURL_LIBRARY(standardgame)
IF(OPTION_3RDPARTY_SQLITE3)
ADD_SQLITE3_LIBRARY(standardgame)
ENDIF(OPTION_3RDPARTY_SQLITE3)
IF(OPTION_WEBSERVER)
ADD_CURL_LIBRARY(standardgame)
ENDIF(OPTION_WEBSERVER)
SD_INSTALL_FILES(LIB modules/racing TARGETS standardgame)

View File

@ -46,8 +46,8 @@
#include <tgf.hpp>
#ifdef WEBSERVER
#include <webserver.h>
#include "racewebmetar.h"
#endif //WEBSERVER
#include "racewebmetar.h"
#include <portability.h>
#include <racemanagers.h>

View File

@ -38,7 +38,6 @@
#include "raceinit.h"
#include "racetrack.h"
#ifdef WEBSERVER
#include <iomanip>
#include <fstream>
#include <sstream>
@ -48,7 +47,6 @@ static ReWebMetarCloud webMetarCloud;
static ReWebMetarRunway webMetarRunway;
static ReWebMetarVisibility webMetarVisibility;
static ReWebMetar *webMetar = NULL;
#endif //WEBSERVER
// portability.h must be after curl.h (included by racewebmetar.h)
#include <portability.h>
@ -59,10 +57,8 @@ static void reTrackInitTimeOfDay(void);
static void reTrackInitWeather(void);
static void reTrackInitWeatherValues(void);
#ifdef WEBSERVER
static void reTrackInitRealWeather(void);
static void reTrackInitSimuWeather(void);
#endif //WEBSERVER
static void reTrackUpdatePhysics(void);
@ -102,13 +98,11 @@ ReTrackInit(void)
if (!pszWeather)
pszWeather = GfParmGetStr(ReInfo->params, RM_VAL_ANYRACE, RM_ATTR_WEATHER, RM_VAL_WEATHER_CONFIG);
#ifdef WEBSERVER
if (!strcmp(pszWeather, RM_VAL_WEATHER_REAL))
reTrackInitRealWeather();
else if (!strcmp(pszWeather, RM_VAL_WEATHER_RECORDED))
reTrackInitSimuWeather();
else
#endif
reTrackInitWeather();
reTrackDump(ReInfo->track, 0);
@ -510,7 +504,6 @@ reTrackInitWeatherValues(void)
trackLocal->airtemperature = temp;
}
#ifdef WEBSERVER
// Initialize track weather info from race settings
void
reTrackInitRealWeather(void)
@ -957,7 +950,6 @@ reTrackInitSimuWeather(void)
ReTrackUpdate();
}
#endif //WEBSERVER
// Update track info ...
void
@ -1015,12 +1007,10 @@ reTrackUpdatePhysics(void)
int
ReTrackShutdown(void)
{
#ifdef WEBSERVER
if(webMetar)
{
delete webMetar;
webMetar = 0;
}
#endif //WEBSERVER
return 0;
}

View File

@ -16,7 +16,6 @@
* *
***************************************************************************/
#ifdef WEBSERVER
#include <stdio.h>
#include <stdlib.h>
#include <string>
@ -1676,4 +1675,3 @@ void ReWebMetarVisibility::set(double dist, int dir, int mod, int tend)
_tendency = tend;
}
#endif //WEBMETAR

View File

@ -16,10 +16,8 @@
* *
***************************************************************************/
#ifdef WEBSERVER
#ifndef _SD_REWEBMETAR_H_
#define _SD_REWEBMETAR_H_
#ifndef __SD_REWEBMETAR_H__
#define __SD_REWEBMETAR_H__
#include <vector>
#include <string>
@ -337,5 +335,4 @@ protected:
void density();
};
#endif //_SD_REWEBMETAR_H_
#endif //WEBSERVER
#endif //__SD_REWEBMETAR_H__

View File

@ -270,7 +270,6 @@ rmChangeWeather(void *vp)
// Make clouds state compatible if needed.
int cloudsComboEnabled = GFUI_ENABLE;
#ifdef WEBSERVER
if ((rmrpWeather == GfRace::eWeatherRecorded) || (rmrpWeather == GfRace::eWeatherReal)) // Random rain => Random clouds.
{
cloudsComboEnabled = GFUI_DISABLE;
@ -281,7 +280,6 @@ rmChangeWeather(void *vp)
cloudsComboEnabled = GFUI_ENABLE;
//rmrpClouds = GfRace::eCloudsNone;
}
#endif //WEBSERVER
GfuiLabelSetText(ScrHandle, rmrpCloudsEditId, CloudsValues[rmrpClouds]);
// Show / hide clouds combo arrow buttons (any rain => no sky choice).
@ -293,7 +291,6 @@ rmChangeWeather(void *vp)
{
int rainComboEnabled = GFUI_ENABLE;
#ifdef WEBSERVER
if ((rmrpWeather == GfRace::eWeatherRecorded) || (rmrpWeather == GfRace::eWeatherReal)) // Random rain => Random clouds.
{
rainComboEnabled = GFUI_DISABLE;
@ -304,7 +301,6 @@ rmChangeWeather(void *vp)
rainComboEnabled = GFUI_ENABLE;
//rmrpRain = GfRace::eRainNone;
}
#endif // WEBSERVER
GfuiLabelSetText(ScrHandle, rmrpRainEditId, RainValues[rmrpRain]);
// Show / hide clouds combo arrow buttons (any rain => no sky choice).
@ -392,12 +388,10 @@ rmrpValidate(void * /* dummy */)
pRaceSessionParams->eRainSpec = (GfRace::ERainSpec)rmrpRain;
}
#ifdef WEBSERVER
if (rmrpConfMask & RM_CONF_WEATHER)
{
pRaceSessionParams->eWeatherSpec = (GfRace::EWeatherSpec)rmrpWeather;
}
#endif //WEBSERVER
if (rmrpConfMask & RM_CONF_DISP_MODE)
{
@ -462,14 +456,12 @@ RmRaceParamsMenu(void *vrp)
rmrpConfMask &= ~RM_CONF_RAIN_FALL;
}
#ifdef WEBSERVER
if (!bSkyDomeEnabled && (rmrpConfMask & RM_CONF_WEATHER))
{
GfLogTrace("Will not configure Weather as Sky Dome is disabled\n");
rmrpWeather = GfRace::eWeatherConfig;
rmrpConfMask &= ~RM_CONF_WEATHER;
}
#endif // WEBSERVER
// 5) According to the competitors.
if ((rmrpConfMask & RM_CONF_DISP_MODE) && MenuData->pRace->hasHumanCompetitors())
@ -659,7 +651,6 @@ RmRaceParamsMenu(void *vrp)
rmChangeRain(0); // Make cloud cover settings compatible if needed.
}
#ifdef WEBSERVER
// Create and initialize Weather combo box (2 arrow buttons and a variable label).
if (rmrpConfMask & RM_CONF_WEATHER)
{
@ -681,7 +672,6 @@ RmRaceParamsMenu(void *vrp)
GfuiLabelSetText(ScrHandle, rmrpWeatherEditId, WeatherValues[rmrpWeather]);
rmChangeWeather(0); // Make cloud cover settings compatible if needed.
}
#endif //WEBSERVER
// Create and initialize Display mode combo-box-like control.
if (rmrpConfMask & RM_CONF_DISP_MODE)