The PokéCommunity Forums

The PokéCommunity Forums (https://www.pokecommunity.com/index.php)
-   Sideshow Showcase (https://www.pokecommunity.com/forumdisplay.php?f=204)
-   -   Red Shin Pokemon Red/Blue/Green/JP builds (Bugfix, AI, and QoL patch) (https://www.pokecommunity.com/showthread.php?t=427398)

jojobear13 May 27th, 2020 11:06 AM

Quote:

Originally Posted by JOBO (Post 10162985)
You're right, it didn't upload properly.

I'm still not seeing any issue with depositing or withdrawing the coin case. I'm walking into the vermilion pokemon center and everything is behaving fine. This is using a freshly dumped red rom with the patch applied.

jojobear13 May 28th, 2020 1:50 PM

Just making a quick post about some updates I’m working on over the next month.

—The amazing man glitch is fixed. I need to port the changes to the lite branch.

—Red/Green/Blue versions were originally supposed to have an quick intermediate frame when turning 180 degrees from a standstill. The code is there but doesn’t display anything, and it was cut from from all future games. This is getting fixed and activated for the master and lite branch.

—The AI for switching is admittedly not super robust. It switches defensively to the next mon in the roster and is blind to the mon it switches to. I’m going to revisit the switching AI and, at the very least, try to prevent it from doing blatantly stupid switch-ins. The master and lite branches will get this one.

—SGB colors on the GBC. This one is being a pain in my rear. Lots of studying going into this one, so I’ve split it into its own branch for experimentation. This is a long-term feature that may or may not go anywhere. If I ever get it to work I’ll document the code changes and write up a guide for implementation.

JOBO June 3rd, 2020 10:35 AM

Quote:

Originally Posted by jojobear13 (Post 10163135)
I'm still not seeing any issue with depositing or withdrawing the coin case. I'm walking into the vermilion pokemon center and everything is behaving fine. This is using a freshly dumped red rom with the patch applied.

I realize now that it's only happening on the emulator I'm using. Masterboy on Psp, which has never given me problems with this hack before now. Not a huge deal. Thanks for checking it out! I'm excited for the future releases :)

jojobear13 June 3rd, 2020 10:19 PM

Quote:

Originally Posted by JOBO (Post 10166099)
I realize now that it's only happening on the emulator I'm using. Masterboy on Psp, which has never given me problems with this hack before now. Not a huge deal. Thanks for checking it out! I'm excited for the future releases :)

Ah, okay. Yeah, not all emulators are created equal. I use BGB on my laptop since its closest to the real hardware and gives nice debug tools. Then I do playtesting on my old Super Gameboy and sometimes my Gameboy Pocket.

zycain June 4th, 2020 2:18 AM

Hey Jojo, I have found a bug which doesn't seem to be game-breaking linked with depositing items in the PC on some real hardware. If I deposit the item on the first or last line of the selection box everything is a-ok but if I scroll down and deposit any item on the middle two lines I get a different items name as having been deposited (seems totally random and names items I'm not even carrying/even own or badges or doesn't happen at all) but does actually deposit the correct item when checked inside the computer afterwards. I think I've done this in about every pokemart with the same glitch. I'm playing a fresh red rom with the latest patch on a ez-flash jr card on a Game Boy DMG-01. I could not replicate this bug on BGB or VisualBoyAdvance, a Game Boy Color or a Game Boy Advance AGB-001 (that's all the hardware I have to test with)

I have a photo of the screen showing the glitch and can upload the save file if needed but I don't seem to have permission to post attachments...?

zycain June 4th, 2020 2:31 AM

given it seems somewhat intermittent and I only extensively play on the DMG-01 normally its entirely possible the other things I tried could produce the bug just I didn't try for long enough? I don't want to inadvertently lead you down a dead end of just looking at one circumstance I just wanted it to be known my testing so far on other hardware/emulators is brief at best

jojobear13 June 4th, 2020 3:51 PM

Quote:

Originally Posted by zycain (Post 10166323)
given it seems somewhat intermittent and I only extensively play on the DMG-01 normally its entirely possible the other things I tried could produce the bug just I didn't try for long enough? I don't want to inadvertently lead you down a dead end of just looking at one circumstance I just wanted it to be known my testing so far on other hardware/emulators is brief at best

I’ve seen this. It has to do with how TM names are now more descriptive. Under the hood, TM names are handled by a list whereas before they were just generated on the fly by a function.

I’m pretty sure it’s just a matter of your save file working through data cleanup. My expectation is it will work itself out as items get deposited and taken out.

You can always attach your save file or post a download link at the GitHub page. Just open up a new issue and I can queue it up for investigation.

jojobear13 June 7th, 2020 9:17 PM

Quote:

Originally Posted by zycain (Post 10166320)
Hey Jojo, I have found a bug which doesn't seem to be game-breaking linked with depositing items in the PC on some real hardware. If I deposit the item on the first or last line of the selection box everything is a-ok but if I scroll down and deposit any item on the middle two lines I get a different items name as having been deposited (seems totally random and names items I'm not even carrying/even own or badges or doesn't happen at all) but does actually deposit the correct item when checked inside the computer afterwards. I think I've done this in about every pokemart with the same glitch. I'm playing a fresh red rom with the latest patch on a ez-flash jr card on a Game Boy DMG-01. I could not replicate this bug on BGB or VisualBoyAdvance, a Game Boy Color or a Game Boy Advance AGB-001 (that's all the hardware I have to test with)

I have a photo of the screen showing the glitch and can upload the save file if needed but I don't seem to have permission to post attachments...?

Quote:

Originally Posted by JOBO (Post 10160601)
Hey Jojobear13! I'm loving shin Pokemon red and have been playing it for quite some time. I booted it up today and experienced a strange bug. I went to my personal pc to deposit some items, when I tried to deposit the coin case the game crashed. I rebooted, went to the PC again and it crashed a second time. I'm playing on "shin_pokemon_red_v113_hotfix3.ips". If you need any more info or a save file then let me know. Cheers :)

