Main.cpp 2.0 KB

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