TWAT Project

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • RaZoR schrieb:

      So kenne ich dich Malek. ;)

      wad?

      mja werds nich nutzen sieht aber irgendwie nicht anders aus als die anderen map/server etc tools, nur zusammengepackt.
      [18:02:15] pixel: hab code html c++ injected source code compiler linux dos, und dann wars gehackt

      poko schrieb:

      poko fresh, ghetto chef
      junge denn es muss sein
      TWF, täglich logg ich mich ein
      sehts ein
      ich erzähl euch ne story
      von den 3 kleinen schweinchen
      und dem wolf
      von den 3 kleinen schweinchen mit ihren 3 kleinen häusern
      und der wolf
      yo
    • Hey,
      ich wollte nur kurz bekannt machen, dass jetzt alles auch auf Windows funktioniert.
      (Tested on Windows 8 and works like a charm. :D)

      Screens:
      Spoiler anzeigen

      Installer:


      Hauptfenster:




      Ich habe mich jetzt auch dazu entschieden JEDE neue Version (kompiliert) zu veröffentlichen.
      Also wer Lust hat kann die Funktionen jetzt schon nutzen bzw. testen (oder Bugs suchen :D).
      Man muss auch kein extra Framework downloaden, wie z.b. für C#, das einzige was man machen muss, ist den installer zu downloaden und ihn (als Admin*) auszuführen.
      *Dies ist nötig, da der Installer dll-dateien ins system32 verzeichnis kopiert ;-)

      Nachdem der installer alle Dateien kopiert hat, sollte eine Datei namens "twat_project.exe" auf dem Desktop erscheinen.
      Das ist das Hauptprogramm, den Installer kann man jetzt auch löschen, wenn man möchte.



      Windows (32) Installer DL:
      37.221.194.71/twat_app_info/bi…taller/twat_installer.exe
      Linux x86_64 DL: 37.221.194.71/twat_app_info/bi…/twat_project_001a_x86_64

      Hinweis: Da ich die QT-Libs static zum Projekt bzw. zum Installer gelinkt habe, MUSS ich auch den Sourcecode veröffentlichen (Laut GPL bzw. LGPL):
      Spoiler anzeigen
      TWAT-Projekt source DL: GitHub
      Installer source DL: 37.221.194.71/twat_app_info/bi…er/twat_installer_src.zip

      Installer main source:
      Spoiler anzeigen

      [cpp]
      #include <QCoreApplication>
      #include <QFile>
      #include <QString>

      #include <iostream>
      #include <stdio.h>
      #include <stdlib.h>
      #include <string>
      #include <windows.h>

      using namespace std;


      QString GetSystem32Path();
      int CopyFiles(string sRequest);

      int main()
      {
      cout << "TWAT INSTALLER" << endl;
      cout << "==============" << endl << endl;
      // catch an unknown error
      if(CopyFiles("") == -1)
      {
      cout << "[FAIL] An unknow error occured!" << endl;
      getchar();
      return -1;
      }

      // try to copy files
      cout << "Copying dlls..." << endl;
      cout << "===============" << endl;
      CopyFiles("dll");
      cout << endl;
      cout << "Copying main-executable..." << endl;
      cout << "==========================" << endl;
      CopyFiles("exe");


      cout << "[FIN] Please press a key to leave" << endl;
      getchar();
      }

      QString GetSystem32Path()
      {
      char* cSystemRoot = getenv("systemroot");
      QString sSystem32Path = (QString)cSystemRoot + "\\System32\\";

      return sSystem32Path;
      }

      int CopyFiles(string sRequest)
      {
      QString sSystem32Path = GetSystem32Path();
      long unsigned int luiBuffer = 256;
      char cCurrentUser[luiBuffer];
      if(!GetUserNameA(cCurrentUser, &luiBuffer))
      return -1;
      QString sDesktopPath = "\\users\\" + (QString)cCurrentUser + "\\Desktop\\";

      if(sRequest == "dll")
      {
      // look for error(s)
      cout << "Trying to copy \"libcurl.dll\"..." << endl;
      if(!QFile::copy(":/res/libcurl.dll", sSystem32Path + "libcurl.dll"))
      cout << "[FAIL] Failed to copy \"libcurl.dll\"" << endl << endl;
      else
      cout << "[OK] Successfully copied!" << endl << endl;

      cout << "Trying to copy \"libeay32.dll\"..." << endl;
      if(!QFile::copy(":/res/libeay32.dll", sSystem32Path + "libeay32.dll"))
      cout << "[FAIL] Failed to copy \"libeay32.dll\"" << endl << endl;
      else
      cout << "[OK] Successfully copied!" << endl << endl;

      cout << "Trying to copy \"libidn-11.dll\"..." << endl;
      if(!QFile::copy(":/res/libidn-11.dll", sSystem32Path + "libidn-11.dll"))
      cout << "[FAIL] Failed to copy \"libidn-11.dll\"" << endl << endl;
      else
      cout << "[OK] Successfully copied!" << endl << endl;

      cout << "Trying to copy \"librtmp.dll\"..." << endl;
      if(!QFile::copy(":/res/librtmp.dll", sSystem32Path + "librtmp.dll"))
      cout << "[FAIL] Failed to copy \"librtmp.dll\"" << endl << endl;
      else
      cout << "[OK] Successfully copied!" << endl << endl;

      cout << "Trying to copy \"libssh2.dll\"..." << endl;
      if(!QFile::copy(":/res/libssh2.dll", sSystem32Path + "libssh2.dll"))
      cout << "[FAIL] Failed to copy \"libssh2.dll\"" << endl << endl;
      else
      cout << "[OK] Successfully copied!" << endl << endl;

      cout << "Trying to copy \"ssleay32.dll\"..." << endl;
      if(!QFile::copy(":/res/ssleay32.dll", sSystem32Path + "ssleay32.dll"))
      cout << "[FAIL] Failed to copy \"ssleay32.dll\"" << endl << endl;
      else
      cout << "[OK] Successfully copied!" << endl << endl;

      cout << "Trying to copy \"zlib1.dll\"..." << endl;
      if(!QFile::copy(":/res/zlib1.dll", sSystem32Path + "zlib1.dll"))
      cout << "[FAIL] Failed to copy \"zlib1.dll\"" << endl << endl;
      else
      cout << "[OK] Successfully copied!" << endl << endl;
      }
      else if(sRequest == "exe")
      {
      cout << "Trying to copy \"twat_project.exe\"..." << endl;
      if(!QFile::copy(":/main/twat_project.exe", sDesktopPath + "twat_project.exe"))
      {
      cout << "[FAIL] Failed to copy \"twat_project.exe\"" << endl;
      cout << "Path was: " << sDesktopPath.toStdString() + "twat_project.exe" << endl << endl;
      }
      else
      cout << "[OK] Successfully copied!" << endl << endl;
      }

      return 0;
      }

      [/cpp]



      Falls Fehler auftreten, egal ob beim Installer oder im Hauptprogramm, bitte melden!


      EDIT:
      elturtle deswegen, weil ich meine benutzer in den VMs (virtuellen maschinen) immer so nenne :D

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von 0!=1 ()

    • Hey,

      also erstmal sorry, dass so wenig kommt, jedoch habe ich weder Zeit noch Lust bei so einem guten Wetter den ganzen Tag drin zu bleiben. Hoffe das ist verständlich. :P


      Änderungen:
      • catch16 entfernt (wegen einem bug in den bins)
      • ddwar (wird) hinzugefügt (nur für linux, da die Source für Linux geschrieben wurde und man sich nicht fehlerfrei auf Windows kompilieren kann)
      • "vote-löschen-funktion" im srv-creator
      • die "größte" Änderung: Überstzungs-system, d.h. die Anwendung wird jetzt auch in Deutsch verfügbar sein
      • Design-änderungen (ich weiß, wollte ich erst später machen)
      • update-funktion verbesser
      • Einstellungs-Menü geändert

      Nochmal in CL-Form

      Quellcode

      1. 0.0.2a
      2. 21.04.2013
      3. ========
      4. > removed catch16
      5. > added ddwar (for linux only)
      6. > added "delete-vote" function in srv-creator
      7. > added translate-system
      8. > some design changes (not final)
      9. > improved update-function
      10. > changed settings-menu



      Screenshots:




      Installation/Download:

      Da der "Auto-Updater" in 0.0.1a noch nicht funktioniert hat, ist es nötig diese Version nochmal mit dem Installer zu "Installieren".
      Falls Version 0.0.1a zuvor schon über den Installer installiert worden sein, sollte beim Versuch die dll's zu kopieren jetzt ein Fehler auftreten (da die dll's nicht überschrieben werden), diesen einfach ignorieren oder die Hauptanwedung herunterladen.

      Win32-Installer: 37.221.194.71/twat_app_info/bi…taller/twat_installer.exe
      Win32-Main-Bin: 37.221.194.71/twat_app_info/bi…er/win_32/twat_0.0.2a.exe
      Linux_x86_64-Main-Bin: 37.221.194.71/twat_app_info/bi…/twat_project_002a_x86_64
      Installer-Src: 37.221.194.71/twat_app_info/bi…er/twat_installer_src.zip
      (Für Mac hatte ich noch keine Zeit sry.)



      Bekannte Fehler/Probleme:

      Umlaute funktionieren in Windows (noch) nicht. -> behoben ab 0.0.3a
      Download-Button auf der Startseite funktioniert (noch) nicht. -> behoben ab 0.0.3a
      Bereinigen der "App-cache" funktioniert in Windows (noch) nicht. -> behoben ab 0.0.3a
      Das Ändern der Sprache OHNE restart der Anwendung funktioniert nicht. (wird noch geändert). -> behoben ab 0.0.3a
      Vergrößern der Anwendung.
      Übersetzungen fehlen noch bei den "Tool-Tips" (hover über labels).



      Sonstiges:


      Das design wird noch an manchen Stellen geändert/angepasst, wie z.b. im Server-Creator und es werden noch einige Grafiken hinzugefügt/geändert.
      Ich werde erst mit dem Demo-Converter beginnen, wenn 0.7 offiziell released worden ist.

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von 0!=1 () aus folgendem Grund: .

    • 0.0.3a + 0.1.0a Vorschau

      Hey,

      vor ca. 1 Woche (genau 9 Tage) habe ich Version 0.0.3a fertig gestellt, da die Änderungen jedoch nicht wirklich groß waren, habe ich dazu keinen neuen Beitrag erstellt.
      Trotzdem kurz die Änderungen:

      Quellcode

      1. 0.0.3a
      2. 03.05.2013
      3. =========
      4. > clearing app-cache works now on windows
      5. > changed codec to utf-8 (fixes "ä, ü, ö, ß" in german / in QT 4.x)
      6. > download-button on startpage works
      7. > changing language without restart the app works
      8. > minimal layout changes
      9. > language detect on first start
      10. > added 'refresh translations' button
      11. > application is able to log
      12. > code structure changes
      Alles anzeigen


      Download (0.0.3a)

      legacy-tw.de/?site=download




      Der Hauptgrund für diesen Beitrag ist Version 0.1.0a in der eine neue "Hauptfunktion" enthalten sein wird.
      Da ein Bild mehr sagt als Wörter, hier eine kleine Übersicht:


      Die Version wird in ein paar Wochen fertig sein, geben ich natürlich dann hier bekannt.
      Wünsche, Anliegen, Beschweden, etc. einfach per PM, E-Mail, Skype (zero.blubb) oder hier als Antwort. :D

      Schönes WE noch.
    • Hey,

      bevor ich im Urlaub bin und es dann noch länger dauert bis die neue Version fertig wird, stelle ich die noch nicht ganz fertige Version schon jetzt zum DL bereit.
      Die Hauptfunktion (Mapres/Bilder aus der Map "extrahieren") funktioniert jedoch schon.

      Das Programm arbeitet nach wie vor unter Windows und Linux.
      Bezüglich Mac: habs noch nicht geschafft OSX auf einem AMD (hab nur AMD prozessoren zu Hause die genug Leistung haben) Prozessor zum laufen zu bringen.
      Kommt aber sicher noch die nächsten Wochen (2-3).

      Ich habe auch noch einen eigenen Server geschrieben, der jedoch noch total verbuggt ist und eigentlich garnicht Public laufen sollte. :D
      Durch den Server wird der Installer jetzt nichtmehr gebraucht.

      Ich denke das war alles an Informationen fürs erste...


      Was alles gemacht wurde (sieht zwar wenig aus ist es aber nicht)

      Quellcode

      1. 0.1.0a
      2. 27.06.2013
      3. =========
      4. > added file->open (atodetect file)
      5. > added zlib as external source
      6. > added pnglite as external source
      7. > major code-structure changes
      8. > some fixes...
      9. > maptools works
      10. > added new server


      Was noch gemacht wird (für 0.1.0a)

      Quellcode

      1. > handle quads and tile layers
      2. > handle external/standard mapres/tilesets
      3. > extract all button
      4. > screenshot button (?)
      5. > multiselect (???)
      6. > extract all Mapres = 0/Tiles = 1/Quads =2 if the index position in treeviewwidget is Mapres = 0, Tiles = 1 or Quads =2




      Durch den neuen Code sind natürlich auch eine menge Fehler dazugekommen.
      TODO-liste (wird zwar keinen interessieren aber egal :) )

      Quellcode

      1. ========================================
      2. OPEN ISSUES / TODO
      3. (PRIORITY: 0 == not very important,
      4. 1 == important,
      5. 2 == very important)
      6. ========================================
      7. TODO: Improve IO (dirs/files) handle
      8. FILE: (new file) src/io.cpp
      9. NAMESPACE: (Main-Namespace) IO, (File-Namespace) File, (Dir-Namespace) Dir
      10. CLASS: (no class)
      11. FUNCTION: (a lot)
      12. STATUS: Open
      13. PRIORITY: 2
      14. TODO: Hex-codes are not generated correctly
      15. FILE: src/image.cpp
      16. NAMESPACE: Image
      17. CLASS: /
      18. FUNCTION: GetHexFromRGB(Image::SRGBColor)
      19. STATUS: Open
      20. PRIORITY: 0
      21. TODO: Strip content to other files (improve overview of source)
      22. FILE: src/mainwindow.cpp
      23. NAMESPACE: /
      24. CLASS: /
      25. FUNCTION: /
      26. STATUS: Open
      27. PRIORITY: 2
      28. TODO: Extract all buton
      29. FILE: src/tools/map_extract.cpp, src/mainwindow.cpp
      30. NAMESPACE: /
      31. CLASS: /
      32. FUNCTION: /
      33. STATUS: Open
      34. PRIORITY: 1
      35. TODO: Accept and listen threaded
      36. FILE: src/network/network_socket.cpp
      37. NAMESPACE: /
      38. CLASS: CSocket::CSocketHandle
      39. FUNCTION: Accept(int *, int *, CSocket::SRemoteInfo *)
      40. STATUS: Open
      41. PRIORITY: 1
      42. TODO: Handle external image
      43. FILE: src/tools/map_extract.cpp
      44. NAMESPACE: Map
      45. CLASS: CMapExt
      46. FUNCTION: (?) new func
      47. STATUS: Open
      48. PRIORITY: 1
      49. TODO: When map is loaded, content of ui->twSettings disappears
      50. FILE: (?)
      51. NAMESPACE: (?)
      52. CLASS: (?)
      53. FUNCTION: (?)
      54. STATUS: Open
      55. PRIORITY: 2
      56. TODO: Handle tile and quadlayers
      57. FILE: (?)
      58. NAMESPACE: (?)
      59. CLASS: (?)
      60. FUNCTION: (?)
      61. STATUS: Open
      62. PRIORITY: 1
      Alles anzeigen


      Einige screenshots (Linux/Windows)




      Download


      Linux
      MD5-Hash: ae3e9ec0ad7560463551ebe95411fdab
      DL: 37.221.194.71/twat_app_info/bi…wat_project_0_1_0a_x86_64
      Pakete benötigt: QT

      Windows
      MD5-Hash: f388746e0e19588c5b59ea033b0c1b94
      Virustotal: virustotal.com/de/file/cdab4d0…36c50f97c4b9a0a/analysis/
      DL: 37.221.194.71/twat_app_info/bi…er/win_32/twat_0.1.0a.exe

      Source
      GitHub: github.com/Malekblubb/TWAT-Project


      Wenn möglich bugs bitte melden, sollte nicht schwer sein welche zu finden. Danke.
    • Ich hab mir deinen Code angesehen. Das extrahieren der Mapres scheint ja gut zu funktionieren nur hast du ein paar Speicherlecks eingebaut.
      Dein Updateserver sollte wirklich nicht public laufen ( ::P: ). Du verwendest TCP wie ein Paketorientiertes Protkoll (ein Grund, warum das ganze nicht bugfrei laufen kann). Vielleicht wäre es besser gewesen, bei Http-Anfragen via CURL zu bleiben
    • east schrieb:

      Ich hab mir deinen Code angesehen. Das extrahieren der Mapres scheint ja gut zu funktionieren nur hast du ein paar Speicherlecks eingebaut.
      Dein Updateserver sollte wirklich nicht public laufen ( ::P: ). Du verwendest TCP wie ein Paketorientiertes Protkoll (ein Grund, warum das ganze nicht bugfrei laufen kann). Vielleicht wäre es besser gewesen, bei Http-Anfragen via CURL zu bleiben
      Ist das erste mal, dass ich mich mit netzwekprogrammierung auseinandergesetzt habe, aber ist nicht der einzige unterschied zwischen UDP und TCP, dass bei TCP die Daten "überwacht" werden mit checksums usw.?

      Gianth schrieb:

      Kannst du das nicht so programieren, dass das auto. in den downloadedmaps Ordner geht (Dvor config directory) und das man da dann auswählen kann?
      Das wäre viel geschickter. (Habe so ein Programm bei dem es geht.)
      kann ich von mir aus machen ;-)

      ToniTee schrieb:

      Wäre echt geil, wenn jetzt noch die Mac-Version mit dem nächsten Update kommt oder früher.
      Würde echt gern auch das Projekt loben können ;)
      Ich werde mich bemühen, dass so schnell wie möglich eine Mac version erscheint.



      PS: hab mich gewundert, dass der server überhaupt noch up war, nachdem ich nach hause kam. :D