Browse Source

Progress towards making plClient compile

(cherry picked from commit f7a9adab72)
rarified/huru-merge-work/cmake-building
Michael Hansen 14 years ago committed by rarified
parent
commit
8143004052
  1. 4
      Sources/Plasma/Apps/CMakeLists.txt
  2. 160
      Sources/Plasma/Apps/plClient/CMakeLists.txt
  3. 204
      Sources/Plasma/Apps/plClient/plClient.cpp
  4. 2
      Sources/Plasma/Apps/plClient/plClientCreatable.h
  5. 30
      Sources/Plasma/Apps/plClient/winmain.cpp
  6. 2
      Sources/Plasma/Apps/plClientPatcher/UruPlayer.cpp
  7. 1
      Sources/Plasma/CMakeLists.txt
  8. 28
      Sources/Plasma/FeatureLib/inc/pfAllCreatables.h
  9. 1
      Sources/Plasma/FeatureLib/pfGameGUIMgr/CMakeLists.txt
  10. 4
      Sources/Plasma/FeatureLib/pfPython/CMakeLists.txt
  11. 1
      Sources/Plasma/NucleusLib/pnNetCommon/CMakeLists.txt
  12. 2
      Sources/Plasma/PubUtilLib/CMakeLists.txt
  13. 47
      Sources/Plasma/PubUtilLib/plGImage/CMakeLists.txt
  14. 2
      Sources/Plasma/PubUtilLib/plGImage/hsDXTDirectXCodec.cpp
  15. 6
      Sources/Plasma/PubUtilLib/plGImage/plAVIWriter.cpp
  16. 4
      Sources/Plasma/PubUtilLib/plGImage/plAVIWriter.h
  17. 12
      Sources/Plasma/PubUtilLib/plGImage/plBitmap.cpp
  18. 8
      Sources/Plasma/PubUtilLib/plGImage/plDynSurfaceWriter.cpp
  19. 10
      Sources/Plasma/PubUtilLib/plGImage/plDynamicTextMap.cpp
  20. 2
      Sources/Plasma/PubUtilLib/plGImage/plFont.h
  21. 8
      Sources/Plasma/PubUtilLib/plGImage/plFontCache.cpp
  22. 2
      Sources/Plasma/PubUtilLib/plGImage/plFontCache.h
  23. 2
      Sources/Plasma/PubUtilLib/plGImage/plGImageCreatable.h
  24. 8
      Sources/Plasma/PubUtilLib/plGImage/plLODMipmap.cpp
  25. 8
      Sources/Plasma/PubUtilLib/plGImage/plMipmap.cpp
  26. 6
      Sources/Plasma/PubUtilLib/plGImage/plWinFontCache.cpp
  27. 63
      Sources/Plasma/PubUtilLib/plUnifiedTime/plUnifiedTime.cpp

4
Sources/Plasma/Apps/CMakeLists.txt

@ -0,0 +1,4 @@
add_definitions(-D_LIB) # We shouldn't actually need this here, but
# Cyan uses it, so meh
add_subdirectory(plClient)

160
Sources/Plasma/Apps/plClient/CMakeLists.txt

@ -0,0 +1,160 @@
include_directories("../../Apps")
include_directories("../../CoreLib")
include_directories("../../FeatureLib/inc")
include_directories("../../FeatureLib")
include_directories("../../NucleusLib/inc")
include_directories("../../NucleusLib")
include_directories("../../PubUtilLib/inc")
include_directories("../../PubUtilLib")
include_directories(${OPENAL_INCLUDE_DIR})
include_directories(${OPENSSL_INCLUDE_DIR})
include_directories(${PYTHON_INCLUDE_DIR})
set(plClient_HEADERS
plClient.h
plClientCreatable.h
#plClientKey.h
plClientUpdateFormat.h
#plPluginClient.h
)
set(plClient_SOURCES
pfAllCreatables.cpp
plAllCreatables.cpp
plClient.cpp
#plClientKey.cpp
#plPluginClient.cpp
pnAllCreatables.cpp
winmain.cpp
)
set(plClient_TEXT
../../../../Docs/ReleaseNotes/ReleaseNotes.txt
)
set(plClient_RESOURCES
res/plClient.rc
res/resource.h
)
add_executable(plClient WIN32 ${plClient_SOURCES} ${plClient_HEADERS}
${plClient_TEXT} ${plClient_RESOURCES})
target_link_libraries(plClient CoreLib)
target_link_libraries(plClient CoreLibExe)
target_link_libraries(plClient pfAnimation)
target_link_libraries(plClient pfAudio)
target_link_libraries(plClient pfCamera)
target_link_libraries(plClient pfCCR)
target_link_libraries(plClient pfCharacter)
target_link_libraries(plClient pfConditional)
target_link_libraries(plClient pfConsole)
target_link_libraries(plClient pfCsrSrv)
target_link_libraries(plClient pfGameGUIMgr)
target_link_libraries(plClient pfGameMgr)
target_link_libraries(plClient pfGameScoreMgr)
target_link_libraries(plClient pfJournalBook)
target_link_libraries(plClient pfLocalizationMgr)
target_link_libraries(plClient pfMessage)
target_link_libraries(plClient pfPython)
target_link_libraries(plClient pfSecurePreloader)
target_link_libraries(plClient pfStackTrace)
target_link_libraries(plClient pfSurface)
target_link_libraries(plClient plAgeDescription)
target_link_libraries(plClient plAgeLoader)
target_link_libraries(plClient plAudible)
target_link_libraries(plClient plAudio)
target_link_libraries(plClient plAudioCore)
target_link_libraries(plClient plAvatar)
#target_link_libraries(plClient plClientKey)
target_link_libraries(plClient plCompression)
target_link_libraries(plClient plContainer)
target_link_libraries(plClient plDrawable)
target_link_libraries(plClient plEncryption)
target_link_libraries(plClient plFile)
target_link_libraries(plClient plGImage)
target_link_libraries(plClient plGLight)
target_link_libraries(plClient plInputCore)
target_link_libraries(plClient plInterp)
target_link_libraries(plClient plIntersect)
target_link_libraries(plClient plJPEG)
target_link_libraries(plClient plMath)
target_link_libraries(plClient plMessage)
target_link_libraries(plClient plModifier)
target_link_libraries(plClient plNetClient)
target_link_libraries(plClient plNetClientComm)
target_link_libraries(plClient plNetClientRecorder)
target_link_libraries(plClient plNetCommon)
target_link_libraries(plClient plNetGameLib)
target_link_libraries(plClient plNetMessage)
target_link_libraries(plClient plNetTransport)
target_link_libraries(plClient plParticleSystem)
target_link_libraries(plClient plPhysical)
target_link_libraries(plClient plPhysX)
target_link_libraries(plClient plPipeline)
target_link_libraries(plClient plProgressMgr)
target_link_libraries(plClient plResMgr)
target_link_libraries(plClient plScene)
target_link_libraries(plClient plSDL)
target_link_libraries(plClient plSockets)
target_link_libraries(plClient plStatGather)
target_link_libraries(plClient plStatusLog)
target_link_libraries(plClient plStreamLogger)
target_link_libraries(plClient plSurface)
target_link_libraries(plClient plTransform)
target_link_libraries(plClient plUnifiedTime)
target_link_libraries(plClient plUUID)
target_link_libraries(plClient plVault)
target_link_libraries(plClient pnAddrInfo)
target_link_libraries(plClient pnAsyncCore)
target_link_libraries(plClient pnAsyncCoreExe)
target_link_libraries(plClient pnCsrNet)
target_link_libraries(plClient pnDispatch)
target_link_libraries(plClient pnFactory)
target_link_libraries(plClient pnGameMgr)
target_link_libraries(plClient pnIni)
target_link_libraries(plClient pnIniExe)
target_link_libraries(plClient pnInputCore)
target_link_libraries(plClient pnKeyedObject)
target_link_libraries(plClient pnMessage)
target_link_libraries(plClient pnModifier)
target_link_libraries(plClient pnNetBase)
target_link_libraries(plClient pnNetCli)
target_link_libraries(plClient pnNetCommon)
target_link_libraries(plClient pnNetProtocol)
target_link_libraries(plClient pnNucleusInc)
target_link_libraries(plClient pnProduct)
target_link_libraries(plClient pnSceneObject)
target_link_libraries(plClient pnSimpleNet)
target_link_libraries(plClient pnTimer)
target_link_libraries(plClient pnUtils)
target_link_libraries(plClient pnUtilsExe)
target_link_libraries(plClient ${PYTHON_LIBRARY})
target_link_libraries(plClient ${PYTHON_DEBUG_LIBRARY})
target_link_libraries(plClient ${OPENAL_LIBRARY})
target_link_libraries(plClient ${OPENSSL_LIBRARIES})
target_link_libraries(plClient ${EXPAT_LIBRARY})
target_link_libraries(plClient ${JPEG_LIBRARY})
target_link_libraries(plClient ${Speex_LIBRARY})
target_link_libraries(plClient ${PHYSX_LIBRARIES})
target_link_libraries(plClient ${Ogg_LIBRARIES})
target_link_libraries(plClient ${Vorbis_LIBRARIES})
target_link_libraries(plClient ws2_32)
target_link_libraries(plClient winhttp)
target_link_libraries(plClient version)
target_link_libraries(plClient rpcrt4)
target_link_libraries(plClient vfw32)
target_link_libraries(plClient d3d9)
target_link_libraries(plClient d3dx9)
target_link_libraries(plClient ddraw)
target_link_libraries(plClient dinput8)
target_link_libraries(plClient dsound)
target_link_libraries(plClient dxerr9)
target_link_libraries(plClient dxguid)
target_link_libraries(plClient strmiids)
source_group("Source Files" FILES ${plClient_SOURCES})
source_group("Header Files" FILES ${plClient_HEADERS})
source_group("Text" FILES ${plClient_TEXT})
source_group("Resource Files" FILES ${plClient_RESOURCES})

204
Sources/Plasma/Apps/plClient/plClient.cpp

