Donnerstag, 30. Oktober 2008

Umstieg auf C#/Java?

Hallo liebe Leser,
da ich in letzter Zeit mit C++ nicht mehr recht so zu frieden bin, überlege ich mir einen Umstieg auf C#, bei Windows only Entwicklung, und Java, für alle Platformen.
Da ich aber noch mit mir hadere ob sich dies wirklich lohnt, stecke ich noch in einer kleinen Engpasssituation.

Der Grund dafür ist, dass man C++ zwar für vieles nutzen kann, es aber viele Schwächen hat.
So will ich, nur ich nicht jeder, als Programmierer mir weniger Gedanken um Speicherlöcher, die ich dank C++ sehr schnell ungewollt herbeiführen kann, machen müssen.
C# und Java kümmern sich darum.
Zwar braucht man eine Runtime für die jeweiligen Sprachen, aber Java ist auf so ziemlich jedem Rechner, genauso wie .Net für C# auf jedem aktuellem Rechner ist.

Aber erstmal werde ich noch einige Tests machen, bevor ich einen Umstieg in die Tat umsetze.

Auch werde ich noch andere Alternativen suchen, die mir einiges an Möglichkeiten bieten :)

Mit freundlichen Grüßen



T-Virus

memo Planung und gINI :)

Hallo liebe Leser,
ich habe mir das weitere Vorgehen mit memo nochmals überlegt.
Ich werde dort weiterhin auf SDL setzen.
Dort werde ich aber mit der Zeit einige Sachen wie SDL_image und SDL_mixer ausbauen.
Somit kann ich einige Abhängigkeiten ausbauen und gleich eigene Codes anbieten, mit denen man arbeiten kann.

Auch werde ich anderen Entwicklern mehr Freiheiten geben.
So bieten die meisten Librarys ala SFML und co. nur Methoden an um die interna von Klassen für Bilder zu bearbeiten.
Dies werde ich etwas weiter treiben.
So will ich selbst Kopieen bzw Konstante Referenzen zu den jeweiligen interna anbieten.
Somit kann jeder seine eigenen Operationen optimal durchführen.

Dies bietet sich z.b. bei dem geplanten Fenstermanagement an.
Wer etwas C und die WinAPI kennt, weiß was man alles machen kann wenn man auf den Fensterhandler zugriff hat.
Dies würde ich in C++ eigentlich komplett kapseln und die Veränderung nur per Methoden erlauben.
In gewisser weise ist dies zwar sicherer aber dafür auch problematischer, weil man nicht alles umstellen kann wie man es möchte.

Dies werde ich aber wie gesagt in memo anders machen als üblich.
Dies wird mir vielleicht spott bringen, dafür haben andere dann die Möglichkeiten mehr damit zu machen :)

Mit freundlichen Grüßen



T-Virus

Mittwoch, 29. Oktober 2008

Nächste Version von gINI ist fast fertig

Hallo liebe Leser,
nachdem ich nun einige Zeit nichts von gINI geschrieben habe und auch wenig daran gemacht hatte, habe ich in den letzten Tagen wieder mal die alten Probleme angefangen und begonnen diese zu beheben.
Dies ist mir auch gut gelungen.

So wurden einige Probleme, wie das setzen des Trennzeichens behoben.
Auch das trimen der Zeile, also entfernen von Leerzeichen und das entfernen von Kommentaren beim einlesen, wurde nun so verbessert, dass es Problem los läuft :)
Ich hatte zwischenzeitlich auch wieder eine convert Klasse angelegt, diese aber wieder verworfen.

Der Grund dafür ist simpel wie banal.
Wenn ich nun als Anwender gerne etwas aktivieren oder deaktiveren möchte, würde man gerne etwas wie enable, enabled oder true schreiben wollen.
Leider kann ich diese Werte mit lexical_cast nicht in true oder false umwandeln.
Hier muss erstmal die nicht 100%ige Typensicherheit von C++ herhalten.
So mss ich erstmal 1/0 als true/false nehmen.
Dies ist sehr unschön und wird noch von mir ausgebssert.
Für den Anfang geht es aber noch.

Ich gebe bescheidt, sobald das Problem gelöst ist.
Die aktuelle Windows Version kann bereits gesaugt werden.
Die Linux Version mache ich Heute oder Morgen fertig und spiele diese ins SVN.
Am Wochenende werde ich den Code auf Sourceforge.net releasen.
Ich werde auch langsam mal überlegen müssen wie ich das alles in eine .dll packen kann.
Im Moment hindert mich die basisdatei Klasse noch daran.
Aber dies werde ich auch noch beheben.

Nun muss ich mich, nach 2 Wochen arbeiten, leider wieder auf die Berufsschule vorbereiten.
Also einen schönen Abend noch.

Mit freundlichen Grüßen



T-Virus

Dienstag, 28. Oktober 2008

memo in neuem Gewand

Hallo liebe Leser,
nachdem ich am Wochenende memo umgeplant hatte, habe ich nun das Grundgerüst von der Planung her schon ein stück weiter.
memo wird zwar kein Framework an sich mehr werden, was wohl auch etwas schwerer gewesen wäre, aber es wird auch mehr Freiheiten bieten als z.b. SFML.
Dort bekommt man die Klassen und muss mit deren Beschränkten Zugriffen auf OpenGL arbeiten.
Da man librarys wie OpenGL und OpenAL nie komplett kapseln könnte, da es nur für OpenGL mehre hundert Funktionen gibt, ist es auch sinnlos dies zutun.
Da ich aber die Entwickler nicht abhalten will, etwas tiefer zu gehen, werde ich z.b. zwar die Basiserstellung von Fenstern etc. übernehmen, überlasse aber auch per Set/Get Methoden die Möglichkeit weiter zugehen.
Dies klingt zwar nach einer Aushebelung der Sicherheitsmaßnahmen die Set/Get Methoden bringen, dafür wird aber die Flexibilität nicht eingegrenzt.

Aber auf solche Methoden werden wahrscheinlich nur Leute mit erfahrungen zugriff nehmen.
Der Rest wird sich mit den Basis Zugriffsmöglichkeiten beglücken müssen.

Ansonsten baue ich gerade das neue Gerüst schon, was aber ein ganzes Stück schwerer wird.
Aber dazu mehr, sobald ich die ersten Versuche hinter mir habe.
Leider kann dies noch einige Zeit in Anspruch nehmen, da ich im Januar Zwischenprüfungen habe und auch noch zwischen Schule und Ausbildung hin und her muss :(
Aber ich werde mein bestes geben ;)

Mit freundlichen Grüßen



T-Virus

Sonntag, 26. Oktober 2008

memo geht weiter ^^

Hallo liebe Leser,
nachdem ich Heutemittag doch recht schnell memo abgeschrieben habe, habe ich mir einen neuen Weg ausgesucht.
memo wird weiter entwickelt aber unter neuem Konzept.
So soll memo nicht mehr nur eine einfache SDL Kapselung sein, sondern aufbasis von OpenGL und OpenAL zu einem Framework das auch wieder unter der GPL steht, sich mausern.

Natürlich kann man mir jetzt spott entgegen bringen, da ich nur minimal Erfahrungen von OpenGL und keine von OpenAL habe.
Ich werde auch nicht alle n Funktionen beider APIs anbieten oder gar kapseln.
memo wird sich nur um das korrekte initalisieren und freigeben der APIs kümmern.
Den Rest müssen dann die Programmierer machen ;)

Ob mir dies gelingen wird, ist unklar.
Aber es wäre bestimmt ein großer Wissensschub für mich und auch ein guter Ansatz um mit OpenGL und OpenAL eine Fuß zu fassen.
Vielleicht komme ich somit auch schneller zu meinem ersten 3D Spiel.
Aber erstmal schauen, was wir bei memo machen können.
Somit kann ich auch viele Abhängigkeiten, die SDL mit sich bringt, entfernen.
Da ich hauptsächlich C++ als Ziel der Programmiersprache nehmen möchte, muss ich auch kaum Anpassungen machen.

Dank der GPL, die Lizenz meiner Wahl bei meinen Projekten, kann sich jeder dran austoben wie er lustig ist ;)

Ansonsten noch einen schönen Abend und Gute Nacht.

Mit freundlichen Grüßen



T-Virus

memo auf dem Weg zur Schrottpresse :/

Hallo liebe Leser,
Heute bin ich durch Zufall auf die Projektseite von SFML gekommen.
SFML ist eine Library, die genau dies tut was ich mit memo geplant hatte.
Diese ist auch viel weiter voran geschritten als memo und SDL.
Da dort auch mehr Möglichkeiten mit dem Sprites o.ä. vorhanden sind und es auch viel schneller ist als SDL, werde ich memo wohl aufgeben.
memo Kapselt leider nur die C SDL, damit man damit in Zeiten der OOP auch vernünftig damit arbeiten kann.

Ich werde memo noch etwas nutzen, aber später komplett zu SFML wechseln.
Auch von der SDL werde ich mich wohl dann trennen, da diese nicht zu ausgereift ist wie SFML.
Ich werde den SVN Server noch online lassen, aber bald abschalten.

Mit freundlichen Grüßen



T-Virus

Geplantes für die Präsentation

Hallo liebe Leser,
nachdem ich nun nochmals die Präsentationsdemos überdacht habe, werde ich die alten Demos einstanzen und einfachere Sachen machen.
Dazu gehört z.b. die Initialisierung von OpenGL mit Hilfe der SDL.
Auch einige einfache Rendersachen wie 2D/3D Sachen werden mit dran kommen.
Aber ansonsten sollte es nicht zu komplex sein.

Die Resultate werde ich dann in den nächsten Tagen zum download anbieten.

Mit freundlichen Grüßen



T-Virus

Samstag, 25. Oktober 2008

Ein Wochenende voller GrafikAPIs :)

Hallo liebe Leser,
leider habe ich in dieser und in der letzten Woche nichts für die Präsentationen gemacht.
Deshalb werde ich am Wochenende wohl kräftig in die Tasten hauen müssen.

Ich habe mir zum Thema auch überlegt SDL mit OpenGL zu nutzen, da ich so direkt und ohne Umwege Platformunabhängig entwickeln kann und auch der Code nichts für Windows oder andere System enthält.
Dies macht den Code wieder rum kleiner und auch lesbarer.
Ich werde für OpenGL 5 Demos und für SDL auch 5 Demos basteln.
Bei OpenGL ist dies kaum ein Problem, nur bei SDL denke ich, dass es weniger als 5 werden.
Höchstens 2-3 Demos die einfache Grafiken anzeigen und diese etwas manipulieren etc.

Ansonsten habe ich also viel zu tun :)
Auch Spacer in der letzten Version, wird dann als gutes Beispiel dienen, was mit SDL alles möglich ist.
Ist zwar nicht perfekt aber es zeigt schon die Möglichkeiten ;)

Mit freundlichen Grüßen



T-Virus

Freitag, 24. Oktober 2008

memo hat Exceptions :)

Hallo liebe Leser,
ich habe nun angefangen die ersten Exceptions in memo einzubauen.
Dies ist z.b. dann wichtig, wenn man via Konstruktor ein sprite oder eine Musikdatei laden will.
Da der Konstruktor nichts zurück gibt, werden also Exceptions geworfen, damit der Entwickler weiß, dass was schief ging.

Ich habe die Windows Version schon ins SVN gespielt.
Ich habe dies nur sporadisch getestet und werde die Heuteabend, noch bevor ich Far Cry 2 spielen werde, testen und dann auch gleich auf Linux portieren.

Ansonsten gehts gleich zur Arbeit.

Mit freundlichen Grüßen



T-Virus

Donnerstag, 23. Oktober 2008

Es geht weiter ^^

