Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 19

Thema: Modding-IDE

  1. #1
    Registrierter Benutzer
    Registriert seit
    30.12.10
    Beiträge
    23

    Civ4 Allgemein CivModderIDE 1.2.5

    CivModderIDE
    Derzeitige Version: 1.2.5

    DIES IST EINE BETA-VERSION
    Wenn du mit diesem Programm arbeitest, mache regelmäßig Sicherheitskopien. Außerdem ist das Schema noch nicht vollständig, also dürfen Objecte, bei denen augenscheinlich die Attribute nicht eingelesen werden, AUF KEINEN FALL GEÄNDERT WERDEN, auch nicht die ID! Ich weiß, dass das nicht sehr konfortabel ist, aber der Großteil der Schemadateien sollte bald fertig sein.

    Download
    1.2.5 per Update im Programm
    1.2.1(~30 MB): https://sourceforge.net/projects/civ...ide/files/1.2/
    1.1.1 bis 1.1.7(~30 MB): https://sourceforge.net/projects/civ...ide/files/1.1/
    Fragen und Bugs bitte posten!

    Wichtig: Updates findet man im Menü unter "Help/Check for updates". Das gilt aber nicht für die Programminternen XML-Schemadateien. Patchs für diese müssen seperat hier heruntergeladen werden (noch sind keine verfügbar) und in nach "\civmodderide-1.1.1\workspace\modbases\bts-3.19\" kopiert werden. Für den neusten Patch siehe oben.
    EDIT: seit version 1.1.1 nicht mehr nötig, das Standart-Schema ist im Program enthalten.Eigene Schemata können weiterhin auf diese Weise benutzt werden.

    Changelog und Kompatibilität:
    Version 1.2.5
    Achtung Spoiler:

    • Bugs behoben


    Version 1.2.3
    Achtung Spoiler:

    • Wieder Bugs behoben
    • Neuer Spezifischer Zivilisations-Wizard


    Version 1.2.1
    Achtung Spoiler:

    Update von früheren versionen funktioniert nicht! v1.2.1 muss neu heruntergeladen werden
    • Einige Bugs behoben
    • Logging hinzugefügt


    Version 1.1.7
    Achtung Spoiler:

    • Wieder einige Bugs bei behoben (Wizards, bearbeitung von Listen)


    Version 1.1.2
    Achtung Spoiler:

    Mod-Projekte nicht Kompatibel zu v1.1.1.
    Der Ordner "/civmodderide-1.1.1\workspace\modbases\bts-3.19" sollte gelöscht werden.
    • Standart-ModBase (BTS 3.19) jetzt im Program enthalten (und updatebar)
    • Einige Bugs bei den Wizards behoben









    (Ursprünglicher Post)
    Ich hatte vor einiger Zeit ein Projekt gestartet: Eine IDE für Modder. Sie sollte das Leben jedes Modders vereinfachen und außerdem wollte ich endlich mein Wissen über die coole Eclipse Rich Client Plattform in die Tat umsetzen. Obwohl alles ganz gut anfing, ist das ganze leider nach einiger Zeit etwas zerlaufen, ich hatte natürlich einige Designfehler gemacht und zum ändern wars zu spät.
    Ich hatte erst mal neu angefangen aber die Motivation war weg. Die Features sollten sein:
    1. Bearbeitung von XML in Formularen
    2. Paralleles editieten mit Texteditor und Formular
    3. Unterstützung verschiedener Schemata
    Mein Fehler war, mich auf die Formulare zu konzentrieren und das laden der XML-Dateien programmatisch zu erledigen und nicht, wie Ursprünglich geplant, mithilfe von Schema-Beschreibungs-XML-Dateien.

    Mein neuer Ansatz ist besser geplant, das Mod-Schema wird in einer XML-Datei beschrieben und das beste ist, das es tatsächlich sehr gut funktioniert! Ich war beim Programmieren immer wieder überrascht, wie schnell und sauber alles ging.
    Jetzt habe ich ein Preview veröffentlicht, das mithilfe einer schema-datei XML-Dateien einliest und in einer Tabelle anzeigt (leider ziemlich langsam und unschön). Das Projekt ist auf sourceforge gehostet.
    Für Interessierte hier der Inhalt der Schema-Datei genericData.xml (natürlich noch nicht vollständig).
    Achtung Spoiler:
    HTML-Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <genericData>
    	<rules>
    		<dataRules id="DATA_RULES_TEXT" rootPath="Civ4GameText/TEXT/"
    			idPath="/Tag">
    		</dataRules>
    		<dataRules id="DATA_RULES_CIVILIZATION"
    			rootPath="Civ4CivilizationInfos/CivilizationInfos/CivilizationInfo"
    			idPath="/Type">
    		</dataRules>
    		<dataRules id="DATA_RULES_PLAYERCOLOR"
    			rootPath="TODO"
    			idPath="TODO">
    		</dataRules>
    		<dataRules id="DATA_RULES_CIV_ART_DEFINE_TAG"
    			rootPath="TODO"
    			idPath="TODO">
    		</dataRules>
    		<dataRules id="DATA_RULES_UNIT_ART_STYLE_TYPE"
    			rootPath="TODO"
    			idPath="TODO">
    		</dataRules>
    		<enumRules id="DATA_RULES_ART_STYLE_TYPE"
    			listPath="Civ4Types/ArtStyleTypes/ArtStyleType">
    		</enumRules>
    		<dataRules id="DATA_RULES_BUILDINGCLASS"
    			rootPath="TODO"
    			idPath="TODO">
    		</dataRules>
    		<dataRules id="DATA_RULES_BUILDING"
    			rootPath="TODO"
    			idPath="TODO">
    		</dataRules>
    		<dataRules id="DATA_RULES_UNITCLASS"
    			rootPath="TODO"
    			idPath="TODO">
    		</dataRules>
    		<dataRules id="DATA_RULES_UNIT"
    			rootPath="TODO"
    			idPath="TODO">
    		</dataRules>
    		<fieldRules id="RULES_TEXT_ENGLISH">
    			<orArrayFieldRules>
    				<arrayFieldRules path="/English/Text" seperator=":"/>
    				<arrayFieldRules path="/English" seperator=":"/>
    				<arrayFieldRules path="/Text" seperator=":"/>
    			</orArrayFieldRules>
    		</fieldRules>
    		<fieldRules id="RULES_TEXT_ENGLISH_GENDER">
    			<orArrayFieldRules>
    				<arrayFieldRules path="/English/Gender" seperator=":"/>
    				<arrayFieldRules path="/Gender" seperator=":"/>
    			</orArrayFieldRules>
    		</fieldRules>
    		<fieldRules id="RULES_CIV_DESCRIPTION">
    			<singleFieldRules path="/Description"/>
    		</fieldRules>
    		<fieldRules id="RULES_CIV_SHORT_DESCRIPTION">
    			<singleFieldRules path="/ShortDescription"/>
    		</fieldRules>
    		<fieldRules id="RULES_CIV_ADJECTIVE">
    			<singleFieldRules path="/Adjective"/>
    		</fieldRules>
    		<fieldRules id="RULES_CIV_CIVILOPEDIA">
    			<singleFieldRules path="/Civilopedia"/>
    		</fieldRules>
    		<fieldRules id="RULES_CIV_DEFAULT_PLAYER_COLOR">
    			<singleFieldRules path="/DefaultPlayerColor"/>
    		</fieldRules>
    		<fieldRules id="RULES_CIV_ART_DEFINE_TAG">
    			<singleFieldRules path="/ArtDefineTag"/>
    		</fieldRules>
    		<fieldRules id="RULES_CIV_UNIT_ART_STYLE_TYPE">
    			<singleFieldRules path="/UnitArtStyleType"/>
    		</fieldRules>
    		<fieldRules id="RULES_CIV_ART_STYLE_TYPE">
    			<singleFieldRules path="/ArtStyleType"/>
    		</fieldRules>
    		<fieldRules id="RULES_CIV_PLAYABLE">
    			<singleFieldRules path="/bPlayable"/>
    		</fieldRules>
    		<fieldRules id="RULES_CIV_AI_PLAYABLE">
    			<singleFieldRules path="/bAIPlayable"/>
    		</fieldRules>
    		<fieldRules id="RULES_CIV_CITIES">
    			<listFieldRules listPath="/Cities/City"/>
    		</fieldRules>
    		<fieldRules id="RULES_CIV_BUILDINGS">
    			<mapFieldRules listPath="/Buildings/Building" keyPath="BuildingClassType" valPath="BuildingType"/>
    		</fieldRules>
    		<fieldRules id="RULES_CIV_UNITS">
    			<mapFieldRules listPath="/Units/Unit" keyPath="UnitClassType" valPath="UnitType"/>
    		</fieldRules>
    		<fieldRules id="RULES_CIV_FREE_UNITCLASSES">
    			<mapFieldRules listPath="/FreeUnitClasses/FreeUnitClass" keyPath="UnitClassType" valPath="iFreeUnits"/>
    		</fieldRules>
    	</rules>
    	<dataTypes>
    		<dataType id="TEXT" rules="DATA_RULES_TEXT">
    			<field id="ENGLISH" rules="RULES_TEXT_ENGLISH">
    				<arrayType>
    					<defaultType type="string"/>
    				</arrayType>
    			</field>
    			<field id="ENGLISH_GENDER" rules="RULES_TEXT_ENGLISH_GENDER" required="false">
    				<arrayType>
    					<defaultType type="string"/>
    				</arrayType>
    			</field>
    		</dataType>
    		<dataType id="CIVILIZATION" rules="DATA_RULES_CIVILIZATION">
    			<field id="DESCRIPTION" rules="RULES_CIV_DESCRIPTION">
    				<singleType>
    					<dataType dataType="TEXT"/>
    				</singleType>
    			</field>
    			<field id="SHORT_DESCRIPTION" rules="RULES_CIV_SHORT_DESCRIPTION">
    				<singleType>
    					<dataType dataType="TEXT"/>
    				</singleType>
    			</field>
    			<field id="ADJECTIVE" rules="RULES_CIV_ADJECTIVE">
    				<singleType>
    					<dataType dataType="TEXT"/>
    				</singleType>
    			</field>
    			<field id="CIVILOPEDIA" rules="RULES_CIV_CIVILOPEDIA">
    				<singleType>
    					<dataType dataType="TEXT"/>
    				</singleType>
    			</field>
    			<field id="DEFAULT_PLAYER_COLOR" rules="RULES_CIV_DEFAULT_PLAYER_COLOR">
    				<singleType>
    					<dataType dataType="PLAYERCOLOR"/>
    				</singleType>
    			</field>
    			<field id="ART_DEFINE_TAG" rules="RULES_CIV_ART_DEFINE_TAG">
    				<singleType>
    					<dataType dataType="CIV_ART_DEFINE_TAG"/>
    				</singleType>
    			</field>
    			<field id="UNIT_ART_STYLE_TYPE" rules="RULES_CIV_UNIT_ART_STYLE_TYPE" required="false">
    				<singleType>
    					<dataType dataType="UNIT_ART_STYLE_TYPE"/>
    				</singleType>
    			</field>
    			<field id="ART_STYLE_TYPE" rules="RULES_CIV_ART_STYLE_TYPE">
    				<singleType>
    					<dataType dataType="ART_STYLE_TYPE"/>
    				</singleType>
    			</field>
    			<field id="PLAYABLE" rules="RULES_CIV_PLAYABLE">
    				<singleType>
    					<defaultType type="boolean"/>
    				</singleType>
    			</field>
    			<field id="AI_PLAYABLE" rules="RULES_CIV_AI_PLAYABLE">
    				<singleType>
    					<defaultType type="boolean"/>
    				</singleType>
    			</field>
    			<field id="CITIES" rules="RULES_CIV_CITIES">
    				<listType>
    					<dataType dataType="TEXT"/>
    				</listType>
    			</field>
    			<field id="BUILDINGS" rules="RULES_CIV_BUILDINGS">
    				<mapType>
    					<dataType dataType="BUILDINGCLASS"/>
    					<dataType dataType="BUILDING"/>
    				</mapType>
    			</field>
    			<field id="UNITS" rules="RULES_CIV_UNITS">
    				<mapType>
    					<dataType dataType="UNITCLASS"/>
    					<dataType dataType="UNIT"/>
    				</mapType>
    			</field>
    			<field id="FREE_UNITCLASSES" rules="RULES_CIV_FREE_UNITCLASSES">
    				<mapType>
    					<dataType dataType="UNITCLASS"/>
    					<defaultType type="int"/>
    				</mapType>
    			</field>
    		</dataType>
    		<dataType id="PLAYERCOLOR" rules="DATA_RULES_PLAYERCOLOR">
    		</dataType>
    		<dataType id="CIV_ART_DEFINE_TAG" rules="DATA_RULES_CIV_ART_DEFINE_TAG">
    		</dataType>
    		<dataType id="UNIT_ART_STYLE_TYPE" rules="DATA_RULES_UNIT_ART_STYLE_TYPE">
    		</dataType>
    		<dataType id="ART_STYLE_TYPE" rules="DATA_RULES_ART_STYLE_TYPE">
    		</dataType>
    		<dataType id="BUILDINGCLASS" rules="DATA_RULES_BUILDINGCLASS">
    		</dataType>
    		<dataType id="BUILDING" rules="DATA_RULES_BUILDING">
    		</dataType>
    		<dataType id="UNITCLASS" rules="DATA_RULES_UNITCLASS">
    		</dataType>
    		<dataType id="UNIT" rules="DATA_RULES_UNIT">
    		</dataType>
    	</dataTypes>
    </genericData>


    Rules bezeichnet regeln für den Ort der XML-Element in der Datei
    DataType ist ein Datentyp wie CivilizationInfo oder Text
    FieldType ist ein "Feld" oder "Attribut" eines DataType, wie Description ein Attribut von CivilizationInfo mit dem Typ TEXT ist
    Paths bezeichnen pfade zu XML-Elementen (sollte selbsterklärend sein)

    Ich überlege noch, die Rules und DataTypes in verschiedenen Dateien zu speichern oder vielleicht auch ganz zusammenzulegen. Es wird auf jeden fall noch eine Datei geben, die die Pfade zu den Dateien innerhalb eines Mods anzeigt (Die ja bei Complete und Bts verschieden sind, glaube ich)
    Angehängte Dateien Angehängte Dateien
    Geändert von lfgr (04. November 2011 um 23:50 Uhr) Grund: Neue Version: 1.2.5

  2. #2
    Registrierter Benutzer
    Registriert seit
    04.03.07
    Beiträge
    4.694
    Ach, es geht weiter? Hatte die erste Alpha bei den Fanatics gesehen, aber da die nicht viel machte...

    Tja, was soll ich sagen? Schön, die Konkurrenz kennen zu lernen Aufgrund dieses Umstandes werde ich mich auch mit Kritik zurückhalten (sprich, dir ganz leise alle Ideen stehlen ) Ne, ganz ehrlich - du hast dir da nen arbeitsintensiven Weg ausgesucht (schon allein Java und dann noch Eclipse - wie viel Zeilen hast du schon getippt? Ich bin bei gut 1000 und mein Programm macht einiges mehr ), hoffentlich lässt die Motivation nicht nach

  3. #3
    Registrierter Benutzer
    Registriert seit
    30.12.10
    Beiträge
    23
    Apropos Konkurenz: Wenn irgendjemand einen Modeditor in Java Programmiert, kann er gerne meinen Code benutzen (gibts im sourceforge-repository, Erwähnung wäre nett). Für Fragen dazu stehe ich offen, da der Code nicht gerade gut dokumentiert ist.

  4. #4
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.231
    Willkommen im Forum .

    Zitat Zitat von delnan Beitrag anzeigen
    Ach, es geht weiter? Hatte die erste Alpha bei den Fanatics gesehen, aber da die nicht viel machte...
    wo ?


    Ach, ich muss mir das ganze Zeug irgendwann mal angucken .
    Zum Download bereit: Civ4-Mod "Mars, jetzt!"


    "Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )

    "Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)


  5. #5
    Registrierter Benutzer
    Registriert seit
    04.03.07
    Beiträge
    4.694

  6. #6
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.231
    Mein Gott, dass ist doch schon ewig her .
    Zum Download bereit: Civ4-Mod "Mars, jetzt!"


    "Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )

    "Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)


  7. #7
    Registrierter Benutzer
    Registriert seit
    30.12.10
    Beiträge
    23

    Smile

    Geht ganz gut voran, es funktioniert schon ganz gut. Ich habe mir das Ziel gesetzt, erst mal eine benutzbare Version rauszubringen (ich weiß, hat ganz schön lange gedauert ) und jetzt gibt es auch endlich was zu sehen:

    Man kann das sogar bearbeiten, bloß dass die bearbeitete Version nicht gespeichert werden kann...
    Aber es geht definitiv weiter!
    Angehängte Grafiken Angehängte Grafiken

  8. #8
    Registrierter Benutzer
    Registriert seit
    30.12.10
    Beiträge
    23
    Ich bin mit der ersten benutzbaren Beta fast fertig, es fehlt nur noch abschließende Unterstützung von Listen und Schlüssel-Werte-Paaren, und dann muss das ganze natürlich noch verpackt werden.
    Ich schätze, ich werde bis Ende der Woche etwas veröffentlichen können.

    Gleich noch ein paar Screenshots

  9. #9
    Registrierter Benutzer
    Registriert seit
    30.12.10
    Beiträge
    23
    Achtung Spoiler:




    Die Editoren werden ebenfalls mit XML konfiguriert.

    Der Default-Editor:
    Achtung Spoiler:






    EDIT: Tschuldigung, da war ein Fehler im CIVILOPEDIA-filter drin, hab ich korrigiert
    Angehängte Grafiken Angehängte Grafiken
    Geändert von lfgr (05. Januar 2011 um 14:28 Uhr)

  10. #10
    Registrierter Benutzer
    Registriert seit
    30.12.10
    Beiträge
    23
    Und der Alternative mit zwei Tabs:
    Achtung Spoiler:





    Angehängte Grafiken Angehängte Grafiken

  11. #11
    Registrierter Benutzer
    Registriert seit
    30.12.10
    Beiträge
    23
    Die beta ist jetzt fertig.
    Produktiv arbeiten ist damit nicht möglich, solange genericData.xml noch nicht fertig ist (Kann aber ausgestauscht werden, ohne das Program neu zu installieren).
    Ich würde mich trotzdem darüber freuen, wenn jemand mir bei der Fehlersuche helfen würde
    Für alle anderen werde ich im ersten Post eine Statusanzeige hinzufügen.

    Und wenn irgendjemand seinen Mod mit dem Editor bearbeiten will, oder wenn jemand beim Projekt mitmachen will (besonders ein SWT-Programmierer wäre mir willkommen), soll er sich bei mir melden.

  12. #12
    Say My Name Avatar von Zulan
    Registriert seit
    13.03.08
    Beiträge
    8.925
    Du zielst nur auf XML, oder? Was ist mir Python / C++, letzteres ist ja sicher sehr schwierig wegen dem Visual Studio build system.

  13. #13
    Registrierter Benutzer
    Registriert seit
    30.12.10
    Beiträge
    23
    Zitat Zitat von Zulan Beitrag anzeigen
    Du zielst nur auf XML, oder? Was ist mir Python / C++, letzteres ist ja sicher sehr schwierig wegen dem Visual Studio build system.
    Da das Programm eigentlich nur ein Eclipse-Plugin ist, kann ich es Theorethisch auch in die Eclipse IDE integrieren, die wiederum Python- und C++-Plugins hat... Aber das ist wohl Zukunftsmusik (Vor allem bräuchte ich dann eben ein angepasstes C++-buildscript, und da kenn ich mich nicht aus)

  14. #14
    Registrierter Benutzer
    Registriert seit
    04.03.07
    Beiträge
    4.694
    Versuch mal, für eins davon ne IDE zu basteln. Da sitzt du noch deutlich länger dran als an ner GUI für den XML-Kram Stimmt ja, du setzt ja auf Eclipse auf - und das hat wohl nen brauchbaren C++-Modus und die mMn der besten Python-IDEs (PyDev). Muss man aber trotzdem integrieren und nen Grund geben, das statt den normalen Distributionen zu benutzen.

  15. #15
    Registrierter Benutzer
    Registriert seit
    30.12.10
    Beiträge
    23
    Zitat Zitat von delnan Beitrag anzeigen
    Versuch mal, für eins davon ne IDE zu basteln. Da sitzt du noch deutlich länger dran als an ner GUI für den XML-Kram Stimmt ja, du setzt ja auf Eclipse auf - und das hat wohl nen brauchbaren C++-Modus und die mMn der besten Python-IDEs (PyDev). Muss man aber trotzdem integrieren und nen Grund geben, das statt den normalen Distributionen zu benutzen.
    Stimmt, diese Frameworks sind alle super, man muss sie halt nur kapieren... und dabei denk ich mir meistens, warum nicht einfach alles neu programmieren

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •