Main.cpp 1.8 KB

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