Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Broken mat revert displaylists causing vanish cap state to bleed into other displaylists #331

Closed
AgentXLP opened this issue Apr 17, 2024 · 5 comments

Comments

@AgentXLP
Copy link

When exporting Mario's model, the vanish cap state visibly bleeds into other transparent displaylists. I theorize the whole introduction of F3DEX3 and mat bleeding may have created this bug. This has never occurred until recently and has caused issues for lots of character pack creators on sm64coopdx.
image
This screenshot was taken on sm64coopdx, a Super Mario 64 PC Port based project.

Gfx mario_Right_Foot_DL_mesh_layer_1_mat_override_metal_0[] = {
	gsSPDisplayList(mat_mario_metal),
	gsSPDisplayList(mario_Right_Foot_DL_mesh_layer_1_tri_0),
	gsSPDisplayList(mat_revert_mario_metal),
	gsDPPipeSync(),
	gsSPSetGeometryMode(G_LIGHTING),
	gsSPClearGeometryMode(G_TEXTURE_GEN),
	gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
	gsSPTexture(65535, 65535, 0, 0, 0),
	gsDPSetEnvColor(255, 255, 255, 255),
	gsDPSetAlphaCompare(G_AC_NONE),
	gsDPPipeSync(),
	gsSPSetGeometryMode(G_LIGHTING),
	gsSPClearGeometryMode(G_TEXTURE_GEN),
	gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
	gsSPTexture(65535, 65535, 0, 0, 0),
	gsDPSetEnvColor(255, 255, 255, 255),
	gsDPSetAlphaCompare(G_AC_NONE),
	gsSPEndDisplayList(),
};

I'm not exactly an expert at reading and understanding displaylists, but this one for example doesn't look right. It's running the same list of commands twice after the displaylist calls. Using an older version of Fast64 is currently the only real fix for us.

@Lilaa3
Copy link
Collaborator

Lilaa3 commented Apr 21, 2024

Is that not the metal mario override? it seems to be applying the metal material, drawing the foot geometry, reverting metal mario, and then reverting everything (because its the last dl called in the mario model when using metal mario).
Could you send geo.inc.c and model.inc.c

@Lilaa3
Copy link
Collaborator

Lilaa3 commented Apr 21, 2024

@jesusyoshi54

@amykaname
Copy link

happens when exporting the included mario.blend, here's the files you requested @Lilaa3
mario.zip

@amykaname
Copy link

doesn't happen when using 8dd4abd

@Lilaa3
Copy link
Collaborator

Lilaa3 commented May 28, 2024

Fixed in 1d2e6ae

@Lilaa3 Lilaa3 closed this as completed May 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants