Main.cpp 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. ::window = &window;
  32. WNDCLASS wc = Framework::F_Normal( p.hinst );
  33. wc.lpszClassName = "Factory Craft";
  34. window.erstellen( WS_POPUPWINDOW, wc );
  35. Monitor m = Framework::getMonitor( 0 );
  36. window.setBounds( Punkt( m.x, m.y ), Punkt( m.breite, m.height ) );
  37. window.setAnzeigeModus( SW_SHOWNORMAL );
  38. window.setVSchließAktion( [&window]( void* p, void* f ) {
  39. StopNachrichtenSchleife( window.getFensterHandle() );
  40. } );
  41. window.setMausAktion( _ret1ME );
  42. window.setTastaturAktion( _ret1TE );
  43. Bildschirm3D screen( dynamic_cast<WFenster*>(window.getThis()), GraphicApiType::DIRECTX11 );
  44. window.setBildschirm( dynamic_cast<Bildschirm*>(screen.getThis()) );
  45. screen.setFillFarbe( 0 );
  46. uiFactory = Framework::defaultUI( fontRegister->get( "normal" ), &screen );
  47. initMenus();
  48. RenderTh rTh;
  49. rTh.setMaxFps( 120 );
  50. rTh.setBildschirm( dynamic_cast<Bildschirm*>(screen.getThis()) );
  51. rTh.beginn();
  52. StartNachrichtenSchleife();
  53. rTh.beenden();
  54. releaseVariables();
  55. Network::Exit();
  56. return 0;
  57. }