Skeetendo

’Cause all games were better on the GBC

You are not logged in.

  • Index
  • → Help/Question
  • → Hacking Red Questions (Trade evolutions and adding more TMs)

#26 2015-09-05 08:34:59

megamctaco
Member
Registered: 2015-08-23
Post 14/103

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

Sorted that out. Cheers.

Next thing I'd like to do is add extra items (Sun Stone to evolve Eevee to Espeon) and I saw on Red++ that the evolution to Glaceon and Sylveon were for example "db EV_MAP,SEAFOAM_ISLANDS_5,GLACEON" in evos_moves.asm

I've done that but what else do I need to do to get it to work?

Offline

#27 2015-09-05 14:22:54

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

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

You would need to actually add the routine for that evolution method, since by default, EV_MAP doesn't mean or do anything.

This is the file with the evolution routines.

This is the file with the evolution constants, where you'll need to define that EV_MAP is a thing

EDIT: Keep in mind that Red++ is built on a different copy of Pokered than you are using, so the labels for RAM addresses might be different, like mine might say W_CURMAP and yours might have wCurMap for example.

Last edited by Mateo (2015-09-05 15:38:04)

Offline

#28 2015-09-07 01:14:32

megamctaco
Member
Registered: 2015-08-23
Post 15/103

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

Mateo wrote:

You would need to actually add the routine for that evolution method, since by default, EV_MAP doesn't mean or do anything.

This is the file with the evolution routines.

This is the file with the evolution constants, where you'll need to define that EV_MAP is a thing

EDIT: Keep in mind that Red++ is built on a different copy of Pokered than you are using, so the labels for RAM addresses might be different, like mine might say W_CURMAP and yours might have wCurMap for example.

Didn't end up working for me. All the coding was fine and I could load the rom fine, but nothing happened. I've decided to go with adding new stones instead.

So far I can get the Sun Stone to work, but I get a bug where my character sprite disappears and I have to walk in or our of a building for it to reappear.

Added Ice Stone, Fairy Stone and Steel Stone items. They show up in Marts and I can buy them. When I go to use them, the screen just goes blank.

I've added the stones to the following: item_constants.asm, items.asm, item_names.asm, item_prices.asm, mart_inventories.asm, evos_moves.asm

Am I missing anything?

EDIT: Also added new moves but my game crashes when my Pokemon is called out to battle. Used about half the new moves added to Red++ on the following: moves_constants.asm, move_effect_constants.asm, moves.asm and move_names.asm

Would also like to know what I'm missing there too.

Last edited by megamctaco (2015-09-07 04:34:51)

Offline

#29 2015-09-07 09:39:53

Crystal_
Member
From: Spain
Registered: 2012-09-16
Post 310/411
Website

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

Have you added your stones to the item effects table ItemUsePtrTable? (items.asm)

So far I can get the Sun Stone to work, but I get a bug where my character sprite disappears and I have to walk in or our of a building for it to reappear.

That sounds like a bug related to oam sprites reloading. All in all it sounds like a lot of your issues come from not having added your stones to this table: https://github.com/iimarckus/pokered/bl … s.asm#L450

Here's some advice: if you are not sure what's going wrong, the bgb debugger is your best friend.

EDIT: Also added new moves but my game crashes when my Pokemon is called out to battle. Used about half the new moves added to Red++ on the following: moves_constants.asm, move_effect_constants.asm, moves.asm and move_names.asm

Would also like to know what I'm missing there too.

How have you handled the animations of the new moves? Keep in mind that move constants double up as animation constants and that the first of the six move data bytes is used as the animation id for the most part (although some move effects check it instead of the move id). By adding new moves there you've probably displaced other animations as well including the animation where the pokemon comes out of its pokeball. Try to reuse the animations of the old moves for the new moves so that the number of animations stays the same and nothing is displaced.

Offline

#30 2015-09-07 10:43:22

megamctaco
Member
Registered: 2015-08-23
Post 16/103

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

Crystal_ wrote:

Have you added your stones to the item effects table ItemUsePtrTable? (items.asm)

That sounds like a bug related to oam sprites reloading. All in all it sounds like a lot of your issues come from not having added your stones to this table: https://github.com/iimarcku/pokered/blo … s.asm#L450

Yeah I've added them to that. Still no luck.

UsableItems_PartyMenu: ; 13434 (4:7434)
    db MOON_STONE
    db ANTIDOTE
    db BURN_HEAL
    db ICE_HEAL
    db AWAKENING
    db PARLYZ_HEAL
    db FULL_RESTORE
    db MAX_POTION
    db HYPER_POTION
    db SUPER_POTION
    db POTION
    db FIRE_STONE
    db THUNDER_STONE
    db WATER_STONE
    db HP_UP
    db PROTEIN
    db IRON
    db CARBOS
    db CALCIUM
    db RARE_CANDY
    db LEAF_STONE
    db FULL_HEAL
    db REVIVE
    db MAX_REVIVE
    db FRESH_WATER
    db SODA_POP
    db LEMONADE
    db X_ATTACK
    db X_DEFEND
    db X_SPEED
    db X_SPECIAL
    db PP_UP
    db ETHER
    db MAX_ETHER
    db ELIXER
    db MAX_ELIXER
    db SUN_STONE
    db ICE_STONE
    db STEEL_STONE
    db FAIRY_STONE
    db $ff
Crystal_ wrote:

How have you handled the animations of the new moves? Keep in mind that move constants double up as animation constants and that the first of the six move data bytes is used as the animation id for the most part (although some move effects check it instead of the move id). By adding new moves there you've probably displaced other animations as well including the animation where the pokemon comes out of its pokeball. Try to reuse the animations of the old moves for the new moves so that the number of animations stays the same and nothing is displaced.

For the moves, I've just done stuff like:

move QUICK_ATTACK, PARALYZE_SIDE_EFFECT1,      120, ELECTRIC, 100, 15 ; Volt Tackle
    move CUT,          NO_ADDITIONAL_EFFECT,        90, GRASS,    100, 15 ; Leaf Blade
    move ROCK_THROW,   RECOIL_EFFECT,              120, GRASS,    100, 15 ; Wood Hammer
    move COMET_PUNCH,  POISON_SIDE_EFFECT2,         80, POISON,   100, 20 ; Poison Jab

I assume I'd have to edit "move_animation_constants.asm"? Where do I start with that? haha

Offline

#31 2015-09-07 10:53:09

Crystal_
Member
From: Spain
Registered: 2012-09-16
Post 312/411
Website

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