@ -45,120 +45,120 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "hsWindowHndl.h" #include "hsWindowHndl.h"
#include "plClient.h" #include "plClient.h"
#include "hsStream.h" #include "hsStream.h"
#include "../plResMgr/plResManager.h" #include "plResMgr/plResManager.h"
#include "../plResMgr/plKeyFinder.h" #include "plResMgr/plKeyFinder.h"
#include "../pnKeyedObject/plKey.h" #include "pnKeyedObject/plKey.h"
#include "../pnKeyedObject/plFixedKey.h" #include "pnKeyedObject/plFixedKey.h"
#include "../pnMessage/plRefMsg.h" #include "pnMessage/plRefMsg.h"
#include "../pnSceneObject/plSceneObject.h" #include "pnSceneObject/plSceneObject.h"
#include "../pnSceneObject/plCoordinateInterface.h" #include "pnSceneObject/plCoordinateInterface.h"
#include "../plScene/plSceneNode.h" #include "plScene/plSceneNode.h"
#include "../pnMessage/plTimeMsg.h" #include "pnMessage/plTimeMsg.h"
#include "../pnMessage/plClientMsg.h" #include "pnMessage/plClientMsg.h"
#include "../pfCamera/plVirtualCamNeu.h" #include "pfCamera/plVirtualCamNeu.h"
#include "hsTimer.h" #include "hsTimer.h"
#include "../plPipeline/hsG3DDeviceSelector.h" #include "plPipeline/hsG3DDeviceSelector.h"
#include "../plFile/plEncryptedStream.h" #include "plFile/plEncryptedStream.h"
#include "../plFile/plFileUtils.h" #include "plFile/plFileUtils.h"
#include "../plInputCore/plInputManager.h" #include "plInputCore/plInputManager.h"
#include "../plInputCore/plInputInterfaceMgr.h" #include "plInputCore/plInputInterfaceMgr.h"
#include "../plInputCore/plInputDevice.h" #include "plInputCore/plInputDevice.h"
#include "../plPhysX/plSimulationMgr.h" #include "plPhysX/plSimulationMgr.h"
#include "../plNetClient/plNetClientMgr.h" #include "plNetClient/plNetClientMgr.h"
#include "../plAvatar/plAvatarMgr.h" #include "plAvatar/plAvatarMgr.h"
#include "../plScene/plRelevanceMgr.h" #include "plScene/plRelevanceMgr.h"
#include "../pnTimer/plTimerCallbackManager.h" #include "pnTimer/plTimerCallbackManager.h"
#include "../pfAudio/plListener.h" #include "pfAudio/plListener.h"
#include "../pnMessage/plCmdIfaceModMsg.h" #include "pnMessage/plCmdIfaceModMsg.h"
#include "../plMessage/plRoomLoadNotifyMsg.h" #include "plMessage/plRoomLoadNotifyMsg.h"
#include "../pnMessage/plPlayerPageMsg.h" #include "pnMessage/plPlayerPageMsg.h"
#include "../pnMessage/plCameraMsg.h" #include "pnMessage/plCameraMsg.h"
#include "../plMessage/plTransitionMsg.h" #include "plMessage/plTransitionMsg.h"
#include "../plMessage/plLinkToAgeMsg.h" #include "plMessage/plLinkToAgeMsg.h"
#include "../plMessage/plPreloaderMsg.h" #include "plMessage/plPreloaderMsg.h"
#include "../plMessage/plNetCommMsgs.h" #include "plMessage/plNetCommMsgs.h"
#include "../plMessage/plAgeLoadedMsg.h" #include "plMessage/plAgeLoadedMsg.h"
#include "../pfConsole/pfConsoleEngine.h" #include "pfConsole/pfConsoleEngine.h"
#include "../pfConsole/pfConsole.h" #include "pfConsole/pfConsole.h"
#include "../pfConsole/pfConsoleDirSrc.h" #include "pfConsole/pfConsoleDirSrc.h"
#include "../plScene/plPageTreeMgr.h" #include "plScene/plPageTreeMgr.h"
#include "../plScene/plVisMgr.h" #include "plScene/plVisMgr.h"
#include "../plFile/hsFiles.h" #include "plFile/hsFiles.h"
#include "../pfKI/pfKI.h" #include "pfKI/pfKI.h"
#include "../plAudio/plAudioSystem.h" #include "plAudio/plAudioSystem.h"
#include "../plAudio/plAudioCaps.h" #include "plAudio/plAudioCaps.h"
#include "../plStatGather/plProfileManagerFull.h" #include "plStatGather/plProfileManagerFull.h"
#include "plPipeline.h" #include "plPipeline.h"
#include "../plPipeline/plPipelineCreate.h" #include "plPipeline/plPipelineCreate.h"
#include "../plPipeline/plPipeDebugFlags.h" #include "plPipeline/plPipeDebugFlags.h"
#include "../plPipeline/plTransitionMgr.h" #include "plPipeline/plTransitionMgr.h"
#include "../plPipeline/plCaptureRender.h" #include "plPipeline/plCaptureRender.h"
#include "../plPipeline/plDynamicEnvMap.h" #include "plPipeline/plDynamicEnvMap.h"
#include "../plNetClient/plLinkEffectsMgr.h" #include "plNetClient/plLinkEffectsMgr.h"
#include "../plAvatar/plAvatarClothing.h" #include "plAvatar/plAvatarClothing.h"
#include "../plAvatar/plArmatureMod.h" #include "plAvatar/plArmatureMod.h"
#include "../pnMessage/plProxyDrawMsg.h" #include "pnMessage/plProxyDrawMsg.h"
#include "../plScene/plRenderRequest.h" #include "plScene/plRenderRequest.h"
#include "../plDrawable/plAccessGeometry.h" #include "plDrawable/plAccessGeometry.h"
#include "plPipeResReq.h" #include "plPipeResReq.h"
#include "../plDrawable/plVisLOSMgr.h" #include "plDrawable/plVisLOSMgr.h"
#include "../plGImage/plBitmap.h" #include "plGImage/plBitmap.h"
#include "../plStatusLog/plStatusLog.h" #include "plStatusLog/plStatusLog.h"
#include "../plProgressMgr/plProgressMgr.h" #include "plProgressMgr/plProgressMgr.h"
#include "../plPipeline/plDTProgressMgr.h" #include "plPipeline/plDTProgressMgr.h"
#include "../plPipeline/plBinkPlayer.h" #include "plPipeline/plBinkPlayer.h"
#include "../pfMoviePlayer/plMoviePlayer.h" #include "pfMoviePlayer/plMoviePlayer.h"
#include "../plMessage/plMovieMsg.h" #include "plMessage/plMovieMsg.h"
#include "../plSDL/plSDL.h" #include "plSDL/plSDL.h"
#include "../pnDispatch/plDispatch.h" #include "pnDispatch/plDispatch.h"
#include "../pnDispatch/plDispatchLogBase.h" #include "pnDispatch/plDispatchLogBase.h"
#include "../pfGameGUIMgr/pfGameGUIMgr.h" #include "pfGameGUIMgr/pfGameGUIMgr.h"
#include "../pfPython/cyMisc.h" #include "pfPython/cyMisc.h"
#include "../plMessage/plInputEventMsg.h" #include "plMessage/plInputEventMsg.h"
#include "../plMessage/plRenderRequestMsg.h" #include "plMessage/plRenderRequestMsg.h"
#include "../pnMessage/plEventCallbackMsg.h" #include "pnMessage/plEventCallbackMsg.h"
#include "../plModifier/plSimpleModifier.h" #include "plModifier/plSimpleModifier.h"
#include "plAudible.h" #include "plAudible.h"
#include "../plMessage/plAnimCmdMsg.h" #include "plMessage/plAnimCmdMsg.h"
#include "../pnMessage/plSoundMsg.h" #include "pnMessage/plSoundMsg.h"
#include "../pnMessage/plAudioSysMsg.h" #include "pnMessage/plAudioSysMsg.h"
#include "../plMessage/plRenderMsg.h" #include "plMessage/plRenderMsg.h"
#include "../plAgeLoader/plResPatcher.h" #include "plAgeLoader/plResPatcher.h"
#include "../pfPython/cyPythonInterface.h" #include "pfPython/cyPythonInterface.h"
#include "../plUnifiedTime/plClientUnifiedTime.h" #include "plUnifiedTime/plClientUnifiedTime.h"
#include "../pfAnimation/plAnimDebugList.h" #include "pfAnimation/plAnimDebugList.h"
#include "../pfGameGUIMgr/pfGUICtrlGenerator.h" #include "pfGameGUIMgr/pfGUICtrlGenerator.h"
#include "../plGImage/plWinFontCache.h" #include "plGImage/plWinFontCache.h"
#include "../plGImage/plFontCache.h" #include "plGImage/plFontCache.h"
#include "../pfJournalBook/pfJournalBook.h" #include "pfJournalBook/pfJournalBook.h"
#include "../plAvatar/plAGAnimInstance.h" #include "plAvatar/plAGAnimInstance.h"
#include "../plAgeLoader/plAgeLoader.h" #include "plAgeLoader/plAgeLoader.h"
#include "../plClientKey/plClientKey.h" #include "plClientKey/plClientKey.h"
#include "../CoreLib/plQuality.h" #include "CoreLib/plQuality.h"
#include "../plGLight/plShadowCaster.h" #include "plGLight/plShadowCaster.h"
#include "../plNetClient/plNetLinkingMgr.h" #include "plNetClient/plNetLinkingMgr.h"
#include "../plNetCommon/plNetCommonConstants.h" #include "plNetCommon/plNetCommonConstants.h"
#include "../plNetGameLib/plNetGameLib.h" #include "plNetGameLib/plNetGameLib.h"
#include "../pfSecurePreloader/pfSecurePreloader.h" #include "pfSecurePreloader/pfSecurePreloader.h"
#include "../pfLocalizationMgr/pfLocalizationMgr.h" #include "pfLocalizationMgr/pfLocalizationMgr.h"
#include "../pfCsrSrv/pfCsrSrv.h" #include "pfCsrSrv/pfCsrSrv.h"
#include "plTweak.h" #include "plTweak.h"

