View previous topic :: View next topic |
Author |
Message |
D.Cent Forum-Nutzer
Joined: 05 Mar 2006 Posts: 507
Location: Stuttgart
|
Posted: 04.11.2006, 20:09 Post subject: Game-Mods kompilieren |
|
|
Moin, wir (Ich und Lo) sind grad dabei, InstaReap für Linux zu kompilieren (das heisst, wir haben schon Stunden damit verbracht ), haben es aber leider noch zu fast nichts gebracht, da D3-Loki auf eine andere Art die Dateien einließt.
1.) Nun bräuchten wir einen Experten. Da keiner aus dem Chat uns weiterhelfen konnte, fragen wir hier noch einmal:
Kennt irgendjemand die E-Mail-Adressen von dem damaligen Loki-Team?
Wir sind für jede Adresse dankbar
2.) Loki hat scheinbar andere .d3m-Dateien als Windows. Man kann sie mit dem HOG-Utility nicht öffnen. Wie muss man sich so eine Datei vorstellen?
3. ) Beim kompilieren von InstaReap kam leider nur eine Anarchy.so raus. Wie erzeugt man daraus die richtige InstaReap.so ?
4. ) In der d3-linux.hog sind *.str und *i.str -Dateien für jeden GameMod vorhanden. Wo bekommt man die *i.str her?
Es wäre ein großer Fortschritt für die Menschheit, diese Mods zu kompilieren. Danke im voraus!
|
|
Back to top |
|
|
Munk Forum-Nutzer
Joined: 30 Jun 2001 Posts: 2140
Location: Herzogenrath
|
Posted: 04.11.2006, 20:42 Post subject: Re: Game-Mods kompilieren |
|
|
D.Cent wrote: |
2.) Loki hat scheinbar andere .d3m-Dateien als Windows. Man kann sie mit dem HOG-Utility nicht öffnen. Wie muss man sich so eine Datei vorstellen?
|
Das "d3m"-Format ist relativ flexibel.
Es kann entweder (für Windows) eine umbenannte .dll-Datei sein,
für Linux eine umbenannte .so-Datei, oder ein umbenannte .hog-Datei, welche die entsprechende .dll und/oder .so enthält (inklusive vielleicht weiterer benötigter Dateien).
Für Instareap sollte es ausreichend sein, die entstehende .so-Datei einfach .d3m zu nennen, und sie dann nur unter Linux zu verwenden.
Zur dritten Frage kann dir Eagle und Atan vermutlich weiterhelfen, er hat schonmal andere Mods kompiliert, sollte also wissen wie man den richtigen Namen vergibt.
|
|
Back to top |
|
|
Do_Checkor Administrator
Joined: 19 Nov 2000 Posts: 7768
Location: Oldenburg (Oldb.)
|
Posted: 04.11.2006, 21:18 Post subject: Re: Game-Mods kompilieren |
|
|
D.Cent wrote: |
4. ) In der d3-linux.hog sind *.str und *i.str -Dateien für jeden GameMod vorhanden. Wo bekommt man die *i.str her?
|
Sind STR Dateien nicht einfache D3 String Dateien die man mit nem Texteditor öffnen kann? Beinhalten diese nicht einfach nur die sprachenbezogenen Textausgabe-Strings?
|
|
Back to top |
|
|
D.Cent Forum-Nutzer
Joined: 05 Mar 2006 Posts: 507
Location: Stuttgart
|
Posted: 04.11.2006, 22:48 Post subject: Re: Game-Mods kompilieren |
|
|
Do_Checkor wrote: |
Sind STR Dateien nicht einfache D3 String Dateien die man mit nem Texteditor öffnen kann? Beinhalten diese nicht einfach nur die sprachenbezogenen Textausgabe-Strings? |
Richtig. Die *i.str-Dateien sind das gleiche, wie die *.str-Dateien. Nur dass sie zusätzlich Übersetzungen für Deutsch, Spanisch, Italienisch und Französisch enthalten, auch wenn das Quatsch ist, weil man bei Loki die Sprache nicht umstellen kann..... Scheinbar will loki diese Dateien, obwohl es sie nicht braucht...
@Munk: also einfach ein cp Anarchy.so InstaReap.d3m ?
|
|
Back to top |
|
|
Munk Forum-Nutzer
Joined: 30 Jun 2001 Posts: 2140
Location: Herzogenrath
|
Posted: 04.11.2006, 23:25 Post subject: Re: Game-Mods kompilieren |
|
|
D.Cent wrote: | @Munk: also einfach ein cp Anarchy.so InstaReap.d3m ? [oO] |
Nein.
Code: | cp InstaReap.so InstaReap.d3m |
Ein bloßes Umbenennen von Anarchy.so in InstaReap.so wird nicht klappen.
|
|
Back to top |
|
|
DigiJo Forum-Nutzer
Joined: 12 Feb 2002 Posts: 949
Location: Niedersachsen
|
Posted: 05.11.2006, 16:34 Post subject: |
|
|
vieleicht kann shiva helfen, der hat schon seit jahren ein d3-sod system auf linux laufen und soweit ich weiss unmengen an level-scripten und mods für d3-linux kompiliert.
schaut mal auf dieser site ob ihr euch da ne email rausziehen könnt:
http://d3shiva.dnsalias.org/
|
|
Back to top |
|
|
D.Cent Forum-Nutzer
Joined: 05 Mar 2006 Posts: 507
Location: Stuttgart
|
Posted: 07.11.2006, 15:40 Post subject: |
|
|
Vielen Danke, ich bin gespannt ob jemand antwortet. Ich habe auch versucht, 2 ehemalige Loki-Arbeiter zu kontaktieren...
Mal sehen, wann eine Antwort kommt!
|
|
Back to top |
|
|
King Lo Forum-Nutzer
Joined: 14 Mar 2006 Posts: 320
Location: Stuttgart, BW
|
Posted: 17.11.2006, 11:48 Post subject: |
|
|
Zum neuesten Stand: Cent hat Loki nicht kontaktieren können, die Email-Adressen scheinen nicht mehr aktiviert zu sein. Auch Shiva scheint nicht zu antworten.
Allerdings ist mir folgender Schritt gelungen. Die Größte Arbeit daran hat aber wohl Alex_I verrichtet, weshalb ich ihn hier noch mal ein ganz großes DANKESCHÖN aussprechn möchte. Thanks Alex!
Am Mitwoch habe ich es geschafft InstaReap so zu kompilieren, dass sie von der Größe her 83,5kb hat. Das entspricht einem Drittel der Größe eines Windows-Mods. Allerdings haben alle Linux-Mods noch ca. 1,3 mb mehr! Eine Library schien nun zu fehlen, da immer noch "Error Initializing GameMod" kam. Nun hatte zico gemeint, es müsste eine D3-SDK-Library sein. Und siehe da: in dem Makefile stand auch
Code: | LIBRARY = ../../lib/[b]dmfc[/b].a -lm |
Und das ist auch die einzige Library aus dem D3SDK, die ziemlich ganau diese 1,1 MB abdeckt. Scheinbar wird sie nicht in die InstaReap.so gelinkt? Woher soll dann Loki-D3 aber überhaupt wissen, wo diese Library ist??
Wenn man übrigens ein strace laufen lässt, sucht Descent3 nach einer Instareap.d3m in /usr/local/games/Descent3/netgames. Eigentlich ist bei strace von einem Skybox Anarchy alles genauso wie bei dem strace von einem Skybox InstaReap. nur ein Unteschied: nachdem die Anarchy.d3m geladen wird, versucht loki, die anacrhy.str und folgend eine dmfc.str zu öffnen, danach kommt erst das laden von skybox.msn!!! Bei instareap wird einfach nur die .d3m geladen und dann gelci hdas skybox.msn.
genau dmfc hieß doch diese lib, die 1,1 mb hatte und fehlte...!
|
|
Back to top |
|
|
vinz Forum-Nutzer
Joined: 18 Jul 2004 Posts: 463
Location: Leoben, Austria
|
Posted: 17.11.2006, 21:18 Post subject: |
|
|
heißt das euch fehlt die linux version einer d3 sdk library? hmm wenns andere mods für die linux version gibt dann muß die library doch auch irgendwo vorhanden sein oder? (bin allerdings d3 sdk noob, also falls nicht angemessen, einfach ignorieren )
_________________ http://www.LittleSpaceships.com |
|
Back to top |
|
|
Munk Forum-Nutzer
Joined: 30 Jun 2001 Posts: 2140
Location: Herzogenrath
|
Posted: 18.11.2006, 12:45 Post subject: |
|
|
Versuch doch mal, die dmfc.a mit in das .d3m zu packen (als hog-file dann), bzw. die dmfc.a dort abzulegen, wo Descent sie sucht (laesst sich mit strace ja prima herausfinden).
|
|
Back to top |
|
|
King Lo Forum-Nutzer
Joined: 14 Mar 2006 Posts: 320
Location: Stuttgart, BW
|
Posted: 19.11.2006, 15:25 Post subject: |
|
|
@ vinz: Wir haben eine d3sdk, aber da es sourcen sind, sollten sie mit linux und windows gleich gut gehen
@munk: d3m-Dateien sind .so-Dateienm man kann ldd nehmen und sie beginnen binär nicht mit HOG2, sondern mit ELF. Strace will die dmfc.a oder ähnliche garnicht haben. Wir haben schon auf verschiedene Weise versucht, die dmfc.a einzubinden. Leider kenne ich mich da nicht so gut mit dem gcc-Compiler aus, als dass ich sie richtig da rein liken könnte, so dass die Datei wirklich 1,3 mb groß ist.
|
|
Back to top |
|
|
Munk Forum-Nutzer
Joined: 30 Jun 2001 Posts: 2140
Location: Herzogenrath
|
Posted: 20.11.2006, 11:25 Post subject: |
|
|
Wie oben gesagt, Du kannst die .d3m auch als Hog-Datei machen.
Nen Versuch ists zumindest wert. Oder schau mal, wie die anderen Mods das machen, also ob es dort auch ne Hog-Datei ist, oder wo die dmfc.a steckt.
|
|
Back to top |
|
|
D.Cent Forum-Nutzer
Joined: 05 Mar 2006 Posts: 507
Location: Stuttgart
|
Posted: 20.11.2006, 14:59 Post subject: |
|
|
Als wir das gemacht haben, hat d3 laut strace nicht annähernd versucht, die d3m (als HOG-Datei) zu entpacken.
Diese InstaReap.so muss also zu .d3m umbenannt werden, allerdings ist diese InstaReap.so noch viel zu klein (Anarchy.d3m hat 1,3 MB, InstaReap.d3m hat 92 KB).
|
|
Back to top |
|
|
King Lo Forum-Nutzer
Joined: 14 Mar 2006 Posts: 320
Location: Stuttgart, BW
|
Posted: 22.11.2006, 15:39 Post subject: |
|
|
News: ich habe in die InstaReap.d3m mal ein paar Textausgaben mit puts("TEST!"); eingefügt. Also ich nachher den Mod kompiliert hatte und D3 aus der Konsole gestartet habe erschien aber KEINE dieser meldungen. Soweit ich weiß ist puts in cpp aber auch ok, d.h. das InstaReap.d3m wird nicht einmal aufgerufen.
Ich konnte leider mit meinem Englisch nicht ganz verstehen, welche Funktion die erste ist, die in einem Gamemod gestartet wird. Weiß es hier jemand? vllt "void DLLFUNCCALL DLLGameCall (int eventnum,dllinfo *data)"
Last edited by King Lo on 22.11.2006, 15:39; edited 1 time in total |
|
Back to top |
|
|
Munk Forum-Nutzer
Joined: 30 Jun 2001 Posts: 2140
Location: Herzogenrath
|
Posted: 22.11.2006, 17:57 Post subject: |
|
|
Vielleicht hast Du den Server einfach nur falsch gestartet ?
Welcher Mod wird denn geladen ? Beschwert sich der Server ueber irgendetwas, oder wird irgendwas anstandslos geladen ? Wenn ja was ?
|
|
Back to top |
|
|
D.Cent Forum-Nutzer
Joined: 05 Mar 2006 Posts: 507
Location: Stuttgart
|
Posted: 22.11.2006, 18:04 Post subject: |
|
|
Das ist ja das Problem: Es wird überhaupt nichts geladen!
Es kommt nur die Meldung: "Error initalizing game-module!"
|
|
Back to top |
|
|
King Lo Forum-Nutzer
Joined: 14 Mar 2006 Posts: 320
Location: Stuttgart, BW
|
Posted: 11.12.2006, 19:40 Post subject: |
|
|
OK wir sind schon deutlich weiter
Als ich im Debug-Mode jetzt mal ein paar Testausgaben gemacht habe, konnte ich feststellen: Die Funktion DLLFindWeaponName() verursacht einen Speicherzugriffsfehler.
In der InstaReap.cpp bleibt das Spiel also genau hier hängen:
Code: | int index = DLLFindWeaponName("Mass Driver"); |
Diese Funktion ist in der dmfc.so enthalten. Ist also das Problem, dass diese Datei nicht richtig gelinkt wurde oder mit einem anderen gcc für Linux übersetzt wurde?
Außerdem hat Shiva es bereits geschafft, einige Gamemods für Linux zu kompilieren. Er hat nur leider sehr wenig Zeit im Moment aber Cent hält Kontakt.
|
|
Back to top |
|
|
D.Cent Forum-Nutzer
Joined: 05 Mar 2006 Posts: 507
Location: Stuttgart
|
Posted: 16.01.2007, 16:37 Post subject: |
|
|
Aktuellster Stand: Shiva meinte, dass man die Mods nur noch mit gcc 2.8.1 kompilieren könnte und hat sich dazu bereit erklärt, dies zu tun. Mal sehen wann er es fertig hat .
|
|
Back to top |
|
|
|