I assume I'd have to edit "move_animation_constants.asm"? Where do I start with that? haha

This is only necessary if you want to create new animations. If you're going to keep existing animations, it's fine the way it is now.

I'd start by debugging from ItemUseEvoStone and from SendOutMon in order to try to figure out where the problems you're having come from. You may need to debug from an earlier point if the game crashes before reaching these functions, but they look like good reference points to begin with based on what you said in your post.

Offline

#32 2015-09-07 11:22:03

megamctaco
Member
Registered: 2015-08-23
Post 17/103

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

Crystal_ wrote:

I assume I'd have to edit "move_animation_constants.asm"? Where do I start with that? haha

This is only necessary if you want to create new animations. If you're going to keep existing animations, it's fine the way it is now.

I'd start by debugging from ItemUseEvoStone and from SendOutMon in order to try to figure out where the problems you're having come from. You may need to debug from an earlier point if the game crashes before reaching these functions, but they look like good reference points to begin with based on what you said in your post.

I just gave it a go in BGB with the debugger, but I honestly have no idea what I'm doing. A line in the debugger turned red, that's about all I can tell you haha

Offline

#33 2015-09-07 12:02:37

Crystal_
Member
From: Spain
Registered: 2012-09-16
Post 313/411
Website

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

A line that turns red is a line with a breakpoint on it. It means the emulator will break when the instruction in that line is about to be executed. You can also set a brakpoint anywhere by going Debug -> breakpoints. PC stands for program counter, i.e. the address you wan't to break at. Then you can trace the game instruction by instruction by doing run -> trace (or press F7).

Offline

#34 2015-09-07 12:57:34

megamctaco
Member
Registered: 2015-08-23
Post 18/103

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

Interesting. I took away all the new moves I added, except for 8 of them.

Just before my Pokemon comes out to battle, the screen does the Confusion effect.

Offline

#35 2015-09-07 14:20:49

Danny-E 33
Administrator
Registered: 2012-06-09
Post 906/1,021

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

Remember how I said you should be making a lot of small commits instead of having thousands of un-committed changes? In practice, this is why. Now you have several unrelated bugs floating around and no easy way to trace which changes introduced the bugs. If you had many small commits, it would be easy to pinpoint which commit contained the bug.

Anyway, adding an ice stone.


Red Hack: Pokémon Prototype

Total number of registered users: 7000+
Total number of active users: ~12

Offline

#36 2015-09-07 18:47:45

comet
Member
Registered: 2012-04-09
Post 599/672

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

Crystal_ wrote:

How have you handled the animations of the new moves? Keep in mind that move constants double up as animation constants ... By adding new moves there you've probably displaced other animations as well including the animation where the pokemon comes out of its pokeball. Try to reuse the animations of the old moves for the new moves so that the number of animations stays the same and nothing is displaced.

These are enumerated with the move constants. If adding a move causes an animation bug, it's because an anim constant is missing somewhere.

Offline

#37 2015-09-07 22:12:45

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

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

You said you copied moves from Red++

Did you notice that after the move constants were declared, we set the const value to STRUGGLE + 1 before listing the animation constants? If you didn't do that, and just slapped the new move constants in after Struggle and left the animation constants as-is, then of course you will get strange errors, because the other animation constants won't be properly meaningful anymore. :p


