LCEdit

In diesem Miniblog möchte ich gerne ein Projekt vorstellen, an dem ich gerade arbeite: LCEdit.

####Was ist das?
LCEdit ist ein in Qt geschriebener Editor für Clonk (im Moment aufgrund von Endung-Hardcoding noch nur CR), welcher im Stil des mitgelieferten CR-Editors gehalten ist und bei Fertigstellung dessen komplette Funktionalität so oder so implementiert beinhalten soll.

####Was kann er denn?
Nun, der Editor per se kann entpackte Dateien in einer Hierarchie anzeigen und Szenarien über eine vom mitgelieferten Editor bekannte Eingabezeile - Button - Kombination starten.
Der Editor selber unterstützt jedoch das Laden von Plugins, womit dessen Funktionalität je nach Kreativität des Autors / der Autorin erweitert werden kann. Ob Textverarbeitung, Syntaxcheck, Versionskontrollsystem, Teekocher… alles ist möglich.
Mitgeliefert werden zum Zeitpunkt der Posterstellung zwei Plugins:
+ c4group: Ermöglicht das Anzeigen von C4Group-Archiven. (Für Schreibzugriff muss ich erst herausfinden, wie schreiben in eine C4Group geht, die Klasse hat dafür netterweise keine eigene Funktion…). Benötigt ein Clonk-Source-Repository in einer bestimmten Pfadentfernung.
+ texteditor: Ermöglicht das Bearbeiten von Textdateien und Scripts direkt im Editor. Benötigt KTextEditor.

####Es gibt doch schon viele andere Editoren, warum diese Neuentwicklung?
Dies stimmt zwar, doch hat mich keiner bisher wirklich überzeugt:
+ Windmill: Sehr featurereich, doch leider etwas verbuggt und kann keine gepackten Gruppen handlen.
+ nanoMill: Spricht mich nicht so wirklich vom Design und der Usability an (Achtung Meinung!).
+ Clonkonauts Pack- und Entpackhilfe: Plattforminkompatibel, und nicht wirklich ein Editor.
+ C4DT: Eclipse ist mir viel zu ressourcenlastig, nur um für Clonk zu entwickeln. Sorry, aber da braucht nicht mal Qt Creator so viele Ressourcen.

####Wo gibt?!
Hier gibt. Für das c4group-Plugin wird das Clonk-Repository benötigt (siehe CMakeLists.txt)
Feedback, Verbesserungsvorschläge und konstruktive Kritik sind erwünscht.

Die letzte Woche habe ich verwendet, um eine eigene C4Group-Implementierung zu schreiben, da die der Clonkengine doch einige Ungereimtheiten und Performanceprobleme enthält (hoffentlich habe ich nicht mehr Ungereimtheiten eingeführt als vermieden:wink:). Somit wird das Clonk-Repository nicht mehr zum Kompilieren benötigt.

Da man einen Editor schlecht ohne Feedback entwickeln kann: Was gefällt / stört euch an Clonks Editor.exe? Was lässt sich verbessern? Was wünscht ihr euch für LCEdit?

