Vai al commento


Problemi problematici (?)


Wendrew

Post raccomandati

Buonciao, vorrei chiedervi aiuto perché ho un paio di problemi con l'hacking.


 


Il primo (e il principale diciamo) è che non riesco a sostituire gli sprite dei Pokémon. Mi spiego meglio: io volevo fare in modo di sostituire lo sprite di Dunsparce con uno di Gallade. Ho innanzitutto modificato la palette con APE, e fin qui tutto ok. Però dopo... ho aperto unlzGBA e sono andato fino a Dunsparce, ho fatto Save as... e ho provato a salvarlo in png e a mettere Gallade sull'immagine con Paint, per poi provare a rimetterla sulla rom. Ma è apparso un errore: Error: image is not indexed. Allora ho provato con bmp e gif, ma entrambe escono coi colori distorti. Cosa mi consigliate? Dovrei passare a un altro tool? Se sì, quale? A proposito, sto usando Ruby USA e ho Windows 7.


 


Il secondo, non così urgente quanto l'altro, e che vorrei modificare le musiche (ad esempio avevo intenzione di mettere questa, ma la sto linkando solo per pubblicizzarla (???)). Il fatto è che non ho la più pallida idea di come diavolo si faccia. Ebbene, come si fa?


Link al commento
Condividi su altre piattaforme

Uhm. Posso rispondere alla seconda richiesta, essendo un music hacker di RPG, ma anche di GBA.
E' un attimo complicato da spiegare in poche parole, ma cercherò di illustrarti come fare. Starà  a te decidere se vuoi effettivamente inserire delle nuove theme. Comunque, dopo un po' di dimestichezza con i programmi, dovresti riuscirci. 
Ti anticipo che GBA ha dei limiti per quanto riguarda la musica, quindi non aspettarti effettivamente quello che invece ti aspettavi.
Allora, esistono diversi modi per inserire una song in GBA. Il più semplice è sicuramente quello dove si sfruttano due tool: Sappy e Mid2AGB o Mid2GBA (sono la stessa cosa, ma non ho mai capito quale dei due nomi sia effettivamente quello giusto). Solitamente sono reperibili insieme.
Qui entra in gioco la song che vuoi inserire. Ti serve un file MIDI della theme. Lo puoi benissimo reperire con una ricerca su internet.

Cos'è un MIDI?


In parole povere, i MIDI, Musical Instrumental Digital Interface (nomefile.mid), sono dei file di "spartiti musicali" che il computer interpreta e suona utilizzando dei sound bank, ossia dei suoni campionati già  presenti nel pc per riprodurre la musica.


Prendi il MIDI (mi raccomando, il nome del file non deve avere numeri e deve essere composto con meno di sette lettere, se non sbaglio) e mettilo nella cartella dove è presente Mid2AGB, o per meglio dire, Mid2AGB.exe: il nostro programma che riuscirà  a convertire il file musicale in ".s", un formato leggibile da GBA. Ora ti basta trascinare e lasciare il file MIDI sopra Mid2AGB.exe. Aspetti che converta, e sotto il file MIDI che hai usato, ti dovrebbe comparire un file con lo stesso nome del MIDI, ma con il formato ".s", appunto.
Bene, ora serve Sappy. E' un tool abbastanza... Antipatico(?) Non è molto intuibile come altri tool, ecco.

Aprilo, vai sulla voce "File", in alto a sinistra, e apri la tua rom (ricorda di fare serve una copia della rom).

Ora che hai aperto la rom, avrai la possibilità  di sentire tutte le song presenti nel gioco modificando il numero cerchiato in rosso.

Cattura.png

Scegli quale song vuoi sostituire... Di solito le theme del gioco si aggirano lungo tra il 150 e il 300.
Ora che hai scelto quale vuoi sostituire, vai sulla voce "Task", a sinistra. Clicca "Assemble Song". Dopodiché ti si aprirà  una finestra pop-up, su qui c'è scritto "Assemble .S file" in alto. Vai su ".S file name", e selezioni il file ".s" che hai convertito prima con Mid2AGB.
Ora clicca su "Cook it" e attendi che il programma finisca il montaggio. solitamente no ci vogliono più di una decina di secondi.
E questo metodo non ti garantisce un suono efficace e apprezzabile. Per far sì che il suono sia migliore, c'è bisogno di un hex-editor o di una apposita patch che amplia i pochi strumenti disponibili su GBA.
Lo so, lo so. Spiegato così a due piedi e senza immagini è difficile da capire. Ma era tanto per illustrarti la procedura.
Spero di esserti stato utile! 


 

