|
@@ -44,6 +44,7 @@ Knopf *_o_rno;
|
|
|
Knopf *_o_rnu;
|
|
|
TextFeld *_o_ülps;
|
|
|
AuswahlBox *_o_üle;
|
|
|
+InitDatei *userOptions;
|
|
|
|
|
|
bool _newWechsel = 1;
|
|
|
bool _abbruch = 0;
|
|
@@ -470,6 +471,19 @@ int KSGStart Framework::Start( Startparam p )
|
|
|
_abbruch = 0;
|
|
|
Network::Start( 10 );
|
|
|
|
|
|
+ if( !DateiExistiert( "data/user_options.ini" ) )
|
|
|
+ {
|
|
|
+ userOptions = new InitDatei( "data/default_options.ini" );
|
|
|
+ userOptions->laden();
|
|
|
+ userOptions->setPfad( "data/user_options.ini" );
|
|
|
+ userOptions->speichern();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ userOptions = new InitDatei( "data/user_options.ini" );
|
|
|
+ userOptions->laden();
|
|
|
+ }
|
|
|
+
|
|
|
LTDBDatei *patcherBilder = new LTDBDatei();
|
|
|
patcherBilder->setDatei( new Text( "data/patch/bilder/patcher.ltdb" ) );
|
|
|
patcherBilder->leseDaten( 0 );
|
|
@@ -495,18 +509,27 @@ int KSGStart Framework::Start( Startparam p )
|
|
|
Schrift *sNormal = normalSchrift->ladeSchrift();
|
|
|
normalSchrift->release();
|
|
|
|
|
|
+ Monitor m = getMonitor( userOptions->wertExistiert( "Monitor" ) ? *userOptions->zWert( "Monitor" ) : 0 );
|
|
|
WNDCLASS wc = F_Normal( p.hinst );
|
|
|
wc.lpszClassName = "Kolja-Strohm Games Patcher";
|
|
|
_frame = new WFenster();
|
|
|
_frame->setVerschiebbar( 1 );
|
|
|
_frame->erstellen( WS_POPUP, wc );
|
|
|
_frame->setSize( Punkt( 500, 500 ) );
|
|
|
- _frame->setPosition( Bildschirmmitte( _frame->getThis() ) );
|
|
|
+ _frame->setPosition( Bildschirmmitte( _frame->getThis(), m.existiert ? ( userOptions->wertExistiert( "Monitor" ) ? *userOptions->zWert( "Monitor" ) : 0 ) : 0 ) );
|
|
|
_frame->ladeRahmenFenster( patcherRahmen, p.hinst );
|
|
|
_frame->setMausAktion( _frameME );
|
|
|
_frame->setTastaturAktion( _frameTE );
|
|
|
_frame->setVSchließAktion( _frameSchließen );
|
|
|
- Bildschirm *screen = new Bildschirm3D( _frame->getThis() );
|
|
|
+ Bildschirm *screen = 0;
|
|
|
+ if( userOptions->wertExistiert( "GraphicAPI" ) && userOptions->zWert( "GraphicAPI" )->istGleich( "DX9" ) )
|
|
|
+ screen = new Bildschirm3D( _frame->getThis(), DIRECTX9 );
|
|
|
+ else if( userOptions->wertExistiert( "GraphicAPI" ) && userOptions->zWert( "GraphicAPI" )->istGleich( "DX11" ) )
|
|
|
+ screen = new Bildschirm3D( _frame->getThis(), DIRECTX11 );
|
|
|
+ else if( userOptions->wertExistiert( "GraphicAPI" ) && userOptions->zWert( "GraphicAPI" )->istGleich( "DX12" ) )
|
|
|
+ screen = new Bildschirm3D( _frame->getThis(), DIRECTX12 );
|
|
|
+ else
|
|
|
+ screen = new Bildschirm3D( _frame->getThis() );
|
|
|
screen->update();
|
|
|
screen->render();
|
|
|
_frame->setBildschirm( screen->getThis() );
|