|
@@ -281,6 +281,7 @@ MiniGames::MiniGames( Schrift *zSchrift, DLLDateien *zDLLs, Bildschirm *screen,
|
|
tickVal = 0;
|
|
tickVal = 0;
|
|
games = new RCArray< MiniGame >();
|
|
games = new RCArray< MiniGame >();
|
|
mgl = 0;
|
|
mgl = 0;
|
|
|
|
+ mgInitialized = 0;
|
|
new MGSuchen( (MiniGames*)getThis() );
|
|
new MGSuchen( (MiniGames*)getThis() );
|
|
}
|
|
}
|
|
|
|
|
|
@@ -340,6 +341,7 @@ void MiniGames::doMausEreignis( MausEreignis &me )
|
|
{ // spiel starten
|
|
{ // spiel starten
|
|
if( mgl )
|
|
if( mgl )
|
|
mgl = (MGLaden*)mgl->release();
|
|
mgl = (MGLaden*)mgl->release();
|
|
|
|
+ mgInitialized = 0;
|
|
mgl = new MGLaden( games->z( i )->zName()->getText(), dLLs, api );
|
|
mgl = new MGLaden( games->z( i )->zName()->getText(), dLLs, api );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -363,18 +365,23 @@ bool MiniGames::tick( double z )
|
|
if( !mgl->zGame() )
|
|
if( !mgl->zGame() )
|
|
{
|
|
{
|
|
mgl = (MGLaden*)mgl->release();
|
|
mgl = (MGLaden*)mgl->release();
|
|
|
|
+ mgInitialized = 0;
|
|
}
|
|
}
|
|
- else
|
|
|
|
|
|
+ else if( !mgInitialized )
|
|
{
|
|
{
|
|
mgl->zGame()->setSchriftZ( schrift->getThis() );
|
|
mgl->zGame()->setSchriftZ( schrift->getThis() );
|
|
mgl->zGame()->setBildschirmZ( screen );
|
|
mgl->zGame()->setBildschirmZ( screen );
|
|
|
|
+ mgInitialized = 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if( mgl && mgl->zGame() && !alpha2 )
|
|
if( mgl && mgl->zGame() && !alpha2 )
|
|
{
|
|
{
|
|
rend |= mgl->zGame()->tick( z );
|
|
rend |= mgl->zGame()->tick( z );
|
|
if( mgl->zGame()->istEnde() )
|
|
if( mgl->zGame()->istEnde() )
|
|
- mgl = (MGLaden*)mgl->release();
|
|
|
|
|
|
+ {
|
|
|
|
+ mgl = (MGLaden *)mgl->release();
|
|
|
|
+ mgInitialized = 0;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
if( alpha2 )
|
|
if( alpha2 )
|
|
{
|
|
{
|