The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > Fan Games > ROM Hacks Showcase > Sideshow Showcase
Reload this Page Red Shin Pokemon Red/Blue/Green/JP builds (Bugfix, AI, and QoL patch)

Notices
For all updates, view the main page.

Sideshow Showcase The place to show side-projects that you're working on, for the small yet still big things you want to do, such as translation patches, "386" patches, and anything small like that.

Ad Content
Reply
Thread Tools
  #126   Link to this post, but load the entire thread.  
Old July 16th, 2020 (12:33 PM).
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Real quick. I uploaded the patch files for v1.14 final. This fixes a few more bugs, and it also adds pokeball-caught and gender symbols. They can be activated by talking to the bottom-left Oak aide after getting the pokedex.

V1.15 is next and will focus on backporting GBC functionality from pokemon yellow.
Reply With Quote
  #127   Link to this post, but load the entire thread.  
Old July 17th, 2020 (9:47 PM).
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Pokeyellow GBC functionality has been backported and is now being playtested. The current code can be compiled from the "master_dev" or "lite_dev" branches.
Reply With Quote
  #128   Link to this post, but load the entire thread.  
Old July 19th, 2020 (6:25 AM).
jastolze007 jastolze007 is offline
 
Join Date: Jan 2017
Age: 31
Gender: Male
Nature: Bold
Posts: 650
Love this. I've been playing it off and on. I picked it up again and noticed you now give an option whether opponents use more competitive stats via the Set option.

It was originally very difficult. I would often have a Bellsprout a couple levels lower out speed my Nidoking lol.

Anyway, maybe next you could fix the Critical hit ignoring user Atk/Sp. Atk boosts? (Swords dance, Growth, Amesia, etc.)

I play this hack mainly for the rematch feature and replayability. I'm curious about one of the features you had. The randomized 6 PKMN roster post game. Is there a list of the possible PKMN they use and moves? Also are they EV trained?

I'm currently playing this on my 3DS VC and really hope you continue working on it. Good job man!
Reply With Quote
  #129   Link to this post, but load the entire thread.  
Old July 19th, 2020 (1:13 PM). Edited July 19th, 2020 by jojobear13.
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Quote:
Originally Posted by jastolze007 View Post
Love this. I've been playing it off and on. I picked it up again and noticed you now give an option whether opponents use more competitive stats via the Set option.

It was originally very difficult. I would often have a Bellsprout a couple levels lower out speed my Nidoking lol.
Yeah, under SET the trainers will have stat exp. It can add up.

Quote:
Anyway, maybe next you could fix the Critical hit ignoring user Atk/Sp. Atk boosts? (Swords dance, Growth, Amesia, etc.)
Delving into this, and after some in-depth discussions, I don't believe this to be a bug or an oversight. Critical hit rate is based on speed in gen 1. This means you can have stuff like Jolteon auto-critting after using Focus Energy. Or Scyther with Slash eating through defensive buffs. The fact you don't get other modifiers with crits is likely an intentional trade-off. This was even carried over into pokemon stadium. I did do some playtesting that applied stat changes to crits, but I ditched it in frustration when Hikers and their Machops kept doing Leer-->Karate Chop.

Quote:
I play this hack mainly for the rematch feature and replayability. I'm curious about one of the features you had. The randomized 6 PKMN roster post game. Is there a list of the possible PKMN they use and moves? Also are they EV trained?
Yes, but also no. EVs did not exist until Gen 3. Stat exp is used in gen 1 and 2, and it is the precursor to EVs. You could have up to 65,535 stat exp per stat in every stat. SET battle assigns trainer mons stat exp while shift battle defaults it to zero like in the retail games (which is why you always seemed to out-speed opponents). The stat point increase = SQRT(stat exp) * level / 400. Trainers are given 640 stat exp per level. So this works out to the following:
  • level 5 mons get 0 bonus points to all stats
  • level 30 mons get 10 bonus points to all stats
  • level 50 mons get 22 bonus points to all stats
  • level 100 mons get 63 bonus points to all stats

