Advertiser Content

Development Complete FireRed Upgrade Page 3

Started by ghoulslash October 11th, 2019 1:06 PM
  • 7677 views
  • 66 replies

Skeli-

Lord of the Rings

Age 20
Male
Canada
Seen 12 Hours Ago
Posted 2 Days Ago
235 posts
5.6 Years
I found it already, thanks man!
Question is, should I add the new table after th original table..

Like:
(NPCPtr*) 0x839FDB0,
(NPCPtr*) 0x8900000, //new OW Table
(NPCPtr*) 0x8910000,
(NPCPtr*) 0x0,
EDIT: Got it correctly. I found the new OW Table in 0x9C97DD8 however, OWM still reads the original table which is at 0x805F2F4
If you're still using the original table (ie NPCs 0-151 can still be found in the table 0x839FDB0) then yes. Otherwise if you've repointed the original table to 0x8900000, remove the line (NPCPtr*) 0x839FDB0,.

0x805F2F4 is the location where the pointer to your first overworld table is stored. I'm not too sure on how OWM works, but I'm going to update the documentation soon with explanations on how to add new OW sprites and scripts using the CFRU, so tools like OWM and XSE will no longer be needed.
Pokemon Unbound

Age 18
Female
Seen 6 Hours Ago
Posted 6 Days Ago
130 posts
5.5 Years
This engine is really impressive and I'm definitely going to use it for something. Some minor things to fix for the purposes of polish:

Move Stat Errors
Spoiler:
- Acid should have 40 BP, currently has 50
- String Shot should lower Speed by 2, currently lowers by 1
- Flash should have 100 accuracy, currently has 70
- Thief should have 25 PP, currently has 10
- Mud-Slap should have 20 BP, currently has 35
- Bone Rush should have 90 accuracy, currently has 80
- Luster Purge should have 70 BP, currently has 80
- Shadow Punch should have 60 BP, currently has 75
- Covet should have 25 PP, currently has 40
- Rock Blast should have 90 accuracy, currently has 80
- Dragon Rush should have 75 accuracy, currently has 80
- Heat Crash is just completely wrong, BP should be 1 and PP should be 35
- Double Slap, Vice Grip, Sand Attack, Sonic Boom, Bubble Beam, and Solar Beam should be updated to their Gen VI+ names
- Diamondstorm should be DiamondStorm, Topsy Turvy should be Topsy-Turvy


Ability Description Errors
Spoiler:
- Official games use "super-effective;" descriptions for Solid Rock and Filter lack a hyphen, Neuroforce, Prism Armor, and Anticipation capitalize unnecessarily
- Descriptions for Refrigerate, Pixilate, and Aerilate shouldn't have a hyphen after Normal; also consider removing "-type" after the type they change to, so Galvanize doesn't spill ("Normal moves become Flying," etc)
- Speed in Unburden's description should be capitalized, and I would change "consumed" to "lost" since it also activates with Knock Off, etc
- Defeatist, Slow Start, Anger Point, and Rattled use abbreviations like Atk and Spd; these are only used for Sp. Atk and Sp. Def
- Zen Mode, Emergency Exit, Wimp Out, Power Construct, Shields Down, and Cheek Pouch all use "health" in their descriptions; should be replaced with HP, official games never use health
- Tinted Lens should have quotation marks around "not very effective"
- Zen Mode, Emergency Exit, Wimp Out, Power Construct, Corrosion, and Stall use the second-person form of their verbs ("transform," "move") rather than third-person ("transforms," "moves")
- Transform is misspelled in Battle Bond's description, and the phrasing is odd
- Slush Rush's description should capitalize Speed and decapitalize hail
- Surge Surfer's description should capitalize Speed
- Plate should be capitalized in Multitype's description
- Contrary should say stat changes rather than stats changes
- Water should be capitalized in Liquid Voice and Water Bubble's descriptions
- Cheek Pouch, Gluttony, Harvest, and Unnerve should all capitalize the word Berries in their descriptions; should also be fixed in /strings/ability_strings.string to "[FD][37] team is too\nnervous to eat Berries!"
- Stakeout's description refers to "switch ins," official term is "replacements"


