• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Forum moderator applications are now open! Click here for details.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[ARCHIVE] Simple Questions (SEARCH BEFORE ASKING A QUESTION)

Status
Not open for further replies.

MrSandman64

Pokemon Moon Creator
28
Posts
11
Years
can someone help?
I just correctly inserted my hack's intro sprites (professor, hero, and rival)
and it worked fine except after i give the rival a name it distorts the sprite's colors.
I also inserted the rival's overworld sprite and it apears in the actual game but it diddnt chang the spite that appears when you are naming the rival (the walking OW sprite).
Can anyone tell me how i can fix this?
 

Satoshi Ookami

Memento Mori
14,254
Posts
15
Years
Ruby is not impossible to do, but it is highly impractical. In FireRed and Emerald, the Pokédex's memory space is allocated by a Malloc, which you pass the length needed, and it automatically assigns enough memory for the length you need. All the reads/writes to it are calculated by using the Malloc, meaning it automatically reads/writes to the correct places.

In Ruby, the Pokédex has a set memory location. All the data which is required for the dex to run is placed after the end of the Pokémon data, which is precisely long enough for 386 species. In order to extend the dex, you need to manually repoint every reference to the Dex data which follows the Pokémon data.

Do you see why this is impractical? It may be possible, but it's extremely difficult to get every single pointer.

When I had a look at it for Chaos Rush, I found some 30 or so pointers (and even then, it still didn't work!)
Yeah, now I get it... now that really IS impractical...
I did not expect Game Freak to have different styles for Ruby and FR Pokedex.
But repointing every pointer would be total waste of time, I agree with that.
But if Emerald is like FR then we don't need Ruby =)
 
8
Posts
11
Years
  • Seen Oct 3, 2012
I have two quick questions.

1 I have been trying edit the back sprites of the emerald male hero to make it look like Red (from FR) I've found them in Tile Molester (00D6F980 in case anyone wants to avoid the 9 hours of searching the web that it took me to find it). But to my horror after shifting them around and editing them, the changes don't stick when put into game. Any advice? I've spent hours trying to change this... its infuriating -.-

I always had this kind of problem, no matter what tool I used. The only exception was if I used NSE and directly edited the artwork in the program. My answer is to try useing the Nameless Sprite Editor, and depending on how that works, you may have to get a hex editor, and directly edit graphics changes into the game's code like I do.

2 I I've taken the sprites and palettes from FR and placed them into emerald using Overworld Editor Re. However i noticed a little graphical glitch where the right eye on the character is bigger than the other. I've checked my sprites they shouldn't look like that. any ideas?
Once again NSE may be your friend. You may have to have Fire Red and Emerald open in two different windows, and edit the Emerald one pixel by pixel. It might be tedious, but it may fix it.
 

madarawolf

Espada Cuarta
56
Posts
15
Years
  • Seen Jul 23, 2023
Every time I try to use Item Editor or XSE on a Fire Red ROM the text is just random.
So my script that starts out as this:
Spoiler:

becomes this after I compile it:
Spoiler:

Is there any way I can fix this or do I need a new ROM?
 
39
Posts
11
Years
Ok this happened to me before and SOmeone told me how to fix it but this time doing the thing he told me doesn't work. Basically my problem is that I put a warp at the exit of my cave but when i try to exit the cave in my game it doesn't work. Any help?
 
28
Posts
13
Years
  • Seen Apr 6, 2013
What is the script for "Would you like to give a nickname to this [Pokemon]?"

Thanks,
Meowing Mewtwo :cer_boogie:

Do you mean how to say that or how to get the game to do that? If it is the first, I would point you over to diegoisawesome's megahuge xse scripting tutorial, because it is a really good tool for entry-level scripting. If not, and you need to do the actual name changing, I would still point you to that tutorial, because it is useful, but that won't exactly help you here. The thread that will really help you is a thread by JPAN on specials.

Since I am such a great guy, I will give you a few specials to get you started. These are labelled as Name Rater specials in that thread:
07B checks pokemon nickname, buffers it and put 01 in given variable if it was never nicknamed
07C buffers pokemon name indicated at 0x8004 (nickname)
07D obtained in a trade checker
09E nickname pokemon in party indicated by 0x8004

Naturally, as it can be a bit difficult to describe a function in such a short space, it isn't immediately obvious how to use those specials, for me at least, except for 07D. I would imagine that 07B saves a Pokemon's name to a buffer, noting if it is already nicknamed (not sure the purpose for buffering the name, but checking if it is nicknamed can be utilized in some way if you want to) - I am not sure how this special selects the Pokemon to check. 07C is obvious, except for how it picks the Pokemon. My experience with specials means I know that there are more than a few specials that allow you to select a Pokemon, you'd probably want to use 09F which is obviously meant to be paired with 09E. 07D is obvious and obviously intended to be used with special2 and not special (so that it has somewhere to note the Pokemon's trade status) - all that means is that, in XSE, you have to put "special2 0xXXXX" with XXXX being the variable you want to store whatever it is that it returns, presumably 1 for "traded."

