Spiel als Dll...
Übersicht

![]() |
LunatixBetreff: Spiel als Dll... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi.
Ich hab jetz schon ca 2,5 stunden hier rumgespielt und komme zu keinem Ergebnis... Mit BlitzMax kann man ja DLL's erstellen, funktioniert auch ganz gut, jetz dachte ich mir, dann könnte man ein Spiel ja in eine Funktion packen und könnte so eine art Plugin erstellen... Naja gedacht, irgendwie funktioniert das ganze nicht. Habe es in Blitzmax und Blitz3d versucht, die funktion findet er, aber es sieht so aus, als würde er die nicht/nicht richtig ausführen, da er auch auf ein Return nichts ausgibt... Hier der Code der "Game.dll" / "Game.a" Code: [AUSKLAPPEN] Framework BRL.GLMax2D Function Init_LIB:String() Local LibInfo:String LibInfo:+"Author: Junkprogger" LibInfo:+"Version: 1.0" Return LibInfo End Function Function Run_LIB:String() Graphics 640,480 Repeat DrawRect 50,50,64,64 Flip Cls Until KeyHit(KEY_ESCAPE) Return "Game End" End Function Und dies die GameText.bmx: Code: [AUSKLAPPEN] Framework BRL.retro Import "game.a" Extern Function bb_Init_LIB:String() = "InitLib" Function bb_Run_LIB:String() = "RunLib" End Extern Print bb_Init_Lib() Print bb_Run_Lib() Und die GameTest.bb : (mit DECLS gehts nciht, und mit CallDLL erstrechtnich...) Code: [AUSKLAPPEN] Print GameDLL_InitLib() Print GameDLL_RunLib() Print "End" WaitKey End [EDIT] Es geht nicht um die Funktionen selber, sondern um Run_Lib, diese funktion führt er nicht aus... Init_Lib geht |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
![]() |
FOODy |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da es noch von diesem Jahr ist, erlaube ich mir mal es zu pushen. (schon allein deswegen, weil die Idee auch ganz interessant ist ^^)
Man kann tatsächlich ein Game in ne DLL packen. Weiß nicht ob du das schon selber gelöst hast oder nicht aber hier ist mal ein kleines Beispiel von mir: https://www.blitzforum.de/upload/file.php?id=1275 "main.bmx" -> DLL Code "test.bmx" -> Dort wird die DLL geladen und "ausgeführt" Gruß, FOODy |
||
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB |
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
mmh.. najo so gehts ^^
Aber mitlerweile hab ich die funktionen "LoadLibraryA, GetProcAddress und FreeLibrary" gefunden xD |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
![]() |
kog |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmm tut mir leid wenn ich es raushole, aber hätte jemand noch den Source?
*edit* geht mir vorallem um das Graphics in der DLL, den jedesmal wenn ich es aufrufe gibts einen MAV ohne eine Fehlermeldung, im Debugmode genau gleich. |
||
![]() |
klin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kann jemand diese Datei plz reuppen?
THX MFG Klin |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Scheinbar nicht.
Btw. wäre es illegal, Bmax-Befehle in eine DLL zu packen, sodass sie von aussen benutzbar sind. |
||
![]() |
klin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich will ein Mod fähiges spiel machen. Und deshalb will ich die dlls benutzten. Jedoch um die dll zu erstellen, braucht der benutzter bmax ![]() Doch leider kann ich ebenfalls nichts zeichnen. Mir gehts also auch nur ums grafische. THX MFG Klin P.S. Wenn es Illigal wäre, warum kann man dann überhaupt Dlls per Bmax erstellen? Oo |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das DLL-Feature ist nur versteckt, und auch nur unter Windows implementiert.
Es ist deshalb illegal, weil die BRL-Lizenz, unter der alle BRL-Module stehen, es nicht erlauben, diese zu benutzen, wenn man kein BMax hat. Und da man mit einer DLL diese funktionen ohne BMax durch die DLL aufrufbar machen würde, sind DLLs nicht möglich. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group