1
0
mirror of https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git synced 2025-07-17 10:52:46 +00:00

Build 918

This commit is contained in:
CyanWorlds
2013-07-05 15:28:19 -07:00
parent 68ba122afe
commit 46a0cf6206
808 changed files with 148802 additions and 77916 deletions

View File

@ -78,7 +78,9 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "../plSurface/plLayer.h"
#include "../plSurface/hsGMaterial.h"
#include "../plAgeLoader/plAgeLoader.h"
#ifdef USE_BINK_SDK
#include "../pfSurface/plLayerBink.h"
#endif
// So we can do image searches in our local age
#include "../plNetClient/plNetClientMgr.h"
@ -438,8 +440,8 @@ public:
pfBookMultiLineEditProc(pfBookData *owner) { bookData = owner; }
virtual ~pfBookMultiLineEditProc() {}
virtual OnEndOfControlList(Int32 cursorPos) { bookData->HitEndOfControlList(cursorPos); }
virtual OnBeginningOfControlList(Int32 cursorPos) { bookData->HitBeginningOfControlList(cursorPos); }
virtual void OnEndOfControlList(Int32 cursorPos) { bookData->HitEndOfControlList(cursorPos); }
virtual void OnBeginningOfControlList(Int32 cursorPos) { bookData->HitBeginningOfControlList(cursorPos); }
};
//// Book data class /////////////////////////////////////////////////////////
@ -1000,8 +1002,10 @@ void pfBookData::IFinishTriggeredFlip(hsBool wasBackwards)
if (fCurrBook)
{
fCurrBook->IRenderPage(fCurrBook->fCurrentPage, pfJournalDlgProc::kTagLeftDTMap);
#ifdef USE_BINK_SDK
// move the videos over
fCurrBook->IMoveMovies(PageMaterial(kTurnFrontPage),PageMaterial(kRightPage));
#endif // USE_BINK_SDK
}
}
else
@ -1022,8 +1026,10 @@ void pfBookData::IFinishTriggeredFlip(hsBool wasBackwards)
if (fCurrBook)
{
fCurrBook->IRenderPage(fCurrBook->fCurrentPage + 1, pfJournalDlgProc::kTagRightDTMap);
#ifdef USE_BINK_SDK
// move the videos over
fCurrBook->IMoveMovies(PageMaterial(kTurnBackPage),PageMaterial(kLeftPage));
#endif // USE_BINK_SDK
}
}
@ -1324,6 +1330,7 @@ void pfJournalBook::Show( hsBool startOpened /*= false */)
if (decal != nil)
layers.Append(IMakeDecalLayer(fCoverDecals[i],decal,mip));
}
#ifdef USE_BINK_SDK
else
{
// it's a cover movie, not a decal, so we make a layer, thinking it's at 0,0 and a left map (which gives us the results we want)
@ -1335,6 +1342,7 @@ void pfJournalBook::Show( hsBool startOpened /*= false */)
layers.Append(plLayerInterface::ConvertNoRef(movieLayer));
fVisibleLinks.Reset(); // remove any links that the make movie layer might have added, since a cover movie can't link
}
#endif
}
ISetDecalLayers(cover,layers);
}
@ -1394,6 +1402,7 @@ void pfJournalBook::Hide( void )
// purge the dynaTextMaps, we're done with them for now
IPurgeDynaTextMaps();
// nuke the movies so they don't stay in memory (they're big!)
#ifdef USE_BINK_SDK
int i;
for( i = 0; i < fLoadedMovies.GetCount(); i++ )
{
@ -1402,6 +1411,7 @@ void pfJournalBook::Hide( void )
delete fLoadedMovies[ i ];
}
fLoadedMovies.Reset();
#endif // USE_BINK_SDK
}
}
@ -1548,8 +1558,10 @@ void pfJournalBook::NextPage( void )
if( turnFront->GetDeviceRef() != nil )
turnFront->GetDeviceRef()->SetDirty( true );
}
#ifdef USE_BINK_SDK
// copy the videos over
IMoveMovies( fBookGUIs[fCurBookGUI]->PageMaterial(pfBookData::kRightPage), fBookGUIs[fCurBookGUI]->PageMaterial(pfBookData::kTurnFrontPage) );
#endif // USE_BINK_SDK
IRenderPage( fCurrentPage, pfJournalDlgProc::kTagTurnBackDTMap );
// This will fire a callback when it's done that'll let us continue the setup
@ -1616,8 +1628,10 @@ void pfJournalBook::PreviousPage( void )
if( turnBack->GetDeviceRef() != nil )
turnBack->GetDeviceRef()->SetDirty( true );
}
#ifdef USE_BINK_SDK
// copy the videos over
IMoveMovies( fBookGUIs[fCurBookGUI]->PageMaterial(pfBookData::kLeftPage), fBookGUIs[fCurBookGUI]->PageMaterial(pfBookData::kTurnBackPage) );
#endif // USE_BINK_SDK
IRenderPage( fCurrentPage + 1, pfJournalDlgProc::kTagTurnFrontDTMap );
// This will fire a callback when it's done that'll let us continue the setup
@ -2475,6 +2489,7 @@ void pfJournalBook::IFreeSource( void )
delete fCoverDecals[ i ];
fCoverDecals.Reset();
#ifdef USE_BINK_SDK
for( i = 0; i < fLoadedMovies.GetCount(); i++ )
{
plLayerBink *movie = fLoadedMovies[ i ]->movieLayer;
@ -2482,6 +2497,7 @@ void pfJournalBook::IFreeSource( void )
delete fLoadedMovies[ i ];
}
fLoadedMovies.Reset();
#endif // USE_BINK_SDK
}
//// IGetMipmapKey ///////////////////////////////////////////////////////////
@ -2584,6 +2600,7 @@ void pfJournalBook::IRenderPage( UInt32 page, UInt32 whichDTMap, hsBool suppress
else if (whichDTMap == pfJournalDlgProc::kTagTurnBackDTMap)
material = fBookGUIs[fCurBookGUI]->PageMaterial(pfBookData::kTurnBackPage);
#ifdef USE_BINK_SDK
if (material)
{
// clear any exiting layers (movies) from the material
@ -2599,6 +2616,7 @@ void pfJournalBook::IRenderPage( UInt32 page, UInt32 whichDTMap, hsBool suppress
}
}
}
#endif // USE_BINK_SDK
hsAssert(page < fPageStarts.GetCount() || page > fLastPage, "UnInitialized page start!");
if( page <= fLastPage
@ -2786,6 +2804,7 @@ void pfJournalBook::IRenderPage( UInt32 page, UInt32 whichDTMap, hsBool suppress
break;
case pfEsHTMLChunk::kMovie:
#ifdef USE_BINK_SDK
movieAlreadyLoaded = (IMovieAlreadyLoaded(chunk) != nil); // have we already cached it?
plLayerBink *movieLayer = IMakeMovieLayer(chunk, x, y, (plMipmap*)dtMap, whichDTMap, suppressRendering);
if (movieLayer)
@ -2826,6 +2845,7 @@ void pfJournalBook::IRenderPage( UInt32 page, UInt32 whichDTMap, hsBool suppress
if (material && !suppressRendering)
material->AddLayerViaNotify(movieLayer);
}
#endif // USE_BINK_SDK
break;
}
}
@ -2850,6 +2870,7 @@ void pfJournalBook::IRenderPage( UInt32 page, UInt32 whichDTMap, hsBool suppress
//// IMoveMovies /////////////////////////////////////////////////////////////
#ifdef USE_BINK_SDK
void pfJournalBook::IMoveMovies( hsGMaterial *source, hsGMaterial *dest )
{
hsTArray<plLayerBink*> moviesOnPage;
@ -2886,6 +2907,7 @@ void pfJournalBook::IMoveMovies( hsGMaterial *source, hsGMaterial *dest )
}
}
}
#endif // USE_BINK_SDK
//// IDrawMipmap /////////////////////////////////////////////////////////////
@ -2983,6 +3005,7 @@ void pfJournalBook::IDrawMipmap( pfEsHTMLChunk *chunk, UInt16 x, UInt16 y, plMip
delete copy;
}
#ifdef USE_BINK_SDK
pfJournalBook::loadedMovie *pfJournalBook::IMovieAlreadyLoaded(pfEsHTMLChunk *chunk)
{
int i;
@ -2993,15 +3016,19 @@ pfJournalBook::loadedMovie *pfJournalBook::IMovieAlreadyLoaded(pfEsHTMLChunk *ch
}
return nil;
}
#endif // USE_BINK_SDK
plKey pfJournalBook::GetMovie(UInt8 index)
{
#ifdef USE_BINK_SDK
loadedMovie *movie = IGetMovieByIndex(index);
if (movie)
return movie->movieLayer->GetKey();
#endif // USE_BINK_SDK
return plKey(nil);
}
#ifdef USE_BINK_SDK
pfJournalBook::loadedMovie *pfJournalBook::IGetMovieByIndex(UInt8 index)
{
int i;
@ -3012,7 +3039,9 @@ pfJournalBook::loadedMovie *pfJournalBook::IGetMovieByIndex(UInt8 index)
}
return nil;
}
#endif // USE_BINK_SDK
#ifdef USE_BINK_SDK
plLayerBink *pfJournalBook::IMakeMovieLayer(pfEsHTMLChunk *chunk, UInt16 x, UInt16 y, plMipmap *baseMipmap, UInt32 whichDTMap, hsBool dontRender)
{
// see if it's already loaded
@ -3175,6 +3204,7 @@ plLayerBink *pfJournalBook::IMakeMovieLayer(pfEsHTMLChunk *chunk, UInt16 x, UInt
return movieLayer;
}
#endif // USE_BINK_SDK
plLayerInterface *pfJournalBook::IMakeBaseLayer(plMipmap *image)
{

View File

@ -528,8 +528,10 @@ class pfJournalBook : public hsKeyedObject
// Renders one (1) page into the given DTMap
void IRenderPage( UInt32 page, UInt32 whichDTMap, hsBool suppressRendering = false );
#ifdef USE_BINK_SDK
// moves the movie layers from one material onto another
void IMoveMovies( hsGMaterial *source, hsGMaterial *dest);
#endif
// Starting at the given chunk, works backwards to determine the full set of current
// font properties at that point, or assigns defaults if none were specified
@ -570,9 +572,11 @@ class pfJournalBook : public hsKeyedObject
void IDrawMipmap( pfEsHTMLChunk *chunk, UInt16 x, UInt16 y, plMipmap *mip, plDynamicTextMap *dtMap, UInt32 whichDTMap, hsBool dontRender );
// Movie functions
#ifdef USE_BINK_SDK
loadedMovie *IMovieAlreadyLoaded(pfEsHTMLChunk *chunk);
loadedMovie *IGetMovieByIndex(UInt8 index);
plLayerBink *IMakeMovieLayer(pfEsHTMLChunk *chunk, UInt16 x, UInt16 y, plMipmap *baseMipmap, UInt32 whichDTMap, hsBool dontRender);
#endif
// Cover functions
plLayerInterface *IMakeBaseLayer(plMipmap *image);