Ka was davon wirklich sinnvoll oder umsetzbar ist, aber einfach paar Gedanken:
-Keine Autoüberschreibung wenn zwei Dinge gleich heissen.
-Ich find die "grosse Symbole" Darstellung wie man sie von windows kennt immer cool
-Standard programme zum dinger öffnen ist für mich häufig mühsam, Bilder will ich meist in photoshop öffnen, maps in paint, und das is dann bisschen hin und her
-maps und bildprogramme generell… hab mich nie mega damit beschäftigt aber wieso sind die Farben so mühsam das man immer noch mit dem ururalten paint arbeiten muss :smiley:
-Clonk standard installationslocation und windows Berechtigungen sorgen bei neuinstallation häufig zu Frust (im editor kann mans verändern aber nachher setzt's alles retour…)
-Unkompatiblität von anderen Files (will die trotzdem öffnen können wenn mein PC die nötigen tools hat, z.b. jpg dateien)
-Copy & Paste :smiley: ka wieso das nie implementiert wurde…
-Die Darstellungsfelder für Beschreibungen und Titelbilder sucken hart (Bilder zum Teil verzerrt etc.)

könnte editiert werden wenn mir mehr einfällt.

>wieso sind die Farben so mühsam das man immer noch mit dem ururalten paint arbeiten muss


Es muss nicht unbedingt Paint sein, das Programm muss nur indizierte BMP-Dateien unterstützen. GIMP geht z.B. auch. Clonk verwendet da die einfachste Form von BMP, bei der eine Farbtabelle mit 256 Einträgen verwendet wird, was sich direkt auf die ebenfalls 256 Einträge fassende Materialtabelle übersetzen lässt.

>-Keine Autoüberschreibung wenn zwei Dinge gleich heissen.


Wie genau meinst du das?

>-Ich find die "grosse Symbole" Darstellung wie man sie von windows kennt immer cool


Wegen der Symbolgröße oder der Vorschau? (Zumindest glaube ich, dass die eine Vorschau hat.)

>-Standard programme zum dinger öffnen ist für mich häufig mühsam, Bilder will ich meist in photoshop öffnen, maps in paint, und das is dann bisschen hin und her


Option, mit der man den Dateinamen mit Wildcards / den Mimetyp und das entsprechende Programm angebenn kann? Machbar, ich frage mich nur, ob das nicht die Aufgabe des OS / der DE ist.

>-maps und bildprogramme generell... hab mich nie mega damit beschäftigt aber wieso sind die Farben so mühsam das man immer noch mit dem ururalten paint arbeiten muss :D


Siehe Luchs. BMP-Editor wär aber auch ein ganz nettes Plugin.

>-Clonk standard installationslocation und windows Berechtigungen sorgen bei neuinstallation häufig zu Frust (im editor kann mans verändern aber nachher setzt's alles retour...)


Leider nicht wirklich ein Editor-, sondern ein Clonkproblem :/, aber ein Dialog mit "Keine Schreibberechtigung im Ordner" wäre für Newbies auch ganz praktisch.

>-Unkompatiblität von anderen Files (will die trotzdem öffnen können wenn mein PC die nötigen tools hat, z.b. jpg dateien)


Dem Editor fehlt noch eine "Öffne die Datei in externem Programm" - Funktionalität, wenn eingebaut, ist das kein Problem.

>-Copy & Paste :D ka wieso das nie implementiert wurde...


Drin.

>-Die Darstellungsfelder für Beschreibungen und Titelbilder sucken hart (Bilder zum Teil verzerrt etc.)


Bilder waren im alten Editor bei mir nie verzerrt, aber die Felder waren schon an der Schmerzensgrenze, ja.

basically alles, was hier drin ist:

https://ccan.de/cgi-bin/ccan/ccan-view.pl?a=view&i=5932

THUMBS DOWN >:(!!

Ist ja noch kostenfrei, also noch in Entwicklung! :birthday:

Uh. Sieht nach Arbeit aus. Aber immerhin ein gutes Kosten-Nutzen-Verhältnis. Ich tu's mal auf die Todo-Liste!

Harhar. Gute Zeiten :^)

LCEdit hat jetzt eine Suchfunktion, damit könnt ihr Entwicklern endlich wieder "Verwend doch die SuFu" unter die Nase reiben!:wink:

Version 0.1, ein Betarelease, ist nun als Sourcecode verfügbar.
Bugs, Featurewünsche und etwaige Crashes bitte melden.

FAQ
- Das Kompilieren failt mit src/plugins/search.cpp:153:17: error: ‘create’ is not a member of ‘QThread’
~ Für das Suchplugin wird mindestens Qt 5.11 benötigt; streich die letzten zwei Zeilen aus der CMakeLists.txt, um das Plugin nicht zu bauen, oder aktualisiere deine Qt-Version.

Ich hab ein Flatpak dazu erstellt https://git.marko10-000.de/flatpaks/flatpak

Wow, dickes Danke dafür!

Kein Problem. Ich verbreche mit Flatpak schon viel schlimmere Dinge.

Autobuilds
LCEdit hat jetzt Linux-Autobuilds, welche auf GitHub verfügbar sind.

##Release
Version 0.1 ist von GitHub herunterladbar. Seit dem letzten Prerelease sind sowohl Features dazugekommen als auch bestehende verbessert worden:
+ 10x schnellere C4Group-Implementierung als die der Clonk-Engine (von DerTod) - ermöglicht Lese- und Schreibzugriff (aber noch nicht das Hinzufügen und Entfernen von Einträgen)
  - cc4group (DerTods Implementierung): ./unc4group ModernCombat.c4d ModernCombat  0,27s user 0,13s system 50% cpu 0,798 total
  - Engine-C4Group: ./c4group ModernCombat.c4d -x  10,94s user 0,61s system 88% cpu 13,079 total
+ Grafikplugin fürs Ansehen von Bildern
+ Support mehrerer Workspaces
+ Umkrempeln der Plugin-QIODevice-API - jedes Plugin kann für jeden Eintrag den Inhalt als QIODevice zurückgeben, somit sind im Prinzip nur die Kreativität des Coders Grenzen!

Vorschläge sind gern gesehen, Bugs bitte auf GitHub eintragen. Im IRC-Channel #clonk-lcedit kann das Wort auch ergriffen werden.