Suggested Ability Description Replacements
Spoiler:
- Defeatist - "Gives up at half HP." - Removes reference to "Atk stats"
- Slow Start - "Takes a while to get going." - Removes reference to "Atk and Spd"
- Fur Coat - "Raises Defense." - Parallels Huge Power's description, or "Halves physical damage." - Uses third-person verb
- Battle Bond - "Transforms after a KO." - Fixes awkward phrasing
- Corrosion - "May poison any type." - Uses third-person verb
- Anger Point - "Maxes Attack after a critical hit." - Removes reference to "Atk"
- Weak Armor - "Hits raise Speed but drop Defense." - Less vague
- Rattled - "Scary move types raise Speed." - There's no way this one's going to be pretty with the limited space, but this removes reference to "Spd" and the awkward three-type list without an and in between
- Merciless - "Critically hits poisoned foes." - "Crit-hits" is not syntax used anywhere else
- Friend Guard - "Reduces damage done to allies." - "Raises allies' Defense" is not accurate
- Berserk - "Ups Sp. Atk below half HP." - Consistency with Zen Mode, Power Construct, etc


Move Description Changes
Spoiler:
- Aura Sphere - "A blast of aura\npower is let loose\nat the foe. It is\nsure to hit." - Removes misplaced comma
- Close Combat - "The foe is fought\nup close. This cuts\nthe user's Defense\nand Sp. Def." - Referring to "Defensive stats" is awkward
- Discharge - "The user looses an\nelectric flare that\nhits all Pok\emon\nand may paralyze." - Original description has poor grammar and phrasing
- Mud Bomb - "The foe is struck\nwith a mud ball\nthat may also lower\nits accuracy." - Removes unnecessary comma, decapitalizes accuracy
- Bulldoze - "The user hits all\nPok\emon in battle\nby stomping. Lowers\nSpeed of those hit." - Fixes awkward phrasing of "Lowers opposing Speed"
- Hone Claws, Coil, Leaf Tornado, and Mirror Shot all have accuracy capitalized when it shouldn't be
- Coil - "The user coils up,\nraising its Attack,\nDefense, and\naccuracy." - Adds commas where necessary
- Quiver Dance - "The user mystically\ndances, raising its\nSp. Atk, Sp. Def,\nand Speed." - Adds commas where necessary
- Struggle Bug has a typo, says "lowerings" instead of "lowering"
- Clear Smog - "The user throws a\nclump of special\nmud that reverts\nall stat changes." - Original description is copied from Haze, but is inaccurate since Clear Smog only reverts one target's stat changes
- Payback - "If the user moves\nafter the target,\nthis attack's power\nwill be doubled." - Original description is copied from Revenge, but is inaccurate since Payback doesn't need to be hit to double damage
- Double Hit - "The user slams the\nfoe twice in a row\nwith a long tail,\nvines, etc." - Fixes sentence fragment ("Twice in one turn.")
- Cotton Guard - "The user protects\nitself with cotton,\ndrastically raising\nits Defense." - Fixes sentence fragment and inaccuracy ("Sharply raising its Defense.")
- Shell Smash - "Sharply raises\nAttack, Sp. Atk, and\nSpeed, but lowers\nDefense and Sp. Def." - Removes reference to offensive and defensive stats, since those aren't official terms used
- Copycat - "The user mimics the\nlast move used.\nFails if no move\nhas been used yet." - Original description is copied from Mimic, but is inaccurate because Copycat and Mimic work differently
- Moonblast - "The foe is attacked\nwith the power of\nthe moon. This may\nlower its Sp. Atk." - Removes misplaced comma
- Draining Kiss- "A sweet kiss that\nabsorbs over half\nthe damage inflicted\nto restore HP." - Reflects Draining Kiss's 75% drain
- Geomancy - "The user's Sp. Atk,\nSp. Def, and Speed\nrise sharply on the\nsecond turn." - Adds commas where necessary.
- Feint - "An attack that hits\na protected target.\nThis also lifts the\nprotection." - Adds reference to lifting protection
- Phantom Force / Shadow Force - "The user vanishes,\nthen strikes on the\nnext turn, hitting\neven protected foes." - Changes "This bypasses Protect" to something more natural
- Petal Blizzard - "Stirs up a violent\npetal blizzard,\nhitting everything\naround it." - Fixes poor grammar
- Round - "The user attacks\nwith a song. Others\ncan join in, doing\nmore damage." - Adds reference to Round's other effect
- Smack Down, Synchronoise, Land's Wrath, and Sparkling Aria all use Pokemon instead of Pok\emon
- Hyperspace Hole - "The user attacks\nfrom a hyperspace\nhole, hitting even\nprotected targets." - "This also hits through protect" is poor phrasing
- Gyro Ball - "A high-speed spin.\nThe slower the user\nis than the foe, the\ngreater the damage." - Makes reference to the speed comparison, not just user being slow
- Hyperspace Fury - "The target is hit\nwith many arms.\nThis hits protected\nfoes, and lowers\nthe user's Defense." - Fixes poor phrasing
- Electro Ball - "The user hurls an\nelectric orb. The\nfaster the user is\nthan the foe, the\ngreater the damage." - Fixes poor phrasing
- Heat Crash - "The user slams down\nwith fire. The more\nthe user outweighs\nthe foe, the greater\nthe damage." - "fiery slams the foe" is not good grammar
- Noble Roar - "Letting out a noble\nroar, the user\nintimidates the\ntarget and lowers its\nAttack and Sp. Atk." - Removes reference to Atk
- Dragon Ascent - "The user attacks by\ndropping off from\nthe sky at high speed.\nThis cuts the user's\nDefense and Sp. Def." - Removes reference to Def
- Core Enforcer - "If the target has\nalready used its\nmove this turn, it\nnullifies the effect\nof its Ability." - Fixes poor phrasing
- Power-Up Punch - "Striking over and\nover hardens the\nuser's fists.\nHitting a target\nraises Attack." - Removes reference to Atk
- Floral Healing - "The user restores up\nto half the max HP\nof the target. It\nrestores more HP\non Grassy Terrain." - "grass terrain" is poor grammar
- Gear Up and Magnetic Flux should be fixed to refer to "allies with the Plus or Minus Ability."
- Liquidation and Lunge should both be fixed to say that they lower Attack or Defense rather than Atk stat or Def stat
- Purify - "The user heals the\ntarget's status\ncondition. If the move\nsucceeds, it also\nheals the user's HP." - Fixes grammar
- Shadow Bone - "The user attacks by\nbeating the foe with\na bone that has a\nspirit. It may lower\nDefense." - Removes reference to Def (I assume the only reason Def was used at all was because of a character limit?)
- Strength Sap - "The user drains HP\nequal to the foe's\nAttack stat. It\nalso lowers the\nfoe's Attack stat." - Removes reference to Atk
- Tearful Look - "The user gets teary\neyed to look pitiful.\nThis lowers the\ntarget's Attack and\nSp. Atk stats." - Removes reference to Atk
- Trop Kick - "The user lands an\nintense kick of\ntropical origins on\nthe target. It\nlowers Attack." - Removes reference to Atk
- Misty Terrain - "The user covers the\nground in mist for\nfive turns, halving\nDragon moves and\npreventing status." - Consistency with other terrains
- Psychic Terrain - "The user makes the\nground weird for\nfive turns, boosting\nPsychic moves and\nblocking priority." - Consistency with other terrains
- Wonder Room - "The user creates a\nbizarre area where\nPok\emon's Defense\nand Sp. Def swap\nfor five turns." - Removes reference to Def and numerical 5
- Wide Guard - "The user protects\nitself and its\nallies from wide-\nranged attacks." - Fixes grammar, consistency with Quick Guard
- Gravity - "Gravity intensifies\nfor five turns,\npreventing moves\nthat use flight and\nnegating Levitate." - Fixes poor phrasing and numerical 5
- Guard Split - "The user employs its\npsychic power to\naverage its Defense\nand Sp. Def stats\nwith the target." - Removes reference to Def
- Lucky Chant - "The user chants an\nincantation that\nprevents foes from\nlanding critical\nhits for five turns." - Fixes poor grammar
- Power Split - "The user employs its\npsychic power to\naverage its Attack\nand Sp. Atk stats\nwith the target." - Removes reference to Atk
- Telekinesis - "The user makes the\ntarget float with\npsychic power. The\ntarget is easier to\nhit for three turns." - Removes numerical 3
- Trick-or-Treat - "The foe is brought\ntrick-or-treating.\nThis adds Ghost type\nto the target's type." - Fixes poor grammar
- Venom Drench - "The user sprays a\npoisonous liquid\nthat lowers Attack,\nSp. Atk, and Speed\nof poisoned foes." - Removes reference to Atk and Spd, corrects effect
- Mind Blown - "The user attacks\neverything around it\nby making its head\nexplode. This also\ndamages the user." - Fixes poor grammar
- Photon Geyser - "A pillar of light\nthat deals physical\nor special damage\nbased on the user's\nbetter stat." - Fixes poor grammar
- Plasma Fists - "The user attacks\nwith electrically\ncharged fists. This\nmakes Normal-type\nmoves Electric-type." - Fixes poor grammar
Male
Seen 4 Days Ago
Posted 1 Week Ago
8 posts
7.5 Years
@Skeli
"Is 0x08800FB8 your table of overworld tables? Or is it the pointer to overworld table 0?"

