Registriert: Di Mai 18, 2004 16:45 Beiträge: 2622 Wohnort: Berlin
Programmiersprache: Go, C/C++
OOP ist schon was feines und OOP wird bei Libraries ja nicht ausgeschlossen.
Man kann genauso gut sein Code OO halten und daraus eine Library machen.
Für BEEI musste ich die Render engine als dll/so file verpacken und das ist auch nicht schwer, einfach eine neue unit anlegen und dort alle benötigten units des OO Codes rein und die funktionalität durch proceduren und funktionen auf die Methoden wrappen.
So kann man sein Code in die erstellersprache ohne wrapper direkt rein compilieren oder über die Lib dann an andere Sprachen binden.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Also da ja schonmal die Frage danach aufgekommen ist (und ich mir durch die Awards etwas Prominenz für die Engine erhoffe =) ) wollte ich mal fragen, ob irgend jemand mal ein kleineres Spiel o.ä. zu Verfügng stellen kann, zwecks Tutorial zum Einbinden von FireBlade in eigene Projekte. Ideal wäre natürlich der Bomberman-Clone aus dem Wiki, hab allerdings auf die schnelle keinen SourceCode dazu mehr gefunden.
_________________ I'm not the signature, I'm just cleaning the floor...
gibt es denn inzwischen ein tutorial dazu?
die engine sieht sehr nützlich aus, aber ich habe ehrlich gesagt bereits probleme damit, die fireblade units einzubinden.
wenn ich sie einfach nur in die uses-liste schreibe (ohne irgendwelchen code dazu) dann bekomme ich beim starten die fehlermeldung
"undeclared identifier : AllocMem" in zeile 198 der fbpriv_vertexstorage unit. diese unit kann deswegen nicht kompiliert werden...
außerdem wird eine warnung angezeit in zeile 215 (combining signed and unsigned types)
wie inititalisiere ich die fireblade engine denn nun richtig, brauche ich da eventuell noch andere units dazu (außer der dglopengl und den sdl units)
wäre wirklich nett wenn mir das jemand ganz kurz erklären könnte, ich will auch technisch nichts allzu aufwändiges damit machen, nur ein simpler partikeleffekt, zu dem ich aber bisher noch gar nicht gekommen bin
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2622 Wohnort: Berlin
Programmiersprache: Go, C/C++
uses SysUtils; sollte bei Delphi helfen und bei FreePascal ist die Funktion in System includiert also ohne uses verfügbar.
Die Warnung ist zu vernachlässigen, da ledeglich ein vergleich zwischen Vorzeichenlosen und Vorzeichenbehafteten Variablen gemacht wurde.
danke, die tutorials könnten mir unter umständen helfen, wenn ich fireblade erstmal richtig eingebunden bekommen habe.
leider ist das noch nicht der fall, denn wenn ich sysutils hinzufüge (was mir schon mal komisch vorkommt, kann doch nicht sein dass man erst was an den fireblade-units rumschreiben muss, dass sie kompilieren...), dann bekomme ich neue fehlermeldungen, diesmal in der unit "fireblade":
in den zeilen 656-658 bekomme ich insgesamt 5 fehler: drei mal steht dran "record, object or class type required" und zweimal "incompatible types: 'TFB_LinkedList' and 'Cardinal'".
benutze ich die falsche version von fireblade ? ich hab mir die version "Release R2 2008.09.06" geholt die wohl die neueste ist, oder ?
wie gesagt, es steht sonst noch gar kein code in meinem projekt, ist nur eine leere template.
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2622 Wohnort: Berlin
Programmiersprache: Go, C/C++
Am besten erstellst du ein ganz neuen Thread, da dieser weniger für Problembehebung gedacht ist.
Darin solltest du dann auch zusätzlich schreiben, welchen Compiler und Betriebssystem du verwendest.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7804 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Falls du deine Anwendung auch im kommerziellen Einsatz sehen willst, dann release die doch mit zwei alternativen lizenzen. Entweder mit der LGPL oder mit der MPL.
Die MPL ist bei Firmen, meine ich, besser angesehen, da ihre Folgen klarer sind als bei der LGPL.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2622 Wohnort: Berlin
Programmiersprache: Go, C/C++
Die Firmen, mit den ich gearbeitet habe, wollten eine Kommerzielle Lizenz oder BSD, da gpl,lgpl,mpl, apache2 und co zu wenig klarheit vor den Gerichten hat(in Deutschland).
Bisher gabs ständig Unterschiedliche Rechtssprechungen(zwischen verschiedenen Bundesländern, Richtern und Instanzebenen) in entsprechenden Prozessen, wenn es so weit überhaupt kam.
Die meisten OpenSource Projekte einigen sich mit den Vertragsbrechern ohne vor Gericht zu ziehen und bekommen dann entsprechend großzügige Spenden für das Projekt und erhalten dann quasi ein Freifahrtsschein(in der letzten Making Games zu lesen). Sowas haben Aldi, Lidl, TomTom, Acer,Skype und einige weitere schon durch. Das läuft aber nur so gut, weil die Projektgruppen klein, wenig Geld und eher weniger einen $ Blick haben. Würde es vor Gericht gehen, kann es soweit kommen, dass die Software nicht mehr vermarktet werden darf und zurück beordert werden muss.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Wenn ich versuche das tut_basics unter Delphi zu kompilieren, geht das zwar, allerdings ist das Ergebnis nicht richtig.
Der erste Haufen Partikel stimmt noch, aber dann kommen sie immer Schubweise und danach nur noch einzeln. Die kompilierte Datei gibts hier, vielleicht weißt du dann worans liegt.
Bei der Demo gibts aber beim Kompilieren Fehler:
Die Eigenschaft Position vom TFBU_Effect macht Probleme, da man unter Delphi nicht auf die einzelnen Komponenten schreibend zugreifen kann (warum auch immer). Macht man die Eigenschaft schreibbar und tauscht immer das komplette Array aus, lässts sich kompilieren, aber wenn man dann nen Effekt auswählt beendet sich das Programm nach einer ähnlichen Zeitspanne wie es beim tut_basics anfängt zu stocken.
_________________ 2+2=5 For extremely large values of two
habe deinen Fehler nachvollziehen und beheben können. Ehrlich gesagt wundert es mich, dass er mit FPC unter Linux nicht aufgetreten ist.. Das Problem hing mit der Vorausreservierung des Speichers zusammen und führte nicht nur zum hängen oder stottern, sondern zwangsläufig zu Zugriffsverletzungen wenn man PerallocateMemory nutzt. Die Kompatibilität der Demos zu Delphi war wegen dem Alter des Codes nicht gegeben... Dadurch waren diese Positionsangaben noch mit direktem Zugriff auf den ReadOnly Vektor gelöst, statt mit SetPosition. Das habe ich auch geändert.
Die neue Version werde ich morgen hochladen.
Die MPL habe ich mir leider noch nicht angesehn.
MFG
_________________ I'm not the signature, I'm just cleaning the floor...
Mitglieder in diesem Forum: 0 Mitglieder und 29 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.