Of course, if I were you, I's say, 'forget that' and just copy whatever script the name rater uses and perhaps changing the offsets for what he says. That is typically my first step whenever scripting something new and robust like this, following it up with a quick look at JPAN's post previously mentioned.

Ok this happened to me before and SOmeone told me how to fix it but this time doing the thing he told me doesn't work. Basically my problem is that I put a warp at the exit of my cave but when i try to exit the cave in my game it doesn't work. Any help?

First, of course, make sure that your warps are pointing to warps. But I think you have already done that. The only thing I can think of right off is that for doors the Unknown value above the 'To warp no:' box is 3. For some unknown reason (heh) that should be 3 when warping through doorways and the like and 4 when you are going 'up' or 'down' like on stairs or ladders.

Hope that fixes your problem because if not, I am out of ideas.

Every time I try to use Item Editor or XSE on a Fire Red ROM the text is just random.
So my script that starts out as this:
Spoiler:

I can't see how that would be a ROM issue, it looks a lot like a write issue and it is decidedly not random text. What does it look like in game, when you run the script? It could also be a read issue by XSE, or at least until you answer that question. I find it weird that it seems to write spaces, at times, correctly. If it were me, I would say to myself, 'Hmm, weird,' and then go redownload XSE from a different place than the first one and then retry. If I still had problems, then I would try getting a new ROM, but I can't imagine why that would help. Of course, every once in a while the solutions that make no sense at all somehow work.

I Googled XSE \h3F and somebody had a vaguely similar problem and someone suggested it might be due to dynamic pointers that used spaces. I am not sure if you used dynamic pointers or not, and even if you did they decided that that did not fix the issue, but that could be an issue (of course, I can't imagine that XSE would let you compile with too many arguments since it has never let me compile with too few) and it is too easy to fix to skip.

EDIT: Actually, I was just looking at your script, and I can't imagine why this would be the reason, and I don't have much experience yet with scripting trainer battles, but you don't have a message-type argument for the msgbox command. I have never left out an argument and been able to compile, but if it automatically writes something in that byte, your first message offset would start a byte too soon. Of course that means that it wouldn't display so that can't be it.
 
Last edited:

Satoshi Ookami

Memento Mori
14,254
Posts
15
Years
Every time I try to use Item Editor or XSE on a Fire Red ROM the text is just random.
So my script that starts out as this:
Spoiler:

becomes this after I compile it:
Spoiler:

Is there any way I can fix this or do I need a new ROM?
You are not using dynamic offsets.
Since you are using static offsets, you are rewriting what was there.

Compile this ;)
Code:
#dynamic 0x800000
#org @start
trainerbattle 0x0 0x2 0x0 @before @after
msgbox @aftermath '"I'm hungery, do you know\nwhere I c..."
release
end


'---------
' Strings
'---------
#org @before
= Hi, I'm Monkey D. Luffy.\nI'm gonna be king of the pirates\land find One Piece.

#org @after
= Meat!!!!!

#org @aftermath
= I'm hung[S]e[/S]ry, do you know\nwhere I can find some [S]meat[/S]devil fruit?