Also, I saw earlier that you said you tried adding the new evolution methods that I made for Red++, but "nothing happened." If you copied them the way I had them, they should work (since they work in Red++) so I would assume you either made a mistake somewhere when copying, or you forgot to actually define any Pokemon as using those new methods in data/evos_moves.asm or something. (Also, unless you plan on including Wurmple's line, there is no need to add EV_RAND anyway.) I would be willing to help you figure it out if you could show me what you did, but as Danny has pointed out, it seems like those changes will be buried in a lot of other stuff. I know, I used to be bad about that too, and sometimes I still end up with arbitrary commits when I realize I forgot to actually commit something before changing something else, but yeah, it really is good practice to try and keep commits coherent and simple, and to compile and test frequently.

What I try to do is:
- Change something specific
- Make sure it compiles
- Test it to make sure it seems to work as I intended
- Commit it
- Push changes
- Go on to something else and repeat

Last edited by Mateo (2015-09-07 22:19:37)

Offline

#38 2015-09-08 02:26:57

megamctaco
Member
Registered: 2015-08-23
Post 19/103

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

Danny-E 33 wrote:

Instead of making commits (because I don't know how to use github properly yet), I've been making backups of all .asm files and notes in a different folder so I can retrace my steps and revert it to how it was prior to me messing with it.

I have removed all the new moves I added, so the only changes I currently have are: 

- I changed some Gym Leader/Elite 4 Pokemon and levels.
- I changed some Wild Pokemon data for Route 1, 2, 3 and Mt Moon.
- I changed the Fighting Dojo to a Bug Gym with Scyther and Pinsir as the prize Pokemon (and it works).
- I added Leafeon, Glaceon, Espeon, Umbreon, Sylveon, Scizor and Heracross and they all work fine if encountered in the wild. Leafeon and Umbreon evolve perfectly via Leaf Stone and Moon Stone.

So right now I'm trying to add the Ice Stone.

I've done everything in your Adding Glaceon Test, but I get a "Unable to load ROMX section" error when I add "dw UnusableItem      ; FLOOR_B2F" etc to items.asm

It works properly when I remove all the Floors from items.asm, and I can buy the Ice Stone (using Viridian Mart). However, when I use it, my screen goes blank. I'm currently trying to fix that.

From items.asm

dw ItemUsePPRestore  ; MAX_ELIXER
    dw UnusableItem      ; FLOOR_B2F
    dw UnusableItem      ; FLOOR_B1F
    dw UnusableItem      ; FLOOR_1F
    dw UnusableItem      ; FLOOR_2F
    dw UnusableItem      ; FLOOR_3F
    dw UnusableItem      ; FLOOR_4F
    dw UnusableItem      ; FLOOR_5F
    dw UnusableItem      ; FLOOR_6F
    dw UnusableItem      ; FLOOR_7F
    dw UnusableItem      ; FLOOR_8F
    dw UnusableItem      ; FLOOR_9F
    dw UnusableItem      ; FLOOR_10F
    dw UnusableItem      ; FLOOR_11F
    dw UnusableItem      ; FLOOR_B4F
    dw ItemUseEvoStone   ; ICE_STONE

From item_names.asm

db "MAX ELIXER@"
    db "B2F@"
    db "B1F@"
    db "1F@"
    db "2F@"
    db "3F@"
    db "4F@"
    db "5F@"
    db "6F@"
    db "7F@"
    db "8F@"
    db "9F@"
    db "10F@"
    db "11F@"
    db "B4F@"
    db "ICE STONE@"

From item_prices.asm

money 0     ; MAX_ELIXER
    money 0     ; FLOOR_B2F
    money 0     ; FLOOR_B1F
    money 0     ; FLOOR_1F
    money 0     ; FLOOR_2F
    money 0     ; FLOOR_3F
    money 0     ; FLOOR_4F
    money 0     ; FLOOR_5F
    money 0     ; FLOOR_6F
    money 0     ; FLOOR_7F
    money 0     ; FLOOR_8F
    money 0     ; FLOOR_9F
    money 0     ; FLOOR_10F
    money 0     ; FLOOR_11F
    money 0     ; FLOOR_B4F
    money 20    ; ICE_STONE

From start_sub_menus.asm

db MAX_ELIXER
    db ICE_STONE
    db $ff

From key_items.asm

KeyItemBitfield: ; e799 (3:6799)
    db %11110000
    db %00000001
    db %11110000
    db %01001111
    db %00000000
    db %10011111
    db %00000000
    db %11000000
    db %11110000
    db %00111011
    db %00000000
    db %00000000
    db %00000000

From mart_inventories.asm

ViridianMartText6:: ; 2442 (0:2442)
    db $FE,4,POKE_BALL,ICE_STONE,PARLYZ_HEAL,ANTIDOTE,$FF

From evos_moves.asm

Mon133_EvosMoves: ; 3b644 (e:7644)
;EEVEE
;Evolutions
    db EV_ITEM,FIRE_STONE,1,FLAREON
    db EV_ITEM,THUNDER_STONE,1,JOLTEON
    db EV_ITEM,WATER_STONE,1,VAPOREON
    db EV_ITEM,MOON_STONE,1,UMBREON
    db EV_ITEM,LEAF_STONE,1,LEAFEON
    db EV_ITEM,ICE_STONE,1,GLACEON

From party_menu.asm

.evolutionStoneMenu
    push hl
    ld hl,EvosMovesPointerTable
    ld b,0
    ld a,[wLoadedMonSpecies]
    dec a
    add a
    rl b
    ld c,a
    add hl,bc
    ld de,wcd6d
    ld a,BANK(EvosMovesPointerTable)
    ld bc,2
    call FarCopyData
    ld hl,wcd6d
    ld a,[hli]
    ld h,[hl]
    ld l,a
    ld de,wEvolutionData
    ld a,BANK(EvosMovesPointerTable)
    ld bc,Mon133_EvosEnd - Mon133_EvosMoves
    call FarCopyData
    ld hl,wEvolutionData
    ld de,.notAbleToEvolveText

From wram.asm

wEvolutionData::
    ds 56

Offline

#39 2015-09-08 07:07:47

megamctaco
Member
Registered: 2015-08-23
Post 20/103

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

Mateo wrote:

Did you notice that after the move constants were declared, we set the const value to STRUGGLE + 1 before listing the animation constants?

You're absolutely right. Changing it to +1 fixed everything! Cheers!

I've just added Metal Claw, Iron Tail and Crunch and they work fine.

The Ice Stone thing is really playing with my head though.

Before I managed to get the Sun Stone working by replacing the unusable item listed after "SECRET KEY". I've since reverted that back to normal for the sake of trying to get Ice Stone to work as a completely new item. I'll most likely change that unusable item to the Sun Stone again once I fix the Ice Stone issue.

So right now the only issue is the screen going blank after trying to use the Ice Stone.

Offline

#40 2015-09-08 09:45:08

Crystal_
Member
From: Spain
Registered: 2012-09-16
Post 314/411
Website

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

Instead of making commits (because I don't know how to use github properly yet), I've been making backups of all .asm files and notes in a different folder so I can retrace my steps and revert it to how it was prior to me messing with it.

That sounds like it will turn into a mess very quickly so you should learn the basics of working with git as soon as possible if you're planning to turn your hack into something relatively big. Luckily, the Github for Windows application is beginner friendly and easy to get used to.

First add your repository by clicking in the '+' in the top left corner. Whenever you make any change to any file inside the repository, a change notification will pop up. When you think you've done enough to save it, you can commit your changes by writing a summary and a description of those changes (where it says so) and then clicking "commit to [branch name]". Speaking of branches, you can use multiple branches to work on different features separately and then merge them into the main (master) branch eventually, but that's up to you. In any case, When you commit some changes to your local repository, you can use the Sync button at the top right corner to publish that commit in the remote repository.

Offline

#41 2015-09-08 10:19:27

megamctaco
Member
Registered: 2015-08-23
Post 21/103

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

Crystal_ wrote:

Instead of making commits (because I don't know how to use github properly yet), I've been making backups of all .asm files and notes in a different folder so I can retrace my steps and revert it to how it was prior to me messing with it.

That sounds like it will turn into a mess very quickly so you should learn the basics of working with git as soon as possible if you're planning to turn your hack into something relatively big. Luckily, the Github for Windows application is beginner friendly and easy to get used to.

First add your repository by clicking in the '+' in the top left corner. Whenever you make any change to any file inside the repository, a change notification will pop up. When you think you've done enough to save it, you can commit your changes by writing a summary and a description of those changes (where it says so) and then clicking "commit to [branch name]". Speaking of branches, you can use multiple branches to work on different features separately and then merge them into the main (master) branch eventually, but that's up to you. In any case, When you commit some changes to your local repository, you can use the Sync button at the top right corner to publish that commit in the remote repository.

How exactly do I copy all the files over to my repository? Or do I have to fork the original disassembly and make all my changes again?

Last edited by megamctaco (2015-09-08 10:32:57)

Offline

#42 2015-09-08 11:11:57

Crystal_
Member
From: Spain
Registered: 2012-09-16
Post 315/411
Website

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

Ideally you would've forked or cloned the pokered repository to begin with.

These should help you:

https://help.github.com/articles/adding … mand-line/

https://www.youtube.com/watch?v=fYytG7IUUWg (Install pokered dissasembly)

Offline

#43 2015-09-08 13:16:29

megamctaco
Member
Registered: 2015-08-23
Post 22/103

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

Crystal_ wrote:

Ideally you would've forked or cloned the pokered repository to begin with.

These should help you:

https://help.github.com/articles/adding … mand-line/

https://www.youtube.com/watch?v=fYytG7IUUWg (Install pokered dissasembly)

Cheers.

It's times like this I wish I had a DeLorean so I could travel back in time and not mess up in the first place. When I started, all I had was Cygwin and the disassembly on my computer, and absolutely no clue about github.

Anyway, with the first link you gave me, I managed to do this: https://github.com/MegaMcTaco/pokeredhackpurple

I guess it's not exactly ideal since it isn't forked from the original pokered disassembly like everyone else's seems to be.

So I edit what I want to on github, and make the commits. Then if I want to test the changes on the rom, I have to copy the repository link on Cygwin and so on until I can make the rom... Is that right or am I even more confused than before?

Offline

#44 2015-09-08 14:58:06

Danny-E 33
Administrator
Registered: 2012-06-09
Post 907/1,021

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

megamctaco wrote:

Instead of making commits (because I don't know how to use github properly yet), I've been making backups of all .asm files and notes in a different folder so I can retrace my steps and revert it to how it was prior to me messing with it.

*cringe*
That's basically what git does, but it does it for you.

megamctaco wrote:

I guess it's not exactly ideal since it isn't forked from the original pokered disassembly like everyone else's seems to be.

Actually, no, that's fine. Github forks aren't even a true thing to git. Github is not git. Git is the software used to manage a project, Github is a site made to host git projects. The people that made Github are not the people that made git.
Whether or not Github says your repo is a fork doesn't matter. You can still make it act like a fork. As in, you can still pull future updates from iimarckus/pokered even though Github doesn't see any association between the two repos. Besides, Github only allows you to have one "fork" of a repo on your account. I have pokered, pokered-gbc, pokered-gen-II, and pokered-prototype on Github. They are all technically forks of iimarckus/pokered, but Github only sees my pokered as a "real" fork.

Anyway it's good that you set up your own repo. Unfortunately, your "First comitt" is unhelpful.

megamctaco wrote:

I'll most likely change that unusable item to the Sun Stone again once I fix the Ice Stone issue.

No, it's not worth it. They should both be new items.

megamctaco wrote:

I get a "Unable to load ROMX section" error when I add "dw UnusableItem      ; FLOOR_B2F" etc to items.asm

That simply means that you are currently trying to put more than $4000 bytes of data into that bank. You just need to move stuff around so that it all fits in one bank.

megamctaco wrote:

It works properly when I remove all the Floors from items.asm, and I can buy the Ice Stone (using Viridian Mart). However, when I use it, my screen goes blank.

Of course it's going to crash. You need those pointers for the floor items.

megamctaco wrote:

So I edit what I want to on github, and make the commits. Then if I want to test the changes on the rom, I have to copy the repository link on Cygwin and so on until I can make the rom... Is that right or am I even more confused than before?

No. I don't even understand what you're asking but that's definitely not how it works.

You edit what you want in your favorite text editor. Then if you want to test the changes on the rom, you build the rom in Cygwin. Then when you are satisfied with the changes, you make commits in cygwin and then use cygwin to push to Github.

The copy of the repo that exists on your hard drive is called the local. The copy that exists on github.com is called the remote. You make changes and test changes on the local. Then you push to the remote for the sake of sharing with others and/or having a backup that doesn't rely on your computer. If your hard drive fails, you haven't lost the entire git repo if you frequently push to Github.


Red Hack: Pokémon Prototype

Total number of registered users: 7000+
Total number of active users: ~12

Offline

#45 2015-09-09 03:29:18

megamctaco
Member
Registered: 2015-08-23
Post 23/103

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

Danny-E 33 wrote:

Actually, no, that's fine. Github forks aren't even a true thing to git. Github is not git. Git is the software used to manage a project, Github is a site made to host git projects. The people that made Github are not the people that made git.
Whether or not Github says your repo is a fork doesn't matter. You can still make it act like a fork. As in, you can still pull future updates from iimarckus/pokered even though Github doesn't see any association between the two repos. Besides, Github only allows you to have one "fork" of a repo on your account. I have pokered, pokered-gbc, pokered-gen-II, and pokered-prototype on Github. They are all technically forks of iimarckus/pokered, but Github only sees my pokered as a "real" fork.

I get that Github is not git and so on. I more meant it wasn't ideal for "online community" reasons but I guess that's not the case.

Danny-E 33 wrote:

That simply means that you are currently trying to put more than $4000 bytes of data into that bank. You just need to move stuff around so that it all fits in one bank.

What exactly should I move around?

Danny-E 33 wrote:

No. I don't even understand what you're asking but that's definitely not how it works.

You edit what you want in your favorite text editor. Then if you want to test the changes on the rom, you build the rom in Cygwin. Then when you are satisfied with the changes, you make commits in cygwin and then use cygwin to push to Github.

The copy of the repo that exists on your hard drive is called the local. The copy that exists on github.com is called the remote. You make changes and test changes on the local. Then you push to the remote for the sake of sharing with others and/or having a backup that doesn't rely on your computer. If your hard drive fails, you haven't lost the entire git repo if you frequently push to Github.

That's what I was doing in the first place. Editing it with Notepad++, building the rom in Cygwin and then moving on to the next change. I see now what you meant about Github, whereas before I thought that you meant you can edit what you want in the Github repository, and basically do it all backwards.

Danny-E 33 wrote:

*cringe*
That's basically what git does, but it does it for you.

Was just a personal preference. Now that I know the basics of using Github, I'll see whether I prefer that or not.

Moving on. I noticed another error today. I added Dark, Steel and Fairy types not long ago. But it gets mixed up sometimes. Skarmory works fine and has both Steel and Flying types. However, Umbreon who I listed as DARK in both types, shows up as Electric. Mew for example also shows up as Electric.

Offline

#46 2015-09-09 05:19:36

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

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

Can we see your changes related to adding the new types?

Offline

#47 2015-09-09 05:35:50

Miksy91
Member
Registered: 2010-10-16
Post 2,186/2,305

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

megamctaco wrote:

Was just a personal preference. Now that I know the basics of using Github, I'll see whether I prefer that or not.

The reason you can have all kinds of backups from the "hack" - or disassembly - in Github is because each commit has an ID associated with it. I don't remember which commands you were supposed to use to do this (but Google can help easily!), but it is possible to get the data of any commit to your local repository if you want to. So it is very simple to switch to a backup in case you did something wrong.
And what's more, since you can adjust a description to each commit on what they do exactly, when you possibly switch to editing a backup, you know which changes are left out.

I use Github for Dark Energy too although it is a hack of a rom, and not a disassembly modification.

Offline

#48 2015-09-10 02:56:47

megamctaco
Member
Registered: 2015-08-23
Post 24/103

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

Mateo wrote:

Can we see your changes related to adding the new types?

type_names.asm

TypeNames:

    dw .Normal
    dw .Fighting
    dw .Flying
    dw .Poison
    dw .Ground
    dw .Rock
    dw .Bird
    dw .Bug
    dw .Ghost
    dw .Steel

    dw .Normal
    dw .Normal
    dw .Normal
    dw .Normal
    dw .Normal
    dw .Normal
    dw .Normal
    dw .Normal
    dw .Normal
    dw .Normal
    dw .Normal

    dw .Fire
    dw .Water
    dw .Grass
    dw .Electric
    dw .Psychic
    dw .Ice
    dw .Dragon
    dw .Dark
    dw .Fairy

.Normal:   db "NORMAL@"
.Fighting: db "FIGHTING@"
.Flying:   db "FLYING@"
.Poison:   db "POISON@"
.Fire:     db "FIRE@"
.Water:    db "WATER@"
.Grass:    db "GRASS@"
.Electric: db "ELECTRIC@"
.Psychic:  db "PSYCHIC@"
.Ice:      db "ICE@"
.Ground:   db "GROUND@"
.Rock:     db "ROCK@"
.Bird:     db "BIRD@"
.Bug:      db "BUG@"
.Ghost:    db "GHOST@"
.Dragon:   db "DRAGON@"
.Steel:    db "STEEL@"
.Dark:     db "DARK@"
.Fairy:    db "FAIRY@"

type_constants.asm

; Elemental types
NORMAL   EQU $00
FIGHTING EQU $01
FLYING   EQU $02
POISON   EQU $03
GROUND   EQU $04
ROCK     EQU $05
BUG      EQU $07
GHOST    EQU $08
STEEL    EQU $09
DARK     EQU $0A
FIRE     EQU $14
WATER    EQU $15
GRASS    EQU $16
ELECTRIC EQU $17
PSYCHIC  EQU $18
ICE      EQU $19
DRAGON   EQU $1A
FAIRY    EQU $1B

type_effects.asm

TypeEffects: ; 3e474 (f:6474)
; format: attacking type, defending type, damage multiplier
; the multiplier is a (decimal) fixed-point number:
;     20 is ×2.0
;     05 is ×0.5
;     00 is ×0
    db WATER,FIRE,20
    db FIRE,GRASS,20
    db FIRE,ICE,20
    db GRASS,WATER,20
    db ELECTRIC,WATER,20
    db WATER,ROCK,20
    db GROUND,FLYING,00
    db WATER,WATER,05
    db FIRE,FIRE,05
    db ELECTRIC,ELECTRIC,05
    db ICE,ICE,05
    db GRASS,GRASS,05
    db PSYCHIC,PSYCHIC,05
    db FIRE,WATER,05
    db GRASS,FIRE,05
    db WATER,GRASS,05
    db ELECTRIC,GRASS,05
    db NORMAL,ROCK,05
    db NORMAL,GHOST,00
    db GHOST,GHOST,20
    db FIRE,BUG,20
    db FIRE,ROCK,05
    db WATER,GROUND,20
    db ELECTRIC,GROUND,00
    db ELECTRIC,FLYING,20
    db GRASS,GROUND,20
    db GRASS,BUG,05
    db GRASS,POISON,05
    db GRASS,ROCK,20
    db GRASS,FLYING,05
    db ICE,WATER,05
    db ICE,GRASS,20
    db ICE,GROUND,20
    db ICE,FLYING,20
    db FIGHTING,NORMAL,20
    db FIGHTING,POISON,05
    db FIGHTING,FLYING,05
    db FIGHTING,PSYCHIC,05
    db FIGHTING,BUG,05
    db FIGHTING,ROCK,20
    db FIGHTING,ICE,20
    db FIGHTING,GHOST,00
    db POISON,GRASS,20
    db POISON,POISON,05
    db POISON,GROUND,05
    db POISON,BUG,20
    db POISON,ROCK,05
    db POISON,GHOST,05
    db GROUND,FIRE,20
    db GROUND,ELECTRIC,20
    db GROUND,GRASS,05
    db GROUND,BUG,05
    db GROUND,ROCK,20
    db GROUND,POISON,20
    db FLYING,ELECTRIC,05
    db FLYING,FIGHTING,20
    db FLYING,BUG,20
    db FLYING,GRASS,20
    db FLYING,ROCK,05
    db PSYCHIC,FIGHTING,20
    db PSYCHIC,POISON,20
    db BUG,FIRE,05
    db BUG,GRASS,20
    db BUG,FIGHTING,05
    db BUG,FLYING,05
    db BUG,PSYCHIC,20
    db BUG,GHOST,05
    db BUG,POISON,20
    db ROCK,FIRE,20
    db ROCK,FIGHTING,05
    db ROCK,GROUND,05
    db ROCK,FLYING,20
    db ROCK,BUG,20
    db ROCK,ICE,20
    db GHOST,NORMAL,00
    db GHOST,PSYCHIC,00
    db FIRE,DRAGON,05
    db WATER,DRAGON,05
    db ELECTRIC,DRAGON,05
    db GRASS,DRAGON,05
    db ICE,DRAGON,20
    db DRAGON,DRAGON,20
    db DARK,FIGHTING,05
    db DARK,GHOST,20
    db DARK,PSYCHIC,20
    db DARK,FAIRY,05
    db FIGHTING,DARK,20
    db BUG,DARK,20
    db GHOST,DARK,05
    db PSYCHIC,DARK,00
    db DARK,DARK,05
    db FAIRY,DARK,20
    db FAIRY,FIGHTING,20
    db FAIRY,POISON,05
    db FAIRY,STEEL,05
    db FAIRY,FIRE,05
    db FAIRY,DRAGON,20
    db FIGHTING,FAIRY,05
    db POISON,FAIRY,20
    db BUG,FAIRY,05
    db DRAGON,FAIRY,00
    db STEEL,ROCK,20
    db STEEL,STEEL,05
    db STEEL,FIRE,05
    db STEEL,WATER,05
    db STEEL,ELECTRIC,05
    db STEEL,ICE,20
    db STEEL,FAIRY,20
    db NORMAL,STEEL,05
    db FIGHTING,STEEL,20
    db FLYING,STEEL,05
    db POISON,STEEL,00
    db GROUND,STEEL,20
    db ROCK,STEEL,05
    db BUG,STEEL,05
    db FIRE,STEEL,20
    db GRASS,STEEL,05
    db PSYCHIC,STEEL,05
    db ICE,STEEL,05
    db DRAGON,STEEL,05
    db ICE,FIRE,05
    db $FF

moves.asm

Moves:
; Characteristics of each move.

move: macro
    db \1 ; animation (interchangeable with move id)
    db \2 ; effect
    db \3 ; power
    db \4 ; type
    db \5 percent ; accuracy
    db \6 ; pp
endm

    move POUND,        NO_ADDITIONAL_EFFECT,        40, NORMAL,   100, 35
MoveEnd:
    move KARATE_CHOP,  NO_ADDITIONAL_EFFECT,        50, FIGHTING, 100, 25
    move DOUBLESLAP,   TWO_TO_FIVE_ATTACKS_EFFECT,  15, NORMAL,    85, 10
    move COMET_PUNCH,  TWO_TO_FIVE_ATTACKS_EFFECT,  18, NORMAL,    85, 15
    move MEGA_PUNCH,   NO_ADDITIONAL_EFFECT,        80, NORMAL,    85, 20
    move PAY_DAY,      PAY_DAY_EFFECT,              40, NORMAL,   100, 20
    move FIRE_PUNCH,   BURN_SIDE_EFFECT1,           75, FIRE,     100, 15
    move ICE_PUNCH,    FREEZE_SIDE_EFFECT,          75, ICE,      100, 15
    move THUNDERPUNCH, PARALYZE_SIDE_EFFECT1,       75, ELECTRIC, 100, 15
    move SCRATCH,      NO_ADDITIONAL_EFFECT,        40, NORMAL,   100, 35
    move VICEGRIP,     NO_ADDITIONAL_EFFECT,        55, NORMAL,   100, 30
    move GUILLOTINE,   OHKO_EFFECT,                  1, NORMAL,    30,  5
    move RAZOR_WIND,   CHARGE_EFFECT,               80, NORMAL,    75, 10
    move SWORDS_DANCE, ATTACK_UP2_EFFECT,            0, NORMAL,   100, 30
    move CUT,          NO_ADDITIONAL_EFFECT,        50, BUG,       95, 30
    move GUST,         NO_ADDITIONAL_EFFECT,        40, FLYING,   100, 35
    move WING_ATTACK,  NO_ADDITIONAL_EFFECT,        35, FLYING,   100, 35
    move WHIRLWIND,    SWITCH_AND_TELEPORT_EFFECT,   0, NORMAL,    85, 20
    move FLY,          FLY_EFFECT,                  70, FLYING,    95, 15
    move BIND,         TRAPPING_EFFECT,             15, NORMAL,    75, 20
    move SLAM,         NO_ADDITIONAL_EFFECT,        80, NORMAL,    75, 20
    move VINE_WHIP,    NO_ADDITIONAL_EFFECT,        35, GRASS,    100, 10
    move STOMP,        FLINCH_SIDE_EFFECT2,         65, NORMAL,   100, 20
    move DOUBLE_KICK,  ATTACK_TWICE_EFFECT,         30, FIGHTING, 100, 30
    move MEGA_KICK,    NO_ADDITIONAL_EFFECT,       120, NORMAL,    75,  5
    move JUMP_KICK,    JUMP_KICK_EFFECT,            70, FIGHTING,  95, 25
    move ROLLING_KICK, FLINCH_SIDE_EFFECT2,         60, FIGHTING,  85, 15
    move SAND_ATTACK,  ACCURACY_DOWN1_EFFECT,        0, NORMAL,   100, 15
    move HEADBUTT,     FLINCH_SIDE_EFFECT2,         70, NORMAL,   100, 15
    move HORN_ATTACK,  NO_ADDITIONAL_EFFECT,        65, NORMAL,   100, 25
    move FURY_ATTACK,  TWO_TO_FIVE_ATTACKS_EFFECT,  15, NORMAL,    85, 20
    move HORN_DRILL,   OHKO_EFFECT,                  1, NORMAL,    30,  5
    move TACKLE,       NO_ADDITIONAL_EFFECT,        35, NORMAL,    95, 35
    move BODY_SLAM,    PARALYZE_SIDE_EFFECT2,       85, NORMAL,   100, 15
    move WRAP,         TRAPPING_EFFECT,             15, NORMAL,    85, 20
    move TAKE_DOWN,    RECOIL_EFFECT,               90, NORMAL,    85, 20
    move THRASH,       THRASH_PETAL_DANCE_EFFECT,   90, NORMAL,   100, 20
    move DOUBLE_EDGE,  RECOIL_EFFECT,              100, NORMAL,   100, 15
    move TAIL_WHIP,    DEFENSE_DOWN1_EFFECT,         0, NORMAL,   100, 30
    move POISON_STING, POISON_SIDE_EFFECT1,         15, POISON,   100, 35
    move TWINEEDLE,    TWINEEDLE_EFFECT,            25, BUG,      100, 20
    move PIN_MISSILE,  TWO_TO_FIVE_ATTACKS_EFFECT,  14, BUG,       85, 20
    move LEER,         DEFENSE_DOWN1_EFFECT,         0, NORMAL,   100, 30
    move BITE,         FLINCH_SIDE_EFFECT1,         60, NORMAL,   100, 25
    move GROWL,        ATTACK_DOWN1_EFFECT,          0, NORMAL,   100, 40
    move ROAR,         SWITCH_AND_TELEPORT_EFFECT,   0, NORMAL,   100, 20
    move SING,         SLEEP_EFFECT,                 0, NORMAL,    55, 15
    move SUPERSONIC,   CONFUSION_EFFECT,             0, NORMAL,    55, 20
    move SONICBOOM,    SPECIAL_DAMAGE_EFFECT,        1, NORMAL,    90, 20
    move DISABLE,      DISABLE_EFFECT,               0, NORMAL,    55, 20
    move ACID,         DEFENSE_DOWN_SIDE_EFFECT,    40, POISON,   100, 30
    move EMBER,        BURN_SIDE_EFFECT1,           40, FIRE,     100, 25
    move FLAMETHROWER, BURN_SIDE_EFFECT1,           95, FIRE,     100, 15
    move MIST,         MIST_EFFECT,                  0, ICE,      100, 30
    move WATER_GUN,    NO_ADDITIONAL_EFFECT,        40, WATER,    100, 25
    move HYDRO_PUMP,   NO_ADDITIONAL_EFFECT,       120, WATER,     80,  5
    move SURF,         NO_ADDITIONAL_EFFECT,        95, WATER,    100, 15
    move ICE_BEAM,     FREEZE_SIDE_EFFECT,          95, ICE,      100, 10
    move BLIZZARD,     FREEZE_SIDE_EFFECT,         120, ICE,       90,  5
    move PSYBEAM,      CONFUSION_SIDE_EFFECT,       65, PSYCHIC,  100, 20
    move BUBBLEBEAM,   SPEED_DOWN_SIDE_EFFECT,      65, WATER,    100, 20
    move AURORA_BEAM,  ATTACK_DOWN_SIDE_EFFECT,     65, ICE,      100, 20
    move HYPER_BEAM,   HYPER_BEAM_EFFECT,          150, NORMAL,    90,  5
    move PECK,         NO_ADDITIONAL_EFFECT,        35, FLYING,   100, 35
    move DRILL_PECK,   NO_ADDITIONAL_EFFECT,        80, FLYING,   100, 20
    move SUBMISSION,   RECOIL_EFFECT,               80, FIGHTING,  80, 25
    move LOW_KICK,     FLINCH_SIDE_EFFECT2,         50, FIGHTING,  90, 20
    move COUNTER,      NO_ADDITIONAL_EFFECT,         1, FIGHTING, 100, 20
    move SEISMIC_TOSS, SPECIAL_DAMAGE_EFFECT,        1, FIGHTING, 100, 20
    move STRENGTH,     NO_ADDITIONAL_EFFECT,        80, NORMAL,   100, 15
    move ABSORB,       DRAIN_HP_EFFECT,             20, GRASS,    100, 20
    move MEGA_DRAIN,   DRAIN_HP_EFFECT,             40, GRASS,    100, 10
    move LEECH_SEED,   LEECH_SEED_EFFECT,            0, GRASS,     90, 10
    move GROWTH,       SPECIAL_UP1_EFFECT,           0, NORMAL,   100, 40
    move RAZOR_LEAF,   NO_ADDITIONAL_EFFECT,        55, GRASS,     95, 25
    move SOLARBEAM,    CHARGE_EFFECT,              120, GRASS,    100, 10
    move POISONPOWDER, POISON_EFFECT,                0, POISON,    75, 35
    move STUN_SPORE,   PARALYZE_EFFECT,              0, GRASS,     75, 30
    move SLEEP_POWDER, SLEEP_EFFECT,                 0, GRASS,     75, 15
    move PETAL_DANCE,  THRASH_PETAL_DANCE_EFFECT,   70, GRASS,    100, 20
    move STRING_SHOT,  SPEED_DOWN1_EFFECT,           0, BUG,       95, 40
    move DRAGON_RAGE,  SPECIAL_DAMAGE_EFFECT,        1, DRAGON,   100, 10
    move FIRE_SPIN,    TRAPPING_EFFECT,             15, FIRE,      70, 15
    move THUNDERSHOCK, PARALYZE_SIDE_EFFECT1,       40, ELECTRIC, 100, 30
    move THUNDERBOLT,  PARALYZE_SIDE_EFFECT1,       95, ELECTRIC, 100, 15
    move THUNDER_WAVE, PARALYZE_EFFECT,              0, ELECTRIC, 100, 20
    move THUNDER,      PARALYZE_SIDE_EFFECT1,      120, ELECTRIC,  70, 10
    move ROCK_THROW,   NO_ADDITIONAL_EFFECT,        50, ROCK,      65, 15
    move EARTHQUAKE,   NO_ADDITIONAL_EFFECT,       100, GROUND,   100, 10
    move FISSURE,      OHKO_EFFECT,                  1, GROUND,    30,  5
    move DIG,          CHARGE_EFFECT,              100, GROUND,   100, 10
    move TOXIC,        POISON_EFFECT,                0, POISON,    85, 10
    move CONFUSION,    CONFUSION_SIDE_EFFECT,       50, PSYCHIC,  100, 25
    move PSYCHIC_M,    SPECIAL_DOWN_SIDE_EFFECT,    90, PSYCHIC,  100, 10
    move HYPNOSIS,     SLEEP_EFFECT,                 0, GHOST,     60, 20
    move MEDITATE,     ATTACK_UP1_EFFECT,            0, PSYCHIC,  100, 40
    move AGILITY,      SPEED_UP2_EFFECT,             0, PSYCHIC,  100, 30
    move QUICK_ATTACK, NO_ADDITIONAL_EFFECT,        40, NORMAL,   100, 30
    move RAGE,         RAGE_EFFECT,                 20, NORMAL,   100, 20
    move TELEPORT,     SWITCH_AND_TELEPORT_EFFECT,   0, PSYCHIC,  100, 20
    move NIGHT_SHADE,  SPECIAL_DAMAGE_EFFECT,        0, GHOST,    100, 15
    move MIMIC,        MIMIC_EFFECT,                 0, NORMAL,   100, 10
    move SCREECH,      DEFENSE_DOWN2_EFFECT,         0, NORMAL,    85, 40
    move DOUBLE_TEAM,  EVASION_UP1_EFFECT,           0, NORMAL,   100, 15
    move RECOVER,      HEAL_EFFECT,                  0, NORMAL,   100, 20
    move HARDEN,       DEFENSE_UP1_EFFECT,           0, NORMAL,   100, 30
    move MINIMIZE,     EVASION_UP1_EFFECT,           0, NORMAL,   100, 20
    move SMOKESCREEN,  ACCURACY_DOWN1_EFFECT,        0, NORMAL,   100, 20
    move CONFUSE_RAY,  CONFUSION_EFFECT,             0, GHOST,    100, 10
    move WITHDRAW,     DEFENSE_UP1_EFFECT,           0, WATER,    100, 40
    move DEFENSE_CURL, DEFENSE_UP1_EFFECT,           0, NORMAL,   100, 40
    move BARRIER,      DEFENSE_UP2_EFFECT,           0, PSYCHIC,  100, 30
    move LIGHT_SCREEN, LIGHT_SCREEN_EFFECT,          0, PSYCHIC,  100, 30
    move HAZE,         HAZE_EFFECT,                  0, ICE,      100, 30
    move REFLECT,      REFLECT_EFFECT,               0, PSYCHIC,  100, 20
    move FOCUS_ENERGY, FOCUS_ENERGY_EFFECT,          0, NORMAL,   100, 30
    move BIDE,         BIDE_EFFECT,                  0, NORMAL,   100, 10
    move METRONOME,    METRONOME_EFFECT,             0, NORMAL,   100, 10
    move MIRROR_MOVE,  MIRROR_MOVE_EFFECT,           0, FLYING,   100, 20
    move SELFDESTRUCT, EXPLODE_EFFECT,             130, NORMAL,   100,  5
    move EGG_BOMB,     NO_ADDITIONAL_EFFECT,       100, NORMAL,    75, 10
    move LICK,         PARALYZE_SIDE_EFFECT2,       20, GHOST,    100, 30
    move SMOG,         POISON_SIDE_EFFECT2,         20, POISON,    70, 20
    move SLUDGE,       POISON_SIDE_EFFECT2,         65, POISON,   100, 20
    move BONE_CLUB,    FLINCH_SIDE_EFFECT1,         65, GROUND,    85, 20
    move FIRE_BLAST,   BURN_SIDE_EFFECT2,          120, FIRE,      85,  5
    move WATERFALL,    NO_ADDITIONAL_EFFECT,        80, WATER,    100, 15
    move CLAMP,        TRAPPING_EFFECT,             35, WATER,     75, 10
    move SWIFT,        SWIFT_EFFECT,                60, NORMAL,   100, 20
    move SKULL_BASH,   CHARGE_EFFECT,              100, NORMAL,   100, 15
    move SPIKE_CANNON, TWO_TO_FIVE_ATTACKS_EFFECT,  20, NORMAL,   100, 15
    move CONSTRICT,    SPEED_DOWN_SIDE_EFFECT,      10, NORMAL,   100, 35
    move AMNESIA,      SPECIAL_UP2_EFFECT,           0, PSYCHIC,  100, 20
    move KINESIS,      ACCURACY_DOWN1_EFFECT,        0, PSYCHIC,   80, 15
    move SOFTBOILED,   HEAL_EFFECT,                  0, NORMAL,   100, 10
    move HI_JUMP_KICK, JUMP_KICK_EFFECT,            85, FIGHTING,  90, 20
    move GLARE,        PARALYZE_EFFECT,              0, NORMAL,    75, 30
    move DREAM_EATER,  DREAM_EATER_EFFECT,         100, GHOST,    100, 15
    move POISON_GAS,   POISON_EFFECT,                0, POISON,    55, 40
    move BARRAGE,      TWO_TO_FIVE_ATTACKS_EFFECT,  15, NORMAL,    85, 20
    move LEECH_LIFE,   DRAIN_HP_EFFECT,             20, BUG,      100, 15
    move LOVELY_KISS,  SLEEP_EFFECT,                 0, NORMAL,    75, 10
    move SKY_ATTACK,   CHARGE_EFFECT,              140, FLYING,    90,  5
    move TRANSFORM,    TRANSFORM_EFFECT,             0, NORMAL,   100, 10
    move BUBBLE,       SPEED_DOWN_SIDE_EFFECT,      20, WATER,    100, 30
    move DIZZY_PUNCH,  NO_ADDITIONAL_EFFECT,        70, NORMAL,   100, 10
    move SPORE,        SLEEP_EFFECT,                 0, GRASS,    100, 15
    move FLASH,        ACCURACY_DOWN1_EFFECT,        0, NORMAL,    70, 20
    move PSYWAVE,      SPECIAL_DAMAGE_EFFECT,        1, PSYCHIC,   80, 15
    move SPLASH,       SPLASH_EFFECT,                0, NORMAL,   100, 40
    move ACID_ARMOR,   DEFENSE_UP2_EFFECT,           0, POISON,   100, 40
    move CRABHAMMER,   NO_ADDITIONAL_EFFECT,        90, WATER,     85, 10
    move EXPLOSION,    EXPLODE_EFFECT,             170, NORMAL,   100,  5
    move FURY_SWIPES,  TWO_TO_FIVE_ATTACKS_EFFECT,  18, NORMAL,    80, 15
    move BONEMERANG,   ATTACK_TWICE_EFFECT,         50, GROUND,    90, 10
    move REST,         HEAL_EFFECT,                  0, PSYCHIC,  100, 10
    move ROCK_SLIDE,   NO_ADDITIONAL_EFFECT,        75, ROCK,      90, 10
    move HYPER_FANG,   FLINCH_SIDE_EFFECT1,         80, NORMAL,    90, 15
    move SHARPEN,      ATTACK_UP1_EFFECT,            0, NORMAL,   100, 30
    move CONVERSION,   CONVERSION_EFFECT,            0, NORMAL,   100, 30
    move TRI_ATTACK,   NO_ADDITIONAL_EFFECT,        80, NORMAL,   100, 10
    move SUPER_FANG,   SUPER_FANG_EFFECT,            1, NORMAL,    90, 10
    move SLASH,        NO_ADDITIONAL_EFFECT,        70, NORMAL,   100, 20
    move SUBSTITUTE,   SUBSTITUTE_EFFECT,            0, NORMAL,   100, 10
    move STRUGGLE,     RECOIL_EFFECT,               50, NORMAL,   100, 10
    move SLASH,        NO_ADDITIONAL_EFFECT,        50, STEEL,     95, 35 ; Metal Claw
    move CUT,          DEFENSE_DOWN_SIDE_EFFECT,   100, STEEL,     75, 15 ; Iron Tail 
    move BITE,         DEFENSE_DOWN_SIDE_EFFECT,    80, DARK,     100, 15 ; Crunch
    move CUT,          NO_ADDITIONAL_EFFECT,       100, DARK,     100, 15 ; Night Slash

Offline

#49 2015-09-10 05:36:25

comet
Member
Registered: 2012-04-09
Post 600/672

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

The order and number of pointers in type_names.asm is dependent on the constants. You added "dw .Steel" but never removed the "dw .Normal" after it, shifting all the type names.

Last edited by comet (2015-09-10 05:37:16)

Offline

#50 2015-09-10 06:14:48

megamctaco
Member
Registered: 2015-08-23
Post 25/103

Re: Hacking Red Questions (Trade evolutions and adding more TMs)

comet wrote:

The order and number of pointers in type_names.asm is dependent on the constants. You added "dw .Steel" but never removed the "dw .Normal" after it, shifting all the type names.

Looks like that's fixed. Thanks!

Still having trouble adding the Ice Stone, however.

I know Danny-E 33 said I'm trying to put more than $4000 bytes of data into that bank... but I'm not exactly sure what to change around.

Last edited by megamctaco (2015-09-10 06:57:19)

Offline

  • Index
  • → Help/Question
  • → Hacking Red Questions (Trade evolutions and adding more TMs)

Board footer

Powered by FluxBB