Main.cpp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. setDebugDX(0);
  18. Datei d;
  19. d.setDatei("data/schriften");
  20. auto list = d.getDateiListe();
  21. for (Text* fontFile : *list)
  22. {
  23. LTDSDatei dat;
  24. dat.setPfad(new Text(Text("data/schriften/").operator+(fontFile->getText())));
  25. dat.leseDaten();
  26. Text* name = fontFile->getTeilText(0, fontFile->getLength() - 5);
  27. fontRegister->put(*name, RCPointer<Schrift>::of(dat.ladeSchrift()));
  28. name->release();
  29. }
  30. list->release();
  31. WFenster window;
  32. ::window = &window;
  33. WNDCLASS wc = Framework::F_Normal(p.hinst);
  34. wc.lpszClassName = "Factory Craft";
  35. window.erstellen(WS_POPUPWINDOW, wc);
  36. Monitor m = Framework::getMonitor(0);
  37. window.setBounds(Punkt(m.x, m.y), Punkt(m.breite, m.height));
  38. window.setAnzeigeModus(SW_SHOWNORMAL);
  39. window.setVSchließAktion([&window](void* p, void* f)
  40. {
  41. StopNachrichtenSchleife(window.getFensterHandle());
  42. });
  43. window.setMausAktion(_ret1ME);
  44. window.setTastaturAktion(_ret1TE);
  45. Bildschirm3D screen(dynamic_cast<WFenster*>(window.getThis()), GraphicApiType::DIRECTX11);
  46. window.setBildschirm(dynamic_cast<Bildschirm*>(screen.getThis()));
  47. screen.setFillFarbe(0);
  48. uiFactory = Framework::defaultUI(fontRegister->get("normal"), &screen);
  49. initMenus();
  50. RenderTh rTh;
  51. rTh.setMaxFps(120);
  52. rTh.setBildschirm(dynamic_cast<Bildschirm*>(screen.getThis()));
  53. rTh.beginn();
  54. StartNachrichtenSchleife();
  55. rTh.beenden();
  56. releaseVariables();
  57. Network::Exit();
  58. return 0;
  59. }