2
Sources/Plasma/Apps/plClient/plClientCreatable.h

@ -43,7 +43,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef plClientCreatable_inc #ifndef plClientCreatable_inc
#define plClientCreatable_inc #define plClientCreatable_inc
#include "../pnFactory/plCreator.h" #include "pnFactory/plCreator.h"
#include "plClient.h" #include "plClient.h"

30
Sources/Plasma/Apps/plClient/winmain.cpp

@ -54,25 +54,25 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "hsStream.h" #include "hsStream.h"
#include "hsUtils.h" #include "hsUtils.h"
#include "plClient.h" #include "plClient.h"
#include "../plClientResMgr/plClientResMgr.h" #include "plClientResMgr/plClientResMgr.h"
#include "../plNetClient/plNetClientMgr.h" #include "plNetClient/plNetClientMgr.h"
#include "../plNetClient/plNetLinkingMgr.h" #include "plNetClient/plNetLinkingMgr.h"
#include "../plInputCore/plInputManager.h" #include "plInputCore/plInputManager.h"
#include "../plInputCore/plInputDevice.h" #include "plInputCore/plInputDevice.h"
#include "../plUnifiedTime/plUnifiedTime.h" #include "plUnifiedTime/plUnifiedTime.h"
#include "plPipeline.h" #include "plPipeline.h"
#include "../plResMgr/plResManager.h" #include "plResMgr/plResManager.h"
#include "../plResMgr/plLocalization.h" #include "plResMgr/plLocalization.h"
#include "../plFile/plEncryptedStream.h" #include "plFile/plEncryptedStream.h"
#include "../plStatusLog/plStatusLog.h" #include "plStatusLog/plStatusLog.h"
#include "../pnProduct/pnProduct.h" #include "pnProduct/pnProduct.h"
#include "../plNetGameLib/plNetGameLib.h" #include "plNetGameLib/plNetGameLib.h"
#include "../plFile/plFileUtils.h" #include "plFile/plFileUtils.h"
#include "../plPhysX/plSimulationMgr.h" #include "plPhysX/plSimulationMgr.h"
#include "res\resource.h" #include "res/resource.h"
#include <shellapi.h> #include <shellapi.h>
#include "WinHttp.h" #include "WinHttp.h"

2
Sources/Plasma/Apps/plClientPatcher/UruPlayer.cpp

@ -494,7 +494,7 @@ static void ProcessManifestEntry (void * param, ENetError error) {
s_workingDir, s_workingDir,
p->mr->manifest[p->index].clientName p->mr->manifest[p->index].clientName
); );
dword start = TimeGetTime() / kTimeIntervalsPerMs; dword start = (dword)(TimeGetTime() / kTimeIntervalsPerMs);
if(!MD5Check(path, p->mr->manifest[p->index].md5)) { if(!MD5Check(path, p->mr->manifest[p->index].md5)) {
p->mr->critsect.Enter(); p->mr->critsect.Enter();
p->mr->indices.Add(p->index); p->mr->indices.Add(p->index);

1
Sources/Plasma/CMakeLists.txt

@ -1,3 +1,4 @@
add_subdirectory(Apps)
add_subdirectory(CoreLib) add_subdirectory(CoreLib)
add_subdirectory(CoreLibExe) add_subdirectory(CoreLibExe)
add_subdirectory(FeatureLib) add_subdirectory(FeatureLib)

28
Sources/Plasma/FeatureLib/inc/pfAllCreatables.h

@ -44,21 +44,21 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#define pfAllCreatables_inc #define pfAllCreatables_inc
#include "../pfCharacter/pfCharacterCreatable.h" #include "pfCharacter/pfCharacterCreatable.h"
#include "../pfCamera/pfCameraCreatable.h" #include "pfCamera/pfCameraCreatable.h"
#include "../pfAnimation/pfAnimationCreatable.h" #include "pfAnimation/pfAnimationCreatable.h"
#include "../pfConditional/plConditionalObjectCreatable.h" #include "pfConditional/plConditionalObjectCreatable.h"
#include "../pfConsole/pfConsoleCreatable.h" #include "pfConsole/pfConsoleCreatable.h"
#include "../pfSurface/pfSurfaceCreatable.h" #include "pfSurface/pfSurfaceCreatable.h"
#include "../pfMessage/pfMessageCreatable.h" #include "pfMessage/pfMessageCreatable.h"
#include "../pfAudio/pfAudioCreatable.h" #include "pfAudio/pfAudioCreatable.h"
#include "../pfPython/pfPythonCreatable.h" #include "pfPython/pfPythonCreatable.h"
#include "../pfGameGUIMgr/pfGameGUIMgrCreatable.h" #include "pfGameGUIMgr/pfGameGUIMgrCreatable.h"
#ifdef PLASMA_CCR_RELEASE #ifdef PLASMA_CCR_RELEASE
#include "../pfCCR/plCCRCreatable.h" #include "pfCCR/plCCRCreatable.h"
#endif // PLASMA_CCR_RELEASE #endif // PLASMA_CCR_RELEASE
#include "../pfJournalBook/pfJournalBookCreatable.h" #include "pfJournalBook/pfJournalBookCreatable.h"
#include "../pfGameMgr/pfGameMgrCreatables.h" #include "pfGameMgr/pfGameMgrCreatables.h"
#include "../pfSecurePreloader/pfSecurePreloaderCreatable.h" #include "pfSecurePreloader/pfSecurePreloaderCreatable.h"
#endif // pfAllCreatables_inc #endif // pfAllCreatables_inc

1
Sources/Plasma/FeatureLib/pfGameGUIMgr/CMakeLists.txt

@ -15,6 +15,7 @@ set(pfGameGUIMgr_SOURCES
pfGUIDialogMod.cpp pfGUIDialogMod.cpp
pfGUIDialogNotifyProc.cpp pfGUIDialogNotifyProc.cpp
pfGUIDragBarCtrl.cpp pfGUIDragBarCtrl.cpp
pfGUIDraggableMod.cpp
pfGUIDynDisplayCtrl.cpp pfGUIDynDisplayCtrl.cpp
pfGUIEditBoxMod.cpp pfGUIEditBoxMod.cpp
pfGUIKnobCtrl.cpp pfGUIKnobCtrl.cpp

4
Sources/Plasma/FeatureLib/pfPython/CMakeLists.txt

@ -209,6 +209,7 @@ set(pfPython_GLUE
pyColorGlue.cpp pyColorGlue.cpp
pyCritterBrainGlue.cpp pyCritterBrainGlue.cpp
pyDniCoordinatesGlue.cpp pyDniCoordinatesGlue.cpp
pyDniInfoSourceGlue.cpp
pyDrawControlGlue.cpp pyDrawControlGlue.cpp
pyDynamicTextGlue.cpp pyDynamicTextGlue.cpp
pyGameScoreGlue.cpp pyGameScoreGlue.cpp
@ -278,6 +279,7 @@ set(pfPython_GAME_GLUE
Games/pyGameMgrMsg.cpp Games/pyGameMgrMsg.cpp
Games/pyGameMgrMsg.h Games/pyGameMgrMsg.h
Games/pyGameMgrMsg.cpp Games/pyGameMgrMsg.cpp
Games/pyGameMgrMsgGlue.cpp
) )
set(pfPython_TTT set(pfPython_TTT
@ -295,7 +297,7 @@ set(pfPython_HEEK
Games/Heek/pyHeekGameGlue.cpp Games/Heek/pyHeekGameGlue.cpp
Games/Heek/pyHeekMsg.cpp Games/Heek/pyHeekMsg.cpp
Games/Heek/pyHeekMsg.h Games/Heek/pyHeekMsg.h
Games/Heek/pyHeekGameGlue.cpp Games/Heek/pyHeekMsgGlue.cpp
) )
set(pfPython_MARKER set(pfPython_MARKER

1
Sources/Plasma/NucleusLib/pnNetCommon/CMakeLists.txt

@ -27,6 +27,7 @@ set(pnNetCommon_SOURCES
plSDLTypes.cpp plSDLTypes.cpp
plSynchedObject.cpp plSynchedObject.cpp
plSynchedValue.cpp plSynchedValue.cpp
pnNetCommon.cpp
) )
add_library(pnNetCommon STATIC ${pnNetCommon_HEADERS} ${pnNetCommon_SOURCES}) add_library(pnNetCommon STATIC ${pnNetCommon_HEADERS} ${pnNetCommon_SOURCES})

2
Sources/Plasma/PubUtilLib/CMakeLists.txt

@ -14,7 +14,7 @@ add_subdirectory(plEncryption)
add_subdirectory(plFile) add_subdirectory(plFile)
#add_subdirectory(plGClip) # Not being used by any current slns #add_subdirectory(plGClip) # Not being used by any current slns
#add_subdirectory(plGeometry) # Not being used by any current slns #add_subdirectory(plGeometry) # Not being used by any current slns
#add_subdirectory(plGImage) add_subdirectory(plGImage)
add_subdirectory(plGLight) add_subdirectory(plGLight)
#add_subdirectory(plGRenderProcs) # Not being used by any current slns #add_subdirectory(plGRenderProcs) # Not being used by any current slns
add_subdirectory(plInputCore) add_subdirectory(plInputCore)

47
Sources/Plasma/PubUtilLib/plGImage/CMakeLists.txt

@ -0,0 +1,47 @@
include_directories("../../CoreLib")
include_directories("../../NucleusLib/inc")
include_directories("../../NucleusLib")
include_directories("../../PubUtilLib")
set(plGImage_SOURCES
hsCodecManager.cpp
hsDXTDirectXCodec.cpp
hsDXTSoftwareCodec.cpp
plAVIWriter.cpp
plBitmap.cpp
plBumpMapGen.cpp
plCubicEnvironmap.cpp
plDynamicTextMap.cpp
plDynSurfaceWriter.cpp
plFont.cpp
plFontCache.cpp
plLODMipmap.cpp
plMipmap.cpp
plTGAWriter.cpp
plWinFontCache.cpp
)
set(plGImage_HEADERS
hsCodecManager.h
hsDXTDirectXCodec.h
hsDXTSoftwareCodec.h
hsRect.h
plAVIWriter.h
plBitmap.h
plBumpMapGen.h
plCubicEnvironmap.h
plDynamicTextMap.h
plDynSurfaceWriter.h
plFont.h
plFontCache.h
plGImageCreatable.h
plLODMipmap.h
plMipmap.h
plTGAWriter.h
plWinFontCache.h
)
add_library(plGImage STATIC ${plGImage_SOURCES} ${plGImage_HEADERS})
source_group("Source Files" FILES ${plGImage_SOURCES})
source_group("Header Files" FILES ${plGImage_HEADERS})

2
Sources/Plasma/PubUtilLib/plGImage/hsDXTDirectXCodec.cpp

@ -61,7 +61,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "hsDXTDirectXCodec.h" #include "hsDXTDirectXCodec.h"
#include "plMipmap.h" #include "plMipmap.h"
#include "hsCodecManager.h" #include "hsCodecManager.h"
#include "../plPipeline/hsGDDrawDllLoad.h" #include "plPipeline/hsGDDrawDllLoad.h"
namespace { namespace {
typedef HRESULT(WINAPI * DIRECTDRAWCREATEEX)( GUID*, VOID**, REFIID, IUnknown* ); typedef HRESULT(WINAPI * DIRECTDRAWCREATEEX)( GUID*, VOID**, REFIID, IUnknown* );

6
Sources/Plasma/PubUtilLib/plGImage/plAVIWriter.cpp

@ -48,10 +48,10 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "hsTimer.h" #include "hsTimer.h"
#include "plMipmap.h" #include "plMipmap.h"
#include "../plMessage/plRenderMsg.h" #include "plMessage/plRenderMsg.h"
#include "plPipeline.h" #include "plPipeline.h"
#include "../pnDispatch/plDispatch.h" #include "pnDispatch/plDispatch.h"
#include "../pnKeyedObject/plFixedKey.h" #include "pnKeyedObject/plFixedKey.h"
bool plAVIWriter::fInitialized = false; bool plAVIWriter::fInitialized = false;

4
Sources/Plasma/PubUtilLib/plGImage/plAVIWriter.h

@ -42,7 +42,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef plAVIWriter_h_inc #ifndef plAVIWriter_h_inc
#define plAVIWriter_h_inc #define plAVIWriter_h_inc
#include "../pnKeyedObject/hsKeyedObject.h" #include "pnKeyedObject/hsKeyedObject.h"
class plPipeline; class plPipeline;
@ -68,4 +68,4 @@ public:
virtual void Close()=0; virtual void Close()=0;
}; };
#endif // plAVIWriter_h_inc #endif // plAVIWriter_h_inc

12
Sources/Plasma/PubUtilLib/plGImage/plBitmap.cpp

@ -57,8 +57,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "hsResMgr.h" #include "hsResMgr.h"
#include "hsStream.h" #include "hsStream.h"
#include "../pnKeyedObject/plKey.h" #include "pnKeyedObject/plKey.h"
#include "../plPipeline/hsGDeviceRef.h" #include "plPipeline/hsGDeviceRef.h"
//// Static Members /////////////////////////////////////////////////////////// //// Static Members ///////////////////////////////////////////////////////////
@ -113,8 +113,8 @@ UInt32 plBitmap::Read( hsStream *s )
fFlags = s->ReadSwap16(); fFlags = s->ReadSwap16();
fCompressionType = s->ReadByte(); fCompressionType = s->ReadByte();
if( fCompressionType == kUncompressed || fCompressionType == kJPEGCompression || if( (fCompressionType == kUncompressed) || (fCompressionType == kJPEGCompression) ||
fCompressionType == kPNGCompression ) (fCompressionType == kPNGCompression) )
{ {
fUncompressedInfo.fType = s->ReadByte(); fUncompressedInfo.fType = s->ReadByte();
read++; read++;
@ -146,8 +146,8 @@ UInt32 plBitmap::Write( hsStream *s )
s->WriteSwap16( fFlags ); s->WriteSwap16( fFlags );
s->WriteByte( fCompressionType ); s->WriteByte( fCompressionType );
if( fCompressionType == kUncompressed || fCompressionType == kJPEGCompression || if( (fCompressionType == kUncompressed) || (fCompressionType == kJPEGCompression) ||
fCompressionType == kPNGCompression ) (fCompressionType == kPNGCompression) )
{ {
s->WriteByte( fUncompressedInfo.fType ); s->WriteByte( fUncompressedInfo.fType );
written++; written++;

8
Sources/Plasma/PubUtilLib/plGImage/plDynSurfaceWriter.cpp

@ -62,10 +62,10 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "hsExceptions.h" #include "hsExceptions.h"
#include "hsUtils.h" #include "hsUtils.h"
#include "hsMatrix44.h" #include "hsMatrix44.h"
#include "../plMessage/plDynamicTextMsg.h" #include "plMessage/plDynamicTextMsg.h"
#include "../pnKeyedObject/plKey.h" #include "pnKeyedObject/plKey.h"
#include "plProfile.h" #include "plProfile.h"
#include "../plStatusLog/plStatusLog.h" #include "plStatusLog/plStatusLog.h"
#include "plWinFontCache.h" #include "plWinFontCache.h"
@ -1122,4 +1122,4 @@ void plDynSurfaceWriter::DrawClippedImage( UInt16 x, UInt16 y, plMipmap *image,
::DeleteObject( brush ); ::DeleteObject( brush );
} }
} }
*/ */

10
Sources/Plasma/PubUtilLib/plGImage/plDynamicTextMap.cpp

@ -58,14 +58,14 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "hsExceptions.h" #include "hsExceptions.h"
#include "hsUtils.h" #include "hsUtils.h"
#include "hsMatrix44.h" #include "hsMatrix44.h"
#include "../plPipeline/hsGDeviceRef.h" #include "plPipeline/hsGDeviceRef.h"
#include "../plMessage/plDynamicTextMsg.h" #include "plMessage/plDynamicTextMsg.h"
#include "../pnKeyedObject/plKey.h" #include "pnKeyedObject/plKey.h"
#include "plProfile.h" #include "plProfile.h"
#include "../plStatusLog/plStatusLog.h" #include "plStatusLog/plStatusLog.h"
#include "plFont.h" #include "plFont.h"
#include "plFontCache.h" #include "plFontCache.h"
#include "../plResMgr/plLocalization.h" #include "plResMgr/plLocalization.h"
plProfile_CreateMemCounter("DynaTextMem", "PipeC", DynaTextMem); plProfile_CreateMemCounter("DynaTextMem", "PipeC", DynaTextMem);

2
Sources/Plasma/PubUtilLib/plGImage/plFont.h

@ -67,7 +67,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "hsTemplates.h" #include "hsTemplates.h"
#include "pcSmallRect.h" #include "pcSmallRect.h"
#include "../pnKeyedObject/hsKeyedObject.h" #include "pnKeyedObject/hsKeyedObject.h"
#include <wchar.h> #include <wchar.h>

8
Sources/Plasma/PubUtilLib/plGImage/plFontCache.cpp

@ -56,12 +56,12 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "plFontCache.h" #include "plFontCache.h"
#include "plFont.h" #include "plFont.h"
#include "../plStatusLog/plStatusLog.h" #include "plStatusLog/plStatusLog.h"
#include "../plFile/hsFiles.h" #include "plFile/hsFiles.h"
#include "../pnMessage/plRefMsg.h" #include "pnMessage/plRefMsg.h"
#include "hsResMgr.h" #include "hsResMgr.h"
#include "../pnKeyedObject/plUoid.h" #include "pnKeyedObject/plUoid.h"
char *plFontCache::kCustFontExtension = ".prf"; char *plFontCache::kCustFontExtension = ".prf";

2
Sources/Plasma/PubUtilLib/plGImage/plFontCache.h

@ -58,7 +58,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "hsTypes.h" #include "hsTypes.h"
#include "hsTemplates.h" #include "hsTemplates.h"
#include "../pnKeyedObject/hsKeyedObject.h" #include "pnKeyedObject/hsKeyedObject.h"
//// Class Definition ///////////////////////////////////////////////////////// //// Class Definition /////////////////////////////////////////////////////////

2
Sources/Plasma/PubUtilLib/plGImage/plGImageCreatable.h

@ -43,7 +43,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef plGImageCreatable_inc #ifndef plGImageCreatable_inc
#define plGImageCreatable_inc #define plGImageCreatable_inc
#include "../pnFactory/plCreator.h" #include "pnFactory/plCreator.h"
/* /*
#include "hsGMipmap.h" #include "hsGMipmap.h"

8
Sources/Plasma/PubUtilLib/plGImage/plLODMipmap.cpp

@ -44,11 +44,11 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "plLODMipmap.h" #include "plLODMipmap.h"
#include "hsResMgr.h" #include "hsResMgr.h"
#include "../pnKeyedObject/plKey.h" #include "pnKeyedObject/plKey.h"
#include "../pnKeyedObject/plUoid.h" #include "pnKeyedObject/plUoid.h"
#include "../pnMessage/plRefMsg.h" #include "pnMessage/plRefMsg.h"
#include "../plPipeline/hsGDeviceRef.h" #include "plPipeline/hsGDeviceRef.h"
plLODMipmap::plLODMipmap() plLODMipmap::plLODMipmap()

8
Sources/Plasma/PubUtilLib/plGImage/plMipmap.cpp

@ -57,9 +57,9 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "hsExceptions.h" #include "hsExceptions.h"
#include "hsUtils.h" #include "hsUtils.h"
#include "hsColorRGBA.h" #include "hsColorRGBA.h"
#include "../plPipeline/hsGDeviceRef.h" #include "plPipeline/hsGDeviceRef.h"
#include "plProfile.h" #include "plProfile.h"
#include "../plJPEG/plJPEG.h" #include "plJPEG/plJPEG.h"
#include "plPNG.h" #include "plPNG.h"
plProfile_CreateMemCounter("Mipmaps", "Memory", MemMipmaps); plProfile_CreateMemCounter("Mipmaps", "Memory", MemMipmaps);
@ -123,8 +123,8 @@ void plMipmap::Create( UInt32 width, UInt32 height, unsigned config, UInt8 numLe
} }
fCompressionType = compType; fCompressionType = compType;
if( compType == kUncompressed || compType == kJPEGCompression || if( (compType == kUncompressed) || (compType == kJPEGCompression) ||
compType == kPNGCompression ) (compType == kPNGCompression) )
{ {
fUncompressedInfo.fType = format; fUncompressedInfo.fType = format;
} }

6
Sources/Plasma/PubUtilLib/plGImage/plWinFontCache.cpp

@ -62,9 +62,9 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "hsWindows.h" #include "hsWindows.h"
#include "plWinFontCache.h" #include "plWinFontCache.h"
#include "../plStatusLog/plStatusLog.h" #include "plStatusLog/plStatusLog.h"
#include "../plFile/hsFiles.h" #include "plFile/hsFiles.h"
#include "../plGImage/plDynSurfaceWriter.h" #include "plGImage/plDynSurfaceWriter.h"
#if HS_BUILD_FOR_WIN32 #if HS_BUILD_FOR_WIN32

63
Sources/Plasma/PubUtilLib/plUnifiedTime/plUnifiedTime.cpp

@ -16,6 +16,12 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
You can contact Cyan Worlds, Inc. by email legal@cyan.com
or by snail mail at:
Cyan Worlds, Inc.
14617 N Newport Hwy
Mead, WA 99021^M
Additional permissions under GNU GPL version 3 section 7 Additional permissions under GNU GPL version 3 section 7
If you modify this Program, or any covered work, by linking or If you modify this Program, or any covered work, by linking or
@ -32,13 +38,8 @@ non-source form of such a combination shall include the source code for
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
work. work.
You can contact Cyan Worlds, Inc. by email legal@cyan.com /*==LICENSE==*
or by snail mail at:
Cyan Worlds, Inc.
14617 N Newport Hwy
Mead, WA 99021
*==LICENSE==*/
#include <float.h> #include <float.h>
#include "plUnifiedTime.h" #include "plUnifiedTime.h"
#include "hsStlUtils.h" #include "hsStlUtils.h"
@ -75,7 +76,7 @@ hsBool plUnifiedTime::SetFromWinFileTime(const FILETIME ft)
if (ffsecs >= MAGICWINDOWSOFFSET) // make sure we won't end up negatice if (ffsecs >= MAGICWINDOWSOFFSET) // make sure we won't end up negatice
{ {
fSecs = (time_t)(ffsecs-MAGICWINDOWSOFFSET); fSecs = (UInt32)(ffsecs-MAGICWINDOWSOFFSET);
fMicros = (UInt32)(ff % 10000000)/10; fMicros = (UInt32)(ff % 10000000)/10;
return true; return true;
} }
@ -216,14 +217,14 @@ const plUnifiedTime & plUnifiedTime::operator=(const plUnifiedTime * src)
const plUnifiedTime & plUnifiedTime::operator=(time_t src) const plUnifiedTime & plUnifiedTime::operator=(time_t src)
{ {
fSecs = src; fSecs = (UInt32)src;
fMicros = 0; fMicros = 0;
return *this; return *this;
} }
const plUnifiedTime & plUnifiedTime::operator=(unsigned long src) const plUnifiedTime & plUnifiedTime::operator=(unsigned long src)
{ {
fSecs = (time_t)src; fSecs = src;
fMicros = 0; fMicros = 0;
return *this; return *this;
} }
@ -238,7 +239,7 @@ const plUnifiedTime & plUnifiedTime::operator=(const struct timeval & src)
const plUnifiedTime & plUnifiedTime::operator=(const struct tm & src) const plUnifiedTime & plUnifiedTime::operator=(const struct tm & src)
{ {
struct tm atm = src; struct tm atm = src;
fSecs = mktime(&atm); fSecs = (UInt32)mktime(&atm); // this won't work after 2030 something, sorry
return *this; return *this;
} }
@ -247,19 +248,25 @@ void plUnifiedTime::SetSecsDouble(double secs)
hsAssert(secs>=0, "plUnifiedTime::SetSecsDouble negative time"); hsAssert(secs>=0, "plUnifiedTime::SetSecsDouble negative time");
double x,y; double x,y;
x = modf(secs,&y); x = modf(secs,&y);
fSecs = (time_t)y; fSecs = (UInt32)y;
fMicros = (UInt32)(x*1000000); fMicros = (UInt32)(x*1000000);
} }
void plUnifiedTime::FromMillis(UInt32 millis)
{
fSecs = millis/1000;
fMicros = 0;
}
void plUnifiedTime::ToCurrentTime() void plUnifiedTime::ToCurrentTime()
{ {
SetToUTC(); SetToUTC();
} }
hsBool plUnifiedTime::SetGMTime(short year, short month, short day, short hour, short minute, short second, unsigned long usec) hsBool plUnifiedTime::SetGMTime(short year, short month, short day, short hour, short minute, short second, unsigned long usec, int dst)
{ {
if( !SetTime( year, month, day, hour, minute, second, usec, 0 ) ) if( !SetTime( year, month, day, hour, minute, second, usec, dst ) )
return false; return false;
fSecs -= IGetLocalTimeZoneOffset(); fSecs -= IGetLocalTimeZoneOffset();
@ -278,7 +285,7 @@ hsBool plUnifiedTime::SetTime(short year, short month, short day, short hour, sh
atm.tm_mon = month - 1; atm.tm_mon = month - 1;
atm.tm_year = year - 1900; atm.tm_year = year - 1900;
atm.tm_isdst = dst; atm.tm_isdst = dst;
fSecs = mktime(&atm); fSecs = (UInt32)mktime(&atm); // this won't work after 2030 something, sorry
if (fSecs == -1) if (fSecs == -1)
return false; return false;
if (fMicros >= 1000000) if (fMicros >= 1000000)
@ -290,7 +297,7 @@ hsBool plUnifiedTime::SetTime(short year, short month, short day, short hour, sh
hsBool plUnifiedTime::GetTime(short &year, short &month, short &day, short &hour, short &minute, short &second) const hsBool plUnifiedTime::GetTime(short &year, short &month, short &day, short &hour, short &minute, short &second) const
{ {
struct tm* time = IGetTime(&fSecs); struct tm* time = IGetTime((const time_t *)&fSecs);
if (!time) if (!time)
return false; return false;
year = time->tm_year+1900; year = time->tm_year+1900;
@ -318,8 +325,8 @@ const char* plUnifiedTime::Print() const
const char* plUnifiedTime::PrintWMillis() const const char* plUnifiedTime::PrintWMillis() const
{ {
static std::string s; static std::string s;
xtl::format(s,"%s,s:%lu,ms:%d", xtl::format(s,"%s,s:%d,ms:%d",
Print(), (unsigned long)GetSecs(), GetMillis() ); Print(), GetSecs(), GetMillis() );
return s.c_str(); return s.c_str();
} }
@ -327,11 +334,11 @@ struct tm * plUnifiedTime::GetTm(struct tm * ptm) const
{ {
if (ptm != nil) if (ptm != nil)
{ {
*ptm = *IGetTime(&fSecs); *ptm = *IGetTime((const time_t *)&fSecs);
return ptm; return ptm;
} }
else else
return IGetTime(&fSecs); return IGetTime((const time_t *)&fSecs);
} }
int plUnifiedTime::GetYear() const int plUnifiedTime::GetYear() const
@ -377,12 +384,15 @@ double plUnifiedTime::GetSecsDouble() const
} }
#pragma optimize( "", on ) // restore optimizations to their defaults #pragma optimize( "", on ) // restore optimizations to their defaults
UInt32 plUnifiedTime::AsMillis()
{
return GetSecs()*1000;
}
void plUnifiedTime::Read(hsStream* s) void plUnifiedTime::Read(hsStream* s)
{ {
s->LogSubStreamStart("UnifiedTime"); s->LogSubStreamStart("UnifiedTime");
UInt32 secs; s->LogReadSwap(&fSecs,"Seconds");
s->LogReadSwap(&secs,"Seconds");
fSecs = (time_t)secs;
s->LogReadSwap(&fMicros,"MicroSeconds"); s->LogReadSwap(&fMicros,"MicroSeconds");
s->LogSubStreamEnd(); s->LogSubStreamEnd();
// preserve fMode // preserve fMode
@ -390,7 +400,7 @@ void plUnifiedTime::Read(hsStream* s)
void plUnifiedTime::Write(hsStream* s) const void plUnifiedTime::Write(hsStream* s) const
{ {
s->WriteSwap((UInt32)fSecs); s->WriteSwap(fSecs);
s->WriteSwap(fMicros); s->WriteSwap(fMicros);
// preserve fMode // preserve fMode
} }
@ -449,12 +459,7 @@ bool plUnifiedTime::operator>=(const plUnifiedTime & rhs) const
plUnifiedTime::operator timeval() const plUnifiedTime::operator timeval() const
{ {
#if HS_BUILD_FOR_WIN32
// tv_secs should be a time_t, but on Windows it is a long
struct timeval t = {(long)fSecs, (long)fMicros};
#else
struct timeval t = {fSecs, fMicros}; struct timeval t = {fSecs, fMicros};
#endif
return t; return t;
} }
@ -468,7 +473,7 @@ plUnifiedTime::operator struct tm() const
std::string plUnifiedTime::Format(const char * fmt) const std::string plUnifiedTime::Format(const char * fmt) const
{ {
char buf[128]; char buf[128];
struct tm * t = IGetTime(&fSecs); struct tm * t = IGetTime((const time_t *)&fSecs);
if (t == nil || if (t == nil ||
!strftime(buf, sizeof(buf), fmt, t)) !strftime(buf, sizeof(buf), fmt, t))
buf[0] = '\0'; buf[0] = '\0';

Loading…
Cancel
Save