Skeetendo

’Cause all games were better on the GBC

You are not logged in.

#526 2018-04-22 00:48:18

vanlach
New member
Registered: 2018-03-04
Post 2/5

Re: Simple Questions & Answers

So I've been trying to add an option for rematching gym leaders after you beat them in Crystal but I must be missing something since I keep getting crashes. The few that I have encountered so far are:
- After winning the battle, Misty's end of battle text doesn't show up and the game crashes.
- Choosing 'no' for the rematch prompt works but walking into the line of sight for a trainer in the gym prompts a battle but crashes the game instead of starting a battle.
- I'm not able to leave the gym after refusing the rematch and surfing around the trainers.

Here's the code that I added/modified for the Cerulean gym (that's where my save is since I've been adding to this personal hack as I go).

MistyScript_0x188432:
    faceplayer
    opentext
    checkflag ENGINE_CASCADEBADGE
    iftrue MistyRematchScript
    writetext UnknownText_0x188674
    waitbutton
    closetext
    winlosstext UnknownText_0x18870c, 0
    loadtrainer MISTY, MISTY1
    startbattle
    reloadmapafterbattle
    setevent EVENT_BEAT_MISTY
    setevent EVENT_BEAT_SWIMMERF_DIANA
    setevent EVENT_BEAT_SWIMMERF_BRIANA
    setevent EVENT_BEAT_SWIMMERM_PARKER
    opentext
    writetext UnknownText_0x188768
    playsound SFX_GET_BADGE
    waitsfx
    setflag ENGINE_CASCADEBADGE
.FightDone:
    writetext UnknownText_0x188782
    waitbutton
    closetext
    end

MistyRematchScript:
    writetext UnknownText_0x188782
    waitbutton
    writetext MistyRematchText
    yesorno
    iftrue MistyRematchBattle
    winlosstext MistyEndRematchBattleText, 0
    closetext
    end

MistyRematchBattle:
    loadtrainer MISTY, MISTY1
    startbattle
    scall MistyEndRematchScript
    end

MistyEndRematchScript:
    reloadmapafterbattle
    setevent EVENT_BEAT_MISTY
    setevent EVENT_BEAT_SWIMMERF_DIANA
    setevent EVENT_BEAT_SWIMMERF_BRIANA
    setevent EVENT_BEAT_SWIMMERM_PARKER
    opentext
    writetext MistyRematchWinLossText
    waitbutton
    closetext
    end

MistyRematchText:
    text "Unless you would"
    line "like to battle"
    cont "me again?"
    done

MistyEndRematchBattleText:
    text "MISTY: You really"
    line "are good…"

    para "I'll admit that"
    line "you are skilled…"
    done

MistyRematchWinLossText:
    text "MISTY: That was"
    line "a great battle!"

    para "Talk to me again"
    line "if you want a"
    cont "rematch."
    done

Offline

#527 2018-04-22 11:14:04

Cloud
Member
Registered: 2010-12-18
Post 296/302

Re: Simple Questions & Answers

Rangi wrote:
Cloud wrote:

Somebody know how do I edit the townmap? I could only find the gfx for it.

gfx/pokegear/johto.bin and kanto.bin are 20x18 tilemaps with a $ff marking the very end. Use a hex editor like HxD, Frhed, or Notepad++'s hex editor plugin.

Thanks, Rangi. I've actually look at that file but didn't know you have to view it in hex editor. My bad!

Also, this maybe obvious to most of you but I find this really convenient.
- To draw your map with ease for pokecrystal, first, use this editor on any clean gen 2 ROM.
- When you're done editing your region, go to file > export map so you'll get a file with .map extension.
- Use hex editor to read the file then copy the whole thing and paste it over the data in johto.bin file in pokecrystal.
- Don't forget you need to leave $FF at the end of the file for it to work
- Done.

Offline

#528 2018-04-22 12:29:15

Cloud
Member
Registered: 2010-12-18
Post 297/302

Re: Simple Questions & Answers

vanlach wrote:

So I've been trying to add an option for rematching gym leaders after you beat them in Crystal but I must be missing something since I keep getting crashes. The few that I have encountered so far are:
- After winning the battle, Misty's end of battle text doesn't show up and the game crashes.
- Choosing 'no' for the rematch prompt works but walking into the line of sight for a trainer in the gym prompts a battle but crashes the game instead of starting a battle.
- I'm not able to leave the gym after refusing the rematch and surfing around the trainers.


