The PokéCommunity Forums

The PokéCommunity Forums (https://www.pokecommunity.com/index.php)
-   Binary Hack Research & Development (https://www.pokecommunity.com/forumdisplay.php?f=195)
-   -   Development Transparent Textboxes (https://www.pokecommunity.com/showthread.php?t=291356)

PokemonMasters November 9th, 2012 12:41 AM

Transparent Textboxes
 
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:
http://i1055.photobucket.com/albums/s515/pokemonmasters1/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

kebbles November 17th, 2012 7:42 AM

Quote:

Originally Posted by PokemonMasters (Post 7402900)
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:
http://i1055.photobucket.com/albums/s515/pokemonmasters1/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

Wow this is incrediable, i cant believe i only just found this!
What are the bugs before I use this?

Hacker Bisharp November 17th, 2012 9:18 AM

Oh god.. This is very awesome! Keep it up^^

itman November 17th, 2012 12:32 PM

This is amazing, but it takes up so much room to use in EVERY script.

So what everyone should do is make that a separate script, and then at the beginning of every script, call it, so this way you can save lots of room.

Example:

Script to be called:
Spoiler:

#org @begin
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
return


Then if a script wants to use transparent text boxes, it would just call that one, and then it will automatically return to the script afterward due to the return command.

Spoiler:

#org @begin
call 0x(whateveroffsetit'sat!)
lock
faceplayer
msgbox @hi 0x6
release
end

#org @hi
= Hi.


Space saving ftw! I know this isn't a complex technique in anyway; I was just over explaning for newer hackers out there. :)

shinyabsol1 November 17th, 2012 2:20 PM

Interesting. I thought you needed ASM to do this. Great work figuring this out!

Since its just a bunch of WBTO, couldn't this work for FR too? We just need to find the equivalents in FR and change those. What exactly do allthose WBTOs do?

PokemonMasters November 17th, 2012 2:23 PM

Quote:

Originally Posted by itman (Post 7413902)
This is amazing, but it takes up so much room to use in EVERY script.

So what everyone should do is make that a separate script, and then at the beginning of every script, call it, so this way you can save lots of room.

Example:

Script to be called:
Spoiler:

#org @begin
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
return


Then if a script wants to use transparent text boxes, it would just call that one, and then it will automatically return to the script afterward due to the return command.

Spoiler:

#org @begin
call 0x(whateveroffsetit'sat!)
lock
faceplayer
msgbox @hi 0x6
release
end

#org @hi
= Hi.


Space saving ftw! I know this isn't a complex technique in anyway; I was just over explaning for newer hackers out there. :)

lol, I'll update the thread later on to add the "Space Saving" xD

socko November 19th, 2012 2:12 AM

Cool, PokemonMasters! :D you put it up. Is there a more in-depth tutorial for newbs? :P

Gamer2020 November 19th, 2012 9:42 AM

I'm sure you can make an asm function to do the same thing. I'm pretty sure all you're doing is setting registers and stuff to use the hardware windowing.

http://www.coranac.com/tonc/text/gfx.htm#sec-win

Shiny Quagsire November 19th, 2012 2:51 PM

It wouldn't be that hard to write an ASM routine to set those bytes, and attach it to a special, or even hack in a call to that function every time a textbox is loaded.

BrandoSheriff November 19th, 2012 10:01 PM

How have I not seen this yet?
This is awesome, I'll definitely try this out, and maybe have it in my project.

Looks good for things like signs and "stage directions" and stuff like that.

PokemonMasters November 19th, 2012 10:56 PM

Quote:

Originally Posted by kebbles (Post 7413589)
Wow this is incrediable, i cant believe i only just found this!
What are the bugs before I use this?

The bugs are:
-if you open the menu the textxbox of menu disapeared
-you don't change the color of the test because the wbto with you create semi-trasparent textbox makes the textbox and the text semi-trasparnet because are you found in BG0 (the screen are divided into Bg0,Bg1,Bg2,Bg3,Bg4,Bg5 and Bg6) and makes textbox and text semitrasparnet...
-The effect of textbox finish when you doing warp
that's why it is best to use asm..
Quote:

Originally Posted by Pinkish Purple (Post 7415701)
Cool, PokemonMasters! :D you put it up. Is there a more in-depth tutorial for newbs? :P

its already. You just put that in the script. How more in-depth do you want? xD
Quote:

Originally Posted by Gamer2020 (Post 7415931)
I'm sure you can make an asm function to do the same thing. I'm pretty sure all you're doing is setting registers and stuff to use the hardware windowing.

http://www.coranac.com/tonc/text/gfx.htm#sec-win

Quote:

Originally Posted by shiny quagsire (Post 7416224)
It wouldn't be that hard to write an ASM routine to set those bytes, and attach it to a special, or even hack in a call to that function every time a textbox is loaded.

It for newbies or people who barely or don't know anything about ASM :D

pikakitten November 19th, 2012 11:02 PM

So what are the bugs involved in doing this? Are they serious? Are they permanent as in use it once and the bug is forever there or... you know.
Thanks!

~Sincerely
PikakittenX, devout member of the Pokecommunity

tajaros November 20th, 2012 2:30 AM

Quote:

Originally Posted by PokemonMasters (Post 7416661)
It for newbies or people who barely or don't know anything about ASM :D

So what?

They are trying to make routines for it so that it will work with FireRed as well and to fix those bugs that you mentioned.

~Andrea November 22nd, 2012 7:34 AM

With this you will have the semi-trasparent textbox but there will also annoying bugs that is why using the asm which he said shiny Guaiser is always active ...
The bug in question are:
-If you open the menu, there will be the old textbox semi-transparent white color ...
-With these wbto you can not become colored text
-With these wbto you can not become a white-transparent textbox
-the names of the cities and routes will be like the old textbox but the color white as the transparent menu
-the effect ends when you use a warp
So I say to you that if you do not know asm put the tetxbox normal ...

socko November 22nd, 2012 10:00 PM

I think it is too troublesome, doing ASM is better of course but there doesn't seem to be any tutorial about ASM around here...

tajaros November 23rd, 2012 12:08 AM

Quote:

Originally Posted by Pinkish Purple (Post 7419562)
I think it is too troublesome, doing ASM is better of course but there doesn't seem to be any tutorial about ASM around here...

Huh?

I think there are about 4 ASM TUT's here in PC search in the tutorial section look in the pages... Hackmew, FullMetal, Shiny Quagsire, and knizz made ASM tut's. :P

Gamer2020 November 24th, 2012 11:17 AM

Why don't you set the values back to what they were after you use the text box? That way the start menu won't be buggy.

Shiny Quagsire December 7th, 2012 4:04 PM

Quote:

Originally Posted by PokemonMasters (Post 7416661)
It for newbies or people who barely or don't know anything about ASM :D

Patchers and programs that patch could be a viable solution to apply an ASM routine and link it to a special or force transparency as the default.

NintendoBoyDX December 8th, 2012 3:41 PM

Yo PokemonMansters, I was wondering... Could you explain how you figured out how to do this hack, and why it works?

tajaros December 8th, 2012 6:56 PM

Quote:

Originally Posted by NintendoBoyDX (Post 7435692)
Yo PokemonMansters, I was wondering... Could you explain how you figured out how to do this hack, and why it works?

He didn't figured this out, ~Andrea did Pokemonmasters just shared this info with and practically doesn't know how this works... :)

PokemonMasters December 8th, 2012 10:17 PM

Thanks Val. .-.
So , did anybody find a way to port this over to BPRE?

tajaros December 8th, 2012 11:13 PM

Quote:

Originally Posted by PokemonMasters (Post 7436090)
Thanks Val. .-.
So , did anybody find a way to port this over to BPRE?

~Andrea said that he knows it but forgot how to do it...

And Lucas said that coolcolstyles has a code for he ransparent textbox in BPRE but hasn't release the code yet.

xWhyNotx December 10th, 2012 3:53 AM

This is amazing I will totally use this in my hack! ^-^ thanks for posting!

阴魂君 December 10th, 2012 5:52 AM

Quote:

Originally Posted by tajaros (Post 7436127)
~Andrea said that he knows it but forgot how to do it...

And Lucas said that coolcolstyles has a code for he ransparent textbox in BPRE but hasn't release the code yet.

how about Emerald?
I think those offset are different,too..╯﹏╰

NarutoActor December 10th, 2012 11:05 AM

They are, I tested it in emerald. The first 6 if I remember are the same, it is the rest that differ.
writebytetooffset 0x3F 0x4000048 1F
writebytetooffset 0x1F 0x4000049 1F

writebytetooffset 0x41 0x4000050 40 '00101E40
writebytetooffset 0x3F 0x4000051 1E
writebytetooffset 0xF 0x4000052 10
writebytetooffset 0xA 0x4000053 00

writebytetooffset 0xFF 0x202F0AA 29'Emerald dif
writebytetooffset 0xFF 0x202F0AB 25

writebytetooffset 0x0 0x202F0B8 5A '
writebytetooffset 0x0 0x202F0B9 67 '

writebytetooffset 0x0 0x202F0AC 1F '
writebytetooffset 0x0 0x202F0AD 00

writebytetooffset 0x0 0x202F0BE 9C
writebytetooffset 0x0 0x202F0BF 77
writebytetooffset 0x0 0x202F0C0 ff
writebytetooffset 0x0 0x202F0C1 7E
writebytetooffset 0x0 0x202F0C2 33
writebytetooffset 0x0 0x202F0C3 7F
writebytetooffset 0x0 0x202F0C4 EF
writebytetooffset 0x0 0x202F0C5 72
writebytetooffset 0x0 0x202F0C6 FF
writebytetooffset 0x0 0x202F0C7 7F
writebytetooffset 0x0 0x202F0C8 0E
writebytetooffset 0x0 0x202F0C9 53
to the right I added the original bytes for debuggers :D


All times are GMT -8. The time now is 8:40 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.