The random trainer guy in the underground path can generate any of the 151 pokemon, but Mew is only possible if the diploma has been gained. The tournament on the SS ANNE generates any pokemon except Mew and Mewtwo. Moves for randomly generated teams are assigned based on the order learned in the level-up list.
Reply With Quote
  #130   Link to this post, but load the entire thread.  
Old July 20th, 2020 (8:38 AM).
jastolze007 jastolze007 is offline
 
Join Date: Jan 2017
Age: 31
Gender: Male
Nature: Bold
Posts: 650
Regarding the randomized trainers, does he give EXP (not stat EXP) upon defeating his PKMN? What about the tournament? Also, I changed the Level cap to 250 when I compiled the source, assuming that will not effect gameplay as I go along. If I decide to activate the level scaling post Level 100, would it affect anything in a negative way?

Also, I didn't see how to obtain Mew. Is there a particular way?
Reply With Quote
  #131   Link to this post, but load the entire thread.  
Old July 20th, 2020 (11:55 AM).
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Quote:
Originally Posted by jastolze007 View Post
Regarding the randomized trainers, does he give EXP (not stat EXP) upon defeating his PKMN? What about the tournament?
Yes and yes. I never liked how Gamefreak made postgame single-player battle areas not give exp or restrict legendaries.

Quote:
Also, I changed the Level cap to 250 when I compiled the source, assuming that will not effect gameplay as I go along. If I decide to activate the level scaling post Level 100, would it affect anything in a negative way?
Umm...maybe. Trainer scaling keeps enemies at or slightly above your level, and a little more for boss battles (indicated by the gym leader or champion battle themes playing). At levels that high, the trainer scaling might loop around to level 0 and then weird stuff starts happening. Capping at 240 should be okay. I'll make a note to account for this in the next master_dev commit.

Also, trainer money maxes out at about level 100. After that, most trainers will just give you $9999 every battle.

Quote:
Also, I didn't see how to obtain Mew. Is there a particular way?
Way down at the very bottom of the readme. You must complete your dex and view the diploma. This will set an event flag. Mew then becomes a wild encounter in the basement floor of cerulean cave. It uses the rarest encounter rate slot (3 in 256 or about 1%).
Reply With Quote
  #132   Link to this post, but load the entire thread.  
Old July 20th, 2020 (1:31 PM).
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Quote:
Originally Posted by jastolze007 View Post
Also, I changed the Level cap to 250 when I compiled the source, assuming that will not effect gameplay as I go along.
I also forgot to mention this. While there aren't big issues with what I've added and changed from retail, you will definitely run into issues related to the vanilla game engine itself.

For just one example, the experience value is coded everywhere with the assumption that it is 3 bytes. That means the max exp you can have is 16,777,215. Going to 255 makes it possible to exceed this value so you end up overflowing into level 0. The highest max level on the slowest-growth pokemon would be 237 under this condition (requiring 16,640,066 exp).
Reply With Quote
  #133   Link to this post, but load the entire thread.  
Old July 20th, 2020 (5:26 PM).
jastolze007 jastolze007 is offline
 
Join Date: Jan 2017
Age: 31
Gender: Male
Nature: Bold
Posts: 650
Quote:
Originally Posted by jojobear13 View Post
I also forgot to mention this. While there aren't big issues with what I've added and changed from retail, you will definitely run into issues related to the vanilla game engine itself.

For just one example, the experience value is coded everywhere with the assumption that it is 3 bytes. That means the max exp you can have is 16,777,215. Going to 255 makes it possible to exceed this value so you end up overflowing into level 0. The highest max level on the slowest-growth pokemon would be 237 under this condition (requiring 16,640,066 exp).
Thanks. I had heard about the exp underflow error on gen 1/2 games. Luckily none of my team uses the slow growth formula. I've never finished a game past 120 anyway so it probably will never be an issue for me personally.

Also, have you considered adding other features? Like the B/W EXP for instance? Maybe also changing Bug type being super effective against itself and Poison? With the original 151 mons, I counted 49 that were weak against Bug. Maybe change it to Gen 2+ standard? (I personally love it, as I use a Parasect on my team, but it's definitely overpowered despite their not being many Bug type attacks)

Also, how does the game handle 4 digit stats? I know the max is by default 999 but you can edit that in the newest version of Red's disassembly to something else. I was curious how it would display HP for instance.
Reply With Quote
  #134   Link to this post, but load the entire thread.  
Old July 21st, 2020 (7:49 AM).
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Quote:
Originally Posted by jastolze007 View Post
Thanks. I had heard about the exp underflow error on gen 1/2 games. Luckily none of my team uses the slow growth formula. I've never finished a game past 120 anyway so it probably will never be an issue for me personally.

Also, have you considered adding other features? Like the B/W EXP for instance? Maybe also changing Bug type being super effective against itself and Poison? With the original 151 mons, I counted 49 that were weak against Bug. Maybe change it to Gen 2+ standard? (I personally love it, as I use a Parasect on my team, but it's definitely overpowered despite their not being many Bug type attacks)

Also, how does the game handle 4 digit stats? I know the max is by default 999 but you can edit that in the newest version of Red's disassembly to something else. I was curious how it would display HP for instance.
Mechanics and system changes from later generations are out of scope for this project. In general, GF’s intentions for Red are followed wherever possible.

Each stat has 2 bytes, so it can theoretically go up to 65,536. I made the battle engine cap things at 999 to prevent stat boosts overflowing things to 0. The status screen is coded for 3 digits but can handle 4 digits just fine (use the cheat for displaying stat exp for an example). But it won’t matter. No Pokémon can get 1000 in a stat without in-battle stat boosts.
Reply With Quote
  #135   Link to this post, but load the entire thread.  
Old July 21st, 2020 (9:05 AM).
charphantom96 charphantom96 is offline
 
Join Date: Oct 2019
Posts: 7
How do you raise the level cap to 250, is that standard
Reply With Quote
  #136   Link to this post, but load the entire thread.  
Old July 21st, 2020 (11:49 PM).
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Quote:
Originally Posted by charphantom96 View Post
How do you raise the level cap to 250, is that standard
misc_constants.asm, line 1, reads:
Code:
MAX_LEVEL EQU 100
So change 100 to 250 and compile. No this is not standard. As stated in my previous posts, it will cause certain things to break in the game. Officially (well...as official as a random rom hacker can be), Shin Pokemon supports a level cap of 100 and makes no claims to any game stability should this be modified.
Reply With Quote
  #137   Link to this post, but load the entire thread.  
Old July 23rd, 2020 (1:35 PM).
LusoTrainer's Avatar
LusoTrainer LusoTrainer is offline
 
Join Date: Mar 2013
Gender: Male
Posts: 498
I'm trying to build the rom but I get the following error:

Code:
error: macros/asm_macros.asm::callba(22) : Unknown symbol 'SoftlockTeleport'
Does anyone know what's causing this?
__________________
Reply With Quote
  #138   Link to this post, but load the entire thread.  
Old July 23rd, 2020 (2:01 PM).
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Quote:
Originally Posted by LusoTrainer View Post
I'm trying to build the rom but I get the following error:

Code:
error: macros/asm_macros.asm::callba(22) : Unknown symbol 'SoftlockTeleport'
Does anyone know what's causing this?
It means that the function 'SoftlockTeleport' is being called across rom banks, but the function definition itself cannot be found.

You didn't specify what branch you are trying to build, so I can only advise that you make sure your local working git branch is up to date with the remote branch you copied it from. The "pull" feature of git is probably what you want, as it will preserve your personal changes while updating any differences. You may have some conflicts you need to fix, but "git diff" and "git status" should help you narrow down affected files. I'm no expert with git so you will need to read some tutorials on your own.
Reply With Quote
  #139   Link to this post, but load the entire thread.  
Old July 23rd, 2020 (2:06 PM).
LusoTrainer's Avatar
LusoTrainer LusoTrainer is offline
 
Join Date: Mar 2013
Gender: Male
Posts: 498
I'm building from the lite branch. I've downloaded it and I'm making the changes (which are very minor) locally.
__________________
Reply With Quote
  #140   Link to this post, but load the entire thread.  
Old July 23rd, 2020 (2:41 PM).
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Quote:
Originally Posted by LusoTrainer View Post
I'm building from the lite branch. I've downloaded it and I'm making the changes (which are very minor) locally.
Wait, you're using the yellow front 'mon sprites aren't you? Are you using the replacement main.asm? That modified main.asm is actually out of date and doesn't INCLUDE certain files. You might want to consider going off the lite_dev branch instead.

While it is the development branch, it is fairly stable as of commit d2aaeda. I've updated lite_dev to make swapping sprites easier and adjusted the guide. The front and back sprites are standardized to 7 unique rom banks, so the only thing that needs to change are filepaths. Also you'll have color in GBC mode since that's the big feature update for the upcoming v1.15.
Reply With Quote
  #141   Link to this post, but load the entire thread.  
Old July 23rd, 2020 (2:46 PM). Edited July 23rd, 2020 by LusoTrainer.
LusoTrainer's Avatar
LusoTrainer LusoTrainer is offline
 
Join Date: Mar 2013
Gender: Male
Posts: 498
Quote:
Originally Posted by jojobear13 View Post
Wait, you're using the yellow front 'mon sprites aren't you? Are you using the replacement main.asm? That modified main.asm is actually out of date and doesn't INCLUDE certain files. You might want to consider going off the lite_dev branch instead.
Ha! That's exactly what I ended up doing and everything went fine. The GBC colors look nice (it's the main reason why I'm back into this). However, as soon as I get to Oak's speech, it looks like this:



It looks this way all the way through until you get to the player's room.

EDIT:

In the other thread, I mentioned that some sprites had some corruption artifacts, and sadly the problem remains:

__________________
Reply With Quote
  #142   Link to this post, but load the entire thread.  
Old July 23rd, 2020 (7:09 PM). Edited July 23rd, 2020 by jojobear13.
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Quote:
Originally Posted by LusoTrainer View Post
In the other thread, I mentioned that some sprites had some corruption artifacts, and sadly the problem remains:
Delete your local branch and start over. I'm not sure what's causing your sprite corruption, but I cannot replicate it from my side.

EDIT: Just pushed a commit to the dev branches that fixes the red background for oak's speech. It was caused by a function clearing out most of the wram data when a new game is selected, and it zeroed-out the palette pointers along with it. While it might have made for a cool creepypasta, the default palette just needed to be reinitialized.

EDIT2: I created a branch called lite_dev_yel that uses the yellow front mon pics. You can see a comparison of what was changed. Some other unknown changes you have are causing the sprites to decompress wrong, so I suggest purging everything and starting fresh.
Attached Images
File Type: png Capture.PNG‎ (46.0 KB, 4 views) (Save to Dropbox)
Reply With Quote
  #143   Link to this post, but load the entire thread.  
Old July 23rd, 2020 (11:22 PM). Edited July 24th, 2020 by LusoTrainer.
LusoTrainer's Avatar
LusoTrainer LusoTrainer is offline
 
Join Date: Mar 2013
Gender: Male
Posts: 498
The only other change I made, aside of changing some move types like Gust and Sand Attack, was calling the Yellow trainer sprites for Red, Brock, Misty, Erika and the Rival.

But I'll give a try to that new branch and report back.
__________________
Reply With Quote
  #144   Link to this post, but load the entire thread.  
Old July 24th, 2020 (10:59 AM).
LusoTrainer's Avatar
LusoTrainer LusoTrainer is offline
 
Join Date: Mar 2013
Gender: Male
Posts: 498
First of all, thanks for the help so far.

Having tried the new branch, it now works with the Yellow sprites. However, the Nidorino in Oak's speech doesn't get its proper color:



Also, if you try to compile with the back sprites from 'swmonback', you get the following error:

Code:
ERROR: main.asm(769):
    Section 'Pics 4' is too big (max size = 0x4000 bytes, reached 0x4013).
make: *** [Makefile:42: main_red.o] Error 5
__________________
Reply With Quote
  #145   Link to this post, but load the entire thread.  
Old July 24th, 2020 (5:07 PM).
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Quote:
Originally Posted by LusoTrainer View Post
First of all, thanks for the help so far.

Having tried the new branch, it now works with the Yellow sprites. However, the Nidorino in Oak's speech doesn't get its proper color:



Also, if you try to compile with the back sprites from 'swmonback', you get the following error:

Code:
ERROR: main.asm(769):
    Section 'Pics 4' is too big (max size = 0x4000 bytes, reached 0x4013).
make: *** [Makefile:42: main_red.o] Error 5
That is it’s proper color. Check it out in super gameboy mode. Mon pics for the title screen and oak speech use the trainer pic palette. I’ve done the title mons as an added touch, but I haven’t gotten around to the oakspeech nidorino.

So there are 19 bytes that need to be cleared out of rom bank C. Where did that come from? I’ll look into it.
Reply With Quote
  #146   Link to this post, but load the entire thread.  
Old July 24th, 2020 (6:16 PM). Edited July 24th, 2020 by jojobear13.
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Quote:
Originally Posted by LusoTrainer View Post
First of all, thanks for the help so far.
Also, if you try to compile with the back sprites from 'swmonback', you get the following error:
Okay, give this one a go. You can see how I changed main.asm and UncompressMonSprites to shift the mons across the 7 banks. It's just a matter of making room. You just have to keep the mons in their index order in main.asm (except for mew), and then adjust UncompressMonSprites for the shift.

EDIT: A new commit has been pushed that gets the oakspeech nidorino palette loading.

Also, do note that you have extra work to do to get spaceworld back sprites uncompressing properly. This is detailed in the "how to change pkmn sprites" guide.
Reply With Quote
  #147   Link to this post, but load the entire thread.  
Old July 26th, 2020 (1:48 PM).
jastolze007 jastolze007 is offline
 
Join Date: Jan 2017
Age: 31
Gender: Male
Nature: Bold
Posts: 650
Quote:
Originally Posted by charphantom96 View Post
How do you raise the level cap to 250, is that standard
If you do end up changing the level cap, unfortunately the starter Pokemon isn't affected. It will still max out at 100 (Not sure if this problem was addressed, it was the case a year ago)
Reply With Quote
  #148   Link to this post, but load the entire thread.  
Old July 26th, 2020 (7:48 PM).
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Quote:
Originally Posted by jastolze007 View Post
If you do end up changing the level cap, unfortunately the starter Pokemon isn't affected. It will still max out at 100 (Not sure if this problem was addressed, it was the case a year ago)
Outdated info maybe? I compiled with max_level=101 and ran a test using pikasav. A level 100 charizard gains exp and shows it needs 33446 more exp to get to level 101. It will also level up to 101 when it reaches the next exp threshold.
Reply With Quote
  #149   Link to this post, but load the entire thread.  
Old August 12th, 2020 (12:43 AM).
sergiof1 sergiof1 is offline
 
Join Date: Jul 2017
Posts: 1
Hi, nice rom. But, I turned on the trainer level march but, I have a lv 14 bulbasaur and when I face the rival, he have pidgey lv 16 and it's ok but, when I catch a lv 3 Pikachu and face it again, his pidgey is lv 8.
Would be possible to make trainer level match with your higest level pokemon instead of the average of all of them?

Thanks
Reply With Quote
  #150   Link to this post, but load the entire thread.  
Old August 12th, 2020 (2:10 AM).
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Quote:
Originally Posted by sergiof1 View Post
Hi, nice rom. But, I turned on the trainer level march but, I have a lv 14 bulbasaur and when I face the rival, he have pidgey lv 16 and it's ok but, when I catch a lv 3 Pikachu and face it again, his pidgey is lv 8.
Would be possible to make trainer level match with your higest level pokemon instead of the average of all of them?

Thanks
This was done back on Jun 14th, 2020. Please make sure you are using the latest patch. If the problem persists, then you have to post your .sav file so I can directly see what's going on in wram.
Reply With Quote
Reply

Quick Reply

Join the conversation!

Create an account to post a reply in this thread, participate in other discussions, and more!

Create a PokéCommunity Account
Ad Content
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 8:52 AM.