SH
Star Havenxungun12

Struggling to make a texture 128x64 instead of 128x32 (IA 8b)

it cuts the top half of it...
No description
No description
xungun12
xungun12122d ago
it even correctly assign 64 of height in the build file...
No description
bates64
bates64122d ago
you probably need to change the geometry also
xungun12
xungun12122d ago
huh? Can you tell me what values?
bates64
bates64122d ago
see NoControllerGfx, just below
xungun12
xungun12122d ago
yeah!
No description
xungun12
xungun12122d ago
huhhhhh
bates64
bates64122d ago
i think you want to change the last two values (dsdx, dsdy)
xungun12
xungun12122d ago
0400?
bates64
bates64122d ago
its in S10.5 fixed point format, there may be a macro
xungun12
xungun12122d ago
No description
xungun12
xungun12122d ago
doubled them to 0800 i'm so loooost! XD i think that editing those values just moves the rectangle
xungun12
xungun12122d ago
nope...
No description
bates64
bates64122d ago
i can reproduce this playing around
bates64
bates64122d ago
seems to be rendering like 40px of height
No description
xungun12
xungun12122d ago
32
bates64
bates64122d ago
most likely
xungun12
xungun12122d ago
there's nothing else to edit about it
xungun12
xungun12122d ago
No description
xungun12
xungun12122d ago
i guess i have to use 4-bit instead?
bates64
bates64122d ago
ah. that makes sense you can change it in splat.yaml and also change G_IM_SIZ_8b to G_IM_SIZ_4b
xungun12
xungun12122d ago
No description
xungun12
xungun12122d ago
nothing changed even if it is 8b
bates64
bates64122d ago
no background, did the rdp crash?
xungun12
xungun12122d ago
just the texture broke
xungun12
xungun12122d ago
doubled the dtdy
No description
xungun12
xungun12122d ago
same thing
bates64
bates64122d ago
great success
No description
xungun12
xungun12122d ago
and it breaks the texture in the assets folder
No description
xungun12
xungun12122d ago
🙀 what was the issue?
bates64
bates64122d ago
need to use gsDPLoadTextureTile_4b
xungun12
xungun12122d ago
No description
xungun12
xungun12122d ago
@Alex
bates64
bates64122d ago
Gfx NoControllerSetupTexGfx[] = {
gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM),
gsDPSetRenderMode(G_RM_XLU_SURF, G_RM_XLU_SURF2),
gsDPSetTextureLUT(G_TT_NONE),
- gsDPLoadTextureTile(ui_no_controller_png, G_IM_FMT_IA, G_IM_SIZ_8b, ui_no_controller_png_width,
+ gsDPLoadTextureTile_4b(ui_no_controller_png, G_IM_FMT_IA, ui_no_controller_png_width,
ui_no_controller_png_height, 0, 0, ui_no_controller_png_width - 1,
ui_no_controller_png_height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, 7,
- 5, G_TX_NOLOD, G_TX_NOLOD),
+ G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
gsSPClearGeometryMode(G_CULL_BOTH | G_LIGHTING),
gsSPSetGeometryMode(G_SHADE | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};

Gfx NoControllerGfx[] = {
- gsSPTextureRectangle(0x0180, 0x0260, 0x0380, 0x02E0, G_TX_RENDERTILE, 0, 0, 0x0400, 0x0400),
+ gsSPTextureRectangle(0x0180, 0x0260, 0x0380, 0x04E0, G_TX_RENDERTILE, 0, 0, 0x0400, 0x0400),
gsDPPipeSync(),
gsSPEndDisplayList(),
};
Gfx NoControllerSetupTexGfx[] = {
gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM),
gsDPSetRenderMode(G_RM_XLU_SURF, G_RM_XLU_SURF2),
gsDPSetTextureLUT(G_TT_NONE),
- gsDPLoadTextureTile(ui_no_controller_png, G_IM_FMT_IA, G_IM_SIZ_8b, ui_no_controller_png_width,
+ gsDPLoadTextureTile_4b(ui_no_controller_png, G_IM_FMT_IA, ui_no_controller_png_width,
ui_no_controller_png_height, 0, 0, ui_no_controller_png_width - 1,
ui_no_controller_png_height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, 7,
- 5, G_TX_NOLOD, G_TX_NOLOD),
+ G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
gsSPClearGeometryMode(G_CULL_BOTH | G_LIGHTING),
gsSPSetGeometryMode(G_SHADE | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};

Gfx NoControllerGfx[] = {
- gsSPTextureRectangle(0x0180, 0x0260, 0x0380, 0x02E0, G_TX_RENDERTILE, 0, 0, 0x0400, 0x0400),
+ gsSPTextureRectangle(0x0180, 0x0260, 0x0380, 0x04E0, G_TX_RENDERTILE, 0, 0, 0x0400, 0x0400),
gsDPPipeSync(),
gsSPEndDisplayList(),
};
I figured this out by looking at a different ia4 texture, map_arrows, and looking at its display list PauseGfxArrows
xungun12
xungun12122d ago
No description
xungun12
xungun12122d ago
oh nevermind XD i forgot to delete the stuff before still broken :/
bates64
bates64122d ago
you changed it to ia4 in splat.yaml and reconfigured, right?
xungun12
xungun12122d ago
No description
xungun12
xungun12122d ago
ooooh to ia4
bates64
bates64122d ago
dont remove lines 179-186 sorry quirk of the diff i sent
xungun12
xungun12122d ago
works!!! thank you so much @Alex ❤️
bates64
bates64122d ago
awesome
xungun12
xungun12122d ago
it breaks transparent pixels unfortunately, but it's not noticeable!
bates64
bates64122d ago
i didnt have that issue
xungun12
xungun12122d ago
semi-trasparent pixels, my bad
xungun12
xungun12122d ago
No description
bates64
bates64122d ago
you dont need to hardcode the height (64) on the gsDPLoadTextureTile ah i see. yeah thats not really a problem
xungun12
xungun12122d ago
No description
bates64
bates64122d ago
oh change the palette maybe
xungun12
xungun12122d ago
IA-4 doesn't use palettes
bates64
bates64122d ago
mb
xungun12
xungun12122d ago
that doesn't cause issues tho
bates64
bates64122d ago
correct, its equivalent better practice to not hardcode it though
xungun12
xungun12122d ago
it breaks the vanilla texture dump tho that's why i did that .
bates64
bates64122d ago
I see, imo that's a non-issue but perhaps we can find a way around that in future (provide a different splat.yaml for build and split @ethteck)
xungun12
xungun12122d ago
👍 also i believe the semi-transparent pixel break is an IA-4 limitation
bates64
bates64122d ago
yeah its an alpha mask mode
xungun12
xungun12122d ago
IA8
This format is similar to IA16, but only 4bits each are allocated for intensity and alpha value information. Each texel can be expressed with 1byte, so you decrease the data size.

IA4
This texture format has 3bits of intensity and 1bit of alpha value information.
IA8
This format is similar to IA16, but only 4bits each are allocated for intensity and alpha value information. Each texel can be expressed with 1byte, so you decrease the data size.

IA4
This texture format has 3bits of intensity and 1bit of alpha value information.
bates64
bates64122d ago
you should see a warning alpha mask mode but translucent pixels used when it builds?
xungun12
xungun12122d ago
nope
xungun12
xungun12122d ago
just these
No description
bates64
bates64122d ago
oh, that's because we don't use the python img/build.py anymore and instead use pigment. @ethteck should we add checks like this to pigment?
bates64
bates64122d ago
e.g. for ia4
No description
Ethan
Ethan122d ago
howdy folks yeah that seems probably good it might want to be opt-in to get the warnings but idk
Want results from more Discord servers?
Add your server
More Posts
I have a errorI'm trying to compile TTYD64 and i get this errorHow to do adaptive musicHere's how to change BGM track volumes dynamically in response to gameplay. call `bgm_set_track_volProblem with Star RodI've posted this on #modding, but I'm gonna post it here so more people can see it and help. I trieCustom MusicHow do I add custom music? I've seen a tutorial on youtube using n64miditool and a guy that said thaStar Rod Helphow do i Change enemies HPStar RodI need help With This ErrorBook of Mario romhack helpHello! I recently purchased an ED64 Plus and tried booting Book of Mario, but I’m getting this pop uNeed help pleaseI’m on dolphin emulator trying to download the infinite pit mod for ttyd and I want to use a gci folFailed to create shader SpriteShader nullI get this error whenever I try to open the sprite editor in Star Rod. I'll post the log in a bit.Adding new Debuff - Frozen status issue #1 of 2Hello, I'm resurfacing this issue when enabling Frozen Status for enemies adding this code enables [Solved] Issue with loading custom mapI tried loading a custom map I began making as a way to figure out how to make maps, but when I try Updating Visual for Boosts in BattleI know older mods have a thing where when displaying stat boosts the visuals don't accurately show wED64 Plus InquiryHello! I’m trying to save up/purchase an ED64 Plus, as it fits my budget. Truth be told, I’m only seWhat controllers do you use for N64 emulation?Just a pollFirelightHi all, I wanted to create a thread for feedback regarding my project Firelight. I've talked about iHow to call a Script from a Function?I've seen you can call a Function from a Script, but can you call a Script from a Function? All I'veOS_ERROR_ISI Causes?I decided to mod the game just by changing some characters, icons, text, etc, and like the weirdest Convert from z64 to n64Hello, when I want to patch a mod (for example Black Pit) I need a Paper Mario .z64 file to patch itNeed help finding the peekaboo badge in PM MQ Jr.Where do i find the peekaboo badge in paper mario master quest jr?cant patch pm64unknow patch format trying dark star edition