Hey, Vanlach. I'm a newbie. So I tried and rewrite your script. You might want to test it to see if it's working. I haven't tested it. Save a backup of your .asm file first.

CeruleanGymMistyScript:
    faceplayer
    opentext
    checkflag ENGINE_CASCADEBADGE
    iftrue CeruleanGymMistyRematchScript
    writetext UnknownText_0x188674
    waitbutton
    closetext
    winlosstext UnknownText_0x18870c, 0
    loadtrainer MISTY, MISTY1
    startbattle
    reloadmapafterbattle
    setevent EVENT_BEAT_MISTY
    setevent EVENT_BEAT_SWIMMERF_DIANA
    setevent EVENT_BEAT_SWIMMERF_BRIANA
    setevent EVENT_BEAT_SWIMMERM_PARKER
    opentext
    writetext UnknownText_0x188768
    playsound SFX_GET_BADGE
    waitsfx
    setflag ENGINE_CASCADEBADGE
    
CeruleanGymMistyRematchScript:
    faceplayer
    opentext
    writetext MistyRematchText
    yesorno
    iffalse .AskMistyRematch
    winlosstext MistyRematchWinLossText, 0
    loadtrainer MISTY, MISTY1
    startbattle
    reloadmapafterbattle
    opentext
    writetext MistyEndRematchBattleText
    waitbutton
    closetext
    end
    
.AskMistyRematch:
    writetext MistyRematchWinLossText
    closetext
    end
    
MistyRematchText:
    text "Unless you would"
    line "like to battle"
    cont "me again?"
    done

MistyEndRematchBattleText:
    text "MISTY: You really"
    line "are good…"

    para "I'll admit that"
    line "you are skilled…"
    done

MistyRematchWinLossText:
    text "MISTY: That was"
    line "a great battle!"

    para "Talk to me again"
    line "if you want a"
    cont "rematch."
    done

Offline

#529 2018-04-22 20:29:02

UberMedic7
Member
From: Greece
Registered: 2013-07-25
Post 73/74

Re: Simple Questions & Answers

Cloud's seems a bit overloaded with code so here's a very simple way that i used for my romhack that works 100% flawlessly, i know cuz i've tested it myself.

.FightDone:
    writetext UnknownText_0x188782
    yesorno
    iftrue .MistyRematch
    closetext
    end

.MistyRematch:
    winlosstext Misty_RematchDefeat, 0
    loadtrainer MISTY, 1
    startbattle
    reloadmapafterbattle
    end

The "Misty_RematchDefeat" is the text that pops up after she's defeated.

Offline

#530 2018-04-23 00:29:25

Cloud
Member
Registered: 2010-12-18
Post 298/302

Re: Simple Questions & Answers

That's pretty neat! I wish to write shorter and more efficient scripts too but I'll need a lot more experience to do that since unfortunately I have to learn by myself.

EDIT: Hey, I think I might as well ask this here so to anybody reading this what is something you wish you should have known/done when you started hacking (with pokecrystal)? Maybe something that would make code shorter or how to find certain things/data in the disassembly or anything that would be really useful to a new hacker. Please tell me anything!

Last edited by Cloud (2018-04-23 00:55:05)

Offline

#531 2018-04-23 10:34:42

UberMedic7
Member
From: Greece
Registered: 2013-07-25
Post 74/74

Re: Simple Questions & Answers

Cloud wrote:

That's pretty neat! I wish to write shorter and more efficient scripts too but I'll need a lot more experience to do that since unfortunately I have to learn by myself.

EDIT: Hey, I think I might as well ask this here so to anybody reading this what is something you wish you should have known/done when you started hacking (with pokecrystal)? Maybe something that would make code shorter or how to find certain things/data in the disassembly or anything that would be really useful to a new hacker. Please tell me anything!


Besides the info in these forums, nowdays pokecrystal has thorough documentation on github, anything from fixing the game's bugs to learning assembly and how it works. And one way to learn is practice, write code, test code, as long as you spend some time doing stuff you will pick things up. Take it from me, i had no idea how it all works but now its pretty clear to me on a basic level, if all else fails, google what you're looking for.

Offline

#532 2018-04-23 20:05:24

Cloud
Member
Registered: 2010-12-18
Post 299/302

Re: Simple Questions & Answers

Editing map connection and it works ok but to the north of the town there is this when there should be trees. Why?

10x9i5i.jpg

Offline

#533 2018-04-23 22:15:05

Zarator
Member
Registered: 2012-09-30
Post 50/50

Re: Simple Questions & Answers

