Rispondi 
[Rosso fuoco] Mostrare l'immagine di un oggetto appena ottenuto
EddyHg80
Essere distratto è il mio forte
***
Offline

Messaggi: 234
Registrato: 25-11-2016
Reputazione: 6
Mi Piace Ricevuti: 183
PokéMoney: 519.00₱
Messaggio: #19
RE: Mostrare l'immagine di un oggetto appena ottenuto
(07-02-2018 09:50 AM)eMMe97 Ha scritto:  Non ho la rom dietro, ma penso tu debba sostituire anche questo valore

.BOX: .word 0x08003658+1

ovviamente non fare errori stile me ed imposta così questo valore

.equ GAMECODE, 1

altrimenti compili per fire red

Il .BOX è lo stesso, infatti nei primi offset le rom sono praticamente identiche, e ovviamente ho settato il gamecode 1.
07-02-2018 12:20 PM
Cerca Cita
EddyHg80
Essere distratto è il mio forte
***
Offline

Messaggi: 234
Registrato: 25-11-2016
Reputazione: 6
Mi Piace Ricevuti: 183
PokéMoney: 519.00₱
Messaggio: #20
RE: Mostrare l'immagine di un oggetto appena ottenuto
Stavo facendo ulteriori prove con smeraldo ita, stavolta credo di aver trovato gli offsets giusti, tuttavia ho trovato un problema piuttosto importante per quanto riguarda la modifica per evitare che l'immagine diventi una premier ball.
(29-05-2017 03:31 PM)Andrea Ha scritto:  Successivamente, rechiamoci all'offset 08099738 e sovrascriviamo i byte presenti con 00 00.

Il gioco si blocca o ha un comportamento strano dopo che si riceve l'oggetto, sia in smeraldo ita che inglese. Se non si fa questa modifica funziona bene.

Ad esempio in questa rom di prova (smeraldo eng) ho messo un oggetto nel camion, quando si esce fuori dopo averlo raccolto non partono gli script mappa.


Offsets per smeraldo ita:
28-02-2018 12:55 PM
Cerca Cita
 Mi piace ricevuti da: Andrea
Shippo
Realizzatore di sogni
*
Online

Messaggi: 38
Registrato: 14-04-2018
Reputazione: 2
Mi Piace Ricevuti: 48
PokéMoney: 109.00₱
Messaggio: #21
RE: Mostrare l'immagine di un oggetto appena ottenuto
Faccio un piccolo aggiornamento alla routine di Andrea, l'immagine dell'oggetto sarà al centro dello schermo, con una bella immagine dietro a fargli da contenitore.
E' solo per Fire Red, ma se aggiornate i valori non dovrebbero esserci problemi con le altre versioni.

Ecco il risultato:




Edit: Ho aggiornato la Routine per risolvere un problema che si generava se si trovava una MT e la cancellazione non completa dell'immagine dell'oggetto che poteva a volte verificarsi. Ora dovrebbe essere perfetta Cool


Routine:
E qui l'immagine che ho usato:

[Immagine: 331ho35.jpg]

La tabella per l'immagine (o le immagini se volete poter variare a piacimento)deve essere in questo formato:
[Puntatore immagine] [Puntatore palette]

Piccola nota, la Var 8009 viene usata come contatore, quindi deve essere a 0 per funzionare correttamente. Se la usate per altro verificate che venga azzerata.

