inWarcraft Forum  
Alt 01. März 2009, 22:45   #1
Barade
 
Benutzerbild von Barade
Treant
 
Registriert seit: Sep 2005
BNet Acc: Barade
Beiträge: 594
Werkzeug - vjasside

Aktualisierungen:
-

Hinweis:
Nachdem ich schließlich vor hatte, doch eine Kate-Erweiterung anstatt einer völlig eigenen mit Qt geschriebenen IDE zu schreiben und dieses Vorhaben leider teils aus technischen und teils aus Motivationsproblemen nicht zustande gebracht habe, liegt dieses Projekt momentan auf Eis.
Der Quell-Code ist natürlich trotzdem frei verfügbar und falls Bedarf bestehen sollte, könnte ich die Entwicklung auch wieder aufnehmen.

Vorwort:
Hallo zusammen,
heute möchte ich die erste Vorabversion meines zweiten, noch unfertigen Programms vjasside veröffentlichen. Zunächst einmal sei gesagt, dass diese Version nicht für den eigentlichen Endanwender gedacht ist. Dazu ist das Programm leider noch zu instabil und unfertig. Trotzdem halte ich es für sinnvoll, den Quell-Code möglichst früh, insofern auch eine Zukunft für das Programm absehbar ist, zu veröffentlichen. Außerdem kann ich so schon früh auf die Wünsche der potenziellen Endanwender eingehen.
Nun aber zur Beschreibung des Programms: vjasside ist, wie der Name schon sagt, eine IDE (integrierte Entwicklungsumgebung) für die Skriptsprachen Jass und vJass.
Ich entschloss mich irgendwann im letzten Jahr dazu, es zu entwickeln, da die einzigen halbwegs vernünftigen Jass-IDEs - JassCraft (nur für Jass) und TESH (im Welteneditor integriert) - nur unter Windows benutzbar waren und sind.
Da ich selbst aber ein leidenschaftlicher Linux-Benutzer war und bin, machte mir das öfters zu schaffen, da der Welteneditor unter Linux nicht funktioniert (auch nicht mit wine).
Nun wäre es natürlich das Naheliegenste gewesen, eine vorhandene IDE zu nutzen. So ähnlich lief es anfangs auch als ich für den Editor Kate (KDE-Projekt) eine einfache Syntaxhervorhebungs-XML-Datei schrieb.
Allerdings musste ich Programme wie pjass, den JassHelper oder diverse MPQ-Editoren immer irgendwie mit wine aufrufen bzw. Einträge dafür im Startmenü anlegen.
Da ich zu diesem Zeitpunkt meine erste richtige Erfahrung mit dem Rahmenwerk Qt machte und auch sammeln wollte, kam ich auf die Idee, eine neue, speziell auf die beiden Skriptsprachen Jass und vJass zugeschnittene IDE zu entwickeln.
Die Entwicklung zog sich sehr lange hin, da ich nebenher noch mein anderes Programm vjassdoc entwickelte, was wesentlich schneller voranschritt.
Nun ist es für mich an der Zeit, die derzeitigen Fähigkeiten des Programms zu präsentieren und Kritik der Warcraft-Modding-Gemeinschaft entgegenzunehmen.

Anforderungen:
  • ein Betriebssystem, auf welchem Qt funktioniert (z. B. Linux, Windows oder Darwin bzw. Mac)
  • natürlich Qt, falls man das Programm kompilieren möchte
  • dazu noch einen C++-Compiler (z. B. den g++ vom GCC-Projekt)
  • wine, falls man nicht Windows benutzt (für den JassHelper)

