Descentforum.DE Forum Index Descentforum.DE
Search | FAQ | Memberlist | Usergroups | Newsfeed Newsfeed  Register
Profile | Log in to check your private messages | Log in 
Chat | D3-Tactics | Downloads | Map | Links | Serverlist | Teamspeak 

Game-Mods kompilieren

 
Post new topic   Reply to topic    Descentforum.DE Forum Index -> Tech - Support - Forum
View previous topic :: View next topic  
Author Message
D.Cent
Forum-Nutzer


Joined: 05 Mar 2006
Posts: 507
Location: Stuttgart

PostPosted: 04.11.2006, 20:09    Post subject: Game-Mods kompilieren Reply with quote

Moin, wir (Ich und Lo) sind grad dabei, InstaReap für Linux zu kompilieren (das heisst, wir haben schon Stunden damit verbracht Sehr glücklich ), 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 Smilie

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! Mr. Green
Back to top
View user's profile Send private message
Munk
Forum-Nutzer


Joined: 30 Jun 2001
Posts: 2140
Location: Herzogenrath

PostPosted: 04.11.2006, 20:42    Post subject: Re: Game-Mods kompilieren Reply with quote

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
View user's profile Send private message Send e-mail
Do_Checkor
Administrator


Joined: 19 Nov 2000
Posts: 7768
Location: Oldenburg (Oldb.)

PostPosted: 04.11.2006, 21:18    Post subject: Re: Game-Mods kompilieren Reply with quote

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
View user's profile Send private message
D.Cent
Forum-Nutzer


Joined: 05 Mar 2006
Posts: 507
Location: Stuttgart

PostPosted: 04.11.2006, 22:48    Post subject: Re: Game-Mods kompilieren Reply with quote

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..... Smilie Scheinbar will loki diese Dateien, obwohl es sie nicht braucht... Mit den Augen rollen

@Munk: also einfach ein cp Anarchy.so InstaReap.d3m ? ungläubig
Back to top
View user's profile Send private message
Munk
Forum-Nutzer


Joined: 30 Jun 2001
Posts: 2140
Location: Herzogenrath

PostPosted: 04.11.2006, 23:25    Post subject: Re: Game-Mods kompilieren Reply with quote

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
View user's profile Send private message Send e-mail
DigiJo
Forum-Nutzer


Joined: 12 Feb 2002
Posts: 949
Location: Niedersachsen

PostPosted: 05.11.2006, 16:34    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
D.Cent
Forum-Nutzer


Joined: 05 Mar 2006
Posts: 507
Location: Stuttgart

PostPosted: 07.11.2006, 15:40    Post subject: Reply with quote

Vielen Danke, ich bin gespannt ob jemand antwortet. Ich habe auch versucht, 2 ehemalige Loki-Arbeiter zu kontaktieren...

Mal sehen, wann eine Antwort kommt! Sehr glücklich
Back to top
View user's profile Send private message
King Lo
Forum-Nutzer


Joined: 14 Mar 2006
Posts: 320
Location: Stuttgart, BW

PostPosted: 17.11.2006, 11:48    Post subject: Reply with quote

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? Frage Woher soll dann Loki-D3 aber überhaupt wissen, wo diese Library ist?? Geschockt

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
View user's profile Send private message
vinz
Forum-Nutzer


Joined: 18 Jul 2004
Posts: 463
Location: Leoben, Austria

PostPosted: 17.11.2006, 21:18    Post subject: Reply with quote

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 Mr. Green )
_________________
http://www.LittleSpaceships.com
Back to top
View user's profile Send private message
Munk
Forum-Nutzer


Joined: 30 Jun 2001
Posts: 2140
Location: Herzogenrath

PostPosted: 18.11.2006, 12:45    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
King Lo
Forum-Nutzer


Joined: 14 Mar 2006
Posts: 320
Location: Stuttgart, BW

PostPosted: 19.11.2006, 15:25    Post subject: Reply with quote

@ 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
View user's profile Send private message
Munk
Forum-Nutzer


Joined: 30 Jun 2001
Posts: 2140
Location: Herzogenrath

PostPosted: 20.11.2006, 11:25    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
D.Cent
Forum-Nutzer


Joined: 05 Mar 2006
Posts: 507
Location: Stuttgart

PostPosted: 20.11.2006, 14:59    Post subject: Reply with quote

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
View user's profile Send private message
King Lo
Forum-Nutzer


Joined: 14 Mar 2006
Posts: 320
Location: Stuttgart, BW

PostPosted: 22.11.2006, 15:39    Post subject: Reply with quote

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
View user's profile Send private message
Munk
Forum-Nutzer


Joined: 30 Jun 2001
Posts: 2140
Location: Herzogenrath

PostPosted: 22.11.2006, 17:57    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
D.Cent
Forum-Nutzer


Joined: 05 Mar 2006
Posts: 507
Location: Stuttgart

PostPosted: 22.11.2006, 18:04    Post subject: Reply with quote

Das ist ja das Problem: Es wird überhaupt nichts geladen!

Es kommt nur die Meldung: "Error initalizing game-module!"
Back to top
View user's profile Send private message
King Lo
Forum-Nutzer


Joined: 14 Mar 2006
Posts: 320
Location: Stuttgart, BW

PostPosted: 11.12.2006, 19:40    Post subject: Reply with quote

OK wir sind schon deutlich weiter Smilie

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
View user's profile Send private message
D.Cent
Forum-Nutzer


Joined: 05 Mar 2006
Posts: 507
Location: Stuttgart

PostPosted: 16.01.2007, 16:37    Post subject: Reply with quote

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 Winken .
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Descentforum.DE Forum Index -> Tech - Support - Forum All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum
PayPal


Descent is a trademark of Interplay Productions.
Descent, Descent II are © Parallax Software Corporation.
Descent III is © Outrage Entertainment.
Descentforum.DE and Descentforum.NET is © by Martin "Do_Checkor" Timmermann.
Powered by phpBB © 2001-2008 phpBB Group