Infusion - Extended GML Editor

    • Tool

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

    • Infusion - Extended GML Editor



      Entwickler: loud
      Größe: unbekannt
      Screenshots: 1
      Release: unbekannt

      Beitrag 23.07.2009

      hi,

      einer meiner kleinen Projekte ist ein externen erweiterter GML Editor, der anders als ein anderer
      externer Editor den eingebauten nicht ersetzt. Wenn Infusion gestartet ist und ein Skript im Game Maker geöffnet wird
      erscheint der Editor mit dem Inhalt des Skriptes.

      Nach Bearbeitung wird das Skript zurückgegeben und je nach Einstellung hinzugefügt oder ersetzt und danach
      der interne Editor nach Wahl gleich gespeichert.


      + Einfache Bedienung ( sogar für GML Anfänger geeignet )
      + Vereinfacht Umgang mit GameMakerLeanguage
      + Starke Performance
      + Shortcuts
      + Extern ( auch ohne Game Maker verwendbar )
      + Eingebaute Tools wie Farben oder Zeichentabelle. ( werden auch in den Game Maker eingebaut )

      Features

      • Erweitertes Syntax Hilighting
      Neben der normalen Syntax Erkennung gibt es Falten mit denen Code übersichtlicher gemacht werden kann und
      viele andere Funktionen wie mehrfaches Rückgängig, Kommentarblock, Autovervollständigung etc. Die aktuellen Ressourcen,
      Sounds, Objekte, Rooms, Scripts, Backgrounds, Fonts und Sprites werden auch übernommen.


      Code Beispiel

      Klammern können ebenfals zusammengefaltet werden

      Syntax Hilfe mit Bildchen


      Bei der Syntax Hilfe wird angezeigt ob es eine Variable, Konstante, Objekt, Room etc ist.

      • Plugins
      Ich schreibe zusätzliche Plugins die einfach eingeladen werden können mit denen Code wie durch Drag&Drop und direkter
      Vorschau erstellt werden kann. Ausgegeben wird GML.

      Kommende Plugins
      Interface
      3D Map
      2D Map

      • Skript Verwaltung
      Skripte können intern verwaltet werden, und werden bei Rückgabe an Game Maker vollständig eingefügt.

      • Archiv
      Im eingebauten Archiv können Skripte ausgetauscht werden.

      • Farbpaletten Manager
      Mit dem Farbpaletten Manager können Farben verwaltet werden und auch notiert werden. ( +Code )

      • Emulator
      Er kann eine Vorschau des geschriebenen Codes erzeugen. ( auch nur selektierter Code ) Es können auch
      Vorsteinstellungen vorgenommen werden. Beim erzeugen einer Vorschau kann noch eingestelt werden
      was genau passieren wird und welche Objekte gebraucht werden.

      Emulator in v 1.0.0 noch nicht verfügbar. Dafür gibt es direkte
      funktionen zum ausführen der exe im Game Maker ( normal und debug Modus )

      • Erweiterung im Game Maker
      Im Game Maker gibt es solange Infusion aktiv ist zusätzliche funktionen
      wie Farben, eine Zeichentabelle und die möglichkeit den Inhalt des
      Game Maker Code Editors an Infusion zu geben.

      Weitere Infos folgen

      Für Feedback wie Wünsche und Fragen steh ich gern offen

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von -loud- ()

    • @loud: Deine Arbeit in allen Ehren und ich weiß das auch ehrlich zu schätzen. Aber ich hab bei deinen Posts ständig das Gefühl, dass du nicht ausreichend informiert bist. Entweder entwickelst du Tools, die es von anderen Usern (oder direkt vom GM) bereits gibt, oder du fragst nach externen Lösungen zu Funktionen, die der GM bereits von Haus aus bereitstellt. Ich möchte dir keineswegs Unfähigkeit unterstellen und du bist ja auch kein Noob, aber ich glaube, dir würde es sehr gut tun, einfach mal die Hilfedatei anzuschauen, um einen Überblick über den Funktionsumfang zu bekommen.
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
    • wie bitte?? ich fage nie nach funktionen die der gm von haus aus hatt. ( bitte genau lesen ) und das es schon ein paar farbwähle gibt
      ist mir auch klar aber wenn man da auch genauer liest kann der mehr als andere was ein grund für seine existenz ist.

      @MewX

      ja? was soll das heißen? bei genauerem lesen fällt auf das der Editor mehr kann.
    • Nie? Oh, dann hab ich z.B. hier wohl was falsch verstanden: PNG Support

      Nimm's einfach hin und fühl dich nicht gleich angegriffen. Mir ist das schon desöfteren bei dir aufgefallen. Aber ich will dir auch nicht zu nahe treten und erst recht keine Diskussion auslösen. Ich bin und bleibe der Meinung, dass du die Hilfedatei nicht ausreichend kennst. Ende von meiner Seite.
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
    • genau das mein ich -.-

      wenn man genauer list ging es mir darum PNGs zu laden und nicht die funktion bei es erst erstellt wird. Aber das ist
      ja ein anderes Thema..... und daraus schließt du gleich ich sollte die Hilfe durchlesen?

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von -loud- ()

    • @ offtopic
      Erst mal klar stellen, ich will hier jetzt keine diskussion auslösen, eher beenden!

      Mew schrieb:

      Anfänger heißt, dass ihr gerade mit GML angefangen habt und noch mit Grundbegriffen und der Hilfedatei kämpft.
      Ein Anfänger ist man solange, wie man sich noch unsicher ist über Dinge wie Klammern, Aufbau von z.b. switch-Statements etc..

      Fortgeschritten heißt, dass man vielleicht noch nicht alle Funktionen kennt, aber zumindest weiß, wo man sie findet und wie man sie dann auch benutzt. Sonst sollte ein Fingerzeig ausreichen, um euch bei einem Problem zu helfen.
      Es wird auch erwartet, dass ihr bis auf wenige Ausnahmen jedes Game Maker Script mithilfe der Dokumentation lesen und verstehen könnt.
      Quereinsteiger von anderen Sprachen dürften diesen Rang von Anfang an tragen, da sie mit Dokumentationen schon Erfahrung haben sollten.

      Experte heißt, dass ihr die Hilfedatei komplett gelesen habt, beste Kenntnisse über den Funktionsumfang des Game Makers habt und auch mittlerweile programmtechnisches Geschick, das auch außerhalb des GMs zur Geltung kommt, vorweisen könnt.
      Eure Probleme (sofern ihr überhaupt mal welche habt) erfordern meist den Einsatz von DLLs oder einen sehr raffinierten Umgang mit dem GM. 1-2 Jahre solltet ihr, je nachdem wieviel ihr mit dem GM die Woche über macht, schon mit dem Game Maker programmiert haben.
      und daraus schließt du gleich ich sollte die Hilfe durchlesen?
      Falls du es nicht verstehst, aber wenn du Experte sein willst, muss du die Hilfe schon durchgelesen haben. Und ich, als Fortgeschrittener, habe sogar schon die gesamte Hilfe durchgelesn. (Den "totlach smiley" hättest du dir auch gut ersparren können)

      @ topic/2+offtopic/2
      Du scheinst erfahrungen mit anderen Programmiersprachen zu haben, die dir scheinbar im Weg stehen! Deshalb um so wichtiger: hilfe lesen. Der GM ist halt .... anders.

      @topic Nett, auch wenn da kaum funktionen sind, die der jetztige un kommende code editor nicht kann. Das einzige was ich ganz nett finde ist das kollapsen von klammer. Mal sehen obs sich lohnt den code editor zu nehmen, oder ob er nur alles komplizierter macht


      MfG SDX
    • Damit das Thema endlich geklärt ist.... ich habe die Hilfe schon durchgelesen sonst wären mir nicht sämmtliche funktionen bewusst
      das ist ja eine reine form sache wie du funktionen heißen und welche parameter sie verlangen. Und das Thema PNG Support wurde
      auch schlieslich falsch verstanden.
    • Ich habe auf den 8er verlinkt, damit du schauen kannst, wieviel Sinn dein Projekt überhaupt noch ergibt. Klammern-Klappen kann der GM8 leider auch nich nicht oder z.B. mehrere Tabs, das ist mit Sicherheit schade.

      Die Frage, die sich aber Leuten wie mauge und mir einfach stellt ist nicht das "Was", sonder das "Wie". Jeder kann behaupten soviel er lustig ist und besonders in dem Bereich der Tools finden wir heiße Luft alleine nicht genügend.

      1. Wie willst du die ganzen Namen der Ressourcen herauskriegen und in den Editor überführen?
      2. Wie willst du, dass man den Editor benutzt? Soll man ihn getrennt vom Game Maker starten oder soll er vom GM selbst aus aufgerufen werden? Wenn letzteres der Fall ist, dann funktioniert dein "Function Begin End"-Kram nicht. Aus deinem Text geht hervor, dass du diese Lösung wählst, aber das widerspricht dem Screenshot.
      3. Wie willst du Syntaxchecking machen?
      4. Was sollen das für Plugins sein? Interface? Soweit ich weiß ist alles mögliche ein Interface... Also Userinterface, Joystickinterface, ...? 2D Map? 3D Map? Was hat man sich darunter vorzustellen?
      5. Wie soll dieser Emulator funktioneren?


      Ohne diese Fragen beantwortet zu wissen, kann jemand mit klarem Kopf dieses Projekt einfach nicht ernst nehmen, sorry.
    • tud mir leid das sollte auch erstmal nur als kurzinfo dienen.

      1. die ressourcen namen werden aus dem Game Maker übernommen. Wenn der interne
      Editor sich öffnet öffnet sich auch Infusion und wenn der editor geschlossen wird wird der
      code in den internen editor wieder eingespeist.

      Edit: In Ink gibt es jetzt auch die Funktion die Farbe direkt in den Game Maker Editor
      zu übergeben.


      2. dieses funktion "kram" was ich jetzt mal überhört hab funktioniert auch nach übergabe
      da diese im Game Maker Editor nur noch als...

      //function Name..
      show_message("hello");
      //endfunction

      ...dargestellt wird. Sowie Klammern etc. Ich würde das alles nicht machen wenn es nicht
      funktionieren würde, solangsam frag ich mich, nur weil ich ein neue user bin, ob du mit absicht immer negativ auch mich
      zugehst.

      3.das ist in bearbeitung. es prüft lediglich ob die genannte funktion/variable/konstante etc existiert
      und ob die statements stimmen.

      4. die genannten Plugins... was übrigends Namen sind.. ermöglichen wie gesagt eine
      Drag&Drop ähliche Bearbeitung in der zb nur Parameter ausgefüllt werden und das skript generiert
      wird oder durch direkte darstellung eine vorschau ezeugt wird.

      Interface - ermöglicht das positionieren für menü objekte. zb positionen für texte, fonts oder
      zeichnen von Game Maker generierte grafiken wie rechtecke etc. Was alles natürlich auch
      einstellbar ist für relative koordinaten durch variablen. (zb views)

      5. hab ich doch gesagt... er simuliert den code..

      selektiert man zb motion_add( 20, 4);

      klickt auf ausführen kann man ein dummy objekt noch auswählen, in welchen event es ausgeführt werden soll
      und kann sehen wie sich das objekt verhällt. wenn es heißt

      motion_add(direction, speed);

      kann man variablen die zum test verwendet sollen festlegen.
      wenn ich das jetzt so erklär hört es sich wahrscheinlich kompliziert an, was es
      aber definitiv bei anwendung nicht ist.




      Es können jetzt auch einfach Textdatei Dummys erstellt werden. Um zb eine
      Skript zum laden zu testen. Dabei kann der Inhalt und die Endung eingestellt werden.
    • Mich würde nurmal interessieren, wie du das gedenkst hinzubekommen,
      dass Infusion zusammen mit dem GM Editor aufgeht. Wäre nicht die einzigste
      Möglichkeit, dass zu realisieren, in den GM selber einzugreifen?
      Das wiederrum würde eine Veränderung des Game Makers darstellen, was soweit
      ich weiß ja verboten ist.
      ___________________________________________________________
      Beware of wild pointers
      ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
    • 1. und 2. hast du nicht wirklich beantwortet.

      Ich frage nochmal:
      1. Wie kommst du an die Resourcennamen? Du sprichst immer von "nachdem (die Namen) übergeben wurden (...)", aber wie soll das denn ablaufen? Der GM hat da keine Schnittstelle für.
      2. Wenn dein Editor sich anstelle des GM Codeeditors öffnet, dann tut er dies nur für dieses eine Script und für mehr nicht. Damit das abgespeichert werden kann, muss man den Editor wieder schließen. Damit wäre es sinnlos, solche Funktionsblöcke zu machen, da du immer nur eine Funktion in einem Fenster bearbeiten kannst.
      Wenn du aber alle Scripts auf einmal in deinem Editor öffnen willst, frag ich mich, wie du die aus dem GM raus und dann auch wieder reinkriegst.

      Ich stelle diese Fragen, weil du anscheinend Methoden kennst, die ich nicht kenne. Vielleicht ist es aber auch so, dass du etwas entscheidendes übersiehst.
    • 1.Wie soll ich es sonst sagen? Es hackt Game Maker? Es findet die einzelnen ordner
      und gibt deren inahlt aus.

      Ein Beispiel zum direkten Zugriff auf Game Maker stellt beispielweiße wie gesagt Ink
      dar.

      2. Der Game Maker Code Editor öffnet sich wie gehabt, nur zusätzlich wird infusion sichtbar
      und entimmt dem Game Maker Code editor den Inhalt. Ich versteh nicht ganz
      was du mit einer funktion meinst...

      wenn in Infusion folgendes geschrieben wird:

      function Zeichne Spieler
      draw_sprite( spActor, x, y);
      endfunction


      wird in den Game Maker Code Editor das zurückgegeben:

      //function Zeichne Spieler
      draw_sprite( spActor, x, y);
      //endfunction


      dadurch werden die functions Blöcke von Infusion im Game Maker
      praktisch zu Kommentare. ( sie funktionieren also nur in Infusion )

      wenn der Code jetzt wieder in infusion geöffnet wird steht dort wieder:

      function Zeichne Spieler
      draw_sprite( spActor, x, y);
      endfunction


      und die functions Blöcke sind wieder einklappbar.


      @Spellmaker: Es ändert den GM nicht sondern liest in sozusagen aus. Nur der
      Text im Code Editor wird geändert.
    • Superdaniel schrieb:

      Zu deiner Verteidigung muss ich ja sagen, dass man in den Einstellungen einen externen Codeeditor einstellen kann. Somit wird ein Programm geöffnet - ohne dass der GM "gehackt" werden muss - in dem der vorhandene Code übernommen wird.
      Das ist mir ebenfals bewusst, allerdings kann so nicht die namen der ressourcen übergeben werden und
      der Game Maker verschwindet beim bearbeiten solang. Außerdem können in Infusion Skripte "aufbewart"
      werden den beim wählen eines externen editors wird dieser immer neu gestartet.
    • klingt gut... wenns funktioniert, echt nicht schlecht! gibts auch code-completition? ich weis nich, was ihr alle habt, loud stellt praktische tools zur verfügung und ihr hackt dafür auf ihn ein... ?!
      wie machst du das? greifst du auf den adressraum der gm-exe zu und holst dir, was du brauchst? wie bekommst du die rechte zum lesen und schreiben und wie findest du heraus, welche bits und bytes was darstellen?
      "das war meine letzte flamewar PM an dich ."
    • Ein interessantes Thema ohne Frage,
      und da andere ernstzunehmende Personen bereits ihre Meinungen diesbezüglich abgegeben haben (welche teilweise mit meinen übereinstimmen) werde ich keine Meinung zum Sinn dieses Tools abgeben.

      Jedoch finde ich einige "Dinge" interessant:

      -loud- schrieb:

      1.Wie soll ich es sonst sagen? Es hackt Game Maker? Es findet die einzelnen ordner
      und gibt deren inahlt aus.

      Wie wird der GM gehackt?
      Passiert diese Übergabe von "wasauchimmer" mittels code injection, modifiziertem Game Maker, über irgendwellche Fensterzugriffe welche dann die Texte auslesen, oder über die GMK Datei welche entschlüsselt wird?

      Alle vier Wege sind zur Zeit möglich! Die Frage ist ob du einen davon für deinen Editor nimmst.



      Was ich mir auch schwierig vorstelle ist es GML zu emulieren, was passiert wenn auf Variablen von anderen Objekten zugegriffen wird oder sogar DLLs benutzt werden?

      Wenn du die Fragen beantworten kannst denke ich werden vielleicht auch die anderen User zumindest ansatzweise deinen Standpunkt verstehen wollen.

      MfG Genesis

      edit: Schönheitsfehler wegoperiert
      btw: hi blubberblub :D

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Genesis ()

    • Genesis schrieb:

      Ein interessantes Thema ohne Frage,
      und da andere ernstzunehmende Personen bereits ihre Meinungen diesbezüglich abgegeben haben (welche teilweise mit meinen übereinstimmen) werde ich keine Meinung zum Sinn dieses Tools abgeben.

      Jedoch finde ich einige dinge interessant:

      -loud- schrieb:

      1.Wie soll ich es sonst sagen? Es hackt Game Maker? Es findet die einzelnen ordner
      und gibt deren inahlt aus.

      Wie wird der GM gehackt?
      Passiert diese Übergabe von "wasauchimmer" mittels code injection, modifiziertem Game Maker, über irgendwellche Fensterzugriffe welche dann die Texte auslesen, oder über die GMK Datei welche entschlüsselt wird?

      Alle vier Wege sind zur Zeit möglich! Die Frage ist ob du einen davon für deinen Editor nimmst.



      Was ich mir auch schwierig vorstelle ist es GML zu emulieren, was passiert wenn auf Variablen von anderen Objekten zugegriffen wird oder sogar DLLs benutzt werden?

      Wenn du die fragen beantworten kannst denke ich werden vielleicht auch die anderen User zumindest ansatzweise deinen Standpunkt verstehen wollen.

      MfG Genesis
      Über direkten Fensterzugriff, es wird nicht die gmk entschlüsselt, sonst müsste man ja immer speichern bevor man etwas editieren kann.

      Was den Emulator angeht: Er wird erstmal begrenzt sein. So dass man wichtige Dinge für die man eine Vorschau gebrauchen könnte
      eine kurze vorschau erzeugen kann. Eine vollständige Erzeugung wäre auch sinnlos weil das ja sonst viel Arbeit um nichts wäre.
    • Ich muss sagen, das Projekt hat echt mein Interesse geweckt.
      Ich bin ja sehr skeptisch, aber wenn du allein die Hälfte von dem Versprochenen realiserst, hast du einen potentiellen Nutzer sicher.
      Nimm dir aber lieber nicht zu viel vor, das scheint mir bei dir öfters der Fall zu sein...
    • Um ehrlich zu sein, ich bin von dem Projekt jetzt ehrlich nicht so begeistert. Die Idee, die du da hast, ist ja schön und gut und man kann das Endprodukt sicherlich auch gebrauchen, aber wie gesagt, es ist halt meine Meinung dazu.

      Das heißt aber nicht, dass ich es nicht testen werde. Wenn es doch super ast-rein wird, dann könnte die Chance bestehen, das du einen weiteren Nutzer hast. Viel E
      Wenn ihr jetzt denkt, dass ich eine Signatur bin, dann hast du Recht.