Questo Forum utilizza i Cookies
Questo Forum fa uso di Cookies per memorizzare le informazioni di login se sei registrato o sulla tua ultima visita se non siete registrati. I Cookies sono piccoli documenti di testo memorizzati sul vostro computer; i Cookies impostati dal Forum possono essere utilizzati solo su questo sito e non costituiscono rischio per la sicurezza. I Cookies su questo forum servono anche a monitorare gli argomenti specifici che hai letto. Si prega di confermare se accettare o rifiutare i Cookies impostati.

Un cookie verrà memorizzato nel browser indipendentemente dalla scelta, per evitare che il Forum faccia nuovamente questa domanda. Sarete in grado di modificare le impostazioni dei cookies in qualsiasi momento tramite il link a piè di pagina

Rispondi 
"Invalid pointer to map footer" - How to fix
Flygon
Dessert Spirit
******
Offline

Messaggi: 2,707
Registrato: 13-06-2014
Reputazione: 47
Mi Piace Ricevuti: 2134
PH Points: 13,704.00
Messaggio: #1
"Invalid pointer to map footer" - How to fix
Codice:
"Invalid Pointer to map footer"
"AdvanceMap Error(1): Try to read at pos 0! Please contakt Luhopoke@gmail.com".

Se avete incontrato questo errore e volete sapere come risolverlo, continuate a leggere.

0| COSA SONO OFFSET E POINTER
Per intenderci, una ROM si presenta così:
Le informazioni sono scritte in esadecimale in giro per tutto il file. Come fa il gioco a leggere le informazioni giuste al momento giusto?
Semplice: Con un pointer (puntatore), che significa "vai là e leggi le istruzioni a quel punto". "Quel punto" è chiamato offset.
√ą una spiegazione molto basica, ma efficace se siete poco esperti nell'argomento.

1| COS'√ą IL MAP FOOTER
I dati di una mappa sono divisi in quattro posti diversi, che la ROM va a leggere mediante dei pointer:
- Map footer offset: L'offset dove sono scritti i dati della mappa (Per intenderci, i blocchetti di tiles coi quali è costruita la mappa).
- Map script offset: Gli script di mappa. Se avete dimestichezza coi level script, probabilmente sarete familiari con questo, perché ogni volta che ne inserite uno dovete andare a correggere 0xFFFF con 0x0 perché Advance Map non li compila correttamente. Pokecommunity: Having fun with level scripts è un'ottima guida a riguardo, btw.
- Event offset: L'offset dove sono scritti gli eventi: persone, calpestabili, eccetera.
- Connection offset: Le connessioni con altre mappe.

Quando voi operate con la mappa, AdvanceMap fa automaticamente un repoint degli offset coinvolti. Ad esempio, in Fire Red il Map footer offset di Pallet Town è alla posizione $2DD4C0. Se decido che 24x20 sono dimensioni troppo piccole ed espando la mappa a 30x35, Advance Map andrà in automatico a scrivere le informazioni della mappa nel prossimo spazio libero nella ROM, nel mio caso all'offset $71AA78.

2| PERCH√ą ACCADE/COME √ą SUCCESSO
Questo errore si presenta quando l'offset di mappa rimanda ad un punto in cui i dati non ci sono, sono stati sovrascritti o corrotti. In pratica, Advance Map cerca di leggere la mappa ma non ci riesce.
Com'è successo? A me succede spesso quando inserisco le mappe con la funzione built-in di Advance Map (File->Map->Insert map). Advance Map non fa un corretto repoint dei valori e va a sovrascrivere spazio occupato da altre mappe.
Per evitare di imbattervi in questo problema, NON inserite le mappe con la funzione inclusa in AMap. Piuttosto, ricreatela da zero. Se volete portare una mappa da una ROM all'altra, vi conviene salvare la mappa (File->Map->Save map as...), copiarla (tenete premuto Ctrl e il tasto destro e trascinate il puntatore per copiare un pezzo di mappa), dopodiché aprite la mappa in cui volete inserirla e incollate lì i tiles che avete copiato.

