Quote:
Originally Posted by zycain
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
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.