Ricordatevi di aggiornare il valore della tabella nella routine.
(Questo messaggio è stato modificato l'ultima volta il: 06-07-2019 05:15 PM da Shippo.)
05-07-2019 12:57 PM
Cerca Cita
 Mi piace ricevuti da: EddyHg80 , Flygon , Andrea
EddyHg80
Essere distratto è il mio forte
***
Offline

Messaggi: 234
Registrato: 25-11-2016
Reputazione: 6
Mi Piace Ricevuti: 183
PokéMoney: 519.00₱
Messaggio: #22
RE: Mostrare l'immagine di un oggetto appena ottenuto
(05-07-2019 12:57 PM)Shippo Ha scritto:  

Fantastico dance

Peccato che Smeraldo dia problemi.

05-07-2019 01:05 PM
Cerca Cita
Shippo
Realizzatore di sogni
*
Online

Messaggi: 38
Registrato: 14-04-2018
Reputazione: 2
Mi Piace Ricevuti: 48
PokéMoney: 109.00₱
Messaggio: #23
RE: Mostrare l'immagine di un oggetto appena ottenuto
Beh, su Emerald basterebbe fare questa modifica:

I byte non vanno più riscritti con 00 00

In pratica si usa una seconda variabile su cui viene effettuato un controllo, se è uguale a zero la carico col valore della var contenente il n. dell'immagine e poi proseguo, altrimenti se è diversa da zero avanzo regolarmente.
In questo modo l'unico caso che può generare il problema della Premier Ball è l'oggetto 0, che non è un oggetto normalmente ottenibile.

Ovviamente la var contenitore non deve essere usata da altro, deve essere 0 di base.
(Questo messaggio è stato modificato l'ultima volta il: 05-07-2019 07:14 PM da Shippo.)
05-07-2019 07:12 PM
Cerca Cita
 Mi piace ricevuti da: Flygon , Andrea
Andrea
...
******
Offline

Messaggi: 805
Registrato: 12-06-2014
Reputazione: 30
Mi Piace Ricevuti: 1064
PokéMoney: 2,828.25₱
Messaggio: #24
RE: Mostrare l'immagine di un oggetto appena ottenuto
Grazie mille @Shippo, ho aggiunto la tua routine nella guida!
06-07-2019 07:36 AM
Cerca Cita
Shippo
Realizzatore di sogni
*
Online

Messaggi: 38
Registrato: 14-04-2018
Reputazione: 2
Mi Piace Ricevuti: 48
PokéMoney: 109.00₱
Messaggio: #25
RE: Mostrare l'immagine di un oggetto appena ottenuto
(06-07-2019 07:36 AM)Andrea Ha scritto:  Grazie mille @Shippo, ho aggiunto la tua routine nella guida!
Wink
Ho aggiornato la Routine per risolvere un paio di bug.
Quando possibile aggiorna il post iniziale per evitare confusione.

06-07-2019 05:15 PM
Cerca Cita
 Mi piace ricevuti da: Andrea , EddyHg80
EddyHg80
Essere distratto è il mio forte
***
Offline

Messaggi: 234
Registrato: 25-11-2016
Reputazione: 6
Mi Piace Ricevuti: 183
PokéMoney: 519.00₱
Messaggio: #26
RE: Mostrare l'immagine di un oggetto appena ottenuto
(05-07-2019 07:12 PM)Shippo Ha scritto:  Beh, su Emerald basterebbe fare questa modifica:

I byte non vanno più riscritti con 00 00

In pratica si usa una seconda variabile su cui viene effettuato un controllo, se è uguale a zero la carico col valore della var contenente il n. dell'immagine e poi proseguo, altrimenti se è diversa da zero avanzo regolarmente.
In questo modo l'unico caso che può generare il problema della Premier Ball è l'oggetto 0, che non è un oggetto normalmente ottenibile.

Ovviamente la var contenitore non deve essere usata da altro, deve essere 0 di base.

Ciao Shippo perdonami, ho provato ad inserirla in Smeraldo e in Emerald, ma in entrambi i casi il gioco si blocca non appena si parla a un NPC.

quello che ho fatto è stato compilare questa routine:

è la routine di Andrea, corretta con il post citato, aggiungendo il .X in fondo.
Poi ho sovrascritto i bytes all'offset 081973E8 con 00480047XXXXXX08.

Ho sbagliato qualcosa?

Intanto facciamolo funzionare in Emerald, poi provo in Smeraldo cambiando i dovuti offsets. dance
05-08-2019 02:18 PM
Cerca Cita
Shippo
Realizzatore di sogni
*
Online

Messaggi: 38
Registrato: 14-04-2018
Reputazione: 2
Mi Piace Ricevuti: 48
PokéMoney: 109.00₱
Messaggio: #27
RE: Mostrare l'immagine di un oggetto appena ottenuto
Hai scritto la routine giusta, non è che hai dimenticato di mettere il +1?

Ho fatto un test rapidissimo, con la rom di prova con l'oggetto nel camion che avevi postato, ho ricompilato la routine esattamente come l'hai scritta e l'ho sostituita a quella presente, ho ripristinato i valori all'offset 08099738 riportandoli a 20 80 e poi per sfizio ho cambiato l'oggetto che viene consegnato con una masterball.
Mi pare che tutto funzioni correttamente, l'oggetto viene visualizzato e dopo i dialoghi e gli script funzionano regolarmente.

La allego, così puoi provare e farmi sapere Wink

Emeraldo_Img_Oggetti_Raccolti
05-08-2019 06:28 PM
Cerca Cita
 Mi piace ricevuti da: Andrea
EddyHg80
Essere distratto è il mio forte
***
Offline

Messaggi: 234
Registrato: 25-11-2016
Reputazione: 6
Mi Piace Ricevuti: 183
PokéMoney: 519.00₱
Messaggio: #28
RE: Mostrare l'immagine di un oggetto appena ottenuto
@Shippo

In effetti ho riprovato e sembrava funzionare, poi però provando diversi oggetti ho visto che c'era un altro problema, l'immagine rimane quella del primo oggetto trovato, quindi se per prima di uscire dal camion prendo la masterball poi l'immagine rimane la masterball anche per gli altri oggetti.




(devo aver incasinato le impostazioni di OBS, scusate la qualità)

Download rom per il testing
La routine è stata compilata in E400F0

Nella camera ho aggiunto anche un oggetto nascosto e un npc che da l'oggetto con un MSG_OBTAIN, sarebbe bello includere anche queste due casistiche alla feature. Blush
06-08-2019 09:02 AM
Cerca Cita
Shippo
Realizzatore di sogni
*
Online

Messaggi: 38
Registrato: 14-04-2018
Reputazione: 2
Mi Piace Ricevuti: 48
PokéMoney: 109.00₱
Messaggio: #29
RE: Mostrare l'immagine di un oggetto appena ottenuto
(06-08-2019 09:02 AM)EddyHg80 Ha scritto:  @Shippo

In effetti ho riprovato e sembrava funzionare, poi però provando diversi oggetti ho visto che c'era un altro problema, l'immagine rimane quella del primo oggetto trovato, quindi se per prima di uscire dal camion prendo la masterball poi l'immagine rimane la masterball anche per gli altri oggetti.

Hai ragione, in effetti in quella routine non c'era l'azzeramento che avevo messo nella versione di FR.

Ecco la versione corretta:

Fammi sapere se ora funziona Wink

06-08-2019 12:51 PM
Cerca Cita
 Mi piace ricevuti da: Andrea
Shippo
Realizzatore di sogni
*
Online

Messaggi: 38
Registrato: 14-04-2018
Reputazione: 2
Mi Piace Ricevuti: 48
PokéMoney: 109.00₱
Messaggio: #30
RE: Mostrare l'immagine di un oggetto appena ottenuto
Posto quelle che dovrebbero essere le versioni corrette per funzionare con tutti i tipi di oggetti, MSG_Find, MSG_Obtain e oggetti nascosti per Fire Red e Emerald (anche se dovrei fare ancora un po' di testing, specialmente per FR Big Grin).

Nella versione di FR l'immagine dell'oggetto rimane solo all'inizio quando si trova un oggetto (non c'è l'immagine dell'oggetto quando l'oggetto viene messo nello zaino per intenderci) nel caso dell' MSG_OBTAIN e degli oggetti nascosti per un motivo molto semplice.....
L'offset usato per la seconda parte è condiviso da MSG_OBTAIN, oggetti nascosti e molti dialoghi del gioco.....

Da notare che gli oggetti ottenuti da NPC in game non funzionano, perchè usano script appositi.

Edit: Eliminati per evitare confusione, le versioni corrette sono sotto
(Questo messaggio è stato modificato l'ultima volta il: ieri 03:59 PM da Shippo.)
20-08-2019 05:28 PM
Cerca Cita
 Mi piace ricevuti da: Manuxn , EddyHg80
EddyHg80
Essere distratto è il mio forte
***
Offline

Messaggi: 234
Registrato: 25-11-2016
Reputazione: 6
Mi Piace Ricevuti: 183
PokéMoney: 519.00₱
Messaggio: #31
RE: Mostrare l'immagine di un oggetto appena ottenuto
(20-08-2019 05:28 PM)Shippo Ha scritto:  Posto quelle che dovrebbero essere le versioni corrette per funzionare con tutti i tipi di oggetti, MSG_Find, MSG_Obtain e oggetti nascosti per Fire Red e Emerald (anche se dovrei fare ancora un po' di testing, specialmente per FR Big Grin).

Nella versione di FR l'immagine dell'oggetto rimane solo all'inizio quando si trova un oggetto (non c'è l'immagine dell'oggetto quando l'oggetto viene messo nello zaino per intenderci) nel caso dell' MSG_OBTAIN e degli oggetti nascosti per un motivo molto semplice.....
L'offset usato per la seconda parte è condiviso da MSG_OBTAIN, oggetti nascosti e molti dialoghi del gioco.....

Da notare che gli oggetti ottenuti da NPC in game non funzionano, perchè usano script appositi.


FR:


EM:

Anche con questa nuova routine sto riscontrando problemi con l'obtain, oltre allo screen che ti avevo mandato in privato posso aggiungere questo
[Immagine: Z8YQMeB.png?1]

la limonata era uno degli oggetti che avevo raccolto quindi possibilmente manca un azzeramento, inoltre dopo questo anche i msg_find hanno smesso di funzionare, mostrando la masterball.
(Questo messaggio è stato modificato l'ultima volta il: 20-08-2019 06:25 PM da EddyHg80.)
20-08-2019 06:25 PM
Cerca Cita
Shippo
Realizzatore di sogni
*
Online

Messaggi: 38
Registrato: 14-04-2018
Reputazione: 2
Mi Piace Ricevuti: 48
PokéMoney: 109.00₱
Messaggio: #32
RE: Mostrare l'immagine di un oggetto appena ottenuto
(20-08-2019 06:25 PM)EddyHg80 Ha scritto:  la limonata era uno degli oggetti che avevo raccolto quindi possibilmente manca un azzeramento, inoltre dopo questo anche i msg_find hanno smesso di funzionare, mostrando la masterball.
Credo di aver identificato il problema.... il DMA...

L'offset 02002DE0 non è così gentile Big Grin , essendo soggetto al DMA la posizione esatta in cui viene salvato l'id dell'oggetto varia, anche se di poco e quindi le immagini risultano poi errate.

Vedrò cosa posso fare a riguardo

Edit: Questa versione sembra funzionare correttamente, finalmente Big Grin

Emerald:

(Questo messaggio è stato modificato l'ultima volta il: ieri 06:25 PM da Shippo.)
20-08-2019 10:09 PM
Cerca Cita
 Mi piace ricevuti da: Manuxn
Shippo
Realizzatore di sogni
*
Online

Messaggi: 38
Registrato: 14-04-2018
Reputazione: 2
Mi Piace Ricevuti: 48
PokéMoney: 109.00₱
Messaggio: #33
RE: Mostrare l'immagine di un oggetto appena ottenuto
E posto la versione solo per FR con l'immagine di mew

Questa versione è finalmente usabile, mi pare che tutti i bug siano risolti. E' necessario che la variabile 8009 sia a 0 , altrimenti posso sorgere problemi, quindi se la usate per altro assicuratevi di riazzerarla. Funziona con il DNS, ma ricordatevi di escludere le giuste palette.


Non compare l'immagine oggetto per alcuni npc che consegnano oggetti come la mappa o il pacco di Oak, perchè usano messaggi specifici e non viene salvato da nessuna parte l'id dell'oggetto (ma per esempio il vecchio che consegna la tv funziona perfettamente), ho comunque inserito come esempio l'addetta che regala una pozione nel percorso 1, se si desidera estendere ad altri casi specifici basta fare nello stesso modo.


edit:
Aggiungo la versione senza Mew, usate quella che preferite

(Questo messaggio è stato modificato l'ultima volta il: ieri 03:58 PM da Shippo.)
ieri 03:17 PM
Cerca Cita
Rispondi 




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