Descent 2 - Accesso ai livelli
VAI ALLA HOME PAGE

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).


accesso libero - craccato

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).

accesso libero - craccato




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").

accesso libero - craccato

- 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

accesso libero - craccato

- 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.