main.cpp 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. #include <Datei.h>
  2. #include <DateiSystem.h>
  3. #include <Fenster.h>
  4. #include <GraphicsApi.h>
  5. #include <JsonEditor.h>
  6. #include <Logging.h>
  7. #include <main.h>
  8. #include <MausEreignis.h>
  9. #include <RenderThread.h>
  10. #include <Schrift.h>
  11. #include <TastaturEreignis.h>
  12. #include <UIInitialization.h>
  13. #include <XML.h>
  14. using namespace Framework;
  15. int KSGStart Framework::Start(Startparam p)
  16. {
  17. Logging::LoggingChannel* logger
  18. = new Logging::OutputDebugStringLoggingChannel();
  19. logger->setFormat(Logging::LoggingFormatBuilder()
  20. .datetime("h:i:s")
  21. .level(false)
  22. .text(": ")
  23. .build());
  24. Logging::zLoggingHandler()->addChannel(logger);
  25. WFenster fenster;
  26. WNDCLASS wc = Framework::F_Normal(p.hinst);
  27. wc.lpszClassName = "Config Editor";
  28. fenster.erstellen(WS_OVERLAPPEDWINDOW, wc);
  29. fenster.setBounds(Punkt(100, 100), Punkt(1100, 1100));
  30. fenster.setAnzeigeModus(SW_SHOWNORMAL);
  31. fenster.setVSchließAktion([&fenster](void* p, void* f) {
  32. StopNachrichtenSchleife(fenster.getFensterHandle());
  33. });
  34. fenster.setMausAktion(_ret1ME);
  35. fenster.setTastaturAktion(_ret1TE);
  36. Bildschirm3D screen(
  37. dynamic_cast<WFenster*>(fenster.getThis()), new DirectX11());
  38. screen.setHandleUserInputsOnTick(1);
  39. fenster.setBildschirm(dynamic_cast<Bildschirm*>(screen.getThis()));
  40. screen.setFillFarbe(0);
  41. screen.setTestRend(1);
  42. LTDSDatei dat;
  43. dat.setPfad(new Text("data/schriften/ksgs.ltds"));
  44. dat.leseDaten();
  45. Schrift* schrift = dat.ladeSchrift();
  46. JSON::JsonEditor* editor
  47. = new JSON::JsonEditor(Framework::defaultUI(schrift, &screen));
  48. editor->setPosition(0, 0);
  49. editor->setSize(1080, 1050);
  50. editor->setStyle(ZeichnungHintergrund::Style::Hintergrund
  51. | ZeichnungHintergrund::Style::Sichtbar
  52. | ZeichnungHintergrund::Style::Erlaubt);
  53. editor->setHintergrundFarbe(0xFF000000);
  54. editor->setFont(dynamic_cast<Schrift*>(schrift->getThis()));
  55. editor->setMausEreignis(_ret1ME);
  56. editor->setTastaturEreignis(_ret1TE);
  57. Datei v("../Windows Version/data/syntax/class DimensionGenerator.xml");
  58. v.open(Datei::Style::lesen);
  59. int size = (int)v.getSize();
  60. char* buffer = new char[size + 1];
  61. v.lese(buffer, size);
  62. buffer[size] = 0;
  63. v.close();
  64. XML::Element* xml = new XML::Element(buffer);
  65. delete[] buffer;
  66. JSON::Validator::JSONValidator* validator
  67. = JSON::Validator::JSONValidator::buildForArray()
  68. ->addAcceptedTypeInArray(
  69. new Framework::JSON::Validator::JSONValidator(xml))
  70. ->finishArray();
  71. editor->setValidator(validator);
  72. Datei d("../Windows Version/data/generator/overworld.json");
  73. // Datei d("C:/Users/kolja/Downloads/train_0/train_0.iml");
  74. // Datei d("C:/Users/kolja/Downloads/train_0/neu 36.txt");
  75. d.open(Datei::Style::lesen);
  76. size = (int)d.getSize();
  77. buffer = new char[size + 1];
  78. d.lese(buffer, size);
  79. buffer[size] = 0;
  80. d.close();
  81. editor->setContent(buffer);
  82. // editor->setContent("{\"price_usd\": \"üöä\",\"test\":{},\"\":[]}");
  83. delete[] buffer;
  84. screen.addMember(editor);
  85. RenderTh rTh;
  86. rTh.setMaxFps(60);
  87. rTh.setQuiet(1);
  88. rTh.setBildschirm(dynamic_cast<Bildschirm*>(screen.getThis()));
  89. rTh.beginn();
  90. StartNachrichtenSchleife();
  91. rTh.beenden();
  92. schrift->release();
  93. return 0;
  94. }