Accesso libero a tutti i livelli
di Anima Prava (2003, rivisto
2023)
Accesso a tutti livelli di qualsiasi
missione multi-livello (D2, D1, Vertigo e le missioni aggiuntive).
In Descent 2 originale quando
si crea un nuovo "pilota" con il menu Change Pilot - Create New,
il nuovo pilota può entrare solo nel primo livello di una missione
Single Player multilivello. Dopo aver completato un livello solo
questo pilota si guadagnerà per sempre l'accesso al livello
successivo. All'inizio di ogni livello di solito si esegue un
salvataggio per riprendere a piacere il gioco conservando i
potenziamenti acquisiti. Questo è il modo più comune di giocare.
In Descent 2 originale
(versione 1.2 per DOS) si poteva avere accesso libero a tutti i
livelli con un semplice trucco basato sui Cheat Code. Prima si andava
al livello 24 (Cheat Code FREESPACE), poi si andava al tunnel di
uscita (Cheat Code DELSHIFTB) e si finiva la partita uscendo dal
tunnel. Avviando una nuova partita con lo stesso pilota si aveva
accesso a qualsiasi livello nel gioco normale, senza Cheat Code.
Il messaggio era molto chiaro: "You may start on any level up to 24"
(Si può iniziare da qualsiasi livello fino al 24). Vedere figura
seguente (ottenuta con D2 v1.2 DOS in DosBox).
Con i Source Port
successivi al rilascio del codice sorgente questa procedura non
funzionava più allo stesso modo oppure non funzionava per niente. Si
ricorreva a trucchi più complicati descritti nel seguito di questo
articolo.
Con le versioni recenti si può
accedere immediatamente a tutti livelli di qualsiasi missione
multi-livello (anche DESCENT 2: COUNTERSTRIKE). Non servono
trucchi. Per sapere se abbiamo una versione abbastanza recente,
proviamo a creare un nuovo pilota e con questo pilota proviamo ad
aprire un NEW GAME al livello 2 (o qualsiasi altro livello, anche il
24).
In D2X Rebirth questa funzionalità risulta introdotta nel codice
sorgente nel Novembre 2021 (commit b0103a1). Purtroppo il messaggio
che si ottiene la prima volta che si apre una missione non è chiaro
come in D2 originale (vedere la figura seguente, ottenuta con
DXX-Rebirt compilato nell'Aprile 2023).
I trucchi seguenti non dovrebbero più servire nelle versioni
moderne (2023).
Vecchio trucco.
Questo trucco ha funzionato per alcuni anni, poi basta. Era una
variazione del trucco che funzionava in D2 originale.
- Si Warpava all'ultimo livello
della missione con il cheat FREESPACE:
D1 (First Strike) - FREESPACE : livello 27
D2 (Counterstrike) - FREESPACE : livello 24
D2 Vertigo - FREESPACE : livello 20
Per le altre missioni si leggeva il numero di
livelli nel file *.MN2
- A questo punto ci si lasciava distruggere, senza fare niente.
- Si attendeva il respawn e DOPO il respawn, con il Cheat Code
DELSHIFTB si andava al tunnel di uscita e si usciva da lì.
Modifica del codice sorgente.
Si poteva modificare il codice sorgente e compilarsi una versione
personalizzata con il comportamento voluto. Però era complicato
farlo e per giunta la parte del codice interessata cambiava spesso.
Alla fine dei conti non conveniva molto.
Modifica del file PLR.
Questo trucco ha sempre funzionato.
Per ogni nuovo pilota il programma
scrive due file:
- NOMEPILOTA.PLX è un file di testo
che contiene impostazioni specifiche per il singolo giocatore.
- NOMEPILOTA.PLR (come "PLayeR") è un
file binario. Contiene tra le altre cose il livello raggiunto. Si può
modificare questo file per avere accesso libero a tutti livelli di
qualsiasi missione (D2, D1, Vertigo, e anche le missioni aggiuntive
multilivello). È facile ma occorre un editor esadecimale (in Windows
c'è HxD, gratuito).
NOTA. I file PLR generati da
programmi diversi (o da versioni molto diverse dello stesso programma)
potrebbero non essere compatibili tra loro. I file PLR generati da un
programma potrebbero essere danneggiati da un programma diverso.
Meglio tenere in directory separate i programmi diversi o le versioni
diverse dello stesso programma.
- Faccio un backup del file *.PLR
(NOMEPILOTA.PLR.COPIA).
- Entro nella missione che mi
interessa ed esco subito (non serve giocare davvero, devo solo fare in
modo che venga registrata nel file pilota). In questo esempio
troveremo: D2, D1, Vertigo.
- Apro il file pilota col mio editor
esadecimale (quello nella figura è GHex in Linux).
- Individuo la stringa della missione
che mi interessa in base al testo (nella colonna di destra). Notare
che la stringa di D2 inizia con d2, D1
con descent, e Vertigo con d2x.
Queste stringhe si trovano appena prima dei Taunts, cioè i
messaggi predefiniti che si scambiavano i giocatori Multiplayer (da
notare il divertente "This one is headed for Uranus").
- L'ultima posizione della stringa di
ogni missione (evidenziata con un cerchietto nella figura) indica il
numero del livello finora raggiunto dal pilota, ma in
esadecimale. Al suo posto digito il numero di livelli
della missione, sempre in esadecimale. (NOTA: livelli normali, quelli
segreti non contano). Poi salvo il file così modificato.
D2: 24
livelli, esadecimale 18
D1: 27
livelli, esadecimale 2A
Vertigo: 20
livelli, esadecimale 14
Maximum: 24
livelli, esadecimale 18
- Alcune missioni aggiuntive Single
Player della mia collezione sono multilivello (vedi l'articolo
Missioni
Single Player). Il numero di livelli si legge nel file *.MN2
della missione stessa. Lo indico anche nella lista delle missioni.
Galaxy Moons:
12 livelli, esadecimale 0C
The Lost Levels:
24 livelli, esadecimale 18
- Adesso seleziono il pilota craccato
ed entro nella missione. Dovrei aver libero accesso a qualsiasi
livello. Se qualcosa è andato storto, nessun problema, recupero il
file *.PLR dal backup.
Nota: in alcune versioni
recenti di D2, quando si inizia una partita si legge "Questa missione
ha X livelli. Hai completato Y livelli". In questo caso non c'è
bisogno di aprire il file *.MN2.