3| COME RISOLVERE
Quando avete una mappa che presenta questo errore, non c'è un tool o un metodo automatico per risolvere. Dovrete fare manualmente.
Aprite la mappa buggata, aprite la vista header e premete Ctrl+H (oppure andate in Settings->Professional header view).
Vedrete quattro offset, ovvero i quattro descritti precedentemente: Map footer offset, map script offset, event offset e connection offset. Quello che interessa a noi è il map footer offset. In pratica, dovremo manualmente repointare l'offset di mappa da una nuova parte.
Aprite l'Hex Editor e trovate uno spazio vuoto nella ROM. Dopodiché scrivete l'offset di quello spazio vuoto in Map footer offset. Advance Map ovviamente non riesce ancora a leggerla, perché ovviamente in quell'offset c'è solo spazio vuoto.
Pertanto, vi basterà andare all'offset di una mappa funzionante, e copiarla nell'offset che abbiamo dato alla mappa che presentava l'errore.
Ta-da! Ora la mappa funziona (Dovrebbe essere una replica della mappa che avete copiato). A questo punto potete farci quel che volete, Advance Map tornerà a leggerla correttamente e repointarla quando necessario.

FUN FACT
A volte, quando Advance Map fa un repoint in seguito alla modifica dei valori, i vecchi valori non vengono cancellati. Non so se dipenda dalla versione che si sta utilizzando (1.82, 1.92, 1.95) o se ci siano altri fattori in gioco.

08-12-2020 11:52 PM
Cerca Cita
 Mi piace ricevuti da: IvanFGK , PacoScarso , Avon , ~Ketan , Truse97 , Boh , eMMe97 , MegaTorterra , Bonnox , Explosion100 , IsMirrionis
IvanFGK
Scemo chi Legge!
*******
Offline

Messaggi: 7,521
Registrato: 12-06-2014
Reputazione: 64
Mi Piace Ricevuti: 4544
PH Points: 22,301.00
Messaggio: #2
RE: "Invalid pointer to map footer" - How to fix
Aggiungo che questa cosa molto probabilmente la fa anche per il numero di tiles nel set; ovvero quando cambi il numero di blocchi (aumenti o diminuisci) la ROM a caso potrebbe repointare anche quelli senza cancellare i precedenti.

Bisognerebbe fare dei test, solo che non so dove potrebbe repointare i tiles.
09-12-2020 08:17 AM
Sito Web Cerca Cita
eMMe97
Professione: Genio
******
Offline

Messaggi: 1,740
Registrato: 09-10-2014
Reputazione: 30
Mi Piace Ricevuti: 2223
PH Points: 5,248.00
Messaggio: #3
RE: "Invalid pointer to map footer" - How to fix
Grande Fly!!! Guida molto utile. Mi capitò anni fa quando ero iper nabbissimo e fu una delle cose che mi spinse a ricominciare da capo tutto il progetto...salverai molte rom dal macero! XD
09-12-2020 09:11 AM
Cerca Cita
 Mi piace ricevuti da: IsMirrionis
PacoScarso
Massive Ego
******
Offline

Messaggi: 1,062
Registrato: 03-07-2014
Reputazione: 31
Mi Piace Ricevuti: 1581
PH Points: 4,428.00
Messaggio: #4
RE: "Invalid pointer to map footer" - How to fix
(09-12-2020 08:17 AM)IvanFGK Ha scritto:  Aggiungo che questa cosa molto probabilmente la fa anche per il numero di tiles nel set; ovvero quando cambi il numero di blocchi (aumenti o diminuisci) la ROM a caso potrebbe repointare anche quelli senza cancellare i precedenti.

Bisognerebbe fare dei test, solo che non so dove potrebbe repointare i tiles.

Togli il "molto probabilmente". √ą gi√† successo che andasse a sovrascrivere i dati del tileset successivo, quindi se possibile sempre meglio fare un repoint manuale, sia per i blocchi che per lo spazio dedicato al comportamento dei byte.

Our Projects (ongoing)

[Immagine: t1OEFpp.png] [Immagine: aDUlr8Y.png]

Old Projects

[Immagine: scarso1.png] [Immagine: penumbra1.png]
[Immagine: ciano.png]

Awards
[Immagine: tumblr_npqfq38PKG1tp2yqno6_400.png]
09-12-2020 11:06 AM
Cerca Cita
Rispondi 




Utente(i) che stanno guardando questa discussione: 1 Ospite(i)
Powered by MyBB, © 2002-2022 MyBB Group. Copyright ¬© | 2022 Pok√©mon Hacking