If this doesn't work, then you need to replace your ROM.
 

MrSandman64

Pokemon Moon Creator
28
Posts
11
Years
I've discovered a solution to my previous question but I'm not sure how to do it or if it is even possible.
can someone help?
I just correctly inserted my hack's intro sprites (professor, hero, and rival)
and it worked fine except after i give the rival a name it distorts the sprite's colors.
I also inserted the rival's overworld sprite and it apears in the actual game but it diddnt chang the spite that appears when you are naming the rival (the walking OW sprite).
Can anyone tell me how i can fix this?
In order to fix this problem would it be possible to edit the multi-choice box that apears when naming the rival and remove the new name option from the list?
 
74
Posts
12
Years
  • Seen Nov 3, 2019
You need to find a tutorial about how to add voicegroups to FireRed then. The game uses a specific voicegroup for it's songs, not those that your MIDI uses. I don't know how to add voicegroups into Firered, but search for a tutorial. I don't think you can get your songs to sound 100% right, sadly, but the best you can do in the worst case scenario is try to use the same instruments as Firered in your songs.

Now I just worry how to make the midi voice play at rom to base on my indicate. My assembly song just play the "urgly" ( somethings like ghost theme) sound. I want to change it play as other sound at the voicegroup. How to do it? I attached 2 .s file, try to assembly to your Fire Red Rom for measure if you can, 2 .s file is New Bark Town track of GSC/HGSS, the "000E" is mine convert by mid2agb, I attached my New Bark Town midi of created "000E". And I also attached a New Bark Town .s file get from a tutorial. The New Bark Town .s file from tutorial named "newnark", I tried to assembly the "newbark" .s file, it's sound is no large-scale changed, how to do that with a midi file I want to assembly?

Other question, I tried to make a .s file to repeat the song, but I failed, my .s file name is 00C8, for my example,

Spoiler:



I also attached this .s file, the .s file name is 00C8.s, you can try to assembly for test this .s file. Why I will failed to looping back to the song? All .s file and midi is inside my "MYQuestionPack" at the attachments. Dowload it.
Hope someone can help me.

Thanks.
 
Last edited by a moderator:
53
Posts
11
Years
i am trying to add legendary battles into my firered hack (ex, a fight with rayuaza), but i dont know the proper script offsets for this. i tried to put my own in (ex, 000001) but that just corrupted my rom. can someone tell me what script offsets to use for this?
 
28
Posts
13
Years
  • Seen Apr 6, 2013
i am trying to add legendary battles into my firered hack (ex, a fight with rayuaza), but i dont know the proper script offsets for this. i tried to put my own in (ex, 000001) but that just corrupted my rom. can someone tell me what script offsets to use for this?

Get XSE and start your script with this:
#dynamic 0x800000
#org @pointer

with pointer being whatever you want. At any point that you would put in another offset, use a pointer like that - a string of letters/numbers with no spaces. When XSE compiles, it will check the size of each script and find a place on the ROM, starting at the stated offset (in this case 0x800000), that each script will fit and automatically change each @pointer to the corresponding offset. You should never put in your own offsets unless you are 100% sure that either there is enough space on the ROM for the script or you don't need whatever is at those offsets.

As far as the actual script goes, you can just go into Advance-Map and find the map that a legendary battle is called and just edit the script to call Rayquaza.
 
16
Posts
11
Years
  • Seen Jun 11, 2021
What are the offsets for the tile behaviors and usage of HMs by selecting a Pokemon in Fire Red?
 
28
Posts
13
Years
  • Seen Apr 6, 2013
Just to be sure, buffers are never wiped, right? Like, if I wrote to a buffer in the first script of the game, it would still read what I put there at the end of the game?
 

redriders180

Mastermind of Pokemon Glazed
314
Posts
13
Years
What are the offsets for the tile behaviors and usage of HMs by selecting a Pokemon in Fire Red?
The only tile behaviors that are used for HMs are for Surf and Waterfall. $10 and $15 are used for Surf (the former for a reflection, and the latter for no reflection), and $13 is for Waterfall (this also forces the player down). Cut, Rock Smash, and Strength are all dictated by the Cut tree, rock smash rock, and strength boulder, and not a tile behavior. Flash is dictated by a setting in the header, and Fly will always work, so long as the map is an outside map (also dictated by the header).