Hallo liebe Leser,
nachdem ich Heutemorgen meine Projekte in Frage gestellt habe, hatte ich Heuteabend doch ein interessantes Glück.
So habe ich mir Far Cry 2, dank der Hilfe von Kai, bestellen können und dieses auch gleich zocken können.
Das Spiel ist trotz SecuROM doch einen kauf Wert ;)

Aber zurück zum Thema.
So habe ich gemerkt, dass Far Cry 2 auch einige .ini Dateien hat und diese auch nutzt.
So werden dort die Sprachen des Spiels abgelegt usw.
Also sind .ini Dateien wenigstens in der Spieleprogrammierung noch nicht tod :)
Dies gibt mir auch wieder vertrauen in die Projekte.

Ich werde mich aber bei memo tiefer in das Thema Frameworks einarbeiten und auch schauen was ich alles verbessern kann.
So werde ich auch versuchen es leicht zu machen, das Framework zu erweitern und zu verändern :)

Aber dies werde ich am Wocheneende, wenn ich auch an den demos für die Präsentation zum Thema Grafikkarten hänge, machen.

Mit freundlichen Grüßen



T-Virus

Mittwoch, 22. Oktober 2008

Nichts neues vom T-Virus

Hallo liebe Leser,
Heute habe ich leider nicht viel zu berichten :(
Grund dafür ist leider, ein kleines Nacken leiden, dass mir Heute zu schaffen macht.
Da ich so ungern stunden lang am Rechner hocken will, gibts nur noch eine kleine News mit Informationen für euch ^^

So werde ich in den kommenden Tagen nochmals memo überdenken.
Der Vorteil, den memo bieten soll liegt klar auf der Hand.
Jeder soll die Möglichkeit bekommen mit einem kleinen Framework einige Spiele oder Multimedia Anwendungen entwickeln zu können.
Leider gefällt mir meine Art des Ansatzes nicht so ganz.
Den memo macht nichts anderes als die SDL Funktionen zu kapseln und somit nur aus vorhandem Code ein Framework zusammen zu bauen.
Ob dies ein wirklich gutes Projekt ist, fange ich langsam an zu zweifeln.
Den selbst mit dem Funktionen die ich bereits eingebaut habe, gibt es noch eine schirr unendliche Menge, die ich nicht abgedeckt habe oder abdecken kann.
Deshalb werde ich memo auch nicht zu einem Monsterframework entwickeln können.

Ich werde memo erstmal noch um wichtige und brauchbare Module erweitern und dann das ganze in eine .dll(Windows) und .so(Linux) packen.
Danach müsst ihr entscheiden ob memo eine Chance und Zukunft hat.

Auch gINI ist meiner Meinung nach, nicht das was die Programmierer brauchen.
Es mag zwar ein guter Übungsansatz sein, aber braucht in Zeiten von Overhead XML Dateien, auch wenn es ironisch ist von sowas zu schreiben in Zeiten von 1 Terrabyte Festplatten, jemand noch einen .ini Parser?
Für Spacer bot sich gINI wegen der Modularität wirklich gut an, aber in großen Anwendungen wäre es doch nicht wirklich sinnvoll oder?
Vielleicht bin ich nur wegen meines etwas schlechten Tages doch zu selbstkritisch.
Aber eine, hoffentlich bessere, Nacht mit gutem schlaf kann dies doch anders aussehen lassen.

Ansonsten baue ich noch an einigen Grafikdemos für OpenGL.
Dabei habe ich auch eine einfache object Klasse angefangen, die aus einer Datei mit Koordinaten und Farbangaben dann ein Model generieren kann.
Zwar kein 3D Model wie ein Gegenstand o.ä. aber immerhin schon einige Figuren ;)

Den Quellcode gibts, sobald alles läuft :)
Ansonsten erstmal gute Nacht.

Mit freundlichen Grüßen



T-Virus

memo ausgebaut

Hallo liebe Leser,
ich habe memo Gesternabend und Heutemorgen wieder einmal ausgebaut.
So habe ich die music Klasse, die sich eigentlich um die Aktivierung des Audioteils im Framework kümmern soll, umgenannt in audio.
Der größte Teil des Codes davon ist in die neue modul Klasse music gewandert.
Diese kann nun wieder mehrfach instanziert werden, was auch mehr Sinn macht.

Einige Tests habe ich damit schon gemacht, werde dies aber noch absichern müssen, da ein Konstruktor mit dem Dateinamen als Parameter schon die Datei einlädt.
Dort wird es aber etwas knifflig, dass ganze mit Fehlerprüfung zu machen.

Hier wird es wohl Zeit mit Exceptions zu arbeiten.

Ansonsten suche ich auch noch Ideen, welche ich in das Grafikkarten Referat einfließen lassen kann.
Ich möchte dort mit OpenGL und SDL einige Demos machen.
Aber trotz der Hilfe von memo und gINI, wüsste ich nicht so recht, was ich da machen kann :(
Ich werde mir dafür erstmal ein richtiges Konzept ausdenken.

Aber nun noch etwas programmieren und dann zur Arbeit ;)

Mit freundlichen Grüßen



T-Virus

Montag, 20. Oktober 2008

Kleiner memo Fix am Abend ^^

Hallo liebe Leser,
da mein mein Kollege Paddy2K7 wieder mal angehauen hatte, da er ein kleines Game entwickeln möchte und dieses auch einige Sachen wie ein Menü etc. haben soll, habe ich ihm gleich memo aufgeschwatzt :D
Ich habe deshalb auch ein kleines Programm gefrickelt, damit ich mal ein billiges Menü basteln kann :)

Ich werde in den kommenden Tagen mal schauen, was man so alles machen kann :)
Aber es sollte jetzt schon einiges möglich sein ;)

Aber nun ab ins Bett ;)
Im memo SVN liegt die aktuelle Version, falls jemand mit testen will :)

Mit freundlichen Grüßen



T-Virus

Erster Arbeitstag :)

