|
@@ -32,867 +32,867 @@ using namespace Framework;
|
|
|
using namespace Network;
|
|
|
|
|
|
bool _exitB = 0;
|
|
|
-WFenster *_frame;
|
|
|
-FBalken *_fortschritt;
|
|
|
-TextFeld *_aktion;
|
|
|
-TextFeld *_kbps;
|
|
|
-Knopf *_play;
|
|
|
-Patcher *_patcher;
|
|
|
-Fenster *_optionenF;
|
|
|
-ObjTabelle *_o_rt;
|
|
|
-Knopf *_o_rno;
|
|
|
-Knopf *_o_rnu;
|
|
|
-TextFeld *_o_ülps;
|
|
|
-AuswahlBox *_o_üle;
|
|
|
-InitDatei *userOptions;
|
|
|
+WFenster* _frame;
|
|
|
+FBalken* _fortschritt;
|
|
|
+TextFeld* _aktion;
|
|
|
+TextFeld* _kbps;
|
|
|
+Knopf* _play;
|
|
|
+Patcher* _patcher;
|
|
|
+Fenster* _optionenF;
|
|
|
+ObjTabelle* _o_rt;
|
|
|
+Knopf* _o_rno;
|
|
|
+Knopf* _o_rnu;
|
|
|
+TextFeld* _o_ülps;
|
|
|
+AuswahlBox* _o_üle;
|
|
|
+InitDatei* userOptions;
|
|
|
|
|
|
bool _newWechsel = 1;
|
|
|
bool _abbruch = 0;
|
|
|
|
|
|
-bool _o_rkkME( void *p, void *obj, MausEreignis me );
|
|
|
+bool _o_rkkME(void* p, void* obj, MausEreignis me);
|
|
|
|
|
|
-void _frameSchließen( void *p, void *obj )
|
|
|
+void _frameSchließen(void* p, void* obj)
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
-bool _frameME( void *p, void *obj, MausEreignis me )
|
|
|
+bool _frameME(void* p, void* obj, MausEreignis me)
|
|
|
{
|
|
|
- return 1;
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
-bool _frameTE( void *p, void *obj, TastaturEreignis me )
|
|
|
+bool _frameTE(void* p, void* obj, TastaturEreignis me)
|
|
|
{
|
|
|
- return 1;
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
-bool closeME( void *p, void *obj, MausEreignis me )
|
|
|
+bool closeME(void* p, void* obj, MausEreignis me)
|
|
|
{
|
|
|
- if( me.id == ME_RLinks )
|
|
|
- {
|
|
|
- _abbruch = 1;
|
|
|
- PostQuitMessage( 0 );
|
|
|
- }
|
|
|
- return 1;
|
|
|
+ if (me.id == ME_RLinks)
|
|
|
+ {
|
|
|
+ _abbruch = 1;
|
|
|
+ PostQuitMessage(0);
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
-bool minimierenME( void *p, void *obj, MausEreignis me )
|
|
|
+bool minimierenME(void* p, void* obj, MausEreignis me)
|
|
|
{
|
|
|
- if( me.id == ME_RLinks )
|
|
|
- {
|
|
|
- _frame->setAnzeigeModus( 2 );
|
|
|
- }
|
|
|
- return 1;
|
|
|
+ if (me.id == ME_RLinks)
|
|
|
+ {
|
|
|
+ _frame->setAnzeigeModus(2);
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
-bool _playME( void *p, void *obj, MausEreignis me )
|
|
|
+bool _playME(void* p, void* obj, MausEreignis me)
|
|
|
{
|
|
|
- if( me.id == ME_Betritt )
|
|
|
- getMaus().ladeMaus( MausId::hand );
|
|
|
- if( me.id == ME_Leaves )
|
|
|
- getMaus().ladeMaus( MausId::normal );
|
|
|
- getMaus().update();
|
|
|
- if( me.id == ME_RLinks )
|
|
|
- PostQuitMessage( 0 );
|
|
|
- return 1;
|
|
|
+ if (me.id == ME_Betritt)
|
|
|
+ getMaus().ladeMaus(MausId::hand);
|
|
|
+ if (me.id == ME_Leaves)
|
|
|
+ getMaus().ladeMaus(MausId::normal);
|
|
|
+ getMaus().update();
|
|
|
+ if (me.id == ME_RLinks)
|
|
|
+ PostQuitMessage(0);
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
-bool optionenME( void *p, void *obj, MausEreignis me )
|
|
|
+bool optionenME(void* p, void* obj, MausEreignis me)
|
|
|
{
|
|
|
- if( me.id == ME_RLinks )
|
|
|
- {
|
|
|
- _o_rno->removeStyle( Knopf::Style::Erlaubt );
|
|
|
- _o_rnu->removeStyle( Knopf::Style::Erlaubt );
|
|
|
- while( _o_rt->getZeilenAnzahl() > 1 )
|
|
|
- _o_rt->removeZeile( 1 );
|
|
|
- KSGTDatei *dat = new KSGTDatei( "data/dg.ksgt" ); // Tabellen Spalten: Id, Pfad, Version, Priorität
|
|
|
- dat->laden();
|
|
|
- int max = -1;
|
|
|
- for( int i = 0; i < dat->getZeilenAnzahl(); i++ )
|
|
|
- {
|
|
|
- if( !dat->zFeld( i, 3 ) || dat->zFeld( i, 3 )->istGleich( "NICHT" ) || dat->zFeld( i, 3 )->istGleich( "" ) )
|
|
|
- continue;
|
|
|
- if( max < (int)TextZuInt( dat->zFeld( i, 3 )->getText(), 10 ) )
|
|
|
- max = (int)TextZuInt( dat->zFeld( i, 3 )->getText(), 10 );
|
|
|
- }
|
|
|
- for( int i = 0; i <= max; i++ )
|
|
|
- {
|
|
|
- for( int j = 0; j < dat->getZeilenAnzahl(); j++ )
|
|
|
- {
|
|
|
- if( !dat->zFeld( j, 1 ) || dat->zFeld( j, 1 )->istGleich( "" ) )
|
|
|
- continue;
|
|
|
- Text *iT = new Text( "" );
|
|
|
- iT->append( i );
|
|
|
- if( dat->zFeld( j, 3 ) && dat->zFeld( j, 3 )->istGleich( iT ) )
|
|
|
- {
|
|
|
- Text *name = dat->zFeld( j, 1 )->getTeilText( dat->zFeld( j, 1 )->positionVon( "spiele/" ) + 7 );
|
|
|
- if( !name || !name->getLength() || !dat->zFeld( j, 1 )->hat( "spiele/" ) )
|
|
|
- {
|
|
|
- if( name )
|
|
|
- name->release();
|
|
|
- name = dat->zFeld( j, 1 )->getTeilText( dat->zFeld( j, 1 )->positionVon( "Spiele/" ) + 7 );
|
|
|
- }
|
|
|
- if( !name || !name->getLength() || ( !dat->zFeld( j, 1 )->hat( "Spiele/" ) && !dat->zFeld( j, 1 )->hat( "spiele/" ) ) )
|
|
|
- {
|
|
|
- if( name )
|
|
|
- name->release();
|
|
|
- name = new Text( dat->zFeld( j, 1 )->getText() );
|
|
|
- if( name->hat( '/' ) )
|
|
|
- name->remove( 0, name->positionVon( '/', name->anzahlVon( '/' ) - 1 ) + 1 );
|
|
|
- }
|
|
|
- int anz = _o_rt->getZeilenAnzahl();
|
|
|
- _o_rt->addZeile( dat->zFeld( j, 0 )->getText() );
|
|
|
- Text *spielN = 0;
|
|
|
- if( name->positionVon( '/' ) >= 0 )
|
|
|
- spielN = name->getTeilText( 0, name->positionVon( '/' ) );
|
|
|
- else
|
|
|
- spielN = new Text( name->getText() );
|
|
|
- name->release();
|
|
|
- TextFeld *spiel = new TextFeld();
|
|
|
- spiel->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center );
|
|
|
- spiel->setSchriftZ( _optionenF->getTSchrift() );
|
|
|
- spiel->setSchriftFarbe( 0xFFFFFFFF );
|
|
|
- spiel->setHintergrundFarbe( 0xFF003000 );
|
|
|
- spiel->setText( spielN );
|
|
|
- _o_rt->setZeichnungZ( 0, anz, spiel );
|
|
|
- KontrollKnopf *erlaubt = new KontrollKnopf();
|
|
|
- erlaubt->addStyle( KontrollKnopf::Style::Sichtbar | KontrollKnopf::Style::Erlaubt | KontrollKnopf::Style::KlickBuffer | KontrollKnopf::Style::Selected );
|
|
|
- erlaubt->setHintergrundFarbe( 0xFF003000 );
|
|
|
- erlaubt->setSBgFarbe( 0xFF003000 );
|
|
|
- erlaubt->loadData( "data/bilder/system.ltdb" );
|
|
|
- erlaubt->setMausEreignis( _o_rkkME );
|
|
|
- _o_rt->setZeichnungZ( 1, anz, erlaubt );
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- for( int i = 0; i < dat->getZeilenAnzahl(); i++ )
|
|
|
- {
|
|
|
- if( dat->zFeld( i, 3 ) && dat->zFeld( i, 3 )->istGleich( "NICHT" ) )
|
|
|
- {
|
|
|
- Text *name = dat->zFeld( i, 1 )->getTeilText( dat->zFeld( i, 1 )->positionVon( "spiele/" ) + 7 );
|
|
|
- if( !name || !name->getLength() )
|
|
|
- {
|
|
|
- if( name )
|
|
|
- name->release();
|
|
|
- name = dat->zFeld( i, 1 )->getTeilText( dat->zFeld( i, 1 )->positionVon( "Spiele/" ) + 7 );
|
|
|
- }
|
|
|
- if( !name || !name->getLength() )
|
|
|
- {
|
|
|
- if( name )
|
|
|
- name->release();
|
|
|
- name = new Text( dat->zFeld( i, 1 )->getText() );
|
|
|
- if( name->hat( '/' ) )
|
|
|
- name->remove( 0, name->positionVon( '/', name->anzahlVon( '/' ) - 1 ) );
|
|
|
- }
|
|
|
- int anz = _o_rt->getZeilenAnzahl();
|
|
|
- _o_rt->addZeile( dat->zFeld( i, 0 )->getText() );
|
|
|
- Text *spielN = 0;
|
|
|
- if( name->positionVon( '/' ) >= 0 )
|
|
|
- spielN = name->getTeilText( 0, name->positionVon( '/' ) );
|
|
|
- else
|
|
|
- spielN = new Text( name->getText() );
|
|
|
- name->release();
|
|
|
- TextFeld *spiel = new TextFeld();
|
|
|
- spiel->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center );
|
|
|
- spiel->setSchriftZ( _optionenF->getTSchrift() );
|
|
|
- spiel->setSchriftFarbe( 0xFFFFFFFF );
|
|
|
- spiel->setHintergrundFarbe( 0xFF003000 );
|
|
|
- spiel->setText( spielN );
|
|
|
- _o_rt->setZeichnungZ( 0, anz, spiel );
|
|
|
- KontrollKnopf *erlaubt = new KontrollKnopf();
|
|
|
- erlaubt->addStyle( KontrollKnopf::Style::Sichtbar | KontrollKnopf::Style::Erlaubt | KontrollKnopf::Style::KlickBuffer );
|
|
|
- erlaubt->setHintergrundFarbe( 0xFF003000 );
|
|
|
- erlaubt->loadData( "data/bilder/system.ltdb" );
|
|
|
- erlaubt->setMausEreignis( _o_rkkME );
|
|
|
- _o_rt->setZeichnungZ( 1, anz, erlaubt );
|
|
|
- }
|
|
|
- }
|
|
|
- dat->release();
|
|
|
- InitDatei *ini = new InitDatei( "data/patch/po.ini" );
|
|
|
- ini->laden();
|
|
|
- if( ini->wertExistiert( "ülps" ) )
|
|
|
- _o_ülps->setText( ini->zWert( "ülps" )->getText() );
|
|
|
- if( ini->wertExistiert( "üle" ) )
|
|
|
- _o_üle->setAuswahl( _o_üle->getEintragPos( ini->zWert( "üle" )->getText() ) );
|
|
|
- ini->release();
|
|
|
- _optionenF->setPosition( 100, 100 );
|
|
|
- _optionenF->addStyle( Fenster::Style::Sichtbar );
|
|
|
- }
|
|
|
- return 1;
|
|
|
+ if (me.id == ME_RLinks)
|
|
|
+ {
|
|
|
+ _o_rno->removeStyle(Knopf::Style::Erlaubt);
|
|
|
+ _o_rnu->removeStyle(Knopf::Style::Erlaubt);
|
|
|
+ while (_o_rt->getZeilenAnzahl() > 1)
|
|
|
+ _o_rt->removeZeile(1);
|
|
|
+ KSGTDatei* dat = new KSGTDatei("data/dg.ksgt"); // Tabellen Spalten: Id, Pfad, Version, Priorität
|
|
|
+ dat->laden();
|
|
|
+ int max = -1;
|
|
|
+ for (int i = 0; i < dat->getZeilenAnzahl(); i++)
|
|
|
+ {
|
|
|
+ if (!dat->zFeld(i, 3) || dat->zFeld(i, 3)->istGleich("NICHT") || dat->zFeld(i, 3)->istGleich(""))
|
|
|
+ continue;
|
|
|
+ if (max < (int)TextZuInt(dat->zFeld(i, 3)->getText(), 10))
|
|
|
+ max = (int)TextZuInt(dat->zFeld(i, 3)->getText(), 10);
|
|
|
+ }
|
|
|
+ for (int i = 0; i <= max; i++)
|
|
|
+ {
|
|
|
+ for (int j = 0; j < dat->getZeilenAnzahl(); j++)
|
|
|
+ {
|
|
|
+ if (!dat->zFeld(j, 1) || dat->zFeld(j, 1)->istGleich(""))
|
|
|
+ continue;
|
|
|
+ Text* iT = new Text("");
|
|
|
+ iT->append(i);
|
|
|
+ if (dat->zFeld(j, 3) && dat->zFeld(j, 3)->istGleich(iT))
|
|
|
+ {
|
|
|
+ Text* name = dat->zFeld(j, 1)->getTeilText(dat->zFeld(j, 1)->positionVon("spiele/") + 7);
|
|
|
+ if (!name || !name->getLength() || !dat->zFeld(j, 1)->hat("spiele/"))
|
|
|
+ {
|
|
|
+ if (name)
|
|
|
+ name->release();
|
|
|
+ name = dat->zFeld(j, 1)->getTeilText(dat->zFeld(j, 1)->positionVon("Spiele/") + 7);
|
|
|
+ }
|
|
|
+ if (!name || !name->getLength() || (!dat->zFeld(j, 1)->hat("Spiele/") && !dat->zFeld(j, 1)->hat("spiele/")))
|
|
|
+ {
|
|
|
+ if (name)
|
|
|
+ name->release();
|
|
|
+ name = new Text(dat->zFeld(j, 1)->getText());
|
|
|
+ if (name->hat('/'))
|
|
|
+ name->remove(0, name->positionVon('/', name->anzahlVon('/') - 1) + 1);
|
|
|
+ }
|
|
|
+ int anz = _o_rt->getZeilenAnzahl();
|
|
|
+ _o_rt->addZeile(dat->zFeld(j, 0)->getText());
|
|
|
+ Text* spielN = 0;
|
|
|
+ if (name->positionVon('/') >= 0)
|
|
|
+ spielN = name->getTeilText(0, name->positionVon('/'));
|
|
|
+ else
|
|
|
+ spielN = new Text(name->getText());
|
|
|
+ name->release();
|
|
|
+ TextFeld* spiel = new TextFeld();
|
|
|
+ spiel->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Center);
|
|
|
+ spiel->setSchriftZ(_optionenF->getTSchrift());
|
|
|
+ spiel->setSchriftFarbe(0xFFFFFFFF);
|
|
|
+ spiel->setHintergrundFarbe(0xFF003000);
|
|
|
+ spiel->setText(spielN);
|
|
|
+ _o_rt->setZeichnungZ(0, anz, spiel);
|
|
|
+ KontrollKnopf* erlaubt = new KontrollKnopf();
|
|
|
+ erlaubt->addStyle(KontrollKnopf::Style::Sichtbar | KontrollKnopf::Style::Erlaubt | KontrollKnopf::Style::KlickBuffer | KontrollKnopf::Style::Selected);
|
|
|
+ erlaubt->setHintergrundFarbe(0xFF003000);
|
|
|
+ erlaubt->setSBgFarbe(0xFF003000);
|
|
|
+ erlaubt->loadData("data/bilder/system.ltdb");
|
|
|
+ erlaubt->setMausEreignis(_o_rkkME);
|
|
|
+ _o_rt->setZeichnungZ(1, anz, erlaubt);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (int i = 0; i < dat->getZeilenAnzahl(); i++)
|
|
|
+ {
|
|
|
+ if (dat->zFeld(i, 3) && dat->zFeld(i, 3)->istGleich("NICHT"))
|
|
|
+ {
|
|
|
+ Text* name = dat->zFeld(i, 1)->getTeilText(dat->zFeld(i, 1)->positionVon("spiele/") + 7);
|
|
|
+ if (!name || !name->getLength())
|
|
|
+ {
|
|
|
+ if (name)
|
|
|
+ name->release();
|
|
|
+ name = dat->zFeld(i, 1)->getTeilText(dat->zFeld(i, 1)->positionVon("Spiele/") + 7);
|
|
|
+ }
|
|
|
+ if (!name || !name->getLength())
|
|
|
+ {
|
|
|
+ if (name)
|
|
|
+ name->release();
|
|
|
+ name = new Text(dat->zFeld(i, 1)->getText());
|
|
|
+ if (name->hat('/'))
|
|
|
+ name->remove(0, name->positionVon('/', name->anzahlVon('/') - 1));
|
|
|
+ }
|
|
|
+ int anz = _o_rt->getZeilenAnzahl();
|
|
|
+ _o_rt->addZeile(dat->zFeld(i, 0)->getText());
|
|
|
+ Text* spielN = 0;
|
|
|
+ if (name->positionVon('/') >= 0)
|
|
|
+ spielN = name->getTeilText(0, name->positionVon('/'));
|
|
|
+ else
|
|
|
+ spielN = new Text(name->getText());
|
|
|
+ name->release();
|
|
|
+ TextFeld* spiel = new TextFeld();
|
|
|
+ spiel->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Center);
|
|
|
+ spiel->setSchriftZ(_optionenF->getTSchrift());
|
|
|
+ spiel->setSchriftFarbe(0xFFFFFFFF);
|
|
|
+ spiel->setHintergrundFarbe(0xFF003000);
|
|
|
+ spiel->setText(spielN);
|
|
|
+ _o_rt->setZeichnungZ(0, anz, spiel);
|
|
|
+ KontrollKnopf* erlaubt = new KontrollKnopf();
|
|
|
+ erlaubt->addStyle(KontrollKnopf::Style::Sichtbar | KontrollKnopf::Style::Erlaubt | KontrollKnopf::Style::KlickBuffer);
|
|
|
+ erlaubt->setHintergrundFarbe(0xFF003000);
|
|
|
+ erlaubt->loadData("data/bilder/system.ltdb");
|
|
|
+ erlaubt->setMausEreignis(_o_rkkME);
|
|
|
+ _o_rt->setZeichnungZ(1, anz, erlaubt);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ dat->release();
|
|
|
+ InitDatei* ini = new InitDatei("data/patch/po.ini");
|
|
|
+ ini->laden();
|
|
|
+ if (ini->wertExistiert("ülps"))
|
|
|
+ _o_ülps->setText(ini->zWert("ülps")->getText());
|
|
|
+ if (ini->wertExistiert("üle"))
|
|
|
+ _o_üle->setAuswahl(_o_üle->getEintragPos(ini->zWert("üle")->getText()));
|
|
|
+ ini->release();
|
|
|
+ _optionenF->setPosition(100, 100);
|
|
|
+ _optionenF->addStyle(Fenster::Style::Sichtbar);
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
-bool oAbbrechen( void *p, void *obj, MausEreignis me )
|
|
|
+bool oAbbrechen(void* p, void* obj, MausEreignis me)
|
|
|
{
|
|
|
- if( me.id == ME_RLinks )
|
|
|
- _optionenF->removeStyle( Fenster::Style::Sichtbar );
|
|
|
- return 1;
|
|
|
+ if (me.id == ME_RLinks)
|
|
|
+ _optionenF->removeStyle(Fenster::Style::Sichtbar);
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
-bool _o_rtME( void *p, void *obj, MausEreignis me )
|
|
|
+bool _o_rtME(void* p, void* obj, MausEreignis me)
|
|
|
{
|
|
|
- if( me.id == ME_RLinks )
|
|
|
- {
|
|
|
- for( int i = 1; i < _o_rt->getZeilenAnzahl(); i++ )
|
|
|
- {
|
|
|
- if( _o_rt->zZeichnung( 0, i ) )
|
|
|
- ( (TextFeld *)_o_rt->zZeichnung( 0, i ) )->removeStyle( TextFeld::Style::Hintergrund );
|
|
|
- if( _o_rt->zZeichnung( 1, i ) )
|
|
|
- ( (KontrollKnopf *)_o_rt->zZeichnung( 1, i ) )->removeStyle( KontrollKnopf::Style::Hintergrund | KontrollKnopf::Style::SelectFarbe );
|
|
|
- }
|
|
|
- int zeile = (int)_o_rt->getMausZeile( me.my - _o_rt->getVertikalScrollPos() );
|
|
|
- if( zeile <= 0 )
|
|
|
- {
|
|
|
- _o_rno->removeStyle( Knopf::Style::Erlaubt );
|
|
|
- _o_rnu->removeStyle( Knopf::Style::Erlaubt );
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- if( _o_rt->zZeichnung( 0, zeile ) )
|
|
|
- ( (TextFeld *)_o_rt->zZeichnung( 0, zeile ) )->addStyle( TextFeld::Style::Hintergrund );
|
|
|
- if( _o_rt->zZeichnung( 1, zeile ) )
|
|
|
- ( (KontrollKnopf *)_o_rt->zZeichnung( 1, zeile ) )->addStyle( KontrollKnopf::Style::Hintergrund | KontrollKnopf::Style::SelectFarbe );
|
|
|
- if( zeile > 1 )
|
|
|
- _o_rno->addStyle( Knopf::Style::Erlaubt );
|
|
|
- else
|
|
|
- _o_rno->removeStyle( Knopf::Style::Erlaubt );
|
|
|
- int max = 0;
|
|
|
- for( int i = 1; i < _o_rt->getZeilenAnzahl(); i++ )
|
|
|
- {
|
|
|
- if( !_o_rt->zZeichnung( 1, i ) || ( (KontrollKnopf *)_o_rt->zZeichnung( 1, i ) )->hatStyleNicht( KontrollKnopf::Style::Selected ) )
|
|
|
- break;
|
|
|
- max = i;
|
|
|
- }
|
|
|
- if( zeile < max )
|
|
|
- _o_rnu->addStyle( Knopf::Style::Erlaubt );
|
|
|
- else
|
|
|
- _o_rnu->removeStyle( Knopf::Style::Erlaubt );
|
|
|
- if( ( _o_rt->zZeichnung( 1, zeile ) && ( (KontrollKnopf *)_o_rt->zZeichnung( 1, zeile ) )->hatStyleNicht( KontrollKnopf::Style::Selected ) ) )
|
|
|
- {
|
|
|
- _o_rno->removeStyle( Knopf::Style::Erlaubt );
|
|
|
- _o_rnu->removeStyle( Knopf::Style::Erlaubt );
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return 1;
|
|
|
+ if (me.id == ME_RLinks)
|
|
|
+ {
|
|
|
+ for (int i = 1; i < _o_rt->getZeilenAnzahl(); i++)
|
|
|
+ {
|
|
|
+ if (_o_rt->zZeichnung(0, i))
|
|
|
+ ((TextFeld*)_o_rt->zZeichnung(0, i))->removeStyle(TextFeld::Style::Hintergrund);
|
|
|
+ if (_o_rt->zZeichnung(1, i))
|
|
|
+ ((KontrollKnopf*)_o_rt->zZeichnung(1, i))->removeStyle(KontrollKnopf::Style::Hintergrund | KontrollKnopf::Style::SelectFarbe);
|
|
|
+ }
|
|
|
+ int zeile = (int)_o_rt->getMausZeile(me.my - _o_rt->getVertikalScrollPos());
|
|
|
+ if (zeile <= 0)
|
|
|
+ {
|
|
|
+ _o_rno->removeStyle(Knopf::Style::Erlaubt);
|
|
|
+ _o_rnu->removeStyle(Knopf::Style::Erlaubt);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (_o_rt->zZeichnung(0, zeile))
|
|
|
+ ((TextFeld*)_o_rt->zZeichnung(0, zeile))->addStyle(TextFeld::Style::Hintergrund);
|
|
|
+ if (_o_rt->zZeichnung(1, zeile))
|
|
|
+ ((KontrollKnopf*)_o_rt->zZeichnung(1, zeile))->addStyle(KontrollKnopf::Style::Hintergrund | KontrollKnopf::Style::SelectFarbe);
|
|
|
+ if (zeile > 1)
|
|
|
+ _o_rno->addStyle(Knopf::Style::Erlaubt);
|
|
|
+ else
|
|
|
+ _o_rno->removeStyle(Knopf::Style::Erlaubt);
|
|
|
+ int max = 0;
|
|
|
+ for (int i = 1; i < _o_rt->getZeilenAnzahl(); i++)
|
|
|
+ {
|
|
|
+ if (!_o_rt->zZeichnung(1, i) || ((KontrollKnopf*)_o_rt->zZeichnung(1, i))->hatStyleNicht(KontrollKnopf::Style::Selected))
|
|
|
+ break;
|
|
|
+ max = i;
|
|
|
+ }
|
|
|
+ if (zeile < max)
|
|
|
+ _o_rnu->addStyle(Knopf::Style::Erlaubt);
|
|
|
+ else
|
|
|
+ _o_rnu->removeStyle(Knopf::Style::Erlaubt);
|
|
|
+ if ((_o_rt->zZeichnung(1, zeile) && ((KontrollKnopf*)_o_rt->zZeichnung(1, zeile))->hatStyleNicht(KontrollKnopf::Style::Selected)))
|
|
|
+ {
|
|
|
+ _o_rno->removeStyle(Knopf::Style::Erlaubt);
|
|
|
+ _o_rnu->removeStyle(Knopf::Style::Erlaubt);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
-bool _o_rnoME( void *p, void *obj, MausEreignis me )
|
|
|
+bool _o_rnoME(void* p, void* obj, MausEreignis me)
|
|
|
{
|
|
|
- if( me.id == ME_RLinks )
|
|
|
- {
|
|
|
- int zeile = -1;
|
|
|
- for( int i = 1; i < _o_rt->getZeilenAnzahl(); i++ )
|
|
|
- {
|
|
|
- if( _o_rt->zZeichnung( 0, i ) && ( (TextFeld *)_o_rt->zZeichnung( 0, i ) )->hatStyle( TextFeld::Style::Hintergrund ) )
|
|
|
- {
|
|
|
- zeile = i;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- if( zeile > 1 )
|
|
|
- {
|
|
|
- _o_rt->setZeilePosition( zeile, zeile - 1 );
|
|
|
- _o_rnu->addStyle( Knopf::Style::Erlaubt );
|
|
|
- }
|
|
|
- if( zeile - 1 <= 1 )
|
|
|
- _o_rno->removeStyle( Knopf::Style::Erlaubt );
|
|
|
- }
|
|
|
- return 1;
|
|
|
+ if (me.id == ME_RLinks)
|
|
|
+ {
|
|
|
+ int zeile = -1;
|
|
|
+ for (int i = 1; i < _o_rt->getZeilenAnzahl(); i++)
|
|
|
+ {
|
|
|
+ if (_o_rt->zZeichnung(0, i) && ((TextFeld*)_o_rt->zZeichnung(0, i))->hatStyle(TextFeld::Style::Hintergrund))
|
|
|
+ {
|
|
|
+ zeile = i;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (zeile > 1)
|
|
|
+ {
|
|
|
+ _o_rt->setZeilePosition(zeile, zeile - 1);
|
|
|
+ _o_rnu->addStyle(Knopf::Style::Erlaubt);
|
|
|
+ }
|
|
|
+ if (zeile - 1 <= 1)
|
|
|
+ _o_rno->removeStyle(Knopf::Style::Erlaubt);
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
-bool _o_rnuME( void *p, void *obj, MausEreignis me )
|
|
|
+bool _o_rnuME(void* p, void* obj, MausEreignis me)
|
|
|
{
|
|
|
- if( me.id == ME_RLinks )
|
|
|
- {
|
|
|
- int zeile = -1;
|
|
|
- for( int i = 1; i < _o_rt->getZeilenAnzahl(); i++ )
|
|
|
- {
|
|
|
- if( _o_rt->zZeichnung( 0, i ) && ( (TextFeld *)_o_rt->zZeichnung( 0, i ) )->hatStyle( TextFeld::Style::Hintergrund ) )
|
|
|
- {
|
|
|
- zeile = i;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- int max = 0;
|
|
|
- for( int i = 1; i < _o_rt->getZeilenAnzahl(); i++ )
|
|
|
- {
|
|
|
- if( !_o_rt->zZeichnung( 1, i ) || ( (KontrollKnopf *)_o_rt->zZeichnung( 1, i ) )->hatStyleNicht( KontrollKnopf::Style::Selected ) )
|
|
|
- break;
|
|
|
- max = i;
|
|
|
- }
|
|
|
- if( zeile > 0 && zeile < max )
|
|
|
- {
|
|
|
- _o_rt->setZeilePosition( zeile, zeile + 1 );
|
|
|
- _o_rno->addStyle( Knopf::Style::Erlaubt );
|
|
|
- }
|
|
|
- if( zeile + 1 >= _o_rt->getZeilenAnzahl() - 1 )
|
|
|
- _o_rnu->removeStyle( Knopf::Style::Erlaubt );
|
|
|
- }
|
|
|
- return 1;
|
|
|
+ if (me.id == ME_RLinks)
|
|
|
+ {
|
|
|
+ int zeile = -1;
|
|
|
+ for (int i = 1; i < _o_rt->getZeilenAnzahl(); i++)
|
|
|
+ {
|
|
|
+ if (_o_rt->zZeichnung(0, i) && ((TextFeld*)_o_rt->zZeichnung(0, i))->hatStyle(TextFeld::Style::Hintergrund))
|
|
|
+ {
|
|
|
+ zeile = i;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ int max = 0;
|
|
|
+ for (int i = 1; i < _o_rt->getZeilenAnzahl(); i++)
|
|
|
+ {
|
|
|
+ if (!_o_rt->zZeichnung(1, i) || ((KontrollKnopf*)_o_rt->zZeichnung(1, i))->hatStyleNicht(KontrollKnopf::Style::Selected))
|
|
|
+ break;
|
|
|
+ max = i;
|
|
|
+ }
|
|
|
+ if (zeile > 0 && zeile < max)
|
|
|
+ {
|
|
|
+ _o_rt->setZeilePosition(zeile, zeile + 1);
|
|
|
+ _o_rno->addStyle(Knopf::Style::Erlaubt);
|
|
|
+ }
|
|
|
+ if (zeile + 1 >= _o_rt->getZeilenAnzahl() - 1)
|
|
|
+ _o_rnu->removeStyle(Knopf::Style::Erlaubt);
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
-bool _o_rkkME( void *p, void *obj, MausEreignis me )
|
|
|
+bool _o_rkkME(void* p, void* obj, MausEreignis me)
|
|
|
{
|
|
|
- if( me.id == ME_RLinks )
|
|
|
- {
|
|
|
- if( ( (KontrollKnopf *)obj )->hatStyleNicht( KontrollKnopf::Style::Hintergrund | KontrollKnopf::Style::SelectFarbe ) )
|
|
|
- {
|
|
|
- ( (KontrollKnopf *)obj )->setStyle( KontrollKnopf::Style::Selected, ( (KontrollKnopf *)obj )->hatStyleNicht( KontrollKnopf::Style::Selected ) );
|
|
|
- return 1;
|
|
|
- }
|
|
|
- if( ( (KontrollKnopf *)obj )->hatStyle( KontrollKnopf::Style::Selected ) )
|
|
|
- {
|
|
|
- _o_rno->removeStyle( Knopf::Style::Erlaubt );
|
|
|
- _o_rnu->removeStyle( Knopf::Style::Erlaubt );
|
|
|
- int zeile = -1;
|
|
|
- for( int i = 1; i < _o_rt->getZeilenAnzahl(); i++ )
|
|
|
- {
|
|
|
- if( _o_rt->zZeichnung( 1, i ) == obj )
|
|
|
- {
|
|
|
- zeile = i;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- int max = 0;
|
|
|
- for( int i = 1; i < _o_rt->getZeilenAnzahl(); i++ )
|
|
|
- {
|
|
|
- if( !_o_rt->zZeichnung( 1, i ) || ( (KontrollKnopf *)_o_rt->zZeichnung( 1, i ) )->hatStyleNicht( KontrollKnopf::Style::Selected ) )
|
|
|
- break;
|
|
|
- max = i;
|
|
|
- }
|
|
|
- _o_rt->setZeilePosition( zeile, max );
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- int zeile = -1;
|
|
|
- for( int i = 1; i < _o_rt->getZeilenAnzahl(); i++ )
|
|
|
- {
|
|
|
- if( _o_rt->zZeichnung( 1, i ) == obj )
|
|
|
- {
|
|
|
- zeile = i;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- int max = 0;
|
|
|
- for( int i = 1; i < _o_rt->getZeilenAnzahl(); i++ )
|
|
|
- {
|
|
|
- if( !_o_rt->zZeichnung( 1, i ) || ( (KontrollKnopf *)_o_rt->zZeichnung( 1, i ) )->hatStyleNicht( KontrollKnopf::Style::Selected ) )
|
|
|
- break;
|
|
|
- max = i;
|
|
|
- }
|
|
|
- _o_rt->setZeilePosition( zeile, max + 1 );
|
|
|
- if( max > 1 )
|
|
|
- _o_rno->addStyle( Knopf::Style::Erlaubt );
|
|
|
- }
|
|
|
- }
|
|
|
- return 1;
|
|
|
+ if (me.id == ME_RLinks)
|
|
|
+ {
|
|
|
+ if (((KontrollKnopf*)obj)->hatStyleNicht(KontrollKnopf::Style::Hintergrund | KontrollKnopf::Style::SelectFarbe))
|
|
|
+ {
|
|
|
+ ((KontrollKnopf*)obj)->setStyle(KontrollKnopf::Style::Selected, ((KontrollKnopf*)obj)->hatStyleNicht(KontrollKnopf::Style::Selected));
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+ if (((KontrollKnopf*)obj)->hatStyle(KontrollKnopf::Style::Selected))
|
|
|
+ {
|
|
|
+ _o_rno->removeStyle(Knopf::Style::Erlaubt);
|
|
|
+ _o_rnu->removeStyle(Knopf::Style::Erlaubt);
|
|
|
+ int zeile = -1;
|
|
|
+ for (int i = 1; i < _o_rt->getZeilenAnzahl(); i++)
|
|
|
+ {
|
|
|
+ if (_o_rt->zZeichnung(1, i) == obj)
|
|
|
+ {
|
|
|
+ zeile = i;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ int max = 0;
|
|
|
+ for (int i = 1; i < _o_rt->getZeilenAnzahl(); i++)
|
|
|
+ {
|
|
|
+ if (!_o_rt->zZeichnung(1, i) || ((KontrollKnopf*)_o_rt->zZeichnung(1, i))->hatStyleNicht(KontrollKnopf::Style::Selected))
|
|
|
+ break;
|
|
|
+ max = i;
|
|
|
+ }
|
|
|
+ _o_rt->setZeilePosition(zeile, max);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ int zeile = -1;
|
|
|
+ for (int i = 1; i < _o_rt->getZeilenAnzahl(); i++)
|
|
|
+ {
|
|
|
+ if (_o_rt->zZeichnung(1, i) == obj)
|
|
|
+ {
|
|
|
+ zeile = i;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ int max = 0;
|
|
|
+ for (int i = 1; i < _o_rt->getZeilenAnzahl(); i++)
|
|
|
+ {
|
|
|
+ if (!_o_rt->zZeichnung(1, i) || ((KontrollKnopf*)_o_rt->zZeichnung(1, i))->hatStyleNicht(KontrollKnopf::Style::Selected))
|
|
|
+ break;
|
|
|
+ max = i;
|
|
|
+ }
|
|
|
+ _o_rt->setZeilePosition(zeile, max + 1);
|
|
|
+ if (max > 1)
|
|
|
+ _o_rno->addStyle(Knopf::Style::Erlaubt);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
-bool _o_ülpsTE( void *p, void *obj, TastaturEreignis te )
|
|
|
+bool _o_ülpsTE(void* p, void* obj, TastaturEreignis te)
|
|
|
{
|
|
|
- if( te.taste == T_Links || te.taste == T_Rechts || te.taste == T_Entf || te.taste == T_BackSpace || ( te.taste >= '0' && te.taste <= '9' ) )
|
|
|
- return 1;
|
|
|
- return 0;
|
|
|
+ if (te.taste == T_Links || te.taste == T_Rechts || te.taste == T_Entf || te.taste == T_BackSpace || (te.taste >= '0' && te.taste <= '9'))
|
|
|
+ return 1;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
-bool o_okME( void *p, void *obj, MausEreignis me )
|
|
|
+bool o_okME(void* p, void* obj, MausEreignis me)
|
|
|
{
|
|
|
- if( me.id == ME_RLinks )
|
|
|
- {
|
|
|
- KSGTDatei *dat = new KSGTDatei( "data/dg.ksgt" );
|
|
|
- dat->laden();
|
|
|
- for( int i = 0; i < dat->getZeilenAnzahl(); i++ )
|
|
|
- {
|
|
|
- for( int j = 0; j < _o_rt->getZeilenAnzahl(); j++ )
|
|
|
- {
|
|
|
- if( !_o_rt->zZeichnung( 1, j ) )
|
|
|
- continue;
|
|
|
- if( !_o_rt->zZeilenName( j )->istGleich( dat->zFeld( i, 0 )->getText() ) )
|
|
|
- continue;
|
|
|
- if( ( (KontrollKnopf *)_o_rt->zZeichnung( 1, j ) )->hatStyle( KontrollKnopf::Style::Selected ) )
|
|
|
- {
|
|
|
- Text *t = new Text();
|
|
|
- t->append( j );
|
|
|
- dat->zFeld( i, 3 )->setText( t );
|
|
|
- }
|
|
|
- else
|
|
|
- dat->zFeld( i, 3 )->setText( "NICHT" );
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- dat->speichern();
|
|
|
- dat->release();
|
|
|
- InitDatei *ini = new InitDatei( "data/patch/po.ini" );
|
|
|
- ini->addWert( "ülps", _o_ülps->zText()->getText() );
|
|
|
- ini->addWert( "üle", _o_üle->zEintragText( _o_üle->getAuswahl() )->getText() );
|
|
|
- ini->speichern();
|
|
|
- ini->release();
|
|
|
- _optionenF->removeStyle( Fenster::Style::Sichtbar );
|
|
|
- }
|
|
|
- return 1;
|
|
|
+ if (me.id == ME_RLinks)
|
|
|
+ {
|
|
|
+ KSGTDatei* dat = new KSGTDatei("data/dg.ksgt");
|
|
|
+ dat->laden();
|
|
|
+ for (int i = 0; i < dat->getZeilenAnzahl(); i++)
|
|
|
+ {
|
|
|
+ for (int j = 0; j < _o_rt->getZeilenAnzahl(); j++)
|
|
|
+ {
|
|
|
+ if (!_o_rt->zZeichnung(1, j))
|
|
|
+ continue;
|
|
|
+ if (!_o_rt->zZeilenName(j)->istGleich(dat->zFeld(i, 0)->getText()))
|
|
|
+ continue;
|
|
|
+ if (((KontrollKnopf*)_o_rt->zZeichnung(1, j))->hatStyle(KontrollKnopf::Style::Selected))
|
|
|
+ {
|
|
|
+ Text* t = new Text();
|
|
|
+ t->append(j);
|
|
|
+ dat->zFeld(i, 3)->setText(t);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ dat->zFeld(i, 3)->setText("NICHT");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ dat->speichern();
|
|
|
+ dat->release();
|
|
|
+ InitDatei* ini = new InitDatei("data/patch/po.ini");
|
|
|
+ ini->addWert("ülps", _o_ülps->zText()->getText());
|
|
|
+ ini->addWert("üle", _o_üle->zEintragText(_o_üle->getAuswahl())->getText());
|
|
|
+ ini->speichern();
|
|
|
+ ini->release();
|
|
|
+ _optionenF->removeStyle(Fenster::Style::Sichtbar);
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
-DWORD WINAPI runThread( void *args )
|
|
|
+DWORD WINAPI runThread(void* args)
|
|
|
{
|
|
|
- Bildschirm *screen = (Bildschirm *)args;
|
|
|
- double i = 0;
|
|
|
- double tickVal = 1.0 / 60.0;
|
|
|
- ZeitMesser *tstop = new ZeitMesser();
|
|
|
- while( !_exitB )
|
|
|
- {
|
|
|
- tstop->messungStart();
|
|
|
- screen->render();
|
|
|
- screen->tick( tickVal );
|
|
|
- Sleep( 10 );
|
|
|
- if( _kbps )
|
|
|
- {
|
|
|
- i += tickVal * 60;
|
|
|
- if( i >= 60 && _kbps )
|
|
|
- {
|
|
|
- screen->lock();
|
|
|
- _kbps->setText( "" );
|
|
|
- _kbps->zText()->append( _patcher ? ( _patcher->getDownload() / 1024 ) : 0 );
|
|
|
- _kbps->zText()->append( " kb/s, " );
|
|
|
- _kbps->zText()->append( (unsigned int)( ( _fortschritt->getAktionAnzahl() - _fortschritt->getAktion() ) / 1024 ) );
|
|
|
- _kbps->zText()->append( " kb verbleibend..." );
|
|
|
- screen->unlock();
|
|
|
- i -= 60;
|
|
|
- }
|
|
|
- }
|
|
|
- tstop->messungEnde();
|
|
|
- tickVal = tstop->getSekunden() + tstop->getSekunden() - tickVal;
|
|
|
- }
|
|
|
- tstop->release();
|
|
|
- return 0;
|
|
|
+ Bildschirm* screen = (Bildschirm*)args;
|
|
|
+ double i = 0;
|
|
|
+ double tickVal = 1.0 / 60.0;
|
|
|
+ ZeitMesser* tstop = new ZeitMesser();
|
|
|
+ while (!_exitB)
|
|
|
+ {
|
|
|
+ tstop->messungStart();
|
|
|
+ screen->render();
|
|
|
+ screen->tick(tickVal);
|
|
|
+ Sleep(10);
|
|
|
+ if (_kbps)
|
|
|
+ {
|
|
|
+ i += tickVal * 60;
|
|
|
+ if (i >= 60 && _kbps)
|
|
|
+ {
|
|
|
+ screen->lock();
|
|
|
+ _kbps->setText("");
|
|
|
+ _kbps->zText()->append(_patcher ? (_patcher->getDownload() / 1024) : 0);
|
|
|
+ _kbps->zText()->append(" kb/s, ");
|
|
|
+ _kbps->zText()->append((unsigned int)((_fortschritt->getAktionAnzahl() - _fortschritt->getAktion()) / 1024));
|
|
|
+ _kbps->zText()->append(" kb verbleibend...");
|
|
|
+ screen->unlock();
|
|
|
+ i -= 60;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ tstop->messungEnde();
|
|
|
+ tickVal = tstop->getSekunden() + tstop->getSekunden() - tickVal;
|
|
|
+ }
|
|
|
+ tstop->release();
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
-int KSGStart Framework::Start( Startparam p )
|
|
|
+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 );
|
|
|
- Bild *patcherRahmen = patcherBilder->laden( 0, new Text( "patcherrahmen." ) );
|
|
|
- Bild *patcherHintergrund = patcherBilder->laden( 0, new Text( "patcher.png" ) );
|
|
|
- Bild *playBild = patcherBilder->laden( 0, new Text( "play.png" ) );
|
|
|
- Bild *playKlick = patcherBilder->laden( 0, new Text( "playklick.png" ) );
|
|
|
- patcherBilder->release();
|
|
|
-
|
|
|
- LTDBDatei *systemBilder = new LTDBDatei();
|
|
|
- systemBilder->setDatei( new Text( "data/bilder/system.ltdb" ) );
|
|
|
- systemBilder->leseDaten( 0 );
|
|
|
- Bild *systemSchließen = systemBilder->laden( 0, new Text( "schließen.png" ) );
|
|
|
- Bild *systemMinimieren = systemBilder->laden( 0, new Text( "minimieren.png" ) );
|
|
|
- Bild *systemOptionen = systemBilder->laden( 0, new Text( "optionen.png" ) );
|
|
|
- Bild *systemFortschrittL = systemBilder->laden( 0, new Text( "fortschrittleh" ) );
|
|
|
- Bild *systemFortschrittV = systemBilder->laden( 0, new Text( "fortschrittvol" ) );
|
|
|
- systemBilder->release();
|
|
|
-
|
|
|
- LTDSDatei *normalSchrift = new LTDSDatei();
|
|
|
- normalSchrift->setPfad( new Text( "data/schriften/normal.ltds" ) );
|
|
|
- normalSchrift->leseDaten();
|
|
|
- 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( dynamic_cast<WFenster *>( _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 = 0;
|
|
|
- if( userOptions->wertExistiert( "GraphicAPI" ) && userOptions->zWert( "GraphicAPI" )->istGleich( "DX9" ) )
|
|
|
- screen = new Bildschirm3D( dynamic_cast<WFenster *>( _frame->getThis() ), DIRECTX9 );
|
|
|
- else if( userOptions->wertExistiert( "GraphicAPI" ) && userOptions->zWert( "GraphicAPI" )->istGleich( "DX11" ) )
|
|
|
- screen = new Bildschirm3D( dynamic_cast<WFenster *>( _frame->getThis() ), DIRECTX11 );
|
|
|
- else if( userOptions->wertExistiert( "GraphicAPI" ) && userOptions->zWert( "GraphicAPI" )->istGleich( "DX12" ) )
|
|
|
- screen = new Bildschirm3D( dynamic_cast<WFenster *>( _frame->getThis() ), DIRECTX12 );
|
|
|
- else
|
|
|
- screen = new Bildschirm3D( dynamic_cast<WFenster *>( _frame->getThis() ) );
|
|
|
- screen->update();
|
|
|
- screen->render();
|
|
|
- _frame->setBildschirm( dynamic_cast<Bildschirm *>( screen->getThis() ) );
|
|
|
- _frame->setAnzeigeModus( 1 );
|
|
|
-
|
|
|
- screen->lock();
|
|
|
- BildZ *hintergrund = new BildZ();
|
|
|
- hintergrund->setStyle( BildZ::Style::Sichtbar );
|
|
|
- hintergrund->setBildZ( dynamic_cast<Bild *>( patcherHintergrund->getThis() ) );
|
|
|
- hintergrund->setPosition( 0, 0 );
|
|
|
- hintergrund->setSize( patcherHintergrund->getBreite(), patcherHintergrund->getHeight() );
|
|
|
- screen->addMember( hintergrund );
|
|
|
-
|
|
|
- Knopf *close = new Knopf();
|
|
|
- close->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
|
|
|
- close->setHintergrundBildZ( dynamic_cast<Bild *>( systemSchließen->getThis() ) );
|
|
|
- close->setKBFarbe( 0xFF000000 );
|
|
|
- close->setHintergrundFarbe( 0 );
|
|
|
- close->setKBStrength( 30 );
|
|
|
- close->setPosition( 475, 5 );
|
|
|
- close->setSize( 20, 20 );
|
|
|
- close->setMausEreignis( closeME );
|
|
|
- screen->addMember( close );
|
|
|
-
|
|
|
- Knopf *minimieren = new Knopf();
|
|
|
- minimieren->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
|
|
|
- minimieren->setHintergrundBildZ( dynamic_cast<Bild *>( systemMinimieren->getThis() ) );
|
|
|
- minimieren->setHintergrundFarbe( 0 );
|
|
|
- minimieren->setKBFarbe( 0xFF000000 );
|
|
|
- minimieren->setKBStrength( 30 );
|
|
|
- minimieren->setPosition( 454, 5 );
|
|
|
- minimieren->setSize( 20, 20 );
|
|
|
- minimieren->setMausEreignis( minimierenME );
|
|
|
- screen->addMember( minimieren );
|
|
|
-
|
|
|
- Knopf *optionen = new Knopf();
|
|
|
- optionen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
|
|
|
- optionen->setHintergrundBildZ( dynamic_cast<Bild *>( systemOptionen->getThis() ) );
|
|
|
- optionen->setHintergrundFarbe( 0 );
|
|
|
- optionen->setKBFarbe( 0xFF000000 );
|
|
|
- optionen->setKBStrength( 30 );
|
|
|
- optionen->setPosition( 433, 5 );
|
|
|
- optionen->setSize( 20, 20 );
|
|
|
- optionen->setMausEreignis( optionenME );
|
|
|
- screen->addMember( optionen );
|
|
|
-
|
|
|
- // Main Server Adresse Laden
|
|
|
- Datei *dat = new Datei();
|
|
|
- dat->setDatei( "data/tmp/k.id" );
|
|
|
- int klientNummer = 0;
|
|
|
- dat->open( Datei::Style::lesen );
|
|
|
- dat->lese( (char *)&klientNummer, 4 );
|
|
|
- dat->close();
|
|
|
- dat->setDatei( "data/tmp/m.port" );
|
|
|
- int serverPort = 0;
|
|
|
- dat->open( Datei::Style::lesen );
|
|
|
- dat->lese( (char *)&serverPort, 4 );
|
|
|
- dat->close();
|
|
|
- dat->setDatei( "data/tmp/m.ip" );
|
|
|
- dat->open( Datei::Style::lesen );
|
|
|
- unsigned char len = 0;
|
|
|
- dat->lese( (char *)&len, 1 );
|
|
|
- char *ip = new char[ len + 1 ];
|
|
|
- ip[ len ] = 0;
|
|
|
- dat->lese( ip, len );
|
|
|
- dat->close();
|
|
|
- dat->setDatei( "data/tmp/crypt.key" );
|
|
|
- dat->open( Datei::Style::lesen );
|
|
|
- len = 0;
|
|
|
- dat->lese( (char *)&len, 1 );
|
|
|
- char *key = new char[ len + 1 ];
|
|
|
- key[ len ] = 0;
|
|
|
- dat->lese( key, len );
|
|
|
- dat->close();
|
|
|
- dat->release();
|
|
|
-
|
|
|
- // Laden des Main Clients
|
|
|
- HINSTANCE networkDLL = LoadLibrary( "data/bin/KSGNetwork.dll" );
|
|
|
- if( !networkDLL )
|
|
|
- {
|
|
|
- WMessageBox( 0, new Text( "Fehler" ), new Text( "Die DLL Datei 'data/bin/KSGNetwork.dll' konnte nicht geladen werden. Fallst diese Datei nicht existiert muss das Spiel neu Installiert werden." ), MB_ICONERROR );
|
|
|
- exit( 0 );
|
|
|
- }
|
|
|
- KSGClient::KSGNetworkCreateRegisterdMain getMainClient = (KSGClient::KSGNetworkCreateRegisterdMain)GetProcAddress( networkDLL, KSGNETWORK_CREATE_REGISTERD_MAIN );
|
|
|
- if( !getMainClient )
|
|
|
- {
|
|
|
- WMessageBox( 0, new Text( "Fehler" ), new Text( "Der Einstiegspunkt '" KSGNETWORK_CREATE_REGISTERD_MAIN "' wurde in der DLL Datei 'data/bin/KSGNetwork.dll' nicht gefunden. Fallst dieses Problem weiterhin auftritt muss das Spiel neu Installiert werden." ), MB_ICONERROR );
|
|
|
- exit( 0 );
|
|
|
- }
|
|
|
- KSGClient::MainServerClient *mainClient = getMainClient( ip, serverPort, klientNummer, key, len );
|
|
|
- if( !mainClient )
|
|
|
- {
|
|
|
- WMessageBox( 0, new Text( "Fehler" ), new Text( "Die DLL Datei 'data/bin/KSGNetwork.dll' scheint fehlerhaft zu sein. Fallst dieses Problem weiterhin auftritt muss das Spiel neu Installiert werden." ), MB_ICONERROR );
|
|
|
- exit( 0 );
|
|
|
- }
|
|
|
-
|
|
|
- delete[] ip;
|
|
|
- delete[] key;
|
|
|
-
|
|
|
- UIInit init = Framework::defaultUI( sNormal, screen );
|
|
|
-
|
|
|
- News *news = new News( init, mainClient->createNewsServerClient() );
|
|
|
-
|
|
|
- _aktion = new TextFeld();
|
|
|
- _aktion->setStyle( TextFeld::Style::Sichtbar );
|
|
|
- _aktion->setSchriftZ( dynamic_cast<Schrift *>( sNormal->getThis() ) );
|
|
|
- _aktion->setSchriftFarbe( 0xFFFFFFFF );
|
|
|
- _aktion->setText( "Ermittle änderungen..." );
|
|
|
- _aktion->setPosition( 49, 403 );
|
|
|
- _aktion->setSize( 502, 20 );
|
|
|
- screen->addMember( dynamic_cast<Zeichnung *>( _aktion->getThis() ) );
|
|
|
-
|
|
|
- _kbps = new TextFeld();
|
|
|
- _kbps->setStyle( TextFeld::Style::Sichtbar );
|
|
|
- _kbps->setSchriftZ( dynamic_cast<Schrift *>( sNormal->getThis() ) );
|
|
|
- _kbps->setSchriftFarbe( 0xFFFFFFFF );
|
|
|
- _kbps->setText( "0 kb/s" );
|
|
|
- _kbps->setPosition( 49, 460 );
|
|
|
- _kbps->setSize( 402, 20 );
|
|
|
- screen->addMember( dynamic_cast<Zeichnung *>( _kbps->getThis() ) );
|
|
|
-
|
|
|
- _fortschritt = new FBalken();
|
|
|
- _fortschritt->setStyle( FBalken::Style::Sichtbar | FBalken::Style::Hintergrund | FBalken::Style::HBild | FBalken::Style::FBild | FBalken::Style::Rahmen | FBalken::Style::Prozent | FBalken::Style::L_R );
|
|
|
- _fortschritt->setRahmenFarbe( 0xFFFFFFFF );
|
|
|
- _fortschritt->setHintergrundBild( dynamic_cast<Bild *>( systemFortschrittL->getThis() ) );
|
|
|
- _fortschritt->setFBgBild( dynamic_cast<Bild *>( systemFortschrittV->getThis() ) );
|
|
|
- _fortschritt->setSchriftZ( dynamic_cast<Schrift *>( sNormal->getThis() ) );
|
|
|
- _fortschritt->setSFarbe( 0xFFFFFFFF );
|
|
|
- _fortschritt->setSSize( 12 );
|
|
|
- _fortschritt->setPosition( 49, 428 );
|
|
|
- _fortschritt->setSize( 402, 22 );
|
|
|
- screen->addMember( dynamic_cast<Zeichnung *>( _fortschritt->getThis() ) );
|
|
|
-
|
|
|
- _play = new Knopf();
|
|
|
- _play->setStyle( Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBild );
|
|
|
- _play->setMausEreignis( _playME );
|
|
|
- _play->setHintergrundBildZ( dynamic_cast<Bild *>( playBild->getThis() ) );
|
|
|
- _play->setKlickBildZ( dynamic_cast<Bild *>( playKlick->getThis() ) );
|
|
|
- _play->setPosition( 200, 466 );
|
|
|
- _play->setSize( 101, 30 );
|
|
|
- screen->addMember( dynamic_cast<Zeichnung *>( _play->getThis() ) );
|
|
|
-
|
|
|
- _optionenF = new Fenster();
|
|
|
- _optionenF->setStyle( Fenster::Style::Erlaubt | Fenster::Style::Closable | Fenster::Style::Titel | Fenster::Style::TitelBuffered |
|
|
|
- Fenster::Style::TitelHintergrund | Fenster::Style::BodyHintergrund | Fenster::Style::TitelHAlpha |
|
|
|
- Fenster::Style::BodyHAlpha | Fenster::Style::Rahmen | Fenster::Style::ClosingKlickBuffer |
|
|
|
- Fenster::Style::ClosingHintergrund | Fenster::Style::ClosingHAlpha | Fenster::Style::Beweglich | Fenster::Style::VScroll );
|
|
|
- _optionenF->setSize( 300, 330 );
|
|
|
- _optionenF->setPosition( 100, 100 );
|
|
|
- _optionenF->setVSBMax( 300 );
|
|
|
- _optionenF->zVScrollBar()->setKlickScroll( 10 );
|
|
|
- _optionenF->zVScrollBar()->setFarbe( 0xFFFFFFFF );
|
|
|
- _optionenF->zVScrollBar()->setBgFarbe( 0xF0000000, 1 );
|
|
|
- _optionenF->setRBreite( 2 );
|
|
|
- _optionenF->setRFarbe( 0xFFFFFFFF );
|
|
|
- _optionenF->setTSchriftZ( dynamic_cast<Schrift *>( sNormal->getThis() ) );
|
|
|
- _optionenF->zTTextFeld()->addStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center );
|
|
|
- _optionenF->setTitel( "Optionen" );
|
|
|
- _optionenF->zTTextFeld()->setSize( 0, 20 );
|
|
|
- _optionenF->setTBgFarbe( 0xF0000000 );
|
|
|
- _optionenF->setTAfFarbe( 0xA0FFFFFF );
|
|
|
- _optionenF->setTAfStrength( 15 );
|
|
|
- _optionenF->setTSFarbe( 0xFFFFFFFF );
|
|
|
- _optionenF->setSBgFarbe( 0xF0000000 );
|
|
|
- _optionenF->setSKAfFarbe( 0xFFFFFFFF );
|
|
|
- _optionenF->setSKAfStrength( 30 );
|
|
|
- _optionenF->setKBgFarbe( 0xF0000000 );
|
|
|
- _optionenF->setClosingMe( oAbbrechen );
|
|
|
- screen->addMember( dynamic_cast<Zeichnung *>( _optionenF->getThis() ) );
|
|
|
-
|
|
|
- TextFeld *oReihenfolge = new TextFeld();
|
|
|
- oReihenfolge->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::VCenter );
|
|
|
- oReihenfolge->setSchriftZ( dynamic_cast<Schrift *>( sNormal->getThis() ) );
|
|
|
- oReihenfolge->setSchriftFarbe( 0xFFFFFFFF );
|
|
|
- oReihenfolge->setText( "Update Reihenfolge:" );
|
|
|
- oReihenfolge->setPosition( 2, 2 );
|
|
|
- oReihenfolge->setSize( 276, 20 );
|
|
|
- _optionenF->addMember( oReihenfolge );
|
|
|
-
|
|
|
- _o_rt = new ObjTabelle();
|
|
|
- _o_rt->setStyle( ObjTabelle::Style::Sichtbar | ObjTabelle::Style::Erlaubt | ObjTabelle::Style::Rahmen |
|
|
|
- ObjTabelle::Style::Raster | ObjTabelle::Style::VScroll );
|
|
|
- _o_rt->setPosition( 2, 24 );
|
|
|
- _o_rt->setSize( 276, 150 );
|
|
|
- _o_rt->setRahmenBreite( 1 );
|
|
|
- _o_rt->setRahmenFarbe( 0xFFFFFFFF );
|
|
|
- _o_rt->setRasterBreite( 1 );
|
|
|
- _o_rt->setRasterFarbe( 0xFFFFFFFF );
|
|
|
- _o_rt->setVertikalKlickScroll( 10 );
|
|
|
- _o_rt->setMausEreignis( _o_rtME );
|
|
|
- _o_rt->addSpalte( "Spiel" );
|
|
|
- _o_rt->addSpalte( "Erlaubt" );
|
|
|
- _o_rt->setSpaltenBreite( 0, 237 );
|
|
|
- _o_rt->setSpaltenBreite( 1, 20 );
|
|
|
- _o_rt->addZeile( "Überschrift" );
|
|
|
- _o_rt->setZeilenHeight( 0, 15 );
|
|
|
- TextFeld *ortSpielT = new TextFeld();
|
|
|
- ortSpielT->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center );
|
|
|
- ortSpielT->setSchriftZ( dynamic_cast<Schrift *>( sNormal->getThis() ) );
|
|
|
- ortSpielT->setSchriftFarbe( 0xFFFFFFFF );
|
|
|
- ortSpielT->setText( "Spiel" );
|
|
|
- _o_rt->setZeichnungZ( 0, 0, ortSpielT );
|
|
|
- _optionenF->addMember( dynamic_cast<Zeichnung *>( _o_rt->getThis() ) );
|
|
|
-
|
|
|
- _o_rno = new Knopf();
|
|
|
- _o_rno->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Buffered | Knopf::Style::KlickBuffer | Knopf::Style::Rahmen );
|
|
|
- _o_rno->setPosition( 76, 176 );
|
|
|
- _o_rno->setSize( 100, 20 );
|
|
|
- _o_rno->setText( "nach Oben" );
|
|
|
- _o_rno->setSchriftZ( dynamic_cast<Schrift *>( sNormal->getThis() ) );
|
|
|
- _o_rno->setMausEreignis( _o_rnoME );
|
|
|
- _optionenF->addMember( dynamic_cast<Zeichnung *>( _o_rno->getThis() ) );
|
|
|
-
|
|
|
- _o_rnu = new Knopf();
|
|
|
- _o_rnu->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Buffered | Knopf::Style::KlickBuffer | Knopf::Style::Rahmen );
|
|
|
- _o_rnu->setPosition( 178, 176 );
|
|
|
- _o_rnu->setSize( 100, 20 );
|
|
|
- _o_rnu->setText( "nach Unten" );
|
|
|
- _o_rnu->setSchriftZ( dynamic_cast<Schrift *>( sNormal->getThis() ) );
|
|
|
- _o_rnu->setMausEreignis( _o_rnuME );
|
|
|
- _optionenF->addMember( dynamic_cast<Zeichnung *>( _o_rnu->getThis() ) );
|
|
|
-
|
|
|
- TextFeld *oLimit = new TextFeld();
|
|
|
- oLimit->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::VCenter );
|
|
|
- oLimit->setSchriftZ( dynamic_cast<Schrift *>( sNormal->getThis() ) );
|
|
|
- oLimit->setSchriftFarbe( 0xFFFFFFFF );
|
|
|
- oLimit->setText( "Übertragungslimit pro Sekunde:" );
|
|
|
- oLimit->setPosition( 2, 200 );
|
|
|
- oLimit->setSize( 276, 20 );
|
|
|
- _optionenF->addMember( oLimit );
|
|
|
-
|
|
|
- _o_ülps = new TextFeld();
|
|
|
- _o_ülps->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Erlaubt | TextFeld::Style::Rahmen | TextFeld::Style::Buffered | TextFeld::Style::VCenter );
|
|
|
- _o_ülps->setPosition( 2, 222 );
|
|
|
- _o_ülps->setSize( 100, 20 );
|
|
|
- _o_ülps->setRahmenFarbe( 0xFF00FF00 );
|
|
|
- _o_ülps->setSchriftZ( dynamic_cast<Schrift *>( sNormal->getThis() ) );
|
|
|
- _o_ülps->setText( "" );
|
|
|
- _o_ülps->setSchriftFarbe( 0xFFFFFFFF );
|
|
|
- _o_ülps->setSchriftSize( 12 );
|
|
|
- _o_ülps->setAlphaFeldFarbe( 0x5500FF00 );
|
|
|
- _o_ülps->setAlphaFeldStrength( -5 );
|
|
|
- _o_ülps->setTastaturEreignis( _o_ülpsTE );
|
|
|
- _optionenF->addMember( dynamic_cast<Zeichnung *>( _o_ülps->getThis() ) );
|
|
|
-
|
|
|
- _o_üle = new AuswahlBox();
|
|
|
- _o_üle->setStyle( AuswahlBox::Style::Sichtbar | AuswahlBox::Style::Erlaubt | AuswahlBox::Style::Rahmen | AuswahlBox::Style::AuswahlBuffer |
|
|
|
- AuswahlBox::Style::MausBuffer | AuswahlBox::Style::Hintergrund );
|
|
|
- _o_üle->setPosition( 104, 222 );
|
|
|
- _o_üle->setSize( 55, 20 );
|
|
|
- _o_üle->setSchriftZ( dynamic_cast<Schrift *>( sNormal->getThis() ) );
|
|
|
- _o_üle->setRahmenFarbe( 0xFFFFFFFF );
|
|
|
- _o_üle->setHintergrundFarbe( 0xFF000000 );
|
|
|
- _o_üle->setAuswAlphaFeldFarbe( 0x5500FF00 );
|
|
|
- _o_üle->setAuswAlphaFeldStrength( -5 );
|
|
|
- _o_üle->setMausAlphaFeldFarbe( 0x2200FF00 );
|
|
|
- _o_üle->setMausAlphaFeldStrength( -5 );
|
|
|
- _o_üle->setMausEreignis( _ret1ME );
|
|
|
- _o_üle->setTastaturEreignis( _ret1TE );
|
|
|
- _o_üle->addEintrag( "kb/s" );
|
|
|
- _o_üle->addEintrag( "mb/s" );
|
|
|
- _optionenF->addMember( dynamic_cast<Zeichnung *>( _o_üle->getThis() ) );
|
|
|
-
|
|
|
- bool exitPatcher = 0;
|
|
|
-
|
|
|
- Knopf *o_repair = new Knopf();
|
|
|
- o_repair->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Buffered | Knopf::Style::KlickBuffer | Knopf::Style::Rahmen );
|
|
|
- o_repair->setPosition( 5, 254 );
|
|
|
- o_repair->setSize( 100, 20 );
|
|
|
- o_repair->setText( "Reparieren" );
|
|
|
- o_repair->setSchriftZ( dynamic_cast<Schrift *>( sNormal->getThis() ) );
|
|
|
- o_repair->setMausEreignis( [mainClient, &exitPatcher]( void *p, void *o, MausEreignis me )
|
|
|
- {
|
|
|
- if( me.id == ME_RLinks )
|
|
|
- {
|
|
|
- _optionenF->removeStyle( Fenster::Style::Sichtbar );
|
|
|
- exitPatcher = 1;
|
|
|
- _patcher->warteAufPatch( INFINITE );
|
|
|
- KSGTDatei dgs;
|
|
|
- dgs.setPfad( "data/dg.ksgt" );
|
|
|
- dgs.laden();
|
|
|
- for( int i = 0; i < dgs.getZeilenAnzahl(); i++ )
|
|
|
- {
|
|
|
- if( dgs.zFeld( i, 1 )->getLength() )
|
|
|
- DateiRemove( dgs.zFeld( i, 1 )->getText() );
|
|
|
- }
|
|
|
- DateiRemove( "data/dg.ksgt" );
|
|
|
- DateiRemove( "data/update" );
|
|
|
- DateiRemove( "data/versionen.ini" );
|
|
|
- _patcher->release();
|
|
|
- exitPatcher = 0;
|
|
|
- _patcher = new Patcher( dynamic_cast<FBalken *>( _fortschritt->getThis() ), dynamic_cast<TextFeld *>( _aktion->getThis() ), dynamic_cast<Knopf *>( _play->getThis() ), &exitPatcher, mainClient->createPatchServerClient() );
|
|
|
- _patcher->startPatch();
|
|
|
- }
|
|
|
- return 1;
|
|
|
- } );
|
|
|
- _optionenF->addMember( o_repair );
|
|
|
-
|
|
|
- Knopf *o_ok = new Knopf();
|
|
|
- o_ok->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Buffered | Knopf::Style::KlickBuffer | Knopf::Style::Rahmen );
|
|
|
- o_ok->setPosition( 178, 284 );
|
|
|
- o_ok->setSize( 100, 20 );
|
|
|
- o_ok->setText( "Fertig" );
|
|
|
- o_ok->setSchriftZ( dynamic_cast<Schrift *>( sNormal->getThis() ) );
|
|
|
- o_ok->setMausEreignis( o_okME );
|
|
|
- _optionenF->addMember( o_ok );
|
|
|
-
|
|
|
- screen->unlock();
|
|
|
-
|
|
|
- DWORD threadId;
|
|
|
- HANDLE handle = CreateThread( NULL, 0, runThread, screen, 0, &threadId );
|
|
|
-
|
|
|
- _patcher = new Patcher( dynamic_cast<FBalken *>( _fortschritt->getThis() ), dynamic_cast<TextFeld *>( _aktion->getThis() ), dynamic_cast<Knopf *>( _play->getThis() ), &exitPatcher, mainClient->createPatchServerClient() );
|
|
|
- _patcher->startPatch();
|
|
|
-
|
|
|
- StartNachrichtenSchleife();
|
|
|
-
|
|
|
- _exitB = 1;
|
|
|
- WaitForSingleObject( handle, INFINITE );
|
|
|
-
|
|
|
- news->warteAufThread( 10000 );
|
|
|
- news->ende();
|
|
|
- news->release();
|
|
|
-
|
|
|
- exitPatcher = 1;
|
|
|
- _patcher->warteAufPatch( INFINITE );
|
|
|
- int returnVal = _patcher->getReturn();
|
|
|
- _patcher->release();
|
|
|
-
|
|
|
- _optionenF->release();
|
|
|
- _o_rt->release();
|
|
|
- _o_rno->release();
|
|
|
- _o_rnu->release();
|
|
|
- _o_ülps->release();
|
|
|
- _o_üle->release();
|
|
|
-
|
|
|
- _fortschritt->release();
|
|
|
- _aktion->release();
|
|
|
- _kbps->release();
|
|
|
- _play->release();
|
|
|
- sNormal->release();
|
|
|
-
|
|
|
- patcherRahmen->release();
|
|
|
- patcherHintergrund->release();
|
|
|
- playBild->release();
|
|
|
- playKlick->release();
|
|
|
- systemSchließen->release();
|
|
|
- systemMinimieren->release();
|
|
|
- systemOptionen->release();
|
|
|
- systemFortschrittL->release();
|
|
|
- systemFortschrittV->release();
|
|
|
-
|
|
|
- screen->release();
|
|
|
- _frame->setBildschirm( 0 );
|
|
|
- _frame->zerstören();
|
|
|
- _frame->release();
|
|
|
- mainClient->release();
|
|
|
- userOptions->release();
|
|
|
- Network::Exit();
|
|
|
-
|
|
|
- DateiPfadErstellen( new Text( "data/tmp/keinabsturz" ) );
|
|
|
-
|
|
|
- if( _abbruch )
|
|
|
- return 0;
|
|
|
- return returnVal;
|
|
|
+ _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);
|
|
|
+ Bild* patcherRahmen = patcherBilder->laden(0, new Text("patcherrahmen."));
|
|
|
+ Bild* patcherHintergrund = patcherBilder->laden(0, new Text("patcher.png"));
|
|
|
+ Bild* playBild = patcherBilder->laden(0, new Text("play.png"));
|
|
|
+ Bild* playKlick = patcherBilder->laden(0, new Text("playklick.png"));
|
|
|
+ patcherBilder->release();
|
|
|
+
|
|
|
+ LTDBDatei* systemBilder = new LTDBDatei();
|
|
|
+ systemBilder->setDatei(new Text("data/bilder/system.ltdb"));
|
|
|
+ systemBilder->leseDaten(0);
|
|
|
+ Bild* systemSchließen = systemBilder->laden(0, new Text("schließen.png"));
|
|
|
+ Bild* systemMinimieren = systemBilder->laden(0, new Text("minimieren.png"));
|
|
|
+ Bild* systemOptionen = systemBilder->laden(0, new Text("optionen.png"));
|
|
|
+ Bild* systemFortschrittL = systemBilder->laden(0, new Text("fortschrittleh"));
|
|
|
+ Bild* systemFortschrittV = systemBilder->laden(0, new Text("fortschrittvol"));
|
|
|
+ systemBilder->release();
|
|
|
+
|
|
|
+ LTDSDatei* normalSchrift = new LTDSDatei();
|
|
|
+ normalSchrift->setPfad(new Text("data/schriften/normal.ltds"));
|
|
|
+ normalSchrift->leseDaten();
|
|
|
+ Schrift* sNormal = normalSchrift->ladeSchrift();
|
|
|
+ normalSchrift->release();
|
|
|
+
|
|
|
+ Monitor m = getMonitor(userOptions->wertExistiert("Monitor") ? (int)*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(dynamic_cast<WFenster*>(_frame->getThis()), m.existiert ? (userOptions->wertExistiert("Monitor") ? (int)*userOptions->zWert("Monitor") : 0) : 0));
|
|
|
+ _frame->ladeRahmenFenster(patcherRahmen, p.hinst);
|
|
|
+ _frame->setMausAktion(_frameME);
|
|
|
+ _frame->setTastaturAktion(_frameTE);
|
|
|
+ _frame->setVSchließAktion(_frameSchließen);
|
|
|
+ Bildschirm* screen = 0;
|
|
|
+ if (userOptions->wertExistiert("GraphicAPI") && userOptions->zWert("GraphicAPI")->istGleich("DX9"))
|
|
|
+ screen = new Bildschirm3D(dynamic_cast<WFenster*>(_frame->getThis()), DIRECTX9);
|
|
|
+ else if (userOptions->wertExistiert("GraphicAPI") && userOptions->zWert("GraphicAPI")->istGleich("DX11"))
|
|
|
+ screen = new Bildschirm3D(dynamic_cast<WFenster*>(_frame->getThis()), DIRECTX11);
|
|
|
+ else if (userOptions->wertExistiert("GraphicAPI") && userOptions->zWert("GraphicAPI")->istGleich("DX12"))
|
|
|
+ screen = new Bildschirm3D(dynamic_cast<WFenster*>(_frame->getThis()), DIRECTX12);
|
|
|
+ else
|
|
|
+ screen = new Bildschirm3D(dynamic_cast<WFenster*>(_frame->getThis()));
|
|
|
+ screen->update();
|
|
|
+ screen->render();
|
|
|
+ _frame->setBildschirm(dynamic_cast<Bildschirm*>(screen->getThis()));
|
|
|
+ _frame->setAnzeigeModus(1);
|
|
|
+
|
|
|
+ screen->lock();
|
|
|
+ BildZ* hintergrund = new BildZ();
|
|
|
+ hintergrund->setStyle(BildZ::Style::Sichtbar);
|
|
|
+ hintergrund->setBildZ(dynamic_cast<Bild*>(patcherHintergrund->getThis()));
|
|
|
+ hintergrund->setPosition(0, 0);
|
|
|
+ hintergrund->setSize(patcherHintergrund->getBreite(), patcherHintergrund->getHeight());
|
|
|
+ screen->addMember(hintergrund);
|
|
|
+
|
|
|
+ Knopf* close = new Knopf();
|
|
|
+ close->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
|
|
|
+ close->setHintergrundBildZ(dynamic_cast<Bild*>(systemSchließen->getThis()));
|
|
|
+ close->setKBFarbe(0xFF000000);
|
|
|
+ close->setHintergrundFarbe(0);
|
|
|
+ close->setKBStrength(30);
|
|
|
+ close->setPosition(475, 5);
|
|
|
+ close->setSize(20, 20);
|
|
|
+ close->setMausEreignis(closeME);
|
|
|
+ screen->addMember(close);
|
|
|
+
|
|
|
+ Knopf* minimieren = new Knopf();
|
|
|
+ minimieren->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
|
|
|
+ minimieren->setHintergrundBildZ(dynamic_cast<Bild*>(systemMinimieren->getThis()));
|
|
|
+ minimieren->setHintergrundFarbe(0);
|
|
|
+ minimieren->setKBFarbe(0xFF000000);
|
|
|
+ minimieren->setKBStrength(30);
|
|
|
+ minimieren->setPosition(454, 5);
|
|
|
+ minimieren->setSize(20, 20);
|
|
|
+ minimieren->setMausEreignis(minimierenME);
|
|
|
+ screen->addMember(minimieren);
|
|
|
+
|
|
|
+ Knopf* optionen = new Knopf();
|
|
|
+ optionen->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
|
|
|
+ optionen->setHintergrundBildZ(dynamic_cast<Bild*>(systemOptionen->getThis()));
|
|
|
+ optionen->setHintergrundFarbe(0);
|
|
|
+ optionen->setKBFarbe(0xFF000000);
|
|
|
+ optionen->setKBStrength(30);
|
|
|
+ optionen->setPosition(433, 5);
|
|
|
+ optionen->setSize(20, 20);
|
|
|
+ optionen->setMausEreignis(optionenME);
|
|
|
+ screen->addMember(optionen);
|
|
|
+
|
|
|
+ // Main Server Adresse Laden
|
|
|
+ Datei* dat = new Datei();
|
|
|
+ dat->setDatei("data/tmp/k.id");
|
|
|
+ int klientNummer = 0;
|
|
|
+ dat->open(Datei::Style::lesen);
|
|
|
+ dat->lese((char*)&klientNummer, 4);
|
|
|
+ dat->close();
|
|
|
+ dat->setDatei("data/tmp/m.port");
|
|
|
+ int serverPort = 0;
|
|
|
+ dat->open(Datei::Style::lesen);
|
|
|
+ dat->lese((char*)&serverPort, 4);
|
|
|
+ dat->close();
|
|
|
+ dat->setDatei("data/tmp/m.ip");
|
|
|
+ dat->open(Datei::Style::lesen);
|
|
|
+ unsigned char len = 0;
|
|
|
+ dat->lese((char*)&len, 1);
|
|
|
+ char* ip = new char[len + 1];
|
|
|
+ ip[len] = 0;
|
|
|
+ dat->lese(ip, len);
|
|
|
+ dat->close();
|
|
|
+ dat->setDatei("data/tmp/crypt.key");
|
|
|
+ dat->open(Datei::Style::lesen);
|
|
|
+ len = 0;
|
|
|
+ dat->lese((char*)&len, 1);
|
|
|
+ char* key = new char[len + 1];
|
|
|
+ key[len] = 0;
|
|
|
+ dat->lese(key, len);
|
|
|
+ dat->close();
|
|
|
+ dat->release();
|
|
|
+
|
|
|
+ // Laden des Main Clients
|
|
|
+ HINSTANCE networkDLL = LoadLibrary("data/bin/KSGNetwork.dll");
|
|
|
+ if (!networkDLL)
|
|
|
+ {
|
|
|
+ WMessageBox(0, new Text("Fehler"), new Text("Die DLL Datei 'data/bin/KSGNetwork.dll' konnte nicht geladen werden. Fallst diese Datei nicht existiert muss das Spiel neu Installiert werden."), MB_ICONERROR);
|
|
|
+ exit(0);
|
|
|
+ }
|
|
|
+ KSGClient::KSGNetworkCreateRegisterdMain getMainClient = (KSGClient::KSGNetworkCreateRegisterdMain)GetProcAddress(networkDLL, KSGNETWORK_CREATE_REGISTERD_MAIN);
|
|
|
+ if (!getMainClient)
|
|
|
+ {
|
|
|
+ WMessageBox(0, new Text("Fehler"), new Text("Der Einstiegspunkt '" KSGNETWORK_CREATE_REGISTERD_MAIN "' wurde in der DLL Datei 'data/bin/KSGNetwork.dll' nicht gefunden. Fallst dieses Problem weiterhin auftritt muss das Spiel neu Installiert werden."), MB_ICONERROR);
|
|
|
+ exit(0);
|
|
|
+ }
|
|
|
+ KSGClient::MainServerClient* mainClient = getMainClient(ip, serverPort, klientNummer, key, len);
|
|
|
+ if (!mainClient)
|
|
|
+ {
|
|
|
+ WMessageBox(0, new Text("Fehler"), new Text("Die DLL Datei 'data/bin/KSGNetwork.dll' scheint fehlerhaft zu sein. Fallst dieses Problem weiterhin auftritt muss das Spiel neu Installiert werden."), MB_ICONERROR);
|
|
|
+ exit(0);
|
|
|
+ }
|
|
|
+
|
|
|
+ delete[] ip;
|
|
|
+ delete[] key;
|
|
|
+
|
|
|
+ UIInit init = Framework::defaultUI(sNormal, screen);
|
|
|
+
|
|
|
+ News* news = new News(init, mainClient->createNewsServerClient());
|
|
|
+
|
|
|
+ _aktion = new TextFeld();
|
|
|
+ _aktion->setStyle(TextFeld::Style::Sichtbar);
|
|
|
+ _aktion->setSchriftZ(dynamic_cast<Schrift*>(sNormal->getThis()));
|
|
|
+ _aktion->setSchriftFarbe(0xFFFFFFFF);
|
|
|
+ _aktion->setText("Ermittle änderungen...");
|
|
|
+ _aktion->setPosition(49, 403);
|
|
|
+ _aktion->setSize(502, 20);
|
|
|
+ screen->addMember(dynamic_cast<Zeichnung*>(_aktion->getThis()));
|
|
|
+
|
|
|
+ _kbps = new TextFeld();
|
|
|
+ _kbps->setStyle(TextFeld::Style::Sichtbar);
|
|
|
+ _kbps->setSchriftZ(dynamic_cast<Schrift*>(sNormal->getThis()));
|
|
|
+ _kbps->setSchriftFarbe(0xFFFFFFFF);
|
|
|
+ _kbps->setText("0 kb/s");
|
|
|
+ _kbps->setPosition(49, 460);
|
|
|
+ _kbps->setSize(402, 20);
|
|
|
+ screen->addMember(dynamic_cast<Zeichnung*>(_kbps->getThis()));
|
|
|
+
|
|
|
+ _fortschritt = new FBalken();
|
|
|
+ _fortschritt->setStyle(FBalken::Style::Sichtbar | FBalken::Style::Hintergrund | FBalken::Style::HBild | FBalken::Style::FBild | FBalken::Style::Rahmen | FBalken::Style::Prozent | FBalken::Style::L_R);
|
|
|
+ _fortschritt->setRahmenFarbe(0xFFFFFFFF);
|
|
|
+ _fortschritt->setHintergrundBild(dynamic_cast<Bild*>(systemFortschrittL->getThis()));
|
|
|
+ _fortschritt->setFBgBild(dynamic_cast<Bild*>(systemFortschrittV->getThis()));
|
|
|
+ _fortschritt->setSchriftZ(dynamic_cast<Schrift*>(sNormal->getThis()));
|
|
|
+ _fortschritt->setSFarbe(0xFFFFFFFF);
|
|
|
+ _fortschritt->setSSize(12);
|
|
|
+ _fortschritt->setPosition(49, 428);
|
|
|
+ _fortschritt->setSize(402, 22);
|
|
|
+ screen->addMember(dynamic_cast<Zeichnung*>(_fortschritt->getThis()));
|
|
|
+
|
|
|
+ _play = new Knopf();
|
|
|
+ _play->setStyle(Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBild);
|
|
|
+ _play->setMausEreignis(_playME);
|
|
|
+ _play->setHintergrundBildZ(dynamic_cast<Bild*>(playBild->getThis()));
|
|
|
+ _play->setKlickBildZ(dynamic_cast<Bild*>(playKlick->getThis()));
|
|
|
+ _play->setPosition(200, 466);
|
|
|
+ _play->setSize(101, 30);
|
|
|
+ screen->addMember(dynamic_cast<Zeichnung*>(_play->getThis()));
|
|
|
+
|
|
|
+ _optionenF = new Fenster();
|
|
|
+ _optionenF->setStyle(Fenster::Style::Erlaubt | Fenster::Style::Closable | Fenster::Style::Titel | Fenster::Style::TitelBuffered |
|
|
|
+ Fenster::Style::TitelHintergrund | Fenster::Style::BodyHintergrund | Fenster::Style::TitelHAlpha |
|
|
|
+ Fenster::Style::BodyHAlpha | Fenster::Style::Rahmen | Fenster::Style::ClosingKlickBuffer |
|
|
|
+ Fenster::Style::ClosingHintergrund | Fenster::Style::ClosingHAlpha | Fenster::Style::Beweglich | Fenster::Style::VScroll);
|
|
|
+ _optionenF->setSize(300, 330);
|
|
|
+ _optionenF->setPosition(100, 100);
|
|
|
+ _optionenF->setVSBMax(300);
|
|
|
+ _optionenF->zVScrollBar()->setKlickScroll(10);
|
|
|
+ _optionenF->zVScrollBar()->setFarbe(0xFFFFFFFF);
|
|
|
+ _optionenF->zVScrollBar()->setBgFarbe(0xF0000000, 1);
|
|
|
+ _optionenF->setRBreite(2);
|
|
|
+ _optionenF->setRFarbe(0xFFFFFFFF);
|
|
|
+ _optionenF->setTSchriftZ(dynamic_cast<Schrift*>(sNormal->getThis()));
|
|
|
+ _optionenF->zTTextFeld()->addStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Center);
|
|
|
+ _optionenF->setTitel("Optionen");
|
|
|
+ _optionenF->zTTextFeld()->setSize(0, 20);
|
|
|
+ _optionenF->setTBgFarbe(0xF0000000);
|
|
|
+ _optionenF->setTAfFarbe(0xA0FFFFFF);
|
|
|
+ _optionenF->setTAfStrength(15);
|
|
|
+ _optionenF->setTSFarbe(0xFFFFFFFF);
|
|
|
+ _optionenF->setSBgFarbe(0xF0000000);
|
|
|
+ _optionenF->setSKAfFarbe(0xFFFFFFFF);
|
|
|
+ _optionenF->setSKAfStrength(30);
|
|
|
+ _optionenF->setKBgFarbe(0xF0000000);
|
|
|
+ _optionenF->setClosingMe(oAbbrechen);
|
|
|
+ screen->addMember(dynamic_cast<Zeichnung*>(_optionenF->getThis()));
|
|
|
+
|
|
|
+ TextFeld* oReihenfolge = new TextFeld();
|
|
|
+ oReihenfolge->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::VCenter);
|
|
|
+ oReihenfolge->setSchriftZ(dynamic_cast<Schrift*>(sNormal->getThis()));
|
|
|
+ oReihenfolge->setSchriftFarbe(0xFFFFFFFF);
|
|
|
+ oReihenfolge->setText("Update Reihenfolge:");
|
|
|
+ oReihenfolge->setPosition(2, 2);
|
|
|
+ oReihenfolge->setSize(276, 20);
|
|
|
+ _optionenF->addMember(oReihenfolge);
|
|
|
+
|
|
|
+ _o_rt = new ObjTabelle();
|
|
|
+ _o_rt->setStyle(ObjTabelle::Style::Sichtbar | ObjTabelle::Style::Erlaubt | ObjTabelle::Style::Rahmen |
|
|
|
+ ObjTabelle::Style::Raster | ObjTabelle::Style::VScroll);
|
|
|
+ _o_rt->setPosition(2, 24);
|
|
|
+ _o_rt->setSize(276, 150);
|
|
|
+ _o_rt->setRahmenBreite(1);
|
|
|
+ _o_rt->setRahmenFarbe(0xFFFFFFFF);
|
|
|
+ _o_rt->setRasterBreite(1);
|
|
|
+ _o_rt->setRasterFarbe(0xFFFFFFFF);
|
|
|
+ _o_rt->setVertikalKlickScroll(10);
|
|
|
+ _o_rt->setMausEreignis(_o_rtME);
|
|
|
+ _o_rt->addSpalte("Spiel");
|
|
|
+ _o_rt->addSpalte("Erlaubt");
|
|
|
+ _o_rt->setSpaltenBreite(0, 237);
|
|
|
+ _o_rt->setSpaltenBreite(1, 20);
|
|
|
+ _o_rt->addZeile("Überschrift");
|
|
|
+ _o_rt->setZeilenHeight(0, 15);
|
|
|
+ TextFeld* ortSpielT = new TextFeld();
|
|
|
+ ortSpielT->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Center);
|
|
|
+ ortSpielT->setSchriftZ(dynamic_cast<Schrift*>(sNormal->getThis()));
|
|
|
+ ortSpielT->setSchriftFarbe(0xFFFFFFFF);
|
|
|
+ ortSpielT->setText("Spiel");
|
|
|
+ _o_rt->setZeichnungZ(0, 0, ortSpielT);
|
|
|
+ _optionenF->addMember(dynamic_cast<Zeichnung*>(_o_rt->getThis()));
|
|
|
+
|
|
|
+ _o_rno = new Knopf();
|
|
|
+ _o_rno->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Buffered | Knopf::Style::KlickBuffer | Knopf::Style::Rahmen);
|
|
|
+ _o_rno->setPosition(76, 176);
|
|
|
+ _o_rno->setSize(100, 20);
|
|
|
+ _o_rno->setText("nach Oben");
|
|
|
+ _o_rno->setSchriftZ(dynamic_cast<Schrift*>(sNormal->getThis()));
|
|
|
+ _o_rno->setMausEreignis(_o_rnoME);
|
|
|
+ _optionenF->addMember(dynamic_cast<Zeichnung*>(_o_rno->getThis()));
|
|
|
+
|
|
|
+ _o_rnu = new Knopf();
|
|
|
+ _o_rnu->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Buffered | Knopf::Style::KlickBuffer | Knopf::Style::Rahmen);
|
|
|
+ _o_rnu->setPosition(178, 176);
|
|
|
+ _o_rnu->setSize(100, 20);
|
|
|
+ _o_rnu->setText("nach Unten");
|
|
|
+ _o_rnu->setSchriftZ(dynamic_cast<Schrift*>(sNormal->getThis()));
|
|
|
+ _o_rnu->setMausEreignis(_o_rnuME);
|
|
|
+ _optionenF->addMember(dynamic_cast<Zeichnung*>(_o_rnu->getThis()));
|
|
|
+
|
|
|
+ TextFeld* oLimit = new TextFeld();
|
|
|
+ oLimit->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::VCenter);
|
|
|
+ oLimit->setSchriftZ(dynamic_cast<Schrift*>(sNormal->getThis()));
|
|
|
+ oLimit->setSchriftFarbe(0xFFFFFFFF);
|
|
|
+ oLimit->setText("Übertragungslimit pro Sekunde:");
|
|
|
+ oLimit->setPosition(2, 200);
|
|
|
+ oLimit->setSize(276, 20);
|
|
|
+ _optionenF->addMember(oLimit);
|
|
|
+
|
|
|
+ _o_ülps = new TextFeld();
|
|
|
+ _o_ülps->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Erlaubt | TextFeld::Style::Rahmen | TextFeld::Style::Buffered | TextFeld::Style::VCenter);
|
|
|
+ _o_ülps->setPosition(2, 222);
|
|
|
+ _o_ülps->setSize(100, 20);
|
|
|
+ _o_ülps->setRahmenFarbe(0xFF00FF00);
|
|
|
+ _o_ülps->setSchriftZ(dynamic_cast<Schrift*>(sNormal->getThis()));
|
|
|
+ _o_ülps->setText("");
|
|
|
+ _o_ülps->setSchriftFarbe(0xFFFFFFFF);
|
|
|
+ _o_ülps->setSchriftSize(12);
|
|
|
+ _o_ülps->setAlphaFeldFarbe(0x5500FF00);
|
|
|
+ _o_ülps->setAlphaFeldStrength(-5);
|
|
|
+ _o_ülps->setTastaturEreignis(_o_ülpsTE);
|
|
|
+ _optionenF->addMember(dynamic_cast<Zeichnung*>(_o_ülps->getThis()));
|
|
|
+
|
|
|
+ _o_üle = new AuswahlBox();
|
|
|
+ _o_üle->setStyle(AuswahlBox::Style::Sichtbar | AuswahlBox::Style::Erlaubt | AuswahlBox::Style::Rahmen | AuswahlBox::Style::AuswahlBuffer |
|
|
|
+ AuswahlBox::Style::MausBuffer | AuswahlBox::Style::Hintergrund);
|
|
|
+ _o_üle->setPosition(104, 222);
|
|
|
+ _o_üle->setSize(55, 20);
|
|
|
+ _o_üle->setSchriftZ(dynamic_cast<Schrift*>(sNormal->getThis()));
|
|
|
+ _o_üle->setRahmenFarbe(0xFFFFFFFF);
|
|
|
+ _o_üle->setHintergrundFarbe(0xFF000000);
|
|
|
+ _o_üle->setAuswAlphaFeldFarbe(0x5500FF00);
|
|
|
+ _o_üle->setAuswAlphaFeldStrength(-5);
|
|
|
+ _o_üle->setMausAlphaFeldFarbe(0x2200FF00);
|
|
|
+ _o_üle->setMausAlphaFeldStrength(-5);
|
|
|
+ _o_üle->setMausEreignis(_ret1ME);
|
|
|
+ _o_üle->setTastaturEreignis(_ret1TE);
|
|
|
+ _o_üle->addEintrag("kb/s");
|
|
|
+ _o_üle->addEintrag("mb/s");
|
|
|
+ _optionenF->addMember(dynamic_cast<Zeichnung*>(_o_üle->getThis()));
|
|
|
+
|
|
|
+ bool exitPatcher = 0;
|
|
|
+
|
|
|
+ Knopf* o_repair = new Knopf();
|
|
|
+ o_repair->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Buffered | Knopf::Style::KlickBuffer | Knopf::Style::Rahmen);
|
|
|
+ o_repair->setPosition(5, 254);
|
|
|
+ o_repair->setSize(100, 20);
|
|
|
+ o_repair->setText("Reparieren");
|
|
|
+ o_repair->setSchriftZ(dynamic_cast<Schrift*>(sNormal->getThis()));
|
|
|
+ o_repair->setMausEreignis([mainClient, &exitPatcher](void* p, void* o, MausEreignis me)
|
|
|
+ {
|
|
|
+ if (me.id == ME_RLinks)
|
|
|
+ {
|
|
|
+ _optionenF->removeStyle(Fenster::Style::Sichtbar);
|
|
|
+ exitPatcher = 1;
|
|
|
+ _patcher->warteAufPatch(INFINITE);
|
|
|
+ KSGTDatei dgs;
|
|
|
+ dgs.setPfad("data/dg.ksgt");
|
|
|
+ dgs.laden();
|
|
|
+ for (int i = 0; i < dgs.getZeilenAnzahl(); i++)
|
|
|
+ {
|
|
|
+ if (dgs.zFeld(i, 1)->getLength())
|
|
|
+ DateiRemove(dgs.zFeld(i, 1)->getText());
|
|
|
+ }
|
|
|
+ DateiRemove("data/dg.ksgt");
|
|
|
+ DateiRemove("data/update");
|
|
|
+ DateiRemove("data/versionen.ini");
|
|
|
+ _patcher->release();
|
|
|
+ exitPatcher = 0;
|
|
|
+ _patcher = new Patcher(dynamic_cast<FBalken*>(_fortschritt->getThis()), dynamic_cast<TextFeld*>(_aktion->getThis()), dynamic_cast<Knopf*>(_play->getThis()), &exitPatcher, mainClient->createPatchServerClient());
|
|
|
+ _patcher->startPatch();
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
+ });
|
|
|
+ _optionenF->addMember(o_repair);
|
|
|
+
|
|
|
+ Knopf* o_ok = new Knopf();
|
|
|
+ o_ok->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Buffered | Knopf::Style::KlickBuffer | Knopf::Style::Rahmen);
|
|
|
+ o_ok->setPosition(178, 284);
|
|
|
+ o_ok->setSize(100, 20);
|
|
|
+ o_ok->setText("Fertig");
|
|
|
+ o_ok->setSchriftZ(dynamic_cast<Schrift*>(sNormal->getThis()));
|
|
|
+ o_ok->setMausEreignis(o_okME);
|
|
|
+ _optionenF->addMember(o_ok);
|
|
|
+
|
|
|
+ screen->unlock();
|
|
|
+
|
|
|
+ DWORD threadId;
|
|
|
+ HANDLE handle = CreateThread(NULL, 0, runThread, screen, 0, &threadId);
|
|
|
+
|
|
|
+ _patcher = new Patcher(dynamic_cast<FBalken*>(_fortschritt->getThis()), dynamic_cast<TextFeld*>(_aktion->getThis()), dynamic_cast<Knopf*>(_play->getThis()), &exitPatcher, mainClient->createPatchServerClient());
|
|
|
+ _patcher->startPatch();
|
|
|
+
|
|
|
+ StartNachrichtenSchleife();
|
|
|
+
|
|
|
+ _exitB = 1;
|
|
|
+ WaitForSingleObject(handle, INFINITE);
|
|
|
+
|
|
|
+ news->warteAufThread(10000);
|
|
|
+ news->ende();
|
|
|
+ news->release();
|
|
|
+
|
|
|
+ exitPatcher = 1;
|
|
|
+ _patcher->warteAufPatch(INFINITE);
|
|
|
+ int returnVal = _patcher->getReturn();
|
|
|
+ _patcher->release();
|
|
|
+
|
|
|
+ _optionenF->release();
|
|
|
+ _o_rt->release();
|
|
|
+ _o_rno->release();
|
|
|
+ _o_rnu->release();
|
|
|
+ _o_ülps->release();
|
|
|
+ _o_üle->release();
|
|
|
+
|
|
|
+ _fortschritt->release();
|
|
|
+ _aktion->release();
|
|
|
+ _kbps->release();
|
|
|
+ _play->release();
|
|
|
+ sNormal->release();
|
|
|
+
|
|
|
+ patcherRahmen->release();
|
|
|
+ patcherHintergrund->release();
|
|
|
+ playBild->release();
|
|
|
+ playKlick->release();
|
|
|
+ systemSchließen->release();
|
|
|
+ systemMinimieren->release();
|
|
|
+ systemOptionen->release();
|
|
|
+ systemFortschrittL->release();
|
|
|
+ systemFortschrittV->release();
|
|
|
+
|
|
|
+ screen->release();
|
|
|
+ _frame->setBildschirm(0);
|
|
|
+ _frame->zerstören();
|
|
|
+ _frame->release();
|
|
|
+ mainClient->release();
|
|
|
+ userOptions->release();
|
|
|
+ Network::Exit();
|
|
|
+
|
|
|
+ DateiPfadErstellen(new Text("data/tmp/keinabsturz"));
|
|
|
+
|
|
|
+ if (_abbruch)
|
|
|
+ return 0;
|
|
|
+ return returnVal;
|
|
|
}
|