Fähigkeiten:
  • grundlegende Textverarbeitungsmöglichkeiten, basierend auf Qts Klassen
  • Dateilistenazeige und somit natürlich auch die Fähigkeit mehrere Dateien gleichzeitig bearbeiten zu lassen
  • Sitzungsverwaltung
  • Syntax-Hervorhebung und Unterstützung von unterschiedlichen Syntax-Schemas
  • Anzeige der Ausgabe externer Programme in einem eigenen Widget
  • Kleinigkeiten wie das Einfügen eines Farbcodes oder das Formatieren einer Zeile zum Präprozessor (//!)
  • Syntax-Überprüfung mittels pjass
  • Syntax-Überprüfung und Kompilierung mittels JassHelper
  • Generierung einer API-Dokumentation mittels vjassdoc


Unfertige Fähigkeiten:
  • Ex- und Importierung von Syntax-Schemas
  • Konfigurationsmöglichkeit aller Tastenkürzel
  • das Einbinden von mittels vjassdoc erstellten API-Datenbanken und einer dadurch ermöglichten Vervollständigungshilfe für eingetippten Code
  • die Suche nach Code-Objekten in eingebundenen API-Datenbanken mittels eines Widgets
  • MPQ-Bearbeitung mittels eines kleinen, auf der StormLib basierenden MPQ-Editors

Geplante mögliche Fähigkeiten:
  • das Hoch- und Herunterladen von Code-Systemen mittels Qts FTP-Unterstützung
  • das Hoch- und Herunterladen von Syntax-Schemas, ebenfalls mittels Qts FTP-Unterstützung

Bilder:
  • Ältere Bilder finden sich hier.
  • Aktuellere Bilder finden sich hier.

Quell-Code:
Alle verfügbaren Quell-Code-Archive finden sich hier.

Anmerkung:
Ich stelle gerade ein neues Archiv zusammen. Im aktuellen fehlt der Quell-Code der aktuellen vjassdoc-, pjass- und StormLib-Version.
Barade ist offline   Mit Zitat antworten
Alt 03. März 2009, 15:31   #2
Seshiro
 
Benutzerbild von Seshiro
Archer
 
Registriert seit: Sep 2007
BNet Acc: ImTheUnknown
Beiträge: 768
Gefällt mir sehr, wobei ich die Oberfläche an sich nicht schön finde, Farbe sit unpassend, und Ränder zu dick....
geschmackssache


Greez
__________________

Zitat:
Zitat von geX
wenn table so schnell werden wie arrays sitz ich den ganzen tag nur noch vor dem triggereditor und hol mir einen runter...
Seshiro ist offline   Mit Zitat antworten
Alt 03. März 2009, 22:06   #3
Barade
 
Benutzerbild von Barade
Treant
 
Registriert seit: Sep 2005
BNet Acc: Barade
Beiträge: 594
Meinst du die Fenster? Also der Stil wird von Qt wird normal so angepasst, sodass es immer aussieht, wie es unter dem aktuellen Betriebssystem auch sollte. Sprich: unter Windows auch wie eine Windows-Oberfläche.
Alternativ kann man mit qtconfig, oder wie das heißt, auch einen anderen Stil für Qt-Programme auswählen.
Bei mir ist das halt grade Oxygen, wegen KDE 4 und ich finde ihn eigentlich nicht so schlecht. Klar, ist halt Geschmackssache.
Barade ist offline   Mit Zitat antworten
Alt 04. März 2009, 12:51   #4
xXm0RpH3usXX
 
Benutzerbild von xXm0RpH3usXX
Staff Maps
Skinning & Modelling

Moderator
Skinning & Modelling
 
Registriert seit: Dez 2004
Ort: Berlin
Beiträge: 2.081
xXm0RpH3usXX eine Nachricht über ICQ schicken xXm0RpH3usXX eine Nachricht über MSN schicken
also.. verseh ich das richtig?
damit kann man einen jasscode überprüfen?
oer was macht das? tut mir leid, ich kann so mal garnich coden!
__________________
~ gezwungenermaßen momentan temporär inaktiv, da vodafone es nicht hinkriegt unsere Leitung anzuschalten ~
http://warcraft.ingame.de/forum/image.php?type=sigpic&userid=43072&dateline=1262521689
xXm0RpH3usXX ist offline   Mit Zitat antworten
Alt 05. März 2009, 17:17   #5
Barade
 
Benutzerbild von Barade
Treant
 
Registriert seit: Sep 2005
BNet Acc: Barade
Beiträge: 594
Unter anderem. Eben durch die Integration von pjass, einem Jass-Syntax-Überprüfungsprogramm, welches auch in JassCraft verwendet wird. Es ist halt ein dickes Programm für Jass- und vJassler, die darin alles finden sollen, was sie zum Coden so benötigen.
Barade ist offline   Mit Zitat antworten
Alt 05. März 2009, 18:08   #6
Warcraft_Freak
Banned
 
Registriert seit: Apr 2007
Ort: Wien
BNet Acc: Warbringer
Beiträge: 2.080
hm... gefällt mir recht gut, aber was genau - abgesehen von der fähigkeit, auf linux zu laufen - hebt dein tool jetzt von TESH und den anderen im JNGP vorhandenen erleichterungen ab?
__________________
Time for the BANHAMMER

Original geschrieben von OrderOfHellsing
ich hab den "ich kann eh jede bekommen"-state.
Warcraft_Freak ist offline   Mit Zitat antworten
Alt 06. März 2009, 02:12   #7
Barade
 
Benutzerbild von Barade
Treant
 
Registriert seit: Sep 2005
BNet Acc: Barade
Beiträge: 594
Keine Ahnung.
Wie funktioniert denn z. B. bei TESH das Hinzufügen von eigenen Code-Dateien zum Hervorheben? Ich kenn mich da gar nicht mehr so aus, weil ich es schon ne Weile nicht mehr benutzt habe.
Oder kann man bei TESH überhaupt auch nach Structs, Interfaces usw. suchen und werden diese auch inzwischen bei der Code-Vervollständigung erkannt?
Dann ist halt noch vjassdoc implementiert, was man aber auch mit einer Erweiterung im Editor hinbekommen sollte, insofern man die Auslöser auslesen kann.
Des Weiteren braucht man nicht immer den Editor starten, wenn man etwas mit Jass oder vJass machen will, auch wenn das den Meisten wahrscheinlich nicht viel bringt.
Insgesamt gesehen lohnt es sich für einen Windows-Benutzer nicht unbedingt, auf dieses Programm umzusteigen, aber das will ich jedem selbst überlassen.
Das hier ist in erster Linie kein Konkurrenzprogramm zu TESH oder zum gesamten JassNewGen-Paket, sondern eine Alternative.
Barade ist offline   Mit Zitat antworten
Alt 06. März 2009, 13:24   #8
gexxo
 
Benutzerbild von gexxo
Spell Breaker
 
Registriert seit: Jul 2006
Ort: München
Beiträge: 3.116
Zitat:
Original geschrieben von Barade
Keine Ahnung.
Wie funktioniert denn z. B. bei TESH das Hinzufügen von eigenen Code-Dateien zum Hervorheben? Ich kenn mich da gar nicht mehr so aus, weil ich es schon ne Weile nicht mehr benutzt habe.
Oder kann man bei TESH überhaupt auch nach Structs, Interfaces usw. suchen und werden diese auch inzwischen bei der Code-Vervollständigung erkannt?
nein TESH kann nichts von dem genannten.
Wäre nett wenn du das so durchziehst, dass es stabil wird. Und wenn es soweit ist, kannste ja dich auch mal mit Pitzermike in verbindung setzen und mal ausdiskutieren ob man das nicht als replacement für tesh ins jngp einbauen könnte.
__________________
Projekte:
Castle Fight: Bekannt
eeve! TD: Eine TD die das gute aus allen TDs vereint!
YouTD: Die community TD mit schon über 300 towern (über 600 eingesendet!!!)
Infos + DLs dazu gibt es HIER
Meine Erkenntnis Threads: Memory Leak Tutorial, TD Balance Tutorial, JASS Optimierung


OMG, inwc.de ist dabei eine pornoseite zu werden!
gexxo ist offline   Mit Zitat antworten
Alt 31. März 2009, 19:46   #9
The-Red-OrK
 
Benutzerbild von The-Red-OrK
Footman
 
Registriert seit: Sep 2006
Ort: Nicht weit genug weg
BNet Acc: The-Red-OrK
Beiträge: 706
Ich habe grade versucht unter windows zu compilieren. Ist nicht so...

Bei qmake meckert er schon massig, weil er diverse image/... datein nicht findet.

Bei Make geht es dann aber erstmal richtig los:

(Neustes qt studio mit entsprechender mingw version)

Code:
src\mpqeditor.cpp: In destructor `virtual vjasside::MpqEditor::~MpqEditor()':
src\mpqeditor.cpp:128: error: conversion from `DWORD' to `const QVariant' is amb
iguous
d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/kernel/qvariant.h:413: not
e: candidates are: QVariant::QVariant(void*) <near match>
d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/kernel/qvariant.h:215: not
e:                 QVariant::QVariant(Qt::GlobalColor) <near match>
d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/kernel/qvariant.h:185: not
e:                 QVariant::QVariant(const char*) <near match>
d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/kernel/qvariant.h:183: not
e:                 QVariant::QVariant(double)
d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/kernel/qvariant.h:182: not
e:                 QVariant::QVariant(bool)
d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/kernel/qvariant.h:181: not
e:                 QVariant::QVariant(qulonglong)
d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/kernel/qvariant.h:180: not
e:                 QVariant::QVariant(qlonglong)
d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/kernel/qvariant.h:179: not
e:                 QVariant::QVariant(uint)
d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/kernel/qvariant.h:178: not
e:                 QVariant::QVariant(int)
d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/kernel/qvariant.h:170: not
e:                 QVariant::QVariant(QVariant::Type) <near match>
src\mpqeditor.cpp: In member function `void vjasside::MpqEditor::createNewArchiv
e()':
src\mpqeditor.cpp:182: error: conversion from `QByteArray' to `const WCHAR*' is
ambiguous
d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/tools/qbytearray.h:401: no
te: candidates are: QByteArray::operator const void*() const <near match>
d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/tools/qbytearray.h:349: no
te:                 QByteArray::operator QNoImplicitBoolCast() const <near match
>
src\mpqeditor.cpp:197: error: conversion from `QByteArray' to `const WCHAR*' is
ambiguous
d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/tools/qbytearray.h:401: no
te: candidates are: QByteArray::operator const void*() const <near match>
d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/tools/qbytearray.h:349: no
te:                 QByteArray::operator QNoImplicitBoolCast() const <near match
>
src\mpqeditor.cpp: In member function `void vjasside::MpqEditor::showErrorMessag
e(const QString&)':
src\mpqeditor.cpp:401: error: `ErrString' was not declared in this scope
src\mpqeditor.cpp:401: warning: unused variable 'ErrString'
mingw32-make[1]: *** [debug/mpqeditor.o] Error 1
mingw32-make[1]: Leaving directory `C:/Dokumente und Einstellungen/Andreas/Deskt
op/vjasside'
mingw32-make: *** [debug] Error 2
Werde gleich mal versuchen die dinge zu fixen, aber wollte dich informieren da ich von qt 0 ahnung habe!
__________________
To be done
The-Red-OrK ist offline   Mit Zitat antworten
Alt 02. April 2009, 14:27   #10
Barade
 
Benutzerbild von Barade
Treant
 
Registriert seit: Sep 2005
BNet Acc: Barade
Beiträge: 594
Ich sollte vielleicht mal wieder die neuste Version hochladen bzw. die SVN-Ablage gescheit einrichten, weil mir das mit dem Zusammenstellen eines Archivs langsam zu bunt wird.

Momentan hab ich noch den kleinen Fehler drinnen, dass er die Dateien nach dem Öffnen schon als ungesichert markiert.

Welche Qt-Version verwendest du denn? Ich hab jetzt in letzter Zeit unter Ubuntu mit einer älteren Version gearbeitet, aber inzwischen benutze ich wieder Gentoo und will demnächst Qt 4.5 installieren, damit ich mal den Qt Creator ausprobieren kann.
Barade ist offline   Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:42 Uhr.


Powered by vBulletin® Version 3.7.5 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Das ingame-Netzwerk:
Support
Portale:  ingame.de: Gaming - Hardware - Entertainment | inPlaystation: PS3 Spiele | inWii.de: Wii Spiele | inXbox.de: Xbox 360 Spiele
Fanseiten: inCounterstike.de: Counter-Strike | inDiablo.de: Diablo 3 | inQuake.de: Quake | inStarcraft.de: Starcraft 2 | inStarwars.de: Star Wars The Old Republic | inWarcraft.de: Warcraft 3 | inWoW.de: World of Warcraft

ingame GmbH: Unternehmens-Profil | Online-Marketing | Presse | Job-Angebote | Team | Kontakt | Impressum