I believe I have found a common root cause for these issues and have fixed it. Machines, in order to give them unique list-based names, were given their own list-type constant (the unused value of 3). All other items use list-type 4. This can cause problems when a mix of machines and other items are displayed in the same menu. If a machine is the bottom-most item displayed, then the value in wNameListType gets changed to 3. If it's a regular item, then gets changed to 4. Normally this would always be 4 in an item menu, so Gamefreak devs made it so wNameListType only gets updated when the menu gets redrawn by scrolling up or down.

The problem is that you can select the top three displayed items without scrolling the menu and getting it to redraw. wNameListType doesn't get updated. Selecting a regular item when a machine is at the bottom, or selecting a machine while a regular item is at the bottom, will load the wrong list constant for the item and cause the game to load name data from the wrong location. This can result in loading a name from a different item or (assuming you don't load a value of $50 within 10 loops) loading a huge string of garbage data that crashes the game.

I have pushed a commit to v1.14b to correct this.

zycain June 16th, 2020 5:25 PM

Hey Jojo, I had spotted JOBO's post and did wonder if we came across the same issue glad you pinned it down sounds like it can only help with the overall stability.

I've found a bug (that could be related?) it's a different use case as I just got an EZ Flash Omega for DS Lite gaming so it could be that flash hardware or Goomba (shudders) but if I go to the Mart on Cinnabar and try to buy a Max Elixer 9 times out of 10 I get a corruption and the game freezes, when the selection loads instead of saying "x01 $5500" it just displays "x01" then crashes/sometimes lets me back out but mostly crashes.

I also noticed an oddity when grinding Blaine when his battle completes instead of the celebratory jingle on receiving the badge again, a wrong sound is played, it sounds like menu closing. the main music continues to play as normal, its barely noticeable on a single pass likely wouldn't even realise but repeatedly its jarring enough to stick out thought I'd mention it

I'm now past the E4 and in to the post-game material you have added in, your rom is wonderfully fun to play and you deserve an amazing amount of credit for your insanely hard work getting all of these amazing features added in to the game they add a wonderful level of depth, I look forward to hopefully many more hours of grinding to get a full Pokedex, exploring all the little extras you have added in and also to see the ongoing development of this rom :D might even get brave enough to try out hard mode again one day! good job making something that was already re-playable even more so!

Thanks for the credit, not necessary but I'm very grateful none-the-less :D

Zycain

jojobear13 June 17th, 2020 12:38 PM

Quote:

Originally Posted by zycain (Post 10171463)
I've found a bug (that could be related?) it's a different use case as I just got an EZ Flash Omega for DS Lite gaming so it could be that flash hardware or Goomba (shudders) but if I go to the Mart on Cinnabar and try to buy a Max Elixer 9 times out of 10 I get a corruption and the game freezes, when the selection loads instead of saying "x01 $5500" it just displays "x01" then crashes/sometimes lets me back out but mostly crashes.

Right, it is the same as I mentioned before. TM03 is right below the max elixir, so scrolling down to select the max elixir makes TM03 the bottom item and triggers the glitch. I've since fixed the problem.

Quote:

I also noticed an oddity when grinding Blaine when his battle completes instead of the celebratory jingle on receiving the badge again, a wrong sound is played
This is a bug in the original games. You can also hear it with a few other gym leaders (Misty I think). Still looking into it.