Hallo liebe Leser,
nachdem ich nun die letzte Woche wie Ijob erlebt hatte, konnte ich Heutemorgen erstmal zum Zahnarzt um die Fäden entfernen zu lassen ^^
Ich bin endlich froh, dass die ganze Sache hinter mir liegt.

Nachdem ich dann im Büro war, hatte mich Kai auf ein paar Fehler zu meinem Eintrag über memo informiert.
Ich sollte doch lieber öfters zweimal über meine Ideen nachdenken und erst die fertigen Ideen schreiben.
Hier nochmals danke an Kai für die Informationen ;)

Des weiteren hatte ich mal wieder einen langen Arbeitstag mit den Crystal Reports vor mir.
Die Crystal Reports sind eine Geniale Art um Berichte mit einer Datenbank generieren zu lassen.
Leider ist das bauen eines solchen Bericht, auf mich bezogen, leider eine langwierige Sache :(
Ich habe rund 6 Stunden gebraucht um den Report, Eine ASP .NET Seite zum einstellen der Werte sowie dem Export des generierten Reports zu erstellen.
Dies stört mich immer, da sowas doch schneller gehen sollte :(

Auch gab es Heute, wie bereits geschrieben, wieder eine Schulung zum Thema .Net, C# und allgemeines zum Thema OOP und Programmierung.
Der nächste Teil der Schulung wird auch schon für mich sehr interessant.
Ich kann euch nur empfehlen, wenn ihr Windows Programmierung machen wollt, nehmt C# und .Net ;)
Das macht unheimlich viel Spaß und man kann eine Menge machen :)
Auch hat man einige Probleme, wie Speicherlöcher wie in C++, nicht.
Aber dies ist nur was für die Windows Entwickler :)
Alle anderen können ruhig weiter mit ihren Programmiersprachen machen ;)

Ansonsten war es doch ein toller start in die Woche.
Mal sehen ob ich Morgen mit Kai auch zum User Group Treffen fahren kann :)
Falls ja, gibts Morgen wieder was zu berichten.

Ansonsten wünsche ich euch auch einen schönen Abend.

Mit freundlichen Grüßen



T-Virus

Sonntag, 19. Oktober 2008

Der T-Virus verbreitet sich wieder

Hallo liebe Leser,
nachdem ich nun weitestgehend über die ganze Infektion- und Weisheitszahn Geschichte hinweg bin, kann ich mal wieder einen Zwischenstand berichten.

Nachdem ich in den letzten Tagen nur Filme und auch Animes geschaut habe, und meine Wange unter 0° gehalten habe, konnte ich endlich mal wieder etwas entspannen ^^
Leider wird meine Arbeit, an meinem Arbeitsplatz, dadurch nicht gerade weniger.
Ich werde in der kommenden Woche bestimmt wieder viel zu tun haben, weshalb es mit memo und gINI wohl schleppend bis gar nicht voran gehen wird.

Ich habe deshalb mich ran gesetzt und auch etwas an memo weiter gemacht.
So habe ich noch einige Fehlerquellen, die unsigned long gefunden hatte, ausgebessert und nun auch die Ausgaben der Konsole entfernt.

Bei Fehlern, wird dann eine Exception geworfen und vielleicht auch ein log geschrieben.
Aber dazu werde ich noch ein sauberes Konzept machen, da ich dies erstmal nur grob überlegt habe.

Aber erstmal geht es Morgen zum Zahnarzt, damit ich die lästigen Fäden und somit das letzte bischen dieser Wochenlangen Geschichte zu beseitigen :)
Es ist schon unglaublich, wie gut man sich nach solch einer schmerzvollen Zeit dann fühlt :)

Ansonsten eine gute Nacht und eine frohe neue Woche euch allen.

Mit freundlichen Grüßen



T-Virus

Samstag, 18. Oktober 2008

Dem T-Virus gehts langsam besser ^^

Hallo liebe Leser,
nachdem ich die letzten Tage nicht von mir habe hören lassen, möchte ich euch mal wieder auf dem laufenden halten.

Nachdem ich am Donnerstag beim Zahnarzt war und dieser dann die Infektion festgestellt und die Wunden der Behandlung auch gereinigt hatte, durfte ich mit etwas schmerzen, dann zur Apotheke rennen und mir die Antibiotika und Schmerzmittel holen.

Die Nacht vom Donnerstag auf den Freitag war die Hölle.
Ich war im 1-2 Stunden Rhythmus immer wieder unter schmerzen wach geworden.

Das ich dann verdammt müde Gestern war, ist verständlich :/
Ich hoffe, dass ich bis Montag durch diese kleine Hölle durch bin :(
Sonst müsste ich ein .NET Training von Kai verpassen ^^
Und dies würde ich nicht gerade begrüsse.

Auch wenn seine Trainingseinheiten recht lang sind, sind sie doch immer sehr hilfreich und man kann ihm bei seinen Präsentationen stundenlang zu hören ;)
Macht immer viel Spaß

Nun werde ich mich aber erstmal wieder ins Wochenende stürzen und meine Wange weiter unter dem 0° Punkt halten :)

Mit freundlichen Grüßen



T-Virus

Mittwoch, 15. Oktober 2008

Der T-Virus wurde eingedämmt, aber nur vorrüber gehend,

Hallo liebe Leser,
leider sind die Nachwirkungen meines Zahnarztbesuches doch schlechter als beim letzten mal.
So musste ich Heute leider meinen Arbeitsplatz vorzeitig verlassen um meine Wange zu kühlen :(
Das mir sowohl das vorzeitige verlassen meines Arbeitsplatzes nicht gefällt und dies auch noch an den Nachwirkungen des ganzen liegt, macht die Sachen nicht grade besser.

Hier nochmals einen Dank an meinen Kollegen Kai, der sich um mein Wohl mehrfach Sorgen gemacht hat und mich auch dazu bewegt hat, zu gehen.
Auch wenn dies doch recht seltsam für euch klingt, so war dies doch für meine Gesundheit doch besser.
Den ohne Konzentration, brauch man eigentlich nicht mal ans Programmieren denken.
Auf seinen Rat hin, habe ich auch die Finger vom programmieren gelassen und mir beim kühlen meiner Wange mal wieder Filme und auch Animes angeschaut :)

Ich werde auch mal wieder in den nächsten Tagen mehr Animes schauen ^^
Die meisten sind zwar mit japanischer Sprache aber deutscher Untertitel reicht mir :)

Mit freundlichen Grüßen



T-Virus

Dienstag, 14. Oktober 2008

Unicode nun auch bei Memo

Hallo liebe Leser,
nach einem recht schnellen Prozess ist nun auch Unicode in Memo.
trotzdem ist Memo selbst noch richt reif für den Betrieb.
So müssen noch viele Fehlerabfragen und auch Kommentare für andere Entwickler in den Code.
Ich werde dies Morgen, nach der Arbeit, in Angriff nehmen.
Mit etwas Glück ist Morgen das gröbste weg.
Wer will kann Memo aber aus dem SVN beziehen und das ganze testen.
Es läuft auch so schon recht gut, und bei Fehlern kann kaum was schlimmes passieren.
Trotzdem ist vom nutzen in größeren Projekten, falls es welche gibt, noch abzuraten.

Ansonsten viel Spaß mit dem Unicode Memo.

Mit freundlichen Grüßen



T-Virus

100. Eintrag -> Memo bekommt Unicode ;)

Hallo liebe Leser,
nach einigen Monaten des blogens habe ich hier nun meinen 100.Blog Eintrag ^^
Und dieser handelt mal wieder nur von Programmierung :o)

Ich werde, wie ich es nun bei gINI gemacht habe, Unicode einbauen.
Dies mag zwar im ersten Moment, bei Kennern des Codes doch seltsam erscheinen und nur bei wenigen Sinn machen.
Grund ist aber, dass z.b. das Memo auch einige Klassen, wie die music, sound und sprite Klasse anbietet, die auf Dateien einlesen.
Und da macht Unicode ja Sinn.
Dort werde ich Morgen eine common.hpp/.cpp anlegen, die sich darum kümmert.
Auch die gesamten SDL includes werde ich dorthin auslagern.
Somit findet man nur noch in der common.hpp alle includes die wir benötigen.
Ansonsten werden alle anderen includes nur direkt im Code gemacht, wo sie benötigt werden.

Ich hoffe, dass ich Morgenfrüh nicht wieder mit einer schmerzenden Wange aufstehen muss :)
In diesem Sinne schonmal gute Nacht von mir.
Ich setz mich gleich hin und bereite schonmal memo vor ;)

Mit freundlichen Grüßen



T-Virus

Montag, 13. Oktober 2008

Krank dank Zahnarzt -.-

Hallo liebe Leser,
wie jeder, musste auch ich Heute zum Zahnarzt um meine letzten beiden Weisheitszähne ziehen zu lassen.
Jetzt sitze ich daheim und habe einen halb betäubten Mund :/
Morgen bin ich erstmal Krank geschrieben, was mich nicht wirklich erfreut :(
Trotzdem kann ich doch viel machen Morgen.
So hat unsigned long ein sehr interessantes Tutorial geschrieben.
Die Technik ist eigentlich nichts weiter als Grafikprogrammierung ohne Grafikkarte.
Dabei wird alles über die CPU gezeichnet :)
Ziemlich cool und macht auch Spaß.

Aber es kostet leider Leistung :(
Aber vielleicht kann ich dies sogar mal gebrauchen ;)

Mit freundlichen Grüßen



T-Virus

gINI und memo :)

Hallo liebe Leser,
ich habe mich Heute morgen mal weder an gINI und auch etwas an memo gemacht.
Ich habe erstmal die common.hpp verbessert und nochmal die include guards überarbeitet.
Diese habe ich nun an die Dateinamen angepasst.

Des weiteren werde ich gINI nun in memo integrieren.
Dies heißt, dass ich wohl gINI zu den modulen in memo schiebe und nicht direkt in den Hauptzweig.
Diesen werde ich in der Struktur auch noch überarbeiten.

Auch werde ich mich sowohl für gINI als auch für memo zum Thema .dlls und .so wieder einarbeiten.
Den sonst passt es ja nicht wirklich in das Bild :)
Mal schauen, was draus wird ;)

Mit freundlichen Grüßen



T-Virus

Sonntag, 12. Oktober 2008

Unicode läuft :)

Hallo liebe Leser,
nachdem ich mit unsigned long den ganzen Tag nur über Unicode und Voxel gesprochen habe, hat er mir vor 30 Minuten schnell ein simples Unicode Makro zusammen geschustert.
Dies mag zwar nicht die Krönung der Schöpfung sein, aber es läuft und dies sowohl unter Windows als auch unter Linux.

Die aktuellen Codes sind im SVN :)
Morgen, wenn ich vom Zahnarzt wieder komme, kann ich noch mal etwas testen.
Aber ansonsten, werde ich mich Morgen und Übermorgen schonen müssen :/
Wer immer Weisheitszähne hat wird leiden :(

Nun aber ab ins Bett :)

Mit freundlichen Grüßen



T-Virus

gINI und Unicode die zweite :)

Hallo liebe Leser,
ich habe mir Heute morgen mal die Mühe gemacht und alles wieder aufzuräumen, was Gesternabend alles verunstaltet wurde.

Ich habe mich doch entschlossen, die base_file Klasse, nun als base Klasse, beizubehalten.
Dies mag zwar etwas verwirrend klingen, aber durch den namespace files, ist es schon etwas verständlicher.

Ansonsten hat gINI nur noch 8 Dateien.
base.hpp/.cpp
key.hpp/.cpp
ini.hpp/.cpp
common.hpp/.cpp

Ich habe in die common.hpp alle Standard include Dateien sowie 2 typedefs für sections_map und data_map gemacht.
Dieses sind nur std::maps :)
Aber ziemlich genial.

Hatte eigentlich noch nie mit typedef grossartig gearbeitet, aber Spaß und vorallem einfacherheit sind damit genial gekoppelt :)

Mit freundlichen Grüßen



T-Virus

Unicode ist das Messer in gINI's Rücken :/

Hallo liebe Leser,
ich habe Gestern, mit der Hilfe von unsigned long, versucht gINI wieder einmal um zubauen.

Das Ergebnis war aber alles andere als Zufrieden stellend.
So hatten wir erst eine common.hpp/.cpp angelegt die dann typedefs etc. enthält.
Dort sollte auch Unicode mit eingebunden werden.
Soweit so gut.
Doch das Ergebnis dieser Aktion war mir mehr schlecht als recht.
Ich habe deshalb, meine Konzentration erstmal in die Fehlerfreiheit von gINI gesteckt.

Ich werde erstmal die Klassen umarbeiten.
So fliegt die base_file Klasse doch erstmal raus und somit muss ich doch überlegen, auf Funktionen zurück zu greifen, wenn es um allgemeine Sachen wie das entfernen von Kommentaren etc. geht.

Das Problem was aber dann wieder kommt ist, dass die base_file Klasse auc Methoden für die key/ini Klasse hatte, wie das setzen des Pfades der Datei und dem Zuweisungsoperator :/
Dies macht die ganze Sache erst verzwickt.

Ich kann zwar hierfür auch auf Funktionen umsteigen, was aber auch keine großartige Lösung wäre :(

Ich werde wohl schauen müssen, wie ich das Problem lösen kann :)

Mit freundlichen Grüßen



T-Virus

Samstag, 11. Oktober 2008

memo ist freigeschaltet.

Hallo liebe Leser,
wie ich Heute morgen, sogar unerwartet, sehen konnte wurde memo schon Gestern um 19:34 Uhr freigeschaltet.
Da ich sowohl mit Debian als auch Vista online bin, spiele ich grade eine einheitliche Version hoch :)

Sowohl die Linux als auch die Windows Versionen werden die neue Notation meiner Wenigkeit beinhalten.

Was ich noch alles einbauen will, ist zum Beispiel OpenGL Support für 3D und Shader.
Aber auch gINI, dass ich noch etwas absichern muss, wird wohl mit rein fließen :)

Ich werde, zu einem späteren Zeitpunkt, das ganze in eine .dll/.so packen und dann so verteilen :)
Ich hoffe, dies wird auch reibungslos klappen.
Ansonsten würde ich mit einem stabilen Release, auch einige kleine Grafik- und Soundsamples machen :)
Da ich am 05.12 eine kleine Präsentation über Grafikkarten machen muss, kann ich ja mal ein paar kleine Demos mit memo schreiben :)

Aber erstmal gibt es was zu tun ;)

Mit freundlichen Grüßen



T-Virus

Freitag, 10. Oktober 2008

Antrag bei SourceForge.net

Hallo liebe Leser,
nachdem ich memo als neues Projekt vorgestellt habe, habe ich Heute mittag bei SourceForge.net einen Antrag auf das Projekt abgeschickt.
Mit etwas Glück ist das projekt am Montag freigeschaltet.
Die erste Version, die wie gINI im Moment noch aus losen Dateien besteht, wird es auch gleich nach freigabe des Projektes geben.

Wie immer, und dies kennt man bei mir auch nicht anders, wird dieses Projekt wieder unter der GPL segeln :)
Damit möchte ich euch sicher stellen, dass ihr damit machen könnt, was ihr wollt.

Ich werde auch einige interessante Beispielprojekte machen.
Aber ich kann schon jetzt sagen, dass es sich lohnt ;)

Mit freundlichen Grüßen



T-Virus

Donnerstag, 9. Oktober 2008

Kleine Umbauarbeiten

Hallo liebe Leser,
ich habe nun das SDL Framework angepasst.
Die hauptklassen lieben in dem namespace memo und im modules Ordner, und dem namespace memo::modules, liegen auch die timer, sound und sprite Klasse :)

Desweiteren habe ich mal den Quellcode von Spacer genommen um diesen in eine Rohform eines clients mit dem Framework zu erstellen.
Dabei werde ich die gesamte Notation der aktuellen Codes umschreiben.
Dann werde ich sämtliche Basisklassen sowie einige abgeleitete Klassen einbinden.
Die game Klasse werde ich dann auch noch auf die wichtigsten Methoden kürzen.

Wer den Quelltext von Spacer kennt, wird merken das dies nicht mal eben so gemacht ist ;)

Mit freundlichen Grüßen



T-Virus

Neues zum SDL Framework

Hallo liebe Leser,
wie einige wissen sollten, habe ich im laufe des letzten Jahres ein kleines Framework mit SDL, SDL_image und SDL_Mixer erstellt.

Dieses ermöglicht mit gerade mal einer Klasse, die aber 4 interne Unterklassen per Scott Meyer Singleton aufruft, die Steuerung per Tastatur und Maus sowie das abspielen von Musik und natürlich den Zugriff auf den Bildschirm.

Die Entwicklung des Frameworks an sich hat eigentlich recht lange, für ein solch simples Konstrukt gedauert.
Dies lag natürlich daran, dass ich für Spacer eigentlich kein Framework eingeplant hatte und dieses doch im laufe der Zeit erstellt wurde.
Hier nochmals meinen Dank an unsigned long für die entrümüelung des Frameworks und auch für die Tipps die er mir gegeben hat und auch noch gibt.

Ich werde das Framework auch noch erweitern.
So werden sämtliche Klassen in einen eigenen Namensraum gelegt.
Damit kann ich spätere Konflike, auch Mehrdeutigkeiten genannt, schon im voraus bekämpfen :)

Ich möchte dem Framework auch gleich einen Namen geben, den mir auch unsigned long genannt hatte.

Er hatte vorgeschlagen, es memo zu nennen.
"memo" ist dabei die Abkürzung von Memorandum.

Mit freundlichen Grüßen



T-Virus

Mittwoch, 8. Oktober 2008

Neue Programme/Spiele in Planung.

Hallo liebe Leser,
nachdem ich bereits die Einstellung von Spacer angekündigt habe, habe ich aber auch schon neue Pläne.

Ich möchte folgendes als nächstes umsetzen.

1.Eine Stoppuhr, wie wir sie im Betrieb nutzen mit C# und Win.Forms um es sicherer und sauberer als mit C++ zu machen.
Diese wird dann zwar definitiv unter Windows, vielleicht mit Mono auch unter Linux laufen.

2.Ein Code Erzeugungsprogramm mit C++.
Damit soll man sich simpel Klassen und die Methoden erstellen lassen.
Dies werde ich mit einem Plattform übergreifenden Framework wie gtk+ oder wxWidgets machen :)

3.Ein neues Spiel mit SDL :)

In welcher Reihenfolge und ob ich diese Projekte alle Umsetzen werde, steht noch nicht zu 100% fest ;)
Aber ich werde wohl mit dem letzten Anfangen :)

Ansonsten werde ich gINI und mein Framework an die neue Notation anpassen.

Mit freundlichen Grüßen



T-Virus

Dienstag, 7. Oktober 2008

Umbau an den Codes :)

Hallo liebe Leser,
ich habe in den letzten Posts bereits gesagt, dass ich meine Notation unter C++ ändern werde.
Hierfür werde ich mir einen eigenen Style Guide bauen und diesen auch strickt einhalten.

Desweitern werde ich die wichtigsten meiner Projekte, wie mein SDL Framework und gINI, auf die neuen Notation portieren.
Ansonsten werde ich die Notation bei Spacer beibehalten.
Grund dafür ist, dass der gesamte Quellcode doch zugroß wäre.
Da ich nicht wieder von vorne anfangen möchte, was mir aber einige geraten haben, werde ich Spacer nur bis zu einem bestimmten Punkte entwickeln.

Ich denke, dass Spacer als Einstiegsprojekt in die Spieleprogrammierung doch schon mehr ist, als die meisten Einsteiger machen.
Die meisten haben mit einfachen Textadventuren auf der Konsole angefangen.
Dies war mir, da ich doch schon einige Kentnisse in C++ besaß, doch recht zu einfach :)

Deshalb werde ich Spacer nicht mehr soweit entwickeln, wie man es machen könnte :)
Ich denke, Spacer ist schon eine gute Referenz um zu zeigen, was mit einfachen Mitteln machbar ist.

Mit freundlichen Grüßen



T-Virus

Montag, 6. Oktober 2008

Spacer arbeiten werden diese Woche etwas langsamer :(

Hallo liebe Leser,
leider muss ich diese Woche und die nächste Woche einen Gang runter drehen.
Grund dafür ist die Berufsschule.
Leider schreiben wir, wenn unser Deutsch Lehrer ein Sturkopf ist, sowohl eine eingetragene Programmier- und eine nicht eingetragene Deutscharbeit.

Ich, und hoffentlich auch einige von ihnen, drücke mir die Daumen, dass die Arbeiten doch recht positiv werden.
Natürlich übe ich auch für die Arbeiten :)

Mit freundlichen Grüßen



T-Virus

Spacer und gINI haben Updates bekommen :)

Hallo liebe Leser,
ich habe am langen Wochenende mal wieder viel an Spacer und gINI gemacht.
Erstmal habe ich den geplanten Release durchgeführt.
Alleine dafür musste ich den halben Freitag einplanen :)
Aber am ende hat alles geklappt.

Auf das Feedback hin, habe ich auch gleich mit einigen Umarbeit begonnen.
So habe ich endlich die Animationen der Explosionen eingebaut :)
Diese habe ich auch gleich an Spacer mit gINI gekoppelt ;)

Desweiteren habe ich mit der Hilfe von unsigned long mit dem umbauen des Codes angefangen.
Dabei konnte ich schon einiges an gemeinen Speicherfallen entfernen.
So habe ich die Managerklassen Objekte in der Spieleklasse von Zeigern auf normale Objekte umgestellt.
Da diese per Initalisierungsliste am ende genauso initialisiert werden können wie Zeiger, macht es leichter auf Objekte umzusteigen.

Auch wird grade der Code mit unsigned long's Hilfe umgebaut.
So passe ich die Dateienamen von Gross- auf Kleinschreibung an.
Auch einige unsauberheiten im Code verschwinden.

Desweiteren werden doppelte Codes, wie zum freigeben von Speicher, in eine funktion ausgelagert, die ich dann aufrufen kann :)
Somit wird alles viel sauberer und auch leichter.

Mit freundlichen Grüßen



T-Virus

Freitag, 3. Oktober 2008

Spacer hat Explosionen :)

Hallo liebe Leser,
wie einige von ihnen vielleicht wissen, wenn sie in den Quelltext und die Entwicklung von Spacer beobachtet haben, habe ich vor einiger Zeit mal Explosionsanimationen in Spacer geplant.

Diese habe ich Heute endlich fertig gestellt und auch gleich funktionsfähig eingebaut.
Nun werden beim zerstören von feindlichen Schiffen und Asteroiden Explosionen ausgelöst.
Die Explosion eines Asteroiden ist noch recht unrealistisch und demnächst mal überarbeitet.
Darüber mache ich mir aber später Gedanken.
Als erstes werde ich mich wichtigeren Punkten bei Spacer widmen.
So ist es noch recht unrealistisch, dass man ohne ende feuern kann.
Dies werde ich mit dem eingebautem ShotManager bearbeiten.

Bis es ein erstes Ergebnis gibt, wird es aber noch etwas dauern, da das Thema nicht so leicht ist, da ich dies für jede Waffe speziell anpassen müsste.

Mit freundlichen Grüßen



T-Virus

