Compilazione Dxtn.dll

Aperto da Sydney, 17 Giugno 2005, 14:11:12

Discussione precedente - Discussione successiva

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

Sydney

...Buongiorno a tutti,

    ...in seguito all'uscita del nuovo pacchetto di drivers Amigamerlin 3.1 R11 (...un chapeau al team Amigamerlin per il sempre ottimo lavoro nello sviluppo dei drivers...), che ora prevede anche l'impiego, opzionale, di questa dll, ho cercato di riprendere in mano la cosa, tralasciata qualche mese fa (quando tentai di capirci qualcosa seguendo la discussione "MesaFx Vs 3dfxogl in Quake III" nel forum), visto anche la volontà di fare una gradita sorpresa a mio fratello, accanito giocatore di COD e della sua espansione :)
...devo premettere che la mia ignoranza in materia di programmazione (e conseguentemente compilazione) è abissale, e le mie uniche conoscenze in materia risalgono al Pascal delle scuole superiori... con tutta la buona volontà, comunque, stamane mi sono seduto di fronte al computer, procedendo come segue:
1. scarico dal sito di Daniel Borca il file fxt1.zip;
2. utilizzo, in ordine, MinGW32 (Full Install), il Visual-MinGW, MSYS ed il DJGPP;

Risultati (dopo circa 5 ore di tentativi...):

- Visual-MinGW: non sono riuscito a concludere nulla di positivo, ricevendo costantemente lunghe liste di errori;

- DJGPP: dopo aver estratto i files all'interno della subdirectory bin, con il comando make (per il file codec.exe) e make dll (per il file dxtn.dll) ottengo, rispettivamente, dopo alcune righe di compilazione, l'errore *** [codec.exe] Error 1 e *** [dxtn.dxe] Error -1

-MinGW32: questo è l'unico con cui, dopo numerosissimi tentativi, sono riuscito a concludere qualcosa...
...nel caso in cui provassi ad usare mingw32-make con il parametro verso una directory dove erano presenti i files estratti dallo zip, ottenevo costantemente degli errori, il più frequente dei quali era gcc: installation problem, cannot exec 'cc1', no such file or directory ***[Main.o] Error 1
I tentativi eseguiti copiando, invece, i files estratti nella directory \bin di Mingw si sono rivelati più proficui...
...provando il comando mingw-make dll, dopo una prima compilazione, ho ottenuto il seguente errore:
dxe3gen -o dxtn.dxe -E _fetch_ -E _tx -D "DXTn codec" -U maindll.o dxtn.o texstore.o
"dxe3gen" non è riconosciuto come comando interno o esterno, un programma eseguibile o un file batch.
mingw32-make: ***dntn.dxe] Error 1
...dopo svariate ricerche su internet, ho capito che il dxe3gen era collegato a DJGPP, e mi è allora venuto il sospetto che Mingw32-make utilizzasse il makefile .dj, relativo a DJGPP, e non il .mgw; ho quindi forzato l'utilizzo del makefile mgw, con i rispettivi comandi
mingw32-make --file mkfiles/makefile.mgw dll
mingw32-make --file mkfiles/makefile.mgw
i quali, dopo alcuni warning nel processo di compilazione (relativi a "long unsigned int format t_type arg (arg 4)" e "ISO C90 does not support 'long long') ed un messaggio finale "dllwrap: no export definition file provided. Creating one, but that may not be what you want", mi hanno restituito, come risultato, rispettivamente i files dxtn.dll (dimensioni 27,5kb - 28.233 byte) e codec.exe (dimensioni 36,5kb - 37.376 byte).

Ed ora, il quesito di questo lungo messaggio...sono effettivamente compilati correttamente (mi riferisco alle dimensioni) i due files risultanti, ed in particolar modo la dll, soprattutto visto il messaggio di avvertimento di cui sopra, relativo al dllwrap?
Inoltre, sono conscio di dover poi copiare la dll in /system32, dove risiede anche opengl32.dll, ma il file codec.exe a che cosa serve, di preciso? come lo devo utilizzare?

Grazie molte per il tempo e l'aiuto che mi potrete dare, e mi scuso per la lunghezza del messaggio...

           Saluti,

                   Sydney

benna

anche a me ha dato lo stesso avvertimento e penso che sia normale
per quanto riguarda il file codec.exe... non so proprio a cosa serva :o
aspettiamo delucidazioni dall'alto


Sydney

...grazie per il tuo intervento, benna :)

...ieri sera, passando di sfuggita, ho notato, tra le Latest News del sito, "17.06.2005   Compiled DXTN.DLL for Amigamerlin 3.1 R11 Available for download!"...mi sono messo a ridere...
...sembra quindi che il file compilato sia disponibile direttamente per il download, ma resta in me la curiosità di sapere se quanto fatto era effettivamente corretto (...e lo sembra, verificando le dimensioni del file da me compilato e quello scaricato da 3dfxzone...) e l'impiego di quel misterioso codec.exe...staremo a vedere...:)

bombo

scusate l'ignoranza ma qual'è il sito di daniel borca?

peppos83

Citazionescusate l'ignoranza ma qual'è il sito di daniel borca?

 

http://www.geocities.com/dborca/;)

HD3850 - V5 5500pci (Tnx Amigamerlin) - SIS Mirage Graphics Sfidatemi :kazim:

goriath

Faccio un saluto a tutti, in particolare a Sydney che invidio molto per la sue conoscenze in termini di programmazione :)

Io al contrario, non ne capisco nulla :(. Mi piacerebbe imparare qualcosa, non dico molto, ma almeno il necessario per capire ad esempio, come fare a compilare sta DXTN.DLL che mi incuriosisce moltissimo (propbabilmente dovrei conoscere molto di più in materia per sapermela compilare da solo; non so perciò chiedo :o)

Alcune domande:

In che termini va compilata questa dll? O meglio, in base a cosa? Va compilata in funzione dei games o che? Bo?:o La dll agisce sul pacchetto driver? Oppure è un complemento del pacchetto stesso? Le istruzioni che aggiunge una volta compilata, a cosa mirano di preciso? Apporta migliorie in generale, oppure aggiunge vere e proprie funzionalità?

Scusate la quantità di domande ma voglio cominciare a capirci un po di più:o. Grazie a colui/lei/loro che si prenderanno la briga di rispondere anche ad una sola delle mie domande:o

OLD SCHOOL: Because it was done right the first time
/!\\ PM box piena: per contattarmi inviatemi una mail

benna

Citazioneil necessario per capire ad esempio, come fare a compilare sta DXTN.DLL
mi spiace deluderti ma par compilare la dll non serve alcuna conoscenza del c++, basta soltanto installare il compilatore e scrivere il comando appropriato per compilarla.
la dll viene così compilata e va bene per qualsiasi gioco, si aggiunge ai driver e inserisce la gestione nativa della compressione delle texture s3tc; questa gestione è presente anche senza la dll però è indiretta e quindi più lenta.
spero di essere stato esauriente ;)


goriath

Ma fatemi capire una cosa: la dll viene compilata in modo univoco, o ognuno che la compila può farlo personalizzandola a modo proprio? E quale/i sarebbe/ro questo/i comando/i per compilarla?:o

OLD SCHOOL: Because it was done right the first time
/!\\ PM box piena: per contattarmi inviatemi una mail

benna

la dll viene compilata in un solo modo da chiunque, poi se tu vuoi personalizzarla smanettando sui sorgenti nessuno te lo vieta ;)
per compilarla (ipotizzo che tu abbia già installato MinGW) devi accedere al prompt, da quì entrare nella cartella coi sorgenti e digitare il comando "mingw32-make dll"


goriath

Ma allora se per compilarla basta quel semplice comando, perchè Sydney ha avuto tutte quelle difficoltà e tutta quella serie di errori? Cos' altro ha tentato di fare lui, oltre la compilazione della dll?

Grazie benna per la pazienza :)

OLD SCHOOL: Because it was done right the first time
/!\\ PM box piena: per contattarmi inviatemi una mail