Hello, I was planning a new minor hack project, and I was wondering if there is room, in Pokemon Gold, to add brand new attacks instead of replacing existing ones (I looked up for similar questions but the only similar thread I found asked for new types instead...)

Offline

#534 2018-04-30 05:14:52

megamctaco
Member
Registered: 2015-08-23
Post 126/129

Re: Simple Questions & Answers

In pokered, is there a specific way the TM learn set should be written?

For example:

; learnset
    tmlearn 6,8
    tmlearn 9,10,15
    tmlearn 20,21
    tmlearn 26,27,28,31,32
    tmlearn 34,40
    tmlearn 44,48
    tmlearn 50,54

I changed the majority of the TMs in the game, but when editing each mon's learn set, the game wouldn't load (it would compile, however). Does each line need an x amount of TMs?

Offline

#535 2018-04-30 05:33:17

Mateo
Member
From: The Sims 4
Registered: 2009-11-25
Post 3,541/3,578

Re: Simple Questions & Answers

each line represents 8 entries out of the list, in order, since it's just a flag array. to see which tm numbers go on which line you should be able to just look at Mew since it can learn every tm.

Offline

#536 2018-04-30 06:34:10

megamctaco
Member
Registered: 2015-08-23
Post 127/129

Re: Simple Questions & Answers

Cheers.

I'm trying to add Prof Oak to Unknown Dungeon 1 as a trainer battle (he's in the right position, blocking the stairs) but I can't get him to engage in battle. I'm comparing it to the Giovanni trainer battle code in Celadon where he disappears after losing the battle. My game won't compile due to "Unknown symbol 'W_UNKNOWNDUNGEON1CURSCRIPT'"

I've added an event constant, script and text for the map. What else am I missing?

Offline

#537 2018-04-30 06:46:06

Mateo
Member
From: The Sims 4
Registered: 2009-11-25
Post 3,542/3,578

Re: Simple Questions & Answers

I'm not sure why you're using the old convention of naming wram addresses like W_SOMETHINGHERE instead of wSomethingHere like they do now, so that could be it. Or it could be that you haven't actually defined that address label but are trying to reference it anyway. Those are in wram.asm in the wGameProgressFlags area iirc. If that area didn't already have one, you'll need to add it.

Offline

#538 2018-04-30 07:04:17

megamctaco
Member
Registered: 2015-08-23
Post 128/129

Re: Simple Questions & Answers

Mateo wrote:

I'm not sure why you're using the old convention of naming wram addresses like W_SOMETHINGHERE instead of wSomethingHere like they do now, so that could be it. Or it could be that you haven't actually defined that address label but are trying to reference it anyway. Those are in wram.asm in the wGameProgressFlags area iirc. If that area didn't already have one, you'll need to add it.

Still using the outdated one so it has W_SOMETHINGHERE instead.

So I added it. But Mewmon start moon walking on screen randomly, all my party mon are poisoned or paralyzed and are missing the first letter of their name. Oak battle works though. Quite funny to watch haha

Offline

#539 2018-04-30 13:08:32

Maniac379
Member
Registered: 2015-01-15
Post 121/121

Re: Simple Questions & Answers

Zarator wrote:

Hello, I was planning a new minor hack project, and I was wondering if there is room, in Pokemon Gold, to add brand new attacks instead of replacing existing ones (I looked up for similar questions but the only similar thread I found asked for new types instead...)

You can only have the 255 attacks unless you do some programming to extend the rom.  It is not commonly done and I don’t think there is a guide anywhere to do this.


---
Pokémon White Crystal
A simple quality of life and gameplay improved hack

Offline

#540 2018-05-16 09:14:07

LusoTrainer
Member
Registered: 2015-05-06
Post 16/31

Re: Simple Questions & Answers

Crystal_ wrote:

. and m outside the string mean nothing. When inside the quotation marks (string), they are translated to the tile number where the symbol is at in the game font (see charmap.asm). If you try building the ROM with a line like the one you posted, it will give you a syntax error. Use the one I posted before, and play around with spacing within the string as you need.

I was saying that owned Pokemon overwrite that generic string with their own height values. To be more specific, they don't overwrite that string itself (as it is hardcoded in the ROM), but rather, they overwrite the screen tiles where that string is displayed. You may need to adjust the position in which your new height digits are copied to in order to match your new format to display height (otherwise you might see something a digit overwriting the '.' or the 'm', for example).

Sorry to bring this up again, but I just remembered that the localized versions (spanish, french, etc) already have everything in metric units. With the proper values for every Pokémon and all. Is it possible to copy the strings of size and weight from it, or is it futile?

