Projekt AngelWing (formerly known as Angeldust)
-
Es freut mich euch die erste technische Vorschau auf AngelWing anzukündigen, die heute veröffentlicht wurde. Ihr könnt das Programm unter http://code.google.com/p/angelwing/downloads/list herunterladen.
Beschreibung:
AngelWing ist ein Programm, welches sich an make orientiert (deswegen heisst das Frontend auch asmake.exe), um den Build-Prozess von Scripts für die Scriptsprache Angelscript zu vereinfachen und zu automatisieren.
Da AngelScript von Haus aus keinen Preprocessor mitbringt, habe ich mittels boost::wave einen hinzugefügt, der in Zukunft noch erweitert wird.Funktionen (englisch):
* Licensed with the famous MIT-License.
* Executes makefiles with an easy to use api, where you do the actually build.
* Supports compile-targets, so you can update only specific modules if you like. However, you have to do the structure by yourself atm, there is no automatism yet. But its on the ToDo-List.
* Full Preprocessor using boost::wave, including its predefined macros.
* Modular approach, the backend is usable in any program via a dll, however a frontend for the console is included.
* Written in plain C++, AngelScript and Boost it should run on many platforms. The frontend is running with wxWidgets.Aus Lizenzgründen ist ein externer Download nötig:
http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=enChangelog
-
0.2.6 - 07.03.09
-
Updated AngelScript to 2.15.2, which support inheritance.
-
Made the Logbook XHTML-Conform (tested with Html Validator for Firefox).
-
Removed the extensionloader from awFrontend.
-
Introduced awExtensionLoader instead.
-
Implemented awExtensionLoader for windows. Tested.
-
0.2.5 - 23.02.09
-
Updated the manual to reflect the changes.
-
Updated CConsoleColor to colorize the output on Unix-like consoles like MSYS, Linux etc.
-
Reduced Memory usage of asmake by keeping a handle to the dlls, not an instance of wxDynamicLibrary.
-
Added awAngelWingVersion()
-
Added some more text to the manual
-
CMakefile::LoadExtension() was rewritten. It loads all extensions now.
-
Added the ability to load extensions via plugins
-
Outsourced all Addons from AngelScript to plugins.
-
Upgraded to boost V1.38
-
0.2TP - 08.02.09
-
Tech Preview and initial release
Bitte auch darum, im Verzeichnis "doc" in das manual.pdf (oder manual.lyx) zu sehen, dort gibts wertvolle Informationen.
rya.
-
-
Hmmmm, die Namenswahl wollt ihr nicht nochmal überdenken?
-
Warum?
Und btw, ich bin vllt dick, aber du kannst mich in der Einzahl anreden
Wir haben keine Anwandlungen von Pluralis Majestatis
rya.
-
-
rapso schrieb:
Scorcher24 schrieb:
blanker neid von dieser seite des monitors.
haha
sorry für nicht sinvollen beitrag ^^"
-
rapso schrieb:
Scorcher24 schrieb:
blanker neid von dieser seite des monitors.
Eigentlich heisst das ja jetzt horizontal benachteiligt :-).
However, /push fürs update :p
rya.
-
Hab nur einen Blick rein geworfen. So was solltest du überdenken:
template<typename T> void awRelease(T* ptr) { if ( ptr ) { ptr->Release(); ptr = NULL; } }
Entweder hast du ein Zeichen vergessen oder eine unnötige Anweisung drin.
Gruß
Don06
-
Don06 schrieb:
Hab nur einen Blick rein geworfen. So was solltest du überdenken:
template<typename T> void awRelease(T* ptr) { if ( ptr ) { ptr->Release(); ptr = NULL; } }
Entweder hast du ein Zeichen vergessen oder eine unnötige Anweisung drin.
Gruß
Don06Was genau meinst du?
Das Template existiert, damit Zeiger wiederverwendet werden können. Wenn ich nur ptr->Release() mache, dann ist es nicht 100% garantiert, dass eine Abfrage auf NULL erfolgreich ist. Deswegen ist das so geschrieben.
rya.
-
Was genau ist AngelWing denn nun? Aus der Feature-Liste werde ich nicht so wirklich schlau, hört sich aber nach einem Compiler/Interpreter an, den man scheinbar auch in anderen Anwendungen benutzen kann (also auch als Scripting-Engine einsetzbar ist).
Aber eine kurze Erklärung in ein oder zwei Sätzen was AngelWing ist wäre dennoch nett.
-
Scorcher24 schrieb:
Was genau meinst du?
Die Anweisung
ptr = NULL;
meine ich. Damit veränderst du nur den kopierten Parameter.
Gruß
Don06
-
Oh, das habe ich tatsächlich verbockt, sorry :(.
AngelWing ist ein Programm, welches sich an make orientiert (deswegen heisst das Frontend auch asmake.exe), um den Build-Prozess von Scripts für die Scriptsprache Angelscript zu vereinfachen und zu automatisieren.
Da AngelScript von Haus aus keinen Preprocessor mitbringt, habe ich mittels boost::wave einen hinzugefügt, der in Zukunft noch erweitert wird.Anmerkung:
AngelScript ist eine Scriptsprache für C und C++ um Scripting in Anwendungen einzubauen.
Sehr geil gemacht übrigens, da kannste LUA und Python echt in die Tonne treten was embedding betrifft.
rya.
-
Don06 schrieb:
Scorcher24 schrieb:
Was genau meinst du?
Die Anweisung
ptr = NULL;
meine ich. Damit veränderst du nur den kopierten Parameter.
Gruß
Don06Richtig, das ist so gewollt. Das ist für Klassen, wo ich einen Referenz-Zeiger (reference-counted) erhalte. Wenn ich diese Freigebe, dann ist der Zeiger auf diese KLlasse ungütlig. Damit der Zeiger aber wiederverwendbar ist, wird er auf NULL gesetzt, damit ein Test auf NULL erfolgreich ist.
-
Scorcher24 schrieb:
Oh, das habe ich tatsächlich verbockt, sorry :(.
AngelWing ist ein Programm, welches sich an make orientiert (deswegen heisst das Frontend auch asmake.exe), um den Build-Prozess von Scripts für die Scriptsprache Angelscript zu vereinfachen und zu automatisieren.
Da AngelScript von Haus aus keinen Preprocessor mitbringt, habe ich mittels boost::wave einen hinzugefügt, der in Zukunft noch erweitert wird.Anmerkung:
AngelScript ist eine Scriptsprache für C und C++ um Scripting in Anwendungen einzubauen.
Sehr geil gemacht übrigens, da kannste LUA und Python echt in die Tonne treten was embedding betrifft.
rya.Von Angelscript habe ich schon gehört. Dein Projekt hört sich interressant an, werde ich mir nachher mal anschauen
Wegen dem "ptr = NULL"-Bug, der lässt sich ganz leicht beheben indem du ptr als Referenz übergibst (also *T & ptr)
-
FYI: Neue Version hochgeladen
Siehe Changlog für Details.edit:
Als kleiner Anreiz:
Wer Lyx sein eigen nennt und interesse hat, im Verzeichnis "doc" ist eine frühe Version meines Tutorials zu Angelscript enthalten. Momentan nur im Latex-Format, da es noch nicht 100% für die Öffentlichkeit bestimmt ist. Aber vllt mag ja jemand reinschauen. Momentan findet man allerdings nur die Beschreibung der Sprache Angelscript, das C++-Zeug wollte ich jetzt die nächsten Tage machen. Hab dann Urlaub und dann mehr Zeit (vor allem abends).
rya.
-
Ich hab das Programm am Wochenende auf AngelScript-Version 2.15.2 geupdatet, da AngelScript nun Vererbung unterstützt.
Folgende Hilfe wäre sehr willkommen:
* Implementieren von awExtensionLoader für Linux, Unix oder Mac oder jedes andere System auf dem AngelScript läuft und das dynamisch geladene Module unterstützt.Nach Möglichkeit bitte als .patch an die o.g. Email-Adresse.
Danke im voraus :).
rya.