In an original Firered ROM, these are the offsets you want:
Cut: 0x1BDF13
Surf: 0x1A6AC8
Fly: No idea v.v
Strength: 0x1BE11D
Flash: No idea :\
Rock Smash: 0x1BE00C
Waterfall: 0x1BE2B7

Note: The waterfall and surf scripts don't have badge checks. that's ASM, unfortunately :\

Nope, buffers are only stored for the duration of the script.

I don't believe this is the case. My buffers still have the text they had buffered to them stored in memory, even while no script is running. However, I'm nearly absoultely 100% sure buffers aren't saved in the Flash memory...they're really only intended for one-script-only-type things, called on when needed, not to store values for an entire game.
 
Last edited:
5,256
Posts
16
Years
Oh, right, you are right there. I think I meant to say they're only really safe from being overwritten in the duration of a script. But for the intent of mrjimi, it won't work D:
 
39
Posts
11
Years
Ok weird thing. One my warp isnt working in my cave. Everything is good and the unknown value is set to 3. Also one of my ladders suddenly stopped working and it wont warp me anymore. Its unknown value is 4. Finally when ever I step on theese to blocks in my game my game freezes and crashes. I need help desperately
 

Banjora Marxvile

hOI!!!!!! i'm tEMMIE!!
3,496
Posts
15
Years
  • Age 30
  • Seen yesterday
Now I just worry how to make the midi voice play at rom to base on my indicate. My assembly song just play the "urgly" ( somethings like ghost theme) sound. I want to change it play as other sound at the voicegroup. How to do it? I attached 2 .s file, try to assembly to your Fire Red Rom for measure if you can, 2 .s file is New Bark Town track of GSC/HGSS, the "000E" is mine convert by mid2agb, I attached my New Bark Town midi of created "000E". And I also attached a New Bark Town .s file get from a tutorial. The New Bark Town .s file from tutorial named "newnark", I tried to assembly the "newbark" .s file, it's sound is no large-scale changed, how to do that with a midi file I want to assembly?

Other question, I tried to make a .s file to repeat the song, but I failed, my .s file name is 00C8, for my example,

Spoiler:



I also attached this .s file, the .s file name is 00C8.s, you can try to assembly for test this .s file. Why I will failed to looping back to the song? All .s file and midi is inside my "MYQuestionPack" at the attachments. Dowload it.
Hope someone can help me.

Thanks.

For the instrument, this can be done in your .s file. In the original song, see what number the instruments you want use in Sappy are (the pink number in Sappy when you click the triangle to expand the information). Then, open your .s file with Notepad, and find .byte VOICE and change the number behind it to the number that you previously looked at and wrote down. Then repeat for all tracks as all tracks have .byte VOICE.

For the looping, you forgot to add towards the end of the song (where the loop should kick in):

.byte GOTO
.word 00C8_1_loop

on each track (replacing 1 with 2 and so on for each track)
 
Last edited:
28
Posts
13
Years
  • Seen Apr 6, 2013
Oh, right, you are right there. I think I meant to say they're only really safe from being overwritten in the duration of a script. But for the intent of mrjimi, it won't work D:

Well shoot. I had hoped to avoid having to use variables because this is for the name of the starter and I have 9 different potential starters. I know what I can do using certain specials and special2s, but that will be a lot of work that I'd rather not do. Is there another kind of string-saving function in the game?

Ok weird thing. One my warp isnt working in my cave. Everything is good and the unknown value is set to 3. Also one of my ladders suddenly stopped working and it wont warp me anymore. Its unknown value is 4. Finally when ever I step on theese to blocks in my game my game freezes and crashes. I need help desperately

This time I think I figured it out. If by not working you mean that when you step onto a warp it tries to warp but once the screen goes black it never fades back in, then check if you have any level scripts that point to empty bytes. I had this issue a few days ago.
 
Last edited:
Status
Not open for further replies.
Back
Top