Offline

#541 2018-05-25 08:46:29

eddieweppler
New member
From: Germany
Registered: 2018-05-25
Post 1/2

Re: Simple Questions & Answers

since I don't want to start a new thread I'm posting my questions here^^

Gen II G/S: I'm looking for OffSets! for:

Fishing Pokémon (Old Rod, Good Rod, Super Rod)
what your Mom buys with your Money
Bug Catching Tournament Prizes
Game Corner Prizes
Catch Rate Formula

I have a few other questions too:
0x01646A what is this offset relating to? It comes directly after the marts
but if IT IS a mart, it just sells Potions & Poké Balls...?

I wanna mess with the parameters in HEX to see the results, some of this
is to time consuming going the Dissasembly routine (and I don't understand anything...)


but now for some finding:
some people already know it, but if you read https://tcrf.net/Pok%C3%A9mon_Gold_and_Silver
there are effects of unused items (the prevent status items)
but did you know that there are 7 more???
starting at effect 1F:

if you get hit by a damaging move, increase 1 stat for the rest of battle!
1F : Increase Attack, remove Item
20: Increase Defense, remove Item
21: Increase Speed, remove Item
22: Increase Spcl.Atk, remove Item
23: Increase Spcl.Def, remove Item
24: Increase Accuracy, remove Item
25: Increase Evasion, remove Item

use a clean rom, change OffSet: 0x6D56 to one of this and see it in action!
(OffSet is the Effect of Berry btw)

Hope that a few people can give me the OffSets, wanna change a few and see what happens

Offline

#542 2018-06-05 21:47:08

thechemist
Member
Registered: 2018-04-15
Post 9/12

Re: Simple Questions & Answers

Hi all,

I want to start by apologizing if this is the wrong place to ask this.

I have pretty much completed my quality of life rom hack for crystal but I have a friend who tested it for me give me an idea of which I do not know enough to implement.

I would like to have Elm ask the player a question before they choose their starter. Where he asks the player "what kind of experience are you looking for?" followed by a pop-up menu where the player can choose between 3 options, of which the answer determines which starters are available to choose from. Editing the question into Elm's script is something I already know how to do and I'm familiar with working within the assembly; however, I do not know how to make choice menus, make them appear, where to store the data if there isn't room in the current bank, and how to create their effects of the choice.

Any guidance to an already existing post with roughly the info I need or some tips on how to start this would be much appreciated.

Offline

#543 2018-06-07 01:46:09

Rangi
Member
Registered: 2016-05-09
Post 845/870

Re: Simple Questions & Answers

thechemist wrote:

Hi all,

I want to start by apologizing if this is the wrong place to ask this.

I have pretty much completed my quality of life rom hack for crystal but I have a friend who tested it for me give me an idea of which I do not know enough to implement.

I would like to have Elm ask the player a question before they choose their starter. Where he asks the player "what kind of experience are you looking for?" followed by a pop-up menu where the player can choose between 3 options, of which the answer determines which starters are available to choose from. Editing the question into Elm's script is something I already know how to do and I'm familiar with working within the assembly; however, I do not know how to make choice menus, make them appear, where to store the data if there isn't room in the current bank, and how to create their effects of the choice.

Any guidance to an already existing post with roughly the info I need or some tips on how to start this would be much appreciated.

maps/DragonShrine.asm has some custom menus for the Elder's quiz questions.

; part of the script
    loadmenu DragonShrineQuestion1_MenuHeader
    verticalmenu
    closewindow
    ifequal 1, .RightAnswer
    ifequal 2, .WrongAnswer
    ifequal 3, .RightAnswer
DragonShrineQuestion1_MenuHeader:
    db MENU_BACKUP_TILES ; flags
    menu_coords 8, 4, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
    dw .MenuData
    db 1 ; default option

.MenuData:
    db STATICMENU_CURSOR | STATICMENU_DISABLE_B ; flags
    db 3 ; items
    db "Pal@"
    db "Underling@"
    db "Friend@"

pokecrystal was recently refactored to use named MENU constants instead of inscrutable $hex values for the menu flags, so that helps a lot. Usually the only parts you'd need to change are the .MenuData item count and text (of course), and the menu_coords (those are for the top-left and bottom-right coordinates). You may also want to review constants/menu_constants.asm and see what's possible with other MENU flag constants, or check other map scripts to see how their custom menus behave.


Pokémon Polished Crystal (GitHub) — version 2.2.0 released
Pokémon Red★ and Blue★: Space World Edition (GitHub) — updated August 19!
Polished Map: pokered+pokecrystal map, tileset, and palette editor — version 3.5.1 released!

Offline

#544 2018-06-11 03:27:20

IceGod64
Member
Registered: 2016-02-09
Post 9/12

Re: Simple Questions & Answers

So, I have a question that's.. HOPEFULLY not too non-simple.

Are there any guides or info about how to set up a custom Pokemon's animations correctly? I've been trying to figure it out for myself, and I've tried searching but found nothing of value. I'm using PokeCrystal.

I made the sprites, and the still frame looks good, but when it tries to animate, I get uh..

c3cb215719.png

Offline

#545 2018-06-11 04:41:03

Rangi
Member
Registered: 2016-05-09
Post 847/870

Re: Simple Questions & Answers

IceGod64 wrote:

So, I have a question that's.. HOPEFULLY not too non-simple.

Are there any guides or info about how to set up a custom Pokemon's animations correctly? I've been trying to figure it out for myself, and I've tried searching but found nothing of value. I'm using PokeCrystal.

I made the sprites, and the still frame looks good, but when it tries to animate, I get uh..

https://puu.sh/ACXYo/c3cb215719.png

https://github.com/pret/pokecrystal/wik … -animation

https://github.com/pret/pokecrystal/blo … mations.md

Last edited by Rangi (2018-06-11 04:41:43)


Pokémon Polished Crystal (GitHub) — version 2.2.0 released
Pokémon Red★ and Blue★: Space World Edition (GitHub) — updated August 19!
Polished Map: pokered+pokecrystal map, tileset, and palette editor — version 3.5.1 released!

Offline

#546 2018-06-11 07:58:17

IceGod64
Member
Registered: 2016-02-09
Post 10/12

Re: Simple Questions & Answers

Thanks a million, Rangi!

Offline

#547 2018-06-13 23:25:57

stubbyfinger
Member
From: Edmonton, Alberta
Registered: 2016-08-07
Post 24/24

Re: Simple Questions & Answers

Hi all, so I recently upgraded my computer and i'm trying to transfer over all my hacking stuff from my laptop, and getting back into it, but i'm having troubles getting Cygwin up and running.  I can open it and type commands just fine, but whenever I try to use "make" I get

$ make

make: *** No rule to make target 'pokecrystal.link', needed by 'pokecrystal.gbc'
.  Stop.

i'm guessing that means i'm missing a package, but I have no idea which one to get...or maybe i'm totally wrong about that.  I'm sure this is a simple fix, but i'm absolutely clueless when it comes to Cygwin, do you guys have any ideas?

Offline

#548 2018-06-14 10:20:57

priceman
New member
Registered: 2014-12-02
Post 2/2

Re: Simple Questions & Answers

it looks like you're using an outdated version of pokecrystal, one that doesn't use the linkerscripts instead of a more recent version of the disassembly which does need one. maybe someone else can describe what I'm saying in more detail.

Offline

#549 2018-06-15 03:45:12

Eldaryon
New member
Registered: 2018-06-11
Post 1/2

Re: Simple Questions & Answers

Hey guys!
I'm quite the newbie here, and I started using the Pokecrystal assembly not that long ago.
I am understanding how to use the majority of it but how to add scenes to the game (for my own maps for example).
Until now, all my tries have resulted in the game crashing when I enter the map, and rebooting with the "not designed for gameboy" screen.
I personally believe that it has something to do with that one line I add to the WRAM, but I'm not sure.
Thanks in advance for the help.

PS: If anyone got an example of adding a scene that would be so perfect.

Last edited by Eldaryon (2018-06-15 03:46:17)

Offline

#550 2018-06-20 22:10:32

IceGod64
Member
Registered: 2016-02-09
Post 11/12

Re: Simple Questions & Answers

Is there a guide or anything on how to tweak PokeCrystal so that all Pokemon hex ID's can be used?

Specifically, while I want to keep all the normal Pokemon in the game, I want to have ID slots $FC,$FD,$FE and $FF all usable.
In order to maintain compatibility, those slots wouldn't be usable in link battles, but I want to put a few game-exclusive Pokemon there.

If I try to change the NUM_POKEMON macro to be greater than $FD, I get build errors.

EDIT: The problem seemed to be the unused Correct_party_errors code.

Last edited by IceGod64 (2018-06-20 22:18:17)

Offline

Board footer

Powered by FluxBB