13-01-2023, 06:47 PM
(Questo messaggio è stato modificato l'ultima volta il: 13-01-2023, 07:03 PM da eMMe97.)
ATTENZIONE: questa ricerca è per Pokémon Fire Red v.0.1
Come sapete su Fire Red ufficialmente non esiste questa funzione, ma in realtà all'interno della rom si trova già quasi tutto.
Non è una ricerca ultimata perché ancora mi manca qualche cosa da aggiungere, ma sono comunque a buon punto. Ho trovato sul web, nei vari forum di hacking, delle procedure per l'attivazione di DIVE (cioè la traduzione inglese). Tuttavia queste guide sono sbagliate e per rimediare a degli errori che hanno fatto inseriscono molto ASM e modifiche hex che risultano essere veramente inutili. Vediamo fino ad ora cosa ho scoperto:
Tralasciando un momento i vari tile che ho utilizzato, direi che sono già a buon punto. Riassumo le mie scoperte.
Script per SUB: 0x081BE38B questo offset funziona come per ogni altro script MN. Ci viene infatti chiesto se vogliamo immergerci dopo aver controllato se abbiamo la medaglia giusta e se in squadra abbiamo un pokémon con SUB.
Script per EMERGERE: 0x081BE3D4 stesso discorso di prima ma lo script funziona per tornare in superfice.
Behavior byte: per capire meglio di cosa stia parlando inserisco l'immagine estrapolata da l'editor di tile (la tessera di puzzle viola) di aMap
Il primo byte da inserire (nell'immagine 12) è quello che determina il funzionamento.
byte 11 e 12: su questi byte deve essere posizionato lo script del sub e bisogna trovarci sopra ad un tile con questo valore perché sub funzioni
byte 1F: stesso discorso di prima ma questa volta è per l'emersione
DA FARE: devo assegnare i relativi script a questi byte, per il momento ho assegnato lo script ad un signpost.
Connessioni: affinché il gioco capisca dove devo rifinire dopo aver usato sub, bisogna creare il collegamento. Qui mi ci è voluto un po' per capirlo onestamente, pensavo ci fosse qualche routine dispersa per il gioco, invece è semplicissimo. Su aMap andiamo alle connessioni (le 4 frecce di colore blu accanto alla tessera del puzzle). Nella finestra che si apre premiamo su Add e in alto nel menu a tendina accanto a Direction, selezioniamo Dive. "Map bank" e "map no" saranno i valori della mappa dove vorremo immergerci nel caso di sub, ed emergere nel caso di tornare in superfice.
Nell'immagine sopra ho impostato i valori 3 e 2 che corrispondono a Plumbeopoli.
Cambio Sprite: ho trovato di tutto su internet, routine asm per cambiare il modo in cui il gioco elabora i dati dello sprite giocatore. Orrore! Io ho semplicemente creato uno script di livello 04 nella mappa sott'acqua, con il semplice script
#dynamic 0x800000
#org @sub
special 0x161
end
assegnate una variabile che non utilizzate, non ci sarà mai bisogno di resettarla o fare altro perché il level script 04 non si ripete ciclicamente.
DA FARE: cambiare le palette dello sprite del giocatore per renderle più blu, al fine di ricreare l'effetto di rse.
DA FARE: assegnare al tasto B la possibilità di avviare lo script di emersione.
DA FARE: inibire l'uso della bicicletta e della corsa (semplice cambio di 2 byte della mappa)
Onestamente sono abbastanza soddisfatto di come stia evolvendo la cosa, sono già a buon punto (credo/spero). La funzione di per sé è ripristinata, ci sono giusto degli aggiustamenti da fare. Forse il discorso della pressione del tasto B potrebbe essere più laborioso, spero di trovare qualche routine già fatta dalla GF e non attivata per questa versione del gioco.
Chiunque fosse interessato a contribuire è ovviamente il Benvenuto!
Come sapete su Fire Red ufficialmente non esiste questa funzione, ma in realtà all'interno della rom si trova già quasi tutto.
Non è una ricerca ultimata perché ancora mi manca qualche cosa da aggiungere, ma sono comunque a buon punto. Ho trovato sul web, nei vari forum di hacking, delle procedure per l'attivazione di DIVE (cioè la traduzione inglese). Tuttavia queste guide sono sbagliate e per rimediare a degli errori che hanno fatto inseriscono molto ASM e modifiche hex che risultano essere veramente inutili. Vediamo fino ad ora cosa ho scoperto:
Tralasciando un momento i vari tile che ho utilizzato, direi che sono già a buon punto. Riassumo le mie scoperte.
Script per SUB: 0x081BE38B questo offset funziona come per ogni altro script MN. Ci viene infatti chiesto se vogliamo immergerci dopo aver controllato se abbiamo la medaglia giusta e se in squadra abbiamo un pokémon con SUB.
Script per EMERGERE: 0x081BE3D4 stesso discorso di prima ma lo script funziona per tornare in superfice.
Behavior byte: per capire meglio di cosa stia parlando inserisco l'immagine estrapolata da l'editor di tile (la tessera di puzzle viola) di aMap
![[Immagine: 8XR1ZN0.png]](https://i.imgur.com/8XR1ZN0.png)
Il primo byte da inserire (nell'immagine 12) è quello che determina il funzionamento.
byte 11 e 12: su questi byte deve essere posizionato lo script del sub e bisogna trovarci sopra ad un tile con questo valore perché sub funzioni
byte 1F: stesso discorso di prima ma questa volta è per l'emersione
DA FARE: devo assegnare i relativi script a questi byte, per il momento ho assegnato lo script ad un signpost.
Connessioni: affinché il gioco capisca dove devo rifinire dopo aver usato sub, bisogna creare il collegamento. Qui mi ci è voluto un po' per capirlo onestamente, pensavo ci fosse qualche routine dispersa per il gioco, invece è semplicissimo. Su aMap andiamo alle connessioni (le 4 frecce di colore blu accanto alla tessera del puzzle). Nella finestra che si apre premiamo su Add e in alto nel menu a tendina accanto a Direction, selezioniamo Dive. "Map bank" e "map no" saranno i valori della mappa dove vorremo immergerci nel caso di sub, ed emergere nel caso di tornare in superfice.
![[Immagine: dxyEkvn.png]](https://i.imgur.com/dxyEkvn.png)
Nell'immagine sopra ho impostato i valori 3 e 2 che corrispondono a Plumbeopoli.
Cambio Sprite: ho trovato di tutto su internet, routine asm per cambiare il modo in cui il gioco elabora i dati dello sprite giocatore. Orrore! Io ho semplicemente creato uno script di livello 04 nella mappa sott'acqua, con il semplice script
#dynamic 0x800000
#org @sub
special 0x161
end
assegnate una variabile che non utilizzate, non ci sarà mai bisogno di resettarla o fare altro perché il level script 04 non si ripete ciclicamente.
DA FARE: cambiare le palette dello sprite del giocatore per renderle più blu, al fine di ricreare l'effetto di rse.
DA FARE: assegnare al tasto B la possibilità di avviare lo script di emersione.
DA FARE: inibire l'uso della bicicletta e della corsa (semplice cambio di 2 byte della mappa)
Onestamente sono abbastanza soddisfatto di come stia evolvendo la cosa, sono già a buon punto (credo/spero). La funzione di per sé è ripristinata, ci sono giusto degli aggiustamenti da fare. Forse il discorso della pressione del tasto B potrebbe essere più laborioso, spero di trovare qualche routine già fatta dalla GF e non attivata per questa versione del gioco.
Chiunque fosse interessato a contribuire è ovviamente il Benvenuto!