• 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.

Development: Transparent Textboxes

27
Posts
13
Years
    • Seen Jan 30, 2017
    Can anybody help? Whenever I use transparent textboxes, I end up with this on the menu. Is there no way to fix that?
     

    KennyKid

    scipter
    24
    Posts
    11
    Years
  • Can anybody help? Whenever I use transparent textboxes, I end up with this on the menu. Is there no way to fix that?

    Hey guys! Just above Naruto Actor posted the debug bytes,
    So after you you these writebytetooffset to make transparent
    In the end of the script, just write back the origins byte again :D
    Spoiler:

    It works for me, but it's not really normal after we write back (the text is in pink color, with back ground, but the menu is OK)

    At least it solves the menu
    Just call these scipts everytime when you end a script with massage
     

    rhettz_emboar

    Did you just pee??
    66
    Posts
    11
    Years
  • Hey Guys. Want to do Tranparent Textboxes but they look so hard to do? You can do it with the WBTO (Write by Offset) command in XSE. Here is a simple script on how to make Transparent Textboxes. (For Ruby |AXVE| Only)

    Here is what you need to add to the script

    writebytetooffset 0x3F 0x4000048
    writebytetooffset 0x1F 0x4000049
    writebytetooffset 0x41 0x4000050
    writebytetooffset 0x3F 0x4000051
    writebytetooffset 0xF 0x4000052
    writebytetooffset 0xA 0x4000053
    writebytetooffset 0xFF 0x202F0AA
    writebytetooffset 0xFF 0x202F0AB
    writebytetooffset 0x0 0x202F0B8
    writebytetooffset 0x0 0x202F0B9
    writebytetooffset 0x0 0x202F0AC
    writebytetooffset 0x0 0x202F0AD
    writebytetooffset 0x0 0x202F0BE
    writebytetooffset 0x0 0x202F0BF
    writebytetooffset 0x0 0x202F0C0
    writebytetooffset 0x0 0x202F0C1
    writebytetooffset 0x0 0x202F0C2
    writebytetooffset 0x0 0x202F0C3
    writebytetooffset 0x0 0x202F0C4
    writebytetooffset 0x0 0x202F0C5
    writebytetooffset 0x0 0x202F0C6
    writebytetooffset 0x0 0x202F0C7
    writebytetooffset 0x0 0x202F0C8
    writebytetooffset 0x0 0x202F0C9


    Test:
    PokemonRuby.png


    Notes:
    - You must do this in Every Script you want Transparent.
    - There are some bugs in doing this. Using this script will activate them.

    Thanks for reading :D

    Credit the following people if used:
    - ~Andrea

    is it before or after your script?
     

    karatekid552

    What happens if I push it?....
    1,771
    Posts
    11
    Years
  • First the good:
    writebytetooffset 0x3F 0x4000048
    writebytetooffset 0x1F 0x4000049
    writebytetooffset 0x41 0x4000050
    writebytetooffset 0x3F 0x4000051
    writebytetooffset 0xF 0x4000052
    writebytetooffset 0xA 0x4000053
    writebytetooffset 0xFF 0x20377DC
    writebytetooffset 0xFF 0x20377DD
    writebytetooffset 0x0 0x20377DA
    writebytetooffset 0x0 0x20377DB
    writebytetooffset 0x0 0x20377DE
    writebytetooffset 0x0 0x20377DF
    writebytetooffset 0x0 0x20377EC
    writebytetooffset 0x0 0x20377ED
    writebytetooffset 0x0 0x20377EE
    writebytetooffset 0x0 0x20377EF
    writebytetooffset 0x0 0x20377F0
    writebytetooffset 0x0 0x20377F1
    writebytetooffset 0x0 0x20377F2
    writebytetooffset 0x0 0x20377F3
    writebytetooffset 0x0 0x20377F4
    writebytetooffset 0x0 0x20377F5
    writebytetooffset 0x0 0x20377F6
    writebytetooffset 0x0 0x20377F7

    Just to clarify for everyone, if you don't need colored text, this works just fine on FireRed.^^^ The asm routine is only there to make sure the text doesn't become transparent if you use a different color. If you are fine with white text, then this is all you need.
     

    karatekid552

    What happens if I push it?....
    1,771
    Posts
    11
    Years
  • Someone know how to use that formula in Battles Texts? It would look nice in Battle giving some BW Battle Styles with full Backsprite animations.

    You could actually do much the same thing. You see, what this code does is adjust some things, and then make the top layer map (The one that text and stuff goes on) semi-transparent to all other layers. If you want to read more about that, you can look at this ( http://nocash.emubase.de/gbatek.htm#lcdiocolorspecialeffects) but since you have adamently refused to learn ASM in the part, I highly doubt it will make any sense to you.

    So, yeah, this could be inserted in battle, you just have to code it in somewhere, and also realize something else... The sprites aren't large enough, nor placed in the correct spots for this to look good. You would need to change their locations and everything. I also don't think the battle bg's are in the correct area either.
     
    1,344
    Posts
    14
    Years
    • Seen Dec 10, 2021
    (FIRE RED)
    Today, I created a new asm routine, capable of reading one byte in the var 0x8009.

    First, go at 0x8150400 and paste of thus:

    A1 46 70 BC 01 BC 00 47 00 49 08 47 XX XX XX 08
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    (Use xx xx xx 08 +1 for the byte of the routine. Example: 0x800000 is 0x8000001 and 00 00 80 08 is 01 00 80 08)

    At 0x8xxxxxx, paste it:
    00 B5 00 06 00 0E 04 28 06 48 00 88 00 28 03 D0
    05 49 06 49 06 49 07 49 07 49 08 49 08 49 09 49
    09 49 00 00 CA 70 03 02 18 D8 80 00 01 49 40 18
    00 68 87 46 XX XX XX 08

    This new 0x8XXXXXX is your other free space that you paste it:
    34 04 15 08 38 04 15 08 3C 04 15 08 40 04 15 08 44 04 15 08
    BUT INSERT MORE BYTES WITH THIS, WHERE ITS COMPOSITION IS
    THE TABLE WITH THIS:
    10 20 00 E0 40 20 40 00 01 49 40 18 02 BC 08 47 EC 1D 47 08

    Use a 10 20 E0 for the number of this table at:0x471DEC

    But you can create a new collors and insering at var 0x8009 bytes with
    0x0 0x1, 0x2, 0x3, 0x4, BUT THE 0x5 can' not except if you expand the table at 0x471DEC
    I'm a bit confused by this explanation. Does this fix the text so that it makes it the correct color? I've done a bit of experimenting and I think I like the look of this:
    1bsG0l5.png

    I just want to make the text non-transparent. Do I apply that to fix it?
     

    karatekid552

    What happens if I push it?....
    1,771
    Posts
    11
    Years
  • I'm a bit confused by this explanation. Does this fix the text so that it makes it the correct color? I've done a bit of experimenting and I think I like the look of this:
    1bsG0l5.png

    I just want to make the text non-transparent. Do I apply that to fix it?

    This took me a while to get:

    All colors will be made transparent except White. This is what I have found and worked my text boxes around it accordingly. I have yet to find a way to change it.

    Also, by screwing around with some of the values that are being written to the 0x400000 area, you can change the opacity of the transparent colors.
     

    BugMania

    The Bug Master
    32
    Posts
    10
    Years
    • Seen Nov 4, 2016
    This took me a while to get:

    All colors will be made transparent except White. This is what I have found and worked my text boxes around it accordingly. I have yet to find a way to change it.

    Also, by screwing around with some of the values that are being written to the 0x400000 area, you can change the opacity of the transparent colors.

    you can use different colors according to the table of your liking. The color table would be selected when you set a number in the variable 0x8009.
     

    ep!c

    Banned
    124
    Posts
    11
    Years
    • Seen Jan 4, 2015
    Lol guys, you discuss years for a simple code.

    Its easy to understand: The more "black" the color has, the more transparent it is.
    Black -> ~50% transparency ...... White -> 0% transparency
    Then just make the code (only contains loading and writing in fact o.o) and make a built-in routine in the textbox. Afterwards, change text color to white and textbox color to full black and it results in this:

    trans.PNG


    Also the menu is working fine, if you hack the color and graphics correctly:

    Unbenannt.png


    The graphics box downsides has the offset 0x4566A8.
    I could also give out my NSE-bookmarks, if you wish.
    Many useful things in it :P
     

    karatekid552

    What happens if I push it?....
    1,771
    Posts
    11
    Years
  • Lol guys, you discuss years for a simple code.

    Its easy to understand: The more "black" the color has, the more transparent it is.
    Black -> ~50% transparency ...... White -> 0% transparency
    Then just make the code (only contains loading and writing in fact o.o) and make a built-in routine in the textbox. Afterwards, change text color to white and textbox color to full black and it results in this:

    trans.PNG


    Also the menu is working fine, if you hack the color and graphics correctly:

    Unbenannt.png


    The graphics box downsides has the offset 0x4566A8.
    I could also give out my NSE-bookmarks, if you wish.
    Many useful things in it :P

    That is exactly what I did, however I changed the transparency level of the black and added some red.

    http://www.romhack.me/photo/1582/dc/userid_2957/
     

    BugMania

    The Bug Master
    32
    Posts
    10
    Years
    • Seen Nov 4, 2016
    I honestly didn't use his routine, I wrote my own and hooked it directly into the msgbox command itself. That is probably why I didn't understand that part.
    My routine asm (as was I who posted by the thjenvuongxh) is interesting because it allows a color change. It has nothing to do with the permissions of a transparent text box, ok?


    Again, sorry for my bad english.
     

    karatekid552

    What happens if I push it?....
    1,771
    Posts
    11
    Years
  • My routine asm (as was I who posted by the thjenvuongxh) is interesting because it allows a color change. It has nothing to do with the permissions of a transparent text box, ok?


    Again, sorry for my bad english.

    I never said there was anything wrong with yours, I just made my own and I like the way it came out.:P

    but thanks, now I understand.
     

    KennyKid

    scipter
    24
    Posts
    11
    Years
  • It's a long time since I first read this thread. I found out how to transperant textbox without asm code (writebytetooffset), just a simple code like ~Andrea. This usefull for someone not good at asm code.

    First call 0x(offset) to make it transperant textbox
    Spoiler:



    After you finish your script, call this code and the textbox and menu'll back to normal
    Spoiler:



    The writeback bytes are found by NarutoActor.
    One more thing: You can adjust the bold of the textbox (the black transperant color) by adjust this code:
    writebytetooffset 0xF 0x4000052
    writebytetooffset 0xA 0x4000053
    writebytetooffset 0xFF 0x202F0AA
    Change the value of 0xA, from the darkest to the lightest is 0x0, 0x1, ... , 0xA, 0xb,..., 0xe and finally 0xf
    So if you want it a little darker, change 0xA to 0x8 or 0x7

    These code can't change the text color.
     
    249
    Posts
    11
    Years
    • Seen Apr 22, 2024
    why you don't use "windows" instead of making the textbox or BG0 semi-transparent? if you use it you will not have any bugs in the menu (and other tile load in BG0)...
     
    Back
    Top