diff --git a/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/Apps/plClient/plClient.cpp b/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/Apps/plClient/plClient.cpp index 3d2af9cc..de055c59 100644 --- a/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/Apps/plClient/plClient.cpp +++ b/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/Apps/plClient/plClient.cpp @@ -114,9 +114,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "../plStatusLog/plStatusLog.h" #include "../plProgressMgr/plProgressMgr.h" #include "../plPipeline/plDTProgressMgr.h" -#ifdef USE_BINK_SDK #include "../plPipeline/plBinkPlayer.h" -#endif #include "../plMessage/plMovieMsg.h" #include "../plSDL/plSDL.h" @@ -271,10 +269,8 @@ hsBool plClient::Shutdown() // Let the resmanager know we're going to be shutting down. hsgResMgr::ResMgr()->BeginShutdown(); -#ifdef USE_BINK_SDK // Must kill off all movies before shutting down audio. IKillMovies(); -#endif plgAudioSys::Activate(false); #ifdef USE_BINK_SDK @@ -822,13 +818,11 @@ hsBool plClient::MsgReceive(plMessage* msg) } return true; } -#ifdef USE_BINK_SDK plMovieMsg* mov = plMovieMsg::ConvertNoRef(msg); if( mov ) { return IHandleMovieMsg(mov); } -#endif // USE_BINK_SDK plLinkEffectsTriggerMsg* linkFX = plLinkEffectsTriggerMsg::ConvertNoRef(msg); if (linkFX) @@ -875,7 +869,6 @@ hsBool plClient::MsgReceive(plMessage* msg) return hsKeyedObject::MsgReceive(msg); } -#ifdef USE_BINK_SDK //============================================================================ hsBool plClient::IHandleMovieMsg(plMovieMsg* mov) { @@ -956,7 +949,6 @@ hsBool plClient::IHandleMovieMsg(plMovieMsg* mov) return true; } -#endif // USE_BINK_SDK int plClient::IFindRoomByLoc(const plLocation& loc) { @@ -1529,8 +1521,8 @@ hsBool plClient::StartInit() //if( GetDone() ) return false; IPlayIntroBink("avi/intro1.bik", 0.f, 0.f, 0.f, 1.f, 1.f, 0.75); if( GetDone() ) return false; - plgDispatch::Dispatch()->RegisterForExactType(plMovieMsg::Index(), GetKey()); #endif // USE_BINK_SDK + plgDispatch::Dispatch()->RegisterForExactType(plMovieMsg::Index(), GetKey()); // // Init Net before loading things @@ -1936,11 +1928,9 @@ hsBool plClient::IDraw() IProcessPostRenderRequests(); plProfile_EndTiming(PostRender); -#ifdef USE_BINK_SDK plProfile_BeginTiming(Movies); IServiceMovies(); plProfile_EndTiming(Movies); -#endif // USE_BINK_SDK #ifndef PLASMA_EXTERNAL_RELEASE plProfile_BeginTiming(Console); @@ -1971,7 +1961,6 @@ hsBool plClient::IDraw() return false; } -#ifdef USE_BINK_SDK void plClient::IServiceMovies() { int i; @@ -1986,9 +1975,7 @@ void plClient::IServiceMovies() } } } -#endif // USE_BINK_SDK -#ifdef USE_BINK_SDK void plClient::IKillMovies() { int i; @@ -1996,7 +1983,6 @@ void plClient::IKillMovies() delete fMovies[i]; fMovies.Reset(); } -#endif // USE_BINK_SDK #ifdef USE_BINK_SDK hsBool plClient::IPlayIntroBink(const char* movieName, hsScalar endDelay, hsScalar posX, hsScalar posY, hsScalar scaleX, hsScalar scaleY, hsScalar volume /* = 1.0 */) diff --git a/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/Apps/plClient/plClient.h b/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/Apps/plClient/plClient.h index 42913a0a..165760b2 100644 --- a/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/Apps/plClient/plClient.h +++ b/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/Apps/plClient/plClient.h @@ -78,9 +78,7 @@ class plFontCache; class plClientMsg; class plLocation; class plMovieMsg; -#ifdef USE_BINK_SDK class plBinkPlayer; -#endif class plPreloaderMsg; class plNetCommAuthMsg; class plAgeLoaded2Msg; @@ -152,9 +150,7 @@ protected: int fQuality; hsBool fQuitIntro; -#ifdef USE_BINK_SDK hsTArray fMovies; -#endif hsBool fPatchGlobalAges; @@ -197,10 +193,10 @@ protected: #ifdef USE_BINK_SDK hsBool IPlayIntroBink(const char* movieName, hsScalar endDelay, hsScalar posX, hsScalar posY, hsScalar scaleX, hsScalar scaleY, hsScalar volume = 1.0); +#endif // USE_BINK_SDK hsBool IHandleMovieMsg(plMovieMsg* mov); void IKillMovies(); void IServiceMovies(); -#endif // USE_BINK_SDK void IStartProgress( const char *title, hsScalar len ); void IIncProgress( hsScalar byHowMuch, const char *text ); diff --git a/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/PubUtilLib/plPipeline/plBinkPlayer.h b/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/PubUtilLib/plPipeline/plBinkPlayer.h new file mode 100644 index 00000000..7315df58 --- /dev/null +++ b/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/PubUtilLib/plPipeline/plBinkPlayer.h @@ -0,0 +1,132 @@ +/*==LICENSE==* + +CyanWorlds.com Engine - MMOG client, server and tools +Copyright (C) 2011 Cyan Worlds, Inc. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . + +Additional permissions under GNU GPL version 3 section 7 + +If you modify this Program, or any covered work, by linking or +combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK, +NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent +JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK +(or a modified version of those libraries), +containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA, +PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG +JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the +licensors of this Program grant you additional +permission to convey the resulting work. Corresponding Source for a +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 +work. + +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 + +*==LICENSE==*/ + +#ifndef plBinkPlayer_inc +#define plBinkPlayer_inc + +#include "HeadSpin.h" +#include "hsPoint2.h" +#include "hsTemplates.h" + +struct D3DVertex; +class plDXPipeline; +struct IDirect3DTexture9; +class plMessage; +struct IDirectSound8; + +class plBinkPlayer +{ + public: + + plBinkPlayer() : fFileName(nil) { } + ~plBinkPlayer() { delete [] fFileName; } + + static bool Init( hsWindowHndl hWnd) { return true; } + static bool DeInit() { return true; } + + static void SetForeGroundTrack(UInt32 t) { } + static void SetBackGroundTrack(UInt32 t) { } + static UInt32 GetForeGroundTrack() { } + static UInt32 GetBackGroundTrack() { } + + void SetDefaults() { } + + bool Start(plPipeline* pipe, hsWindowHndl hWnd) { return false; } + + bool NextFrame() { + // we have reached the end + return Stop(); + } + + bool Pause(bool on) { return false; } + + bool Stop() { + for (int i = 0; i < fCallbacks.GetCount(); i++) + fCallbacks[i]->Send(); + fCallbacks.Reset(); + delete [] fFileName; + fFileName = nil; + return false; + } + + void SetFileName(const char* filename) { + delete [] fFileName; + fFileName = hsStrcpy(filename); + } + void SetColor(const hsColorRGBA& c) { } + void SetPosition(float x, float y) { } + void SetScale(float x, float y) { } + void SetVolume(float v) { } + void SetForeVolume(float v) { } + void SetBackVolume(float v) { } + + void SetPosition(const hsPoint2& p) { } + void SetScale(const hsPoint2& s) { } + + const char* GetFileName() const { return fFileName; } + const hsColorRGBA GetColor() const { return hsColorRGBA(); } + const hsPoint2 GetPosition() const { return hsPoint2(); } + const hsPoint2 GetScale() const { return hsPoint2(); } + float GetBackVolume() const { return 0.0f; } + float GetForeVolume() const { return 0.0f; } + + void AddCallback(plMessage* msg) { hsRefCnt_SafeRef(msg); fCallbacks.Append(msg); } + UInt32 GetNumCallbacks() const { return 0; } + plMessage* GetCallback(int i) const { return nil; } + + void SetFadeFromTime(float secs) { } + void SetFadeFromColor(hsColorRGBA c) { } + + void SetFadeToTime(float secs) { } + void SetFadeToColor(hsColorRGBA c) { } + + float GetFadeFromTime() const { return 0.0f; } + hsColorRGBA GetFadeFromColor() const { return hsColorRGBA(); } + float GetFadeToTime() const { return 0.0f; } + hsColorRGBA GetFadeToColor() const { return hsColorRGBA(); } + + private: + char* fFileName; + hsTArray fCallbacks; +}; + +#endif // plBinkPlayer_inc