jojobear13 June 17th, 2020 11:20 PM

I've put out new patches for both the lite and master branches that are consistent with the current 1.14 beta changelog. There's a lot of stuff in there. Now onto making the switching AI a little smarter.

zycain June 20th, 2020 7:27 AM

Hey found another little bug upon battling the Silph Co chief post E4 the dialog text upon talking to him reads "Do you challenge him to to a pokemon battle?" this is using the current 114b1 :)

jojobear13 June 20th, 2020 1:51 PM

Quote:

Originally Posted by zycain (Post 10172867)
Hey found another little bug upon battling the Silph Co chief post E4 the dialog text upon talking to him reads "Do you challenge him to to a pokemon battle?" this is using the current 114b1 :)

Yes, that is intentional. The post-e4 special trainers have an intended order as hinted by dialogue, but I do not force that order on the player. I did this because I miss the days when games had secrets that, while hinted at, could be discovered by sheer accident.

zycain June 20th, 2020 5:13 PM

sorry I meant the word "to" is repeated

jojobear13 June 20th, 2020 7:15 PM

Quote:

Originally Posted by zycain (Post 10173066)
sorry I meant the word "to" is repeated

Good grief. Guess I need to get my eyes checked.

jojobear13 June 22nd, 2020 7:52 PM

An expansion to the switching AI has been committed to both the lite and master branches. Will consolidate it into IPS patches after a period of playtesting.

Octorox June 26th, 2020 12:07 PM

This is a pretty great hack and exactly the kind of thing I was looking for in a Gen 1 QOL hack. A few nitpicks though:

Quote:

Originally Posted by jojobear13 (Post 10095577)
Press SELECT to use HMs based on proper context (must have the right badge and the move on one of your pkmn)

Out of curiosity, why Select? Why not the A button like in every other Pokemon game? Certainly not a dealbreaker but I find this a bit unintuitive.

Quote:

Originally Posted by jojobear13 (Post 10095577)
TrainerAI, Shiny SGB palette, & Exp Bar

I think the EXP bar looks a little "off" with the Gen 1 style battle interface. However, I think if you moved the bar itself up by one pixel so the bottom is flush with the arrow graphic it would look a lot better.

Does this hack also have the Pokeball "caught" tile? I find that to be a useful piece of information when facing off with wild Pokemon. I wouldn't mind seeing gender either, since it's relevant when trading with Gen 2 or importing into Pokemon Bank and afaik is just determined by DVs in Gen 2.

jojobear13 June 26th, 2020 2:39 PM

Quote:

Originally Posted by Octorox (Post 10175304)
Out of curiosity, why Select? Why not the A button like in every other Pokemon game? Certainly not a dealbreaker but I find this a bit unintuitive.

The reason is that it was easy to do in a weekend or two. The engine itself is surprisingly rigid. The A button is coded for confirmation and text in such a way that tile checking functions would need to be added to overworld.asm, but it's very difficult to free up the needed space in rom bank 0. Select is an unused button, so it's easy to check for it then jump to another rom bank to do all the custom functions.

Quote:

I think the EXP bar looks a little "off" with the Gen 1 style battle interface. However, I think if you moved the bar itself up by one pixel so the bottom is flush with the arrow graphic it would look a lot better.
There's only two pixels of height to work with on the exp bar. The black line was originally flush but the exp bar was too tiny. I'll play around and see what I can do

Quote:

Does this hack also have the Pokeball "caught" tile? I find that to be a useful piece of information when facing off with wild Pokemon. I wouldn't mind seeing gender either, since it's relevant when trading with Gen 2 or importing into Pokemon Bank and afaik is just determined by DVs in Gen 2.
Hitting select in battle will play the opposing mon's cry if you've caught it. I've not done the pokeball marker or even thought about adding gender as I'm not too familiar with adjusting how tiles are rendered.

Octorox June 26th, 2020 3:19 PM

Thanks for the response. I'm sorry if I came across as overly critical. To tell you the truth I have next to no knowledge when it comes to asm hacking so what you've done is far more than I could ever do.

The only reason I asked about the A-button HM use is because it's already been implemented into other hacks. Specifically Rangi's Space World Edition, as have genders and shinies in a pretty elegant and unobtrusive way. I know it's not a simple as "plugging it in" to your hack though.

jojobear13 June 26th, 2020 4:50 PM

Quote:

Originally Posted by Octorox (Post 10175369)
Thanks for the response. I'm sorry if I came across as overly critical. To tell you the truth I have next to no knowledge when it comes to asm hacking so what you've done is far more than I could ever do.