Link al commento
Condividi su altre piattaforme

Error: image is not indexed.? è un errore comune. L'immagine non è indexata(in parole povere le palette non sono "fisse" ed identificate). La soluzione per tutto ciò è Usenti. Apriamo la nosta immagine(io userò un Bulbasaur di Argento revampato da me. Se vuoi usarlo puoi, basta che mi crediti :')


bulbasaur_revamp_gba.png(misure 64x64 e 16 palette)


cattura_usenti_revamp.pngQuesta è la schermata. La prima palette è quella che andrà  eliminata poichè diventerà  trasparente, quindi stai attento.


Clicca su image e poi export.


cattura_export.png


Dopo aver salvato il percorso dove salvarlo apparirà  una schermata del tipo di salvataggio, seleziona 4(16 colours) e togli la spunta da Trasparent


Cattura_png_indexato.png


Ecco il nostro sprite indexato!


bulbasaur_revamp_gba1.png


Ora apri la ROM con Unlz-GBA ed ora sostituisci lo sprite del pokémon(ho sostituito direttamente Bulbasaur per non fare non-sense lol) cliccando su Import e selezionando l'immy in .png indexata.


Poi fai write to rom e fai così(eccetto per la spunta su Automatly fix pointers, scusa ma ho fatto questo screen dopo :' )


Cattura_inserimento_1.png


Se è il primo sprite non apparirà  nessun errore, ma dopo il secondo apparirà  questo errore.


Cattura_troppo_grande.png


In parole povere l'immagine è troppo grande, quindi serve nuovo spazio. Per trovare nuovo spazio servirà  Free Space Finder(abbreviato F.S.F.)!


Segnati il numero dell'errore(278 in questo caso), sono i byte in esadecimale della grandezza dell'immy.


Ora con la calcolatrice da programmatore inserisci il numero spuntando hex


Cattura_calcolatrice_1.png


e converti tutto in decimale spuntato Dec


Cattura_calcolatrice_2.png


Ora apri la ROM con FSF ed incolla il numero in byte necessari.


Cattura_offset_trovato.png


Copia l'offset(quello evidenziato), apri di nuovo Unlz-GBA e rifai il procedimento e clicca di nuovo write to ROM spuntando tutto.


Cattura_inserimento_1.png


Al posto dell'image offset metti il nuovo offset che hai trovato con FSF(senza sostituire i primi due zero.)


Se tutto va a buon fine dovrebbe apparire questo messaggio ;)


Cattura_inserimento_finito.png


Ecco la prova da VBA :v


screen_bulbasaur.png


Spero di esserti stato utile ^^


Link al commento
Condividi su altre piattaforme

Grazie. Ho risolto il problema con Advanced Sprite Editor ^^ (che abbia un auto-indexer?)

Però adesso ne ho altri due...

Il primo è che... vorrei fare uno script piuttosto complicato. In pratica vorrei "simulare" la lotta che si fa in Smeraldo al fianco di Rocco in Smeraldo. Solo che, più che una lotta multipla, sarebbe in doppio, perché vorrei fare in modo che lo script non faccia passare il player se ha più di 3 Piké, dopodiché, prima che si avvii la lotta, vorrei fare in modo che il 2o e il 3o andassero in pensione, poi che ottenessi il primo dei Pokèmon del compagno, poi che tornasse in squadra il 2o, dopo che venisse il 2o dell'amico, poi che ritornasse anche il 3o del team e infine che venisse anche il 3o dell'altro. Dopodiché, a fine lotta, farei in modo che i Piké "presi in prestito" sparissero. So che è difficile, anhe da capire, ma ciò che intendo è fare un team alternato fra 1o mio, 1o suo, 2o mio, 2o suo, 3o mio, 3o suo, e questo mi sembra l'unico modo, solo che non ho la minima idea di come fare esattamente.

Il secondo, più banale ma anche più URGENTE, è che non so come cambiare il punto in cui ci si ritrova dopo aver perso... (in Ruby)

Messaggio sopra pliss.

Link al commento
Condividi su altre piattaforme

UPPP: Ho trovato un programma per modificare la musica che parte (?)

Solo che... domandina... erm... cosa sono gli header esattamente? E come faccio a trovare quello di una musica?


B-plan.

Aprirò una discussione a parte (?)

Se qualcuno sta scrivendo qui però lo prego di continuare (??)

Link al commento
Condividi su altre piattaforme

Archiviata

La discussione è ora archiviata e chiusa ad ulteriori risposte.

  • Utenti nella discussione   0 utenti

    • Nessun utente registrato sta visualizzando questa pagina.
×
×
  • Crea...