MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / GXSetChanAmbColor

Function GXSetChanAmbColor

src/dolphin/src/gx/GXLight.c:311–355  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

309}
310
311void GXSetChanAmbColor(GXChannelID channel, GXColor color)
312{
313 u32 reg;
314 u32 rgb;
315 u32 colorID;
316 u8 alpha;
317
318 switch (channel)
319 {
320 case GX_COLOR0:
321 rgb = __GXData->ambColor[GX_COLOR0];
322 reg = GX_SET_TRUNC(GXCOLOR_AS_U32(color) & ~0xff, rgb, 24, 31);
323 colorID = GX_COLOR0;
324 break;
325 case GX_COLOR1:
326 rgb = __GXData->ambColor[GX_COLOR1];
327 reg = GX_SET_TRUNC(GXCOLOR_AS_U32(color) & ~0xff, rgb, 24, 31);
328 colorID = GX_COLOR1;
329 break;
330 case GX_ALPHA0:
331 reg = __GXData->ambColor[GX_COLOR0];
332 reg = GX_SET_TRUNC(reg, color.a, 24, 31);
333 colorID = GX_COLOR0;
334 break;
335 case GX_ALPHA1:
336 reg = __GXData->ambColor[GX_COLOR1];
337 reg = GX_SET_TRUNC(reg, color.a, 24, 31);
338 colorID = GX_COLOR1;
339 break;
340 case GX_COLOR0A0:
341 reg = GXCOLOR_AS_U32(color);
342 colorID = GX_COLOR0;
343 break;
344 case GX_COLOR1A1:
345 reg = GXCOLOR_AS_U32(color);
346 colorID = GX_COLOR1;
347 break;
348 default:
349 return;
350 }
351
352 GX_XF_LOAD_REG(0x100a + colorID, reg);
353 __GXData->bpSentNot = GX_TRUE;
354 __GXData->ambColor[colorID] = reg;
355}
356
357void GXSetChanMatColor(GXChannelID channel, GXColor color)
358{

Callers 1

__GXInitGXFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected