Rispondi 
[Gba] MT eterne?
Half shadow
Genio
****
Offline

Messaggi: 390
Registrato: 06-10-2014
Reputazione: 2
Mi Piace Ricevuti: 190
PokéMoney: 681.00₱
Messaggio: #1
Question MT eterne?
In realtà mi serve per HG/SS.

Però mi hanno detto che l'assembly DS/GBA è lo stesso ed allora dato che qua siete per lo più esperti di GBA provo a chiedervelo.

Questo è il codice di Mero Mero per rendere eterne le MT:

Citazione:xrpl_02078452:
NOP
SUB R1, R1, R5
CMP R7, #0x148
BCC .NotTMHM
CMP R7, #0x1AC
BXCC LR
.NotTMHM:
STRH R1, [R0, #2]
BX LR

xrpl_02078562:
NOP
CMP R2, #0x148
BCC .NotTMHM2
CMP R2, #0x1AC
MOVCC R0, #1
BCC .Return
.NotTMHM2:
LDRH R0, [R0, #2]
.Return:
LDMFD SP!, {R3, LR}
BX LR

xrpl_022578FE_ov_03:
NOP
CMP R0, #1
BLS .Return2
ADD R1, R5, #0x284
LDRH R1, [R1]
CMP R1, #0x148
BCC .Return2
CMP R1, #0x1AC
MOVCC R0, #1
.Return2:
MOV R1, #0x288
BX LR

Anche se in realtà la seconda e la terza parte sembrano servire solo a modificare qualcosa nei market. Solo la prima parte è necessaria:

Citazione:xrpl_02078452:
NOP
SUB R1, R1, R5
CMP R7, #0x148
BCC .NotTMHM
CMP R7, #0x1AC
BXCC LR
.NotTMHM:
STRH R1, [R0, #2]
BX LR

Ho deciso di provare a renderle eterne in HG/SS perché i genii della Troll Freak avendo aggiunto quello schifo di Scacciabruma in D/P/P allora hanno inserito Flash come MT e quindi in HG/SS hanno dovuto mantenerla tale per la compatibilità, ma era una mossa MN negli originali. E fa schifo che sia stata ridotta ad MT da ricomprare ogni volta nei remake.

Il problema è che sì, con questo codice assembly le MT diventano eterne, ma se vengono date da tenere ad un pokémon si duplicano. Vanno addosso al pokémon e restano anche nello zaino.

Evidentemente Mero Mero l'ha pensata in modo che poi si cambi anche la struttura delle MT dal file narc rendendole praticamente quasi strumenti base... Ma come sapete questo romperebbe la compatibilità con D/P/P con gli scambi. Vorrei solo evitarne il consumo se usate per insegnare mosse, ma non capaci anche di sdoppiarsi con la funzione "DAI".

Attualmente sono ricomprabili e vendibili e se vendute non restano nello zaino. E mi va benissimo così.

Vorrei solo evitare lo sdoppiamento... Chi si intende di assembly del GBA (Dicono che sia uguale) saprebbe come impedire il glitch?
29-07-2019 01:42 AM
Cerca Cita
eMMe97
Professione: Genio
******
Offline

Messaggi: 1,395
Registrato: 09-10-2014
Reputazione: 20
Mi Piace Ricevuti: 1395
PokéMoney: 1,722.00₱
Messaggio: #2
RE: MT eterne?
Domanda stupida: hai provato a togliere dallo strumento la possibilità di assegnarlo ad un Pokémon? Non avrebbe alcun senso se le mt sono infinite.
29-07-2019 12:32 PM
Cerca Cita
Half shadow
Genio
****
Offline

Messaggi: 390
Registrato: 06-10-2014
Reputazione: 2
Mi Piace Ricevuti: 190
PokéMoney: 681.00₱
Messaggio: #3
RE: MT eterne?
Potrebbe essere una soluzione, ma se fossi in grado di farlo l'avrei già fatto anche per Iramella e Codaslopoké, sono 3 anni che ci provo... XD
29-07-2019 06:52 PM
Cerca Cita
Half shadow
Genio
****
Offline

Messaggi: 390
Registrato: 06-10-2014
Reputazione: 2
Mi Piace Ricevuti: 190
PokéMoney: 681.00₱
Messaggio: #4
RE: MT eterne?
Altrimenti, se qualcuno conosce il funzionamento del Flauto Blu, sa come è fatto lo script/routine assembly? Perché credo che il codice di Mero Mero si occupi di impedire che le MT possano essere rimosse dallo zaino, ma nel modo sbagliato. Probabilmente copiano il codice assembly delle MN, invece dovrebbe copiare il codice assembly del Flauto Blu, sarebbe meglio, perché è uno strumento contabile. Qualcuno può farmi vedere come sono assemblati il Flauto Blu ed una MN in Smeraldo o un gioco GBA? Magari @Andrea così da vedere se la routine di una MN è uguale anche nei giochi GBA e forse quindi copiare dal Flauto Blu invece che da una MN?

(Per il Flauto Blu naturalmente penso sia meglio dallo zaino fuori dalla lotta ovviamente)
(Questo messaggio è stato modificato l'ultima volta il: 30-07-2019 12:49 AM da Half shadow.)
30-07-2019 12:45 AM
Cerca Cita
 Mi piace ricevuti da: Bonnox
Half shadow
Genio
****
Offline

Messaggi: 390
Registrato: 06-10-2014
Reputazione: 2
Mi Piace Ricevuti: 190
PokéMoney: 681.00₱
Messaggio: #5
RE: MT eterne?
Forse ho una soluzione.

In Emerald basta cambiare un byte per impedire solo che si consumino, all'offset 1B6EE0 cambiare A9 con 90.
In Smeraldo italiano invece 1B69E8.

Ora, qualcuno sa dirmi quali di quei byte sono di programmazione e non sono pointer? Perché nel caso potrei cercare qualcosa di simile nel file ARM9 di HG/SS invece di modificare un solo byte all'offset 78452 che rende qualunque strumento non consumabile ma nemmeno buttabile/regalabile senza glitch di duplicazione.

Cambiare solo quel byte in Smeraldo sembra funzionare perfettamente.
30-07-2019 03:21 PM
Cerca Cita
 Mi piace ricevuti da: Bonnox
Manuxn
Nabbo Selvatico
*
Offline

Messaggi: 13
Registrato: 25-06-2019
Reputazione: 0
Mi Piace Ricevuti: 10
PokéMoney: 75.00₱
Messaggio: #6
RE: MT eterne?
Premetto che non sono esperto di ASM e non ho mai utilizzato Smeraldo, ma provo lo stesso ad aiutarti.
Ho disassemblato la rom di Emerald nella parte che ti interessa, questo è il risultato:
Spero ti possa essere utile.
30-07-2019 10:00 PM
Cerca Cita
 Mi piace ricevuti da: Half shadow
Andrea
...
******
Offline

Messaggi: 805
Registrato: 12-06-2014
Reputazione: 30
Mi Piace Ricevuti: 1064
PokéMoney: 2,828.25₱
Messaggio: #7
RE: MT eterne?
Allora, in questa guida pubblicata da Karim viene descritto come ottenere le MT infinite nelle rom di rubino/smeraldo ITA/USA:
http://www.pokemonhacking.it/showthread.php?tid=31
Di seguito, ti riporto la routine disassemblata utilizzata nella guida (RUBY USA):
L'offset che viene modificato fa parte delle istruzioni, mentre tutti i pointer sono collocati alla fine della routine.
Per quanto riguarda il funzionamento del faluto blu, esso si appoggia ad una routine comune utilizzata dagli strumenti di cura:
Mentre stavo scrivendo questo messaggio, mi è venuta in mente un'idea che potrebbe esserti utile per terminare la ricerca.
Se esistono, potresti utilizzare i codici dell'action replay per ricavarti gli offset che consentono di avere le MT/MN infinite.
31-07-2019 10:37 AM
Cerca Cita
 Mi piace ricevuti da: Half shadow
Half shadow
Genio
****
Offline

Messaggi: 390
Registrato: 06-10-2014
Reputazione: 2
Mi Piace Ricevuti: 190
PokéMoney: 681.00₱
Messaggio: #8
RE: MT eterne?
@Andrea Quindi non è il Flauto Blu in sé ad avere una routine per non consumarsi? Si appoggia su un'altra routine? Tu mi hai postato la routine ma purtroppo non riesco a capire quale sia la parte che evita la consunzione dopo l'uso... Vedo solo qualcosa come "0806FF1C BL IsBlueYellowRedFlute" potrebbe essere quella parte ad evitare il consumo?

A proposito dei codici Action raplay, riguardo alle MT per HG/SS ci sono solo per avere 95/99 di ogni MT e tutte le MT... Ma per evitare che si consumino no.
31-07-2019 05:46 PM
Cerca Cita
Bonnox
Signore del Tempo un po' imbranato
*****
Offline

Messaggi: 1,932
Registrato: 06-07-2014
Reputazione: 8
Mi Piace Ricevuti: 455
PokéMoney: 2,150.75₱
Messaggio: #9
RE: MT eterne?
(30-07-2019 03:21 PM)Half shadow Ha scritto:  Forse ho una soluzione.

In Emerald basta cambiare un byte per impedire solo che si consumino, all'offset 1B6EE0 cambiare A9 con 90.
In Smeraldo italiano invece 1B69E8.

Ora, qualcuno sa dirmi quali di quei byte sono di programmazione e non sono pointer? Perché nel caso potrei cercare qualcosa di simile nel file ARM9 di HG/SS invece di modificare un solo byte all'offset 78452 che rende qualunque strumento non consumabile ma nemmeno buttabile/regalabile senza glitch di duplicazione.

Cambiare solo quel byte in Smeraldo sembra funzionare perfettamente.

ciao, mi hijacko velocemente in questa discussione, anche se non potrò risolverla, ma la trovo comunque interessante, per fugare il tuo piccolo dubbio.

Di solito quando si cambia un solo byte si sta cambiando un codice operativo.
Ad esempio, se immaginiamo uno schema a blocco che dice: "se l'ID dello strumento è maggiore/minore/uguale a tot, allora fai..."
Quando cambiamo il byte o stiamo "noppando" (mettere il codice no operation, 0x0000) o stiamo cambiando il codice operativo dell'IF, che invece di paragonare a un numero paragonerà a un altro, di fatto aumentando il limite.

per i più curiosi, l'istruzione è la CMP, e il byte cambiato si chiama immediato, perchè è un valore subito presente nell'istruzione (gli LDR per esempio sprecano qualche ciclo di clock in più per caricare 4 byte che risiedono un po' più in là)


detto questo la ricerca sarebbe interessantissima da portare avanti ma il mio tempo su questa terra è esaurito e non posso dedicarmi all'hacking DS... purtroppo... anche se come dici l'assembly è lo stesso. Purtroppo l'architettura è un po' più complicata

Se ti sono stato d'aiuto, clicca il tasto "mi piace" qua sotto! Grazie! : )

Il mio nuovo motto: don't ask for ETAs!

[Immagine: yKWdaxi.gif]

(RIP immagine firma cancellata dai server)
"L'uomo è ancora il più straordinario dei computer"
-
citazione famosa, qualcuno di importante nella storia, forse Churchill boh


Guida di cui vado più fiero: Mega-Huge Bonnox' guide (FINALLY expanded)


*immagine di congiunzione tra mass effect e doctor who della segretaria samantha traynor con in mano lo spazzolino sonico*

Ho un T.A.R.D.I.S. modello 40 ma non so usarlo. Pacman
(Questo messaggio è stato modificato l'ultima volta il: 31-07-2019 11:00 PM da Bonnox.)
31-07-2019 10:59 PM
Cerca Cita
 Mi piace ricevuti da: Half shadow
Half shadow
Genio
****
Offline

Messaggi: 390
Registrato: 06-10-2014
Reputazione: 2
Mi Piace Ricevuti: 190
PokéMoney: 681.00₱
Messaggio: #10
RE: MT eterne?
(31-07-2019 10:59 PM)Bonnox Ha scritto:  il mio tempo su questa terra è esaurito
Spero sia uno scherzo! :|
01-08-2019 02:05 AM
Cerca Cita
Bonnox
Signore del Tempo un po' imbranato
*****
Offline

Messaggi: 1,932
Registrato: 06-07-2014
Reputazione: 8
Mi Piace Ricevuti: 455
PokéMoney: 2,150.75₱
Messaggio: #11
RE: MT eterne?
sisi ma ormai sono troppo vecchio per queste cose ahah :facepalm:

NON che non mi piacciano, ma perdere ventisei ore per una ricerca... ;(
(Questo messaggio è stato modificato l'ultima volta il: 01-08-2019 08:56 AM da Bonnox.)
01-08-2019 08:55 AM
Cerca Cita
Half shadow
Genio
****
Offline

Messaggi: 390
Registrato: 06-10-2014
Reputazione: 2
Mi Piace Ricevuti: 190
PokéMoney: 681.00₱
Messaggio: #12
RE: MT eterne?
Accipicchia, hai 24 anni, mica tanto vecchio... Pacman
01-08-2019 09:48 AM
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