Some more portal polish
This commit is contained in:
parent
421c943132
commit
1e2e20d828
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -291,6 +291,14 @@ void portalRender(struct Portal* portal, struct Portal* otherPortal, struct Rend
|
|||
}
|
||||
|
||||
struct RenderProps nextProps;
|
||||
int portalIndex = portal < otherPortal ? 0 : 1;
|
||||
|
||||
if (props->clippingPortalIndex == portalIndex) {
|
||||
nextProps.minX = 0;
|
||||
nextProps.maxX = SCREEN_WD;
|
||||
nextProps.minY = 0;
|
||||
nextProps.maxY = SCREEN_HT;
|
||||
} else {
|
||||
|
||||
screenClipperInitWithCamera(&clipper, &props->camera, (float)SCREEN_WD / (float)SCREEN_HT, portalTransform);
|
||||
|
||||
|
@ -307,6 +315,7 @@ void portalRender(struct Portal* portal, struct Portal* otherPortal, struct Rend
|
|||
nextProps.maxX = MIN(nextProps.maxX, props->maxX);
|
||||
nextProps.minY = MAX(nextProps.minY, props->minY);
|
||||
nextProps.maxY = MIN(nextProps.maxY, props->maxY);
|
||||
}
|
||||
|
||||
if (nextProps.minX < nextProps.maxX && nextProps.minY < nextProps.maxY) {
|
||||
renderPropsNext(props, &nextProps, &portal->transform, &otherPortal->transform, renderState);
|
||||
|
@ -323,6 +332,7 @@ void portalRender(struct Portal* portal, struct Portal* otherPortal, struct Rend
|
|||
|
||||
guMtxF2L(portalTransform, matrix);
|
||||
gSPMatrix(renderState->dl++, matrix, G_MTX_MODELVIEW | G_MTX_PUSH | G_MTX_MUL);
|
||||
|
||||
gSPDisplayList(renderState->dl++, portal_portal_face_model_gfx);
|
||||
gDPPipeSync(renderState->dl++);
|
||||
if (portal->flags & PortalFlagsOddParity) {
|
||||
|
|
Loading…
Reference in a new issue