• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Red hack: Shin Pokemon Red/Blue/Green/JP builds (Bugfix, AI, and QoL patch)

536
Posts
4
Years
    • Seen yesterday
    thank you for the feedback
    i can help you with some more information generaly the problem with glitched pokemon happens when i catch wild pokemon with rod
    PS: in the beginning i did not have the corrupted name for the 3 pokemon but when i catched lapras with super rod in safari zone they become corrupted and i catched goldeen but i found it corrupted

    Okay, that helps a lot! I think I found the cause. Pressing SELECT causes a memory leak each time it is pressed on the overworld. Eventually you will start overwriting into the box nicknames.

    I'll work on fixing the memory leak over the next few days. Nope, I found where it's occurring and I'll fix it later tonight.

    EDIT: Okay, I implemented some fixes and I'm testing out your save file. I'm fishing Lapras and Dratinis in the safari zone for an hour. The stack pointer is holding stable, not creeping upward, and going down to its nominal depth after captures are made. I think I nailed this one!

    Thanks a ton for your bug report on this. This also fixes the issue I had earlier with the exp bar acting strange, and that one had me tearing my hair out.
     
    Last edited:
    536
    Posts
    4
    Years
    • Seen yesterday
    The V1.13 beta has been re-uploaded. It fixes the memory leak in v1.11 and v1.12. It also tries to stabilize glitched names and fixes not being able to enter the game corner. Please apply the patch to a fresh rom if you are on v1.11 or v1.12. You may need to use the softlock teleport when you first load your save file.
     
    536
    Posts
    4
    Years
    • Seen yesterday
    A few minor bugs have been discovered.

    1 - The coin guy in the celadon hotel does not give the correct amount of coins due to hex numbers not being converted into BCD format. This affects the master branch.

    2 - Pay Day coin amount will overflow at higher levels. This affects the master branch.

    These bugs will be fixed when v1.13 goes to release.
     
    Last edited:

    darthbr

    Banned
    237
    Posts
    8
    Years
    • Seen Dec 8, 2023
    Yeah!! i discovered how to compile. awesome..
    ____
    i Will need some help. Sorry for nrwbies question.. Keep in mind i Will use The lite one. And make my custom pteferences.

    I have doubts about.. Can i use ex: charizard front from Red. And beta sprite back, but in gastly i prefer original ones back and front.. (mixed sprites)
    edit: DONE.. AWESOME

    >>> I want add The girl trainer feature to lite one.. How?

    I want 150 mons in lite.. Just replace The shin "complete" wild mons file to lite? Easy?
    edit: DONE AWESOME

    >>> How to add infinite tms? I prefer it than have tms in mart. I want The emotion to take The tms first and not going to mart buy..

    >>> How to add exp bar in lite version???

    >>> Last one. Move relearner and deleter. How to add in lite?

    This would be my perfect pokemon ever version (vanilla + enchantments + 150)

    Sorry If its too many question or if could help. I Will understand. Thanks!!
     
    Last edited:
    536
    Posts
    4
    Years
    • Seen yesterday
    >>> I want add The girl trainer feature to lite one.. How?

    >>> How to add exp bar in lite version???

    >>> Last one. Move relearner and deleter. How to add in lite?

    The simple answer is to copy/paste the relevant code and assets into your lite branch. Easier said than done. What you need to do is download the master branch and start searching for every single line where the relevant code and assets are referenced. Then branch out your search until you have compiled a full reference of everything that needs to change. Going through the commit history on github should help you narrow things down. For example, the girl trainer was added in the commit titled "v1.08 upload"

    >>> How to add infinite tms? I prefer it than have tms in mart. I want The emotion to take The tms first and not going to mart buy..

    The reason I did it this was is because Gen 1 has more items than you have space in your bag or box. Infinite TMs requires expanding the box and bag slots, and this means altering the SAV file structure. Something I did not want to do as it breaks compatibility with Pokemon Stadium. If you really want Infinite TMs like in more recent gens, you could set them as Key Items. But I never really dove into how to do that.
     

    darthbr

    Banned
    237
    Posts
    8
    Years
    • Seen Dec 8, 2023
    Obs; I Implemented Move Relearner, how do i know its working? its in saffron.. i want to test, i tried to use a normal red version sav, teleported to saffron, some pokemons worked, but some failed, now i dont know if its working or its because i used a ''original red sav''

    Yes im going to search every script and file and try to put in lite.

    Gonna try The girl one and move relearner.

    Then i Will have The perfect version. Thanks a lot for The informations.

    Im every update that u launch. I have The proceed everything again? To compile my own?
     
    Last edited:
    536
    Posts
    4
    Years
    • Seen yesterday
    You are on the lite branch which I'm not really updating anymore. If I do an update to it, the line-by-line changes will be listed in the relevant commit.

    The move relearner does not rely on a save file. It's scripts are independent. If something isn't working then you missed something somewhere.
     

    darthbr

    Banned
    237
    Posts
    8
    Years
    • Seen Dec 8, 2023
    You are on the lite branch which I'm not really updating anymore. If I do an update to it, the line-by-line changes will be listed in the relevant commit.

    The move relearner does not rely on a save file. It's scripts are independent. If something isn't working then you missed something somewhere.

    i think i found something, i can use mixed sprites front (original and beta), but when i tried to use mixed sprites ''back'' the original sprites bugged, but the beta no.. can u help me with that? or this is a rule, i need choose original or beta..

    __

    >> can u check move relearner? i copied everything the same, 99% moves work, but when i try to remember wing attack from pidgeot, the game freeze... why? what im doing wrong?

    Sorry too many questions
     
    Last edited:
    536
    Posts
    4
    Years
    • Seen yesterday
    i think i found something, i can use mixed sprites front (original and beta), but when i tried to use mixed sprites ''back'' the original sprites bugged, but the beta no.. can u help me with that? or this is a rule, i need choose original or beta..

    __

    >> can u check move relearner? i copied everything the same, 99% moves work, but when i try to remember wing attack from pidgeot, the game freeze... why? what im doing wrong?

    Sorry too many questions

    Unfortunately the back sprites cannot be mixed by default. The originals and betas use a different image size and resolution. Check out the beta back png files compared to the originals.

    To mix them, use an image editor to scale up the old back sprites to the beta sizes and delete their .2bpp and .pic files.
     

    darthbr

    Banned
    237
    Posts
    8
    Years
    • Seen Dec 8, 2023
    Sorry for many questions.

    I tried to make it. Scaled back to 48x48 in paint but when i try to compile.. A error msg appear saiying too many bits. Something like that. Maximum 4.. How to proceed?

    Anyway. Help me with move relearner. Wing attack in pidgeot.. And other moves freeze The game when i select then. Other are ok.. I really dont know what to do. Copied every script from Master. Searched in notepad++ for move relearner and move deleter. And Copied.

    This is my Last attempt. XD
     
    536
    Posts
    4
    Years
    • Seen yesterday
    Hello any news about the new update Please

    Work is hectic at the moment due to wuhan coronavirus. I've had no time to sit down and very the last couple things for v1.13 release.

    Sorry for many questions.

    I tried to make it. Scaled back to 48x48 in paint but when i try to compile.. A error msg appear saiying too many bits. Something like that. Maximum 4.. How to proceed?

    Anyway. Help me with move relearner. Wing attack in pidgeot.. And other moves freeze The game when i select then. Other are ok.. I really dont know what to do. Copied every script from Master. Searched in notepad++ for move relearner and move deleter. And Copied.

    This is my Last attempt. XD

    The png files can only be 4 specific colors. Gameboy only supported black, dark gray, light gray, and white/clear. I use Irfanview to edit them since it gives more flexibility and information.

    Make sure you hit all the notes on this checklist:
    Copy over the move_relearner.asm that's in the text folder
    In text.asm, put in under SECTION "Text 3"
    INCLUDE "text/move_relearner.asm"

    Copy over the move_relearner.asm that's in the scripts folder
    In main.asm under SECTION "bank7" add the following
    INCLUDE "scripts/move_relearner.asm"

    In home.asm modify a part of the DisplayListMenuIDLoop:: function
    .skipMultiplying
    ld a, [wListPointer]
    ld l, a
    ld a, [wListPointer + 1]
    ld h, a
    inc hl ; hl = beginning of list entries
    ld b, 0
    add hl, bc
    ld a, [hl]
    ld [wcf91], a
    ld a, [wListMenuID]
    and a ; is it a PC pokemon list?
    jr z, .pokemonList
    push hl
    call GetItemPrice
    pop hl
    ld a,[wListMenuID]
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;needed to make Mateo's move deleter/relearner work
    cp a, MOVESLISTMENU
    jr z, .skipStoringItemName
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    cp ITEMLISTMENU
    jr nz, .skipGettingQuantity
    ; if it's an item menu
    inc hl
    ld a, [hl] ; a = item quantity
    ld [wMaxItemQuantity], a
    .skipGettingQuantity
    ld a, [wcf91]
    ld [wd0b5], a
    ld a, BANK(ItemNames)
    ld [wPredefBank], a
    call GetName
    jr .storeChosenEntry
    .pokemonList
    ld hl, wPartyCount
    ld a, [wListPointer]
    cp l ; is it a list of party pokemon or box pokemon?
    ld hl, wPartyMonNicks
    jr z, .getPokemonName
    ld hl, wBoxMonNicks ; box pokemon names
    .getPokemonName
    ld a, [wWhichPokemon]
    call GetPartyMonName
    .storeChosenEntry ; store the menu entry that the player chose and return
    ld de, wcd6d
    call CopyStringToCF4B ; copy name to wcf4b
    .skipStoringItemName ;skip here if skipping storing item name
    ld a, CHOSE_MENU_ITEM
    ld [wMenuExitMethod], a
    ld a, [wCurrentMenuItem]
    ld [wChosenMenuItem], a
    xor a
    ld [hJoy7], a ; joypad state update flag
    ld hl, wd730
    res 6, [hl] ; turn on letter printing delay
    jp BankswitchBack
    .checkOtherKeys ; check B, SELECT, Up, and Down keys

    In the engine/evos_moves.asm file, you need to copy over the function PrepareRelearnableMoveList:

    Make sure your text scripts and object definitions line up in both saffronhouse1.asm files
     
    Last edited:

    darthbr

    Banned
    237
    Posts
    8
    Years
    • Seen Dec 8, 2023
    omg dude you'are a god!!! solved the wing attack problem... in check, i missed home.asm part.. now its working!!!

    the last one is scale in irfanview the sprites.. thanks for now!! really thanks!

    Where did u found those scripts? Im New im hack Roms. Im learnjng by Myself. Im really enjoying and thanks for your help.
     
    Last edited:
    536
    Posts
    4
    Years
    • Seen yesterday
    Great. Gonna try it in home. Where did u found those scripts? Im New im hack Roms. Im learnjng by Myself. Im really enjoying and thanks for your help.

    I've adapted them from Mateo's Red++ hack and made a few tweaks to them. He posts around these parts.

    The thing behind the home.asm modification is that the constant Movelistmenu normally goes unused, but the move relearner and deleter put it back into use for storing lists of moves. The function by default does not check to see if you are using the move list, so it ends up accidentally treating it as a list of items. This change is a simple check to keep that from happening.
     
    536
    Posts
    4
    Years
    • Seen yesterday
    omg dude you'are a god!!! solved the wing attack problem... in check, i missed home.asm part.. now its working!!!

    the last one is scale in irfanview the sprites.. thanks for now!! really thanks!

    Where did u found those scripts? Im New im hack Roms. Im learnjng by Myself. Im really enjoying and thanks for your help.

    Go to Image-->Information in order to get a lot of good info about the sprite. In particular, it gives you the size and the number of unique colors. Make sure there are only 4 colors. Go to Image-->Palette-->Edit Palette to see the color palette. The four RGB colors supported by the gameboy are (0.0.0), (85.85.85), (170.170.170), and (255.255.255). That's your black, dark gray, light gray, and white/clear.

    Open up one of the back png files in Irfanview. Go to Image-->Resize/Resample. Tick the Set New Size option and do 48x48 pixels. Under Size Method tick Resize. Now do File-->Save As... and save the image as a PNG with binary encoding and 0 compression.

    See if that back sprite will compile now. To be honest, I haven't tried mixing the back sprites before. I'm curious to see if it will look any good in-game.

    EDIT: Also, I'm most certainly not anything special. I've only been doing this about a year as an exercise to brush up on assembly coding. Most of my knowledge comes from my career.
     
    Last edited:

    darthbr

    Banned
    237
    Posts
    8
    Years
    • Seen Dec 8, 2023
    Gotcha, got the female code working.. my perfect rom is complete...

    I found perfect backsprites too..

    https://imgur.com/a/jK6XRrN

    https://imgur.com/a/FFqwblJ

    just more few tweaks like this one VVV

    i was thinkin about put mew in the truck near SS anne, when player complete the E4 or 150 pokemons, ss anne will return (player can enter into the room before the ship) like, if player click in the truck, mew appears, then if i capture him, he wont respawn again, like mewtwo fixed NPC.. do u think its hard?

    EDIT> i found a mew script, in master, how it works? when player have 150 mons and diploma, mew will appear in wild in unknowndungeon b1?
    If i want this, just copy custom_functions\func_enc_gen.asm just the mew part and in main too right?
     
    Last edited:
    536
    Posts
    4
    Years
    • Seen yesterday

    darthbr

    Banned
    237
    Posts
    8
    Years
    • Seen Dec 8, 2023
    In Red lite. If i choose battle style set. Trainers wills be more harder or it Just apply for Master? (shift option is vanilla?)
     
    536
    Posts
    4
    Years
    • Seen yesterday
    In Red lite. If i choose battle style set. Trainers wills be more harder or it Just apply for Master? (shift option is vanilla?)

    The Lite branch is just like the retail games. The battle style has no effect on difficulty. All enemy trainer pokemon will have zero stat exp and fixed DVs of 9,8,8,8. You can see where I've commented out code when I made the lite branch. Look at functions LoadEnemyMonData: and CalcEnemyStatEXP: in the file engine/battle/core.asm. Badge boosts are always applied.

    The Master branch, when in SET style only, gives enemy trainer pokemon DVs of 9,8,8,8 at minimum as well as 648 stat exp per level while disabling badge boosts.

    Improved AI routines are active in both Master and Lite and are not affected by battle style.
     
    Last edited:
    536
    Posts
    4
    Years
    • Seen yesterday
    V1.13 release patches have been uploaded. The notable changes from the beta are as follows:

    --The celadon hotel coin guy now pays out more due to correct numerical conversions.
    --Pay Day pays out 5x your level and pays correctly at higher levels.
    --Post-game, the game corner chief will offer to buy pokemon from you (though in true rocket fashion he offers a ripoff price for good high-level stuff).
    --The SS Anne kitchen now has a PC cobbled together using the ship tileset. It replaces the bookcase tile. Added it to lessen frustration for the post-game tournament.
    --Trainers in the SS Anne tournament will never have Mew or Mewtwo.
     
    Back
    Top