Lines Matching refs:sc
83 static void DrawInit ( MySceneCtrlObj* sc );
84 static void DrawTick ( MySceneCtrlObj* sc );
85 static void AnimTick ( MySceneCtrlObj* sc );
90 static void SetLight ( MySceneCtrlObj* sc );
93 static void StatusMessage ( MySceneCtrlObj* sc );
281 static void DrawInit( MySceneCtrlObj* sc ) in DrawInit() argument
299 sc->cam.cfg = DefaultCamera; in DrawInit()
300 SetCamera(&sc->cam); // never changes in this test in DrawInit()
305 sc->lightCtrl[i].theta = DefaultLightPos[i][0]; in DrawInit()
306 sc->lightCtrl[i].phi = DefaultLightPos[i][1]; in DrawInit()
307 sc->lightCtrl[i].v_theta = DefaultLightPos[i][2]; in DrawInit()
308 sc->lightCtrl[i].color = i; in DrawInit()
309 sc->lightCtrl[i].enable = TRUE; in DrawInit()
313 sc->modelType = 0; in DrawInit()
314 sc->materialType = 0; in DrawInit()
315 sc->current = 0; in DrawInit()
316 sc->mode = MODE_ANIMATION; in DrawInit()
319 MTXScale(sc->modelCtrl, 250.0F, 250.0F, 250.0F); in DrawInit()
331 static void DrawTick( MySceneCtrlObj* sc ) in DrawTick() argument
350 MTXRotDeg(mr, 'y', sc->lightCtrl[i].theta); in DrawTick()
351 MTXConcat(sc->cam.view, mr, mv); in DrawTick()
352 MTXRotDeg(mr, 'x', - sc->lightCtrl[i].phi); in DrawTick()
356 ci = (u8)(sc->lightCtrl[i].enable ? i : i + NUM_LIGHTS); in DrawTick()
357 t = (u8)(( sc->current == i ) ? 1 : 0); in DrawTick()
362 MTXConcat(sc->cam.view, sc->modelCtrl, mv); in DrawTick()
369 if ( sc->mode & MODE_MODELCTRL ) in DrawTick()
375 SetLight(sc); in DrawTick()
376 DrawModel(sc->modelType); in DrawTick()
389 static void AnimTick( MySceneCtrlObj* sc ) in AnimTick() argument
395 u32 cur = sc->current; in AnimTick()
401 if ( sc->mode & MODE_ANIMATION ) in AnimTick()
405 sc->lightCtrl[i].theta += sc->lightCtrl[i].v_theta; in AnimTick()
406 sc->lightCtrl[i].theta %= 360; in AnimTick()
413 sc->mode ^= MODE_ANIMATION; in AnimTick()
422 sc->mode &= ~MODE_MODELCTRL; in AnimTick()
426 sc->mode |= MODE_MODELCTRL; in AnimTick()
430 MTXConcat(mry, sc->modelCtrl, sc->modelCtrl); in AnimTick()
431 MTXConcat(mrx, sc->modelCtrl, sc->modelCtrl); in AnimTick()
435 sc->lightCtrl[cur].theta += ( DEMOPadGetStickX(0) / 24 ); in AnimTick()
436 sc->lightCtrl[cur].theta = sc->lightCtrl[cur].theta % 360; in AnimTick()
438 sc->lightCtrl[cur].phi += ( DEMOPadGetStickY(0) / 24 ); in AnimTick()
439 if ( sc->lightCtrl[cur].phi < -90 ) in AnimTick()
440 sc->lightCtrl[cur].phi = -90; in AnimTick()
441 if ( sc->lightCtrl[cur].phi > 90 ) in AnimTick()
442 sc->lightCtrl[cur].phi = 90; in AnimTick()
448 sc->modelType = ( sc->modelType + 1 ) % MODELS; in AnimTick()
456 sc->lightCtrl[cur].enable = !sc->lightCtrl[cur].enable; in AnimTick()
457 StatusMessage(sc); in AnimTick()
464 sc->materialType = ( sc->materialType + 1 ) % NUM_MATERIALS; in AnimTick()
465 OSReport("Material: %s\n", MatName[sc->materialType]); in AnimTick()
471 sc->current = ( sc->current + 1 ) % NUM_LIGHTS; in AnimTick()
472 StatusMessage(sc); in AnimTick()
476 sc->current = ( sc->current + NUM_LIGHTS - 1 ) % NUM_LIGHTS; in AnimTick()
477 StatusMessage(sc); in AnimTick()
633 void SetLight( MySceneCtrlObj* sc ) in SetLight() argument
645 theta = (f32)sc->lightCtrl[i].theta * PI / 180.0F; in SetLight()
646 phi = (f32)sc->lightCtrl[i].phi * PI / 180.0F; in SetLight()
652 MTXMultVec(sc->cam.view, &lpos, &lpos); in SetLight()
654 GXInitLightPos(&sc->lightCtrl[i].lobj, lpos.x, lpos.y, lpos.z); in SetLight()
656 &sc->lightCtrl[i].lobj, in SetLight()
657 MyColors[sc->lightCtrl[i].color] ); in SetLight()
661 GXLoadLightObjImm(&sc->lightCtrl[i].lobj, id); in SetLight()
664 lmask |= sc->lightCtrl[i].enable ? id : 0; in SetLight()
688 GXSetChanMatColor(GX_COLOR0A0, MyColors[sc->materialType + MAT_OFFSET]); in SetLight()
750 static void StatusMessage( MySceneCtrlObj* sc ) in StatusMessage() argument
752 OSReport("%s ", CtrlMsg[sc->current]); in StatusMessage()
754 if ( sc->current < NUM_LIGHTS ) in StatusMessage()
756 if ( sc->lightCtrl[sc->current].enable ) in StatusMessage()