You didn't. I have thick skin anyway.

Quote:

The only reason I asked about the A-button HM use is because it's already been implemented into other hacks. Specifically Rangi's Space World Edition, as have genders and shinies in a pretty elegant and unobtrusive way. I know it's not a simple as "plugging it in" to your hack though.
Rangi has been doing this a lot longer than I have. Those projects all have years worth of features built upon features. Backs of giants and all. Anyway, folks like rangi and mateo and Danny-E are at the point where big chunks of the engine have been re-written. Meanwhile I'm still struggling to get palettes working on the gameboy color.

But hey, this is just something I picked up as a learning exercise.

jojobear13 July 1st, 2020 11:07 PM

There was a crash happening upon choosing the starter pokemon. It's caused by the key item sfx playing in a text box in the overworld (specifically an improper stack push/pull).

In light of this, I have put out v1.14 beta-2 patches for both the lite and master branches to fix this problem. The beta-2 patches also contain the most recent draft of the switching AI.

The master branch beta-2 patch has the following additions but they are totally untested:
- Slightly adjusted the style of the exp bar for flush lines and better visibility in grayscale
- The mind battle with trainer RED can only be initiated after beating Oak, Fuji, Silph Chief, and Green
- Beating the RED mind battle will respawn mewtwo and the legendary birds
- You must re-beat the four special trainers to challenge the RED mind battle again after each win
- Mewtwo and legendary birds removed from cerulean cave wild battle tables
- Static mewtwo encounter set back to level 70

EDIT: Beta 3 uploaded. I am testing the previously mentioned master features, and beating Green wasn't setting a flag.

jojobear13 July 3rd, 2020 3:03 PM

Quote:

Originally Posted by Octorox (Post 10175304)
Does this hack also have the Pokeball "caught" tile? I find that to be a useful piece of information when facing off with wild Pokemon. I wouldn't mind seeing gender either, since it's relevant when trading with Gen 2 or importing into Pokemon Bank and afaik is just determined by DVs in Gen 2.

So in the process of fixing the flag check for pokemon owned, I've been poking around with how the battle HUD get's loaded. I think this is really easy to do. A lot of handy tiles are already loaded into VRAM so I can just directly point to them and assign a coordinate. Initial experiments are promising. I just need to piece together some tiles that look halfway decent. For the pokeball indicator I'll probably just use one of the four textbox corners.

The male/female symbols are just text tiles (thankfully), but there's some extra planning in where and when they are displayed. Since gender has no mechanical or graphical meaning in gen 1, I'll probably limit its display to enemy wild pokemon and the individual 'mon status screens.

darthbr July 7th, 2020 7:52 AM

Hello Jojo, long time hum? xD

I want to update the AI switching in my custom game, how to proceed? i added the custom ai function (in home as well), updated the stats function (in battle engines), but im having a error when trying to compile, i mean, how to update it without errors, i just want update this feature.

jojobear13 July 7th, 2020 1:26 PM

Quote:

Originally Posted by darthbr (Post 10179316)
Hello Jojo, long time hum? xD

I want to update the AI switching in my custom game, how to proceed? i added the custom ai function (in home as well), updated the stats function (in battle engines), but im having a error when trying to compile, i mean, how to update it without errors, i just want update this feature.

You need to research rebasing with git. Basically automatically refreshes your main branch from one of my branches and then automatically overlays your changes on top of that. You will likely have conflicts that will be pointed out by git, so you'll have to learn how to fix those and continue the rebase.

What may be simpler but more tedious is cherry-picking. You download one of my branches as a local branch in your directory. Then you start cherry-picking specific commit hashes from it that you want to apply.

jojobear13 July 15th, 2020 11:12 PM

2 Attachment(s)
A small teaser for something I've been working on. Super Gameboy palette conversion for the Gameboy Color, like how it is done in Pokemon Yellow, has been coming along in great strides. Here's the progress thus far:
  • The background palettes are displaying well. This is the source of 90% of the game's color.
  • Title screen BGmaps and attributes modified to get the proper appearance.
  • Overworld sprite tile attributes are linking to the correct object palette.
  • Palettes displayed on the GBC are derived from Pokemon Yellow and tweaked where appropriate. This is because the default SGB pals were designed to look good on a 90's CRT monitor. A real GBC screen, combined with the GBC's color mixing, makes them look very washed out.

I still need to do a few more things. The title screen has the wrong object palette for Trainer Red. There's also a brief graphical glitch affecting a few tiles of Red's hat at the start of battle. I also haven't tested out the slot machines that much.


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


Like our Facebook Page Follow us on Twitter © 2002 - 2018 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2016 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.

Acknowledgements
Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2023.