Neuer Spacer release ist da :)

Hallo liebe Leser,
nachdem ich noch vor einer Woche mit schweren Fehlern zu kämpfen hatte, kann ich nun den neuen Release von Spacer verkünden.

Was wurde gemacht?
Ich habe den gesamten Quelltext angepasst um mehr Performance und constant correctness zu bekommen.
Dies war ein langwieriger und nerviger Prozess.
Bei kommenden Titeln werde ich darauf achten.
Ich habe noch keine 100% constant correctness.
Dies wird auch noch dauern, da ich mich erstmal auf neue Items etc. konzentrieren möchte.
Auch sollten langsam mal Menüs zu stande kommen, da Spacer an sich doch recht langweilig ist und mehr einer Demo gleicht :/
Dies werde ich hoffentlich noch ändern können.

Ansonsten wünsche ich allen viel Spaß beim modifizieren von Spacer :)
Leider ist dies auch noch nicht zu 100% fertig.
Dies werde ich aber noch bearbeiten.
Den im Moment werden einige Parameter noch auch einen Standardwert gesetzt.
So gibt es noch im Code feste Ausgangswerte der Animation und die Anzahl der Animationen werden noch fest angegeben.
Dies werde ich in der kommenden Version bereinigen :)

Download gibt's hier:
http://sourceforge.net/project/showfiles.php?group_id=180096

Mit freundlichen Grüßen



T-Virus

Debian Home Server leicht gemacht ^^

Hallo liebe Leser,
da ich ständig Codes zwischen meinem Debian Rechner und meinem Windows Rechner hin und her schieben muss, habe ich Heute morgen mal Samba anständig eingerichtet.

An sich läuft schon alles, nur muss ich noch eine Benutzerverwaltung einbauen.
Da ich einen öffentlichen Netzwerkordner für alle und meinen privaten Ordner mit Codes etc verwalten möchte, kann ich im Moment nur schauen wie ich das Problem mit dem privaten Ordner lösen kann.

Dies sollte mich einige Minuten an USB Sticks hin und her gestecke sparen ^^

Mit freundlichen Grüßen



T-Virus

Kai's Blog im neuen Glanz

Hallo liebe Leser,
wie ich Gestern Abend staunen durfte, ist Kai's neuer Blog nun online.
Er hatte einen Wechsel von dasBlog zu Wordpress gemacht.
Wie er mir auch schon des öfteren sagte, sei Wordpress echt klasse :)
Ich bleibe aber erstmal bei meinem Blog von bloggspot.

Ansonsten freue ich mich schon auf die neuen Themen bei Kai's Blog.
Wer vieles über .Net und C# lernen und lesen möchte, kann sich dort immer aktuelle News anschauen.
Da es in Kai's Blog immer Code Snippets gibt, kann man manche Sachen lernen, die nur wenige kennen ;)

Mit freundlichen Grüßen



T-Virus

Donnerstag, 2. Oktober 2008

gINI Problem gelöst, es geht weiter ^^

Hallo liebe Leser,
ich habe das Problem unter Windows mit gINI gelöst.
Da ich unter Linux, was auch eigentlich der Logik entspricht, mit Dateizeigern arbeiten muss, musste ich diese nachdem auffinden einer neuen Sektion wieder auf die letzte Zeile zurück setzen.
Unter Windows, was ich nicht verstehe und auch komplett an der Logik vorbei geht, muss ich dies nicht :/
Das ist sehr komisch, aber soll mich nicht weiter stören.

Ich werde Heute und Morgen an dem aktuellen Spacer und am experimentellen Spacer Client arbeiten.

Die Downloads gibts dann auf SourceForge.net
Die aktuelle gINI Version werde ich Heute einspielen ;)

Auch die aktuelle Version vom Quelltext von Spacer wird Heute einfließen ;)

Mit freundlichen Grüßen



T-Virus

Mittwoch, 1. Oktober 2008

Feher in gINI gefixt, aber nur unter Linux

Hallo liebe Leser,
ich habe Heute die aktuelle Version von gINI in Spacer implementiert.
Dabei habe ich noch ein Problem beim einlesen der Sektionen gefunden und behoben.
Leider läuft das nur unter Linux fehlerfrei.

Unter Windows werden die Schlüssel und Werte nicht korrekt eingelesen.
Dies liegt wohl an einer fehlenden Implementierung der STL in MinGW.
Ich werde mal schauen ob ich nicht ein Workaround bauen kann, bis MinGW auf dem aktuellen Stand ist.
Leider wir sich dann der Release eines sauberen Windows Client verlängern.

Aber ich werde mal schauen, was ich machen kann.

Mit freundlichen Grüßen



T-Virus

Spacer läuft wieder zu 100%

Hallo liebe User,
ich habe auch das Problem mit den Animationen und dem Rendern der Items gelöst.

Das Problem bestand darin, dass ich beim setzen der aktuellen Animationsphase, einer Variable die sagt welcher Ausschnitt aus einer Animationsgrafik gerendert werden soll, immer abgeprüft habe ob diese mindestens größer als 0 ist.
Dies stoppte aber die Animation und brachte das System ins stocken.

Auch die Items hingen davon komischerweise ab.
Ich werde mir das ganze noch genauer anschauen.

Jetzt muss ich nur noch die aktuelle Version von gINI in den Code bekommen.

Es geht dann wie folgt weiter:
-Experimental Client mit den alten Space Runner Grafiken erstellen.
-Neue Items und Waffensystem hinzufügen.
-Menüs, vorerst ohne wirklichen Nutzen, einbauen.

Sobald ich das Problem mit den Mauspositionen und dem betätigen der Maus gelöst habe, werde ich die Maus wieder in Spacer zulassen.
Dabei werde ich aber schauen müssen, dass die Geschwindigkeit der Bewegung nicht schneller als die der Tastatur ist.

Aber darum werde ich mir später noch Gedanken machen können.

Mit freundlichen Grüßen



T-Virus