Main.cpp 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #include <main.h>
  2. #include <Network.h>
  3. #include <HttpRequest.h>
  4. #include <JSON.h>
  5. #include <Fenster.h>
  6. #include <Bildschirm.h>
  7. #include <GraphicsApi.h>
  8. #include <RenderThread.h>
  9. #include <Datei.h>
  10. #include <Schrift.h>
  11. #include <DateiSystem.h>
  12. #include "Globals.h"
  13. int KSGStart Framework::Start( Framework::Startparam p )
  14. {
  15. Network::Start( 20 );
  16. initVariables();
  17. Datei d;
  18. d.setDatei( "data/schriften" );
  19. auto list = d.getDateiListe();
  20. for( Text* fontFile : *list )
  21. {
  22. LTDSDatei dat;
  23. dat.setPfad( new Text( Text( "data/schriften/" ).operator+( fontFile->getText() ) ) );
  24. dat.leseDaten();
  25. Text* name = fontFile->getTeilText( 0, fontFile->getLength() - 5 );
  26. fontRegister->put( *name, RCPointer<Schrift>::of( dat.ladeSchrift() ) );
  27. name->release();
  28. }
  29. list->release();
  30. WFenster window;
  31. WNDCLASS wc = Framework::F_Normal( p.hinst );
  32. wc.lpszClassName = "Factory Craft";
  33. window.erstellen( WS_POPUPWINDOW, wc );
  34. Monitor m = Framework::getMonitor( 0 );
  35. window.setBounds( Punkt( m.x, m.y ), Punkt( m.breite, m.height ) );
  36. window.setAnzeigeModus( SW_SHOWNORMAL );
  37. window.setVSchließAktion( [&window]( void* p, void* f ) {
  38. StopNachrichtenSchleife( window.getFensterHandle() );
  39. } );
  40. window.setMausAktion( _ret1ME );
  41. window.setTastaturAktion( _ret1TE );
  42. Bildschirm3D screen( dynamic_cast<WFenster*>(window.getThis()), GraphicApiType::DIRECTX11 );
  43. window.setBildschirm( dynamic_cast<Bildschirm*>(screen.getThis()) );
  44. screen.setFillFarbe( 0 );
  45. screen.update();
  46. uiFactory = Framework::defaultUI( fontRegister->get( "normal" ), &screen );
  47. initMenus();
  48. RenderTh rTh;
  49. rTh.setBildschirm( dynamic_cast<Bildschirm*>(screen.getThis()) );
  50. rTh.beginn();
  51. StartNachrichtenSchleife();
  52. rTh.beenden();
  53. releaseVariables();
  54. Network::Exit();
  55. return 0;
  56. }