...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
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
...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...:)
scusate l'ignoranza ma qual'è il sito di daniel borca?
Citazionescusate l'ignoranza ma qual'è il sito di daniel borca?
http://www.geocities.com/dborca/;)
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
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 ;)
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
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"
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 :)
anche io ho fatto una fatica incredibile per compilarla perchè mingw non setta le variabili d'ambiente durante l'installazione e quindi non viene riconosciuto il comando make dll
io ho risolto decomprimendo lo zip nella cartella bin di mingw;)
P.S. per settare le variabili d'ambiente bisogna andare su proprietà di sistema, avanzate, variabili d'ambiente e modificare la stringa "path" inserendo in fondo il percorso della cartella bin di mingw
Questo messaggio è stato aggiornato da benna il 07/07/2005 alle ore 18:54:05
:eek:
Cacchio me lo potevi dire prima che è tutto il pomeriggio che mi sbatto che sto comando non me lo prende! :D
EDIT: Niente da fare ho fatto come mi hai detto, ma il comando non me lo riconosce :diablo:
Questo messaggio è stato aggiornato da goriath il 07/07/2005 alle ore 19:22:10
Ok rettifico; sono contento perchè sembra che qualcosa sia successo, ma non so cosa :o
Ecco qua:
C:\MinGW\bin\fxt1>mingw32-make dll
gcc -o maindll.o -Wall -W -pedantic -ansi -O2 -ffast-math -mtune=pentium -funrol
l-loops -Iinclude -DVERBOSE -c maindll.c
gcc -o dxtn.o -Wall -W -pedantic -ansi -O2 -ffast-math -mtune=pentium -funroll-l
oops -Iinclude -DVERBOSE -c dxtn.c
dxtn.c:50: warning: ISO C90 does not support `long long'
gcc -o texstore.o -Wall -W -pedantic -ansi -O2 -ffast-math -mtune=pentium -funro
ll-loops -Iinclude -DVERBOSE -c texstore.c
dxe3gen -o dxtn.dxe -E _fetch_ -E _tx_ -D "DXTn codec" -U maindll.o dxtn.o texst
ore.o
"dxe3gen" non è riconosciuto come comando interno o esterno,
un programma eseguibile o un file batch.
mingw32-make: *** [dxtn.dxe] Error 1
C:\MinGW\bin\fxt1>
Allora? che è successo? Ma è compilata? Se si dove sta?:o
EDIT: Ok ho appena scritto quello che scrisse Sydney e come lui ho usato i due comandi finali ovvero mingw32-make --file mkfiles/makefile.mgw e mingw32-make --file mkfiles/makefile.mgw dll
E rispettivamente per il primo ho ottenuto:
(https://www.forumzone.it/public/uploaded/goriath/20057720431_Clipboard01.gif)
E per il secondo:
(https://www.forumzone.it/public/uploaded/goriath/200577204214_Clipboard02.gif)
Cioè proprio come ha scritto Sydney, ed anche io confermo che mi son trovato la dxtn.ll e il codec.exe delle medesime dimensioni
Quindi la dxtn.dll sarebbe compilata adesso? Ed ovviamente senza che li scriva, aggiungo tutti gli interrogativi posti da lui stesso all' inizio del topic; sono ansioso di conoscere :h
P.S. Dopo la compilazione, rimanendo nella cartella fxt1, se digito alt-i mi richiama il codec.exe; perchè?
Questo messaggio è stato aggiornato da goriath il 07/07/2005 alle ore 20:48:51
complimenti! ce l'hai fatta!
per quanto riguarda il codec.exe non ho assolutamente idea a cosa serva
a quanto pare Daniel ha rilasciato da pochi giorni la versione 1.1 della dll, il link è nella sua homepage