I think it is the hex address of the overworld table. In Overworld Editor - Rebirth Edition its the "Spritebank" address. In OWM this hex value can be found at the "Data Address". It should be the address where the overworld sprites are located, as the Overworld Editor - Rebirth Edition tool finds the overworld sprites at this address.

Maybe I don't know how to change this hex address into the 08 format. I assume that the hex address of the overworld table of my hack is located at: 0x96F71C, as stated above. It would be amazing if I could make your tool work.

Edit: the 'python scripts//make.py' script isn't working anymore for some reason. When I hit the enter button my cmd screen flashes and nothing happened. It was still working when I last tried it last month.
Seen 21 Hours Ago
Posted 1 Week Ago
10 posts
2.4 Years
I have a error in get any item added by this upgrade
I test get all pokeballs, this is the script:
Spoiler:
]#dyn 0x740000
#org @start
lock
checkflag 0x1006
if 0x1 jump :end
copyvarifnotzero 0x8000 0x1
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x2
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x3
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x4
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x5
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x6
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x7
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x8
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x9
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x0a
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x0b
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x0c
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x34
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x35
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x3c
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x3d
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x3e
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x26e
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x26f
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x270
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x271
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x272
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x273
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x274
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x275
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x276
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
copyvarifnotzero 0x8000 0x277
copyvarifnotzero 0x8001 0x3e7
callstd MSG_OBTAIN
setflag 0x1006
:end
release
end


Get all pokeball from vanilla normaly, but any other trasform "?????????????????" item
Hex number is not correct?
Get all is "Asm_defines.s"

colonelsalt

Guaranteed to raise the smile

Age 21
Male
London
Seen 11 Hours Ago
Posted 1 Week Ago
94 posts
7.1 Years
Thanks so much for pulling this off - this is beyond marvellous, and makes me feel the ROM hacking community is still alive and thriving.
The main post mentions "improvements" to JPAN's engine - have graphical glitches related to OW surfing and dynamic backsprite palettes been fixed or adjusted at all?

Skeli-

Lord of the Rings

Age 20
Male
Canada
Seen 12 Hours Ago
Posted 2 Days Ago
235 posts
5.6 Years
This engine is really impressive and I'm definitely going to use it for something. Some minor things to fix for the purposes of polish:
Thank you so much! I added in all your recommended changes. If you're interested in proofreading more, we recently added more attack and abilities descriptions to the CFRU for the new Sword and Shield mechanics.

I need a little bit of help It will not let me edit the python file should i restart my computer?
Try opening it in notepad. If you double click it, it won't do anything.

@Skeli
"Is 0x08800FB8 your table of overworld tables? Or is it the pointer to overworld table 0?"

I think it is the hex address of the overworld table. In Overworld Editor - Rebirth Edition its the "Spritebank" address. In OWM this hex value can be found at the "Data Address". It should be the address where the overworld sprites are located, as the Overworld Editor - Rebirth Edition tool finds the overworld sprites at this address.

Maybe I don't know how to change this hex address into the 08 format. I assume that the hex address of the overworld table of my hack is located at: 0x96F71C, as stated above. It would be amazing if I could make your tool work.
I took a look at the "Spritebank" address and that seems to be a pointer to the data for overworld sprite 0 (unless my version is outdated which is likely). When you go there in your rom, does it look like a table or overworld data? If it's overworld data, it'll start with FF FF.

Edit: the 'python scripts//make.py' script isn't working anymore for some reason. When I hit the enter button my cmd screen flashes and nothing happened. It was still working when I last tried it last month.
Try pulling the latest version and restarting your computer.

The main post mentions "improvements" to JPAN's engine - have graphical glitches related to OW surfing and dynamic backsprite palettes been fixed or adjusted at all?
Yes, they've all been fixed. Both the custom overworld sprite and backsprite system was implemented properly this time (they're different than JPANs). Functionality wise, the custom player overworld sprite is set up similar to how JPAN handled it, but the backsprite system is completely new.
Pokemon Unbound

Male
Seen 4 Days Ago
Posted 1 Week Ago
8 posts
7.5 Years
@Skeli
I have checked the Spritebank address "96F71C" in my hex editor. It indeed starts with FF FF followed by a lot of data. I think this is the overworld data address.

Do you think I should put 0x0896F71C in the src/config file as following:

#define EXISTING_OW_TABLE_ADDRESS 0x0896F71C

Or do I need the address of the table instead of the overworld data?

------------------------------------

If there perhaps a plan B. A way to ignore the character customizations patch, and other related CFRU updates, so I don't have this situation to begin with?

ServantClass-Ruler

Apocryphal

Male
Seen 14 Hours Ago
Posted 1 Week Ago
3 posts
3.4 Years
Out of curiousity, is the syntax and calls for the new mugshot system compatible with the pokeemerald disassembly, or is it too different? That aside, this engine looks absolutely amazing, and I can easily see myself breaking out some files from my old computer to retry ASM hacking again. Best of luck going forward to everyone!
Male
Seen 2 Days Ago
Posted 1 Week Ago
14 posts
3 Years
This engine is amazing and the best tool for Fire Red hacking. Congrats for this great job!

I been hacking Emerald lately but with this, I want to try some hack with Fire Red as base.

I don't know if you accept requests or suggestions, but something that I've always missed in Fire Red is type icons to have more than 16 colors, like Emerald and following games in the series. I don't even know if it's posible loading two palettes or more for type icons in Fire Red but I think type icons that shows next to a Pokémon’s healthbar in battle, included in this engine, uses two palettes and more than 16 colors. I would love to see it in this engine.
Age 18
Female
Seen 6 Hours Ago
Posted 6 Days Ago
130 posts
5.5 Years
Thank you so much! I added in all your recommended changes. If you're interested in proofreading more, we recently added more attack and abilities descriptions to the CFRU for the new Sword and Shield mechanics.
There wasn't much for me to edit, but I went over the Ability and move descriptions anyways and fixed a few things--

Move descriptions
Spoiler:
No Retreat
All of the user's\nstats are raised,\nbut it can no longer\nswitch out or flee.

Snipe Shot
The user ignores\nthe effects of moves\nand Abilities that\ndraw in moves.

Jaw Lock
The user bites down,\npreventing itself\nand the target from\nswitching out.

Tar Shot
Sticky tar lowers\nthe target's Speed,\nand makes it weaker\nto Fire-type moves.

Teatime
All Pok\emon on the\nfield have teatime.\nEach Pok\emon eats\nits held Berry.

Octolock
The user traps the\nfoe and makes its\nDefense and Sp. Def\nfall each turn.

Decorate
The user sharply\nraises the target's\nAttack and Sp. Atk\nby decorating it.

Apple Acid
The user attacks\nwith acid made from\ntart apples. Lowers\nthe foe's Sp. Def.

Grav Apple (just for consistency with Apple Acid)
The user attacks by\ndropping an apple\nfrom above. Lowers\nthe foe's Defense.


Ability descriptions:
Spoiler:
- Speed should be capitalized in Cotton Down and Steam Engine's descriptions.
- Sand Spit should be "Creates a sandstorm when hit."
- Wandering Spirit should be "Trades abilities on contact."
- Perish Body should be "Gives a perish count on contact."
- Pastel Veil should be "Protects team from poison."
- Not strictly necessary, but in recent games Ability is capitalized--if you want to update this, fix in the descriptions for Aura Break, Mold Breaker and friends, Receiver, Power of Alchemy, Wandering Spirit, and Neutralizing Gas.
Male
Seen 2 Days Ago
Posted 5 Days Ago
1 posts
3.9 Years
The documentation says this is compatible with the BW/B2W2 Music Patch, but so far whenever I try patching it into the game - either before or after CFRU, it breaks the battle system: trainers make the game crash instantly, while wild battles look completely white (no background, no sprites - only the text box) until you select Pokémon/Bag (the latter which shows glitched graphics) and then go back. I'm also pretty sure there aren't conflicting offsets between the two - what could the problem be? Are they just incompatible?

RichterSnipes

TFW Your Game Has Snivy In It

Age 26
Male
USA
Seen 15 Hours Ago
Posted 1 Day Ago
446 posts
8.1 Years
I can't imagine the amount of hours of work put into this project. The sheer amount of features available for use makes it so there's plenty of things for everyone to be excited about using. I'm particularly interested in the Battle Tower/Frontier features of it. That's something that base FR/LG sorely lacks, and can help bolster playing time of any hack that implements it.

Congrats to Skeli-, ghoulslash, and everyone involved with this base!
My hack:
Advertiser Content