Path: blob/master/SonicMania/Objects/SSZ/EggTower.c
338 views
// ---------------------------------------------------------------------1// RSDK Project: Sonic Mania2// Object Description: EggTower Object3// Object Author: Christian Whitehead/Simon Thomley/Hunter Bridges4// Decompiled by: Rubberduckycooly & RMGRich5// ---------------------------------------------------------------------67#include "Game.h"89ObjectEggTower *EggTower;1011void EggTower_Update(void) {}1213void EggTower_LateUpdate(void) {}1415void EggTower_StaticUpdate(void) {}1617void EggTower_Draw(void)18{19RSDK_THIS(EggTower);2021int32 y = self->position.y - 160 * ((self->position.y - ((ScreenInfo->position.y + ScreenInfo->center.y) << 16)) >> 8);22if (y > (ScreenInfo->position.y + 288) << 16)23y -= (y - (ScreenInfo->position.y << 16) - 0x1200000) >> 1;2425RSDK.MatrixScaleXYZ(&self->matWorld, self->scale.x, -self->scale.x, self->scale.x);26RSDK.MatrixTranslateXYZ(&self->matWorld, (ScreenInfo->position.x + ScreenInfo->center.x) << 16, y, 0, false);27RSDK.MatrixRotateY(&self->matTemp, (self->rotationX + ScreenInfo->position.x) / -6);28RSDK.MatrixMultiply(&self->matWorld, &self->matTemp, &self->matWorld);2930RSDK.Prepare3DScene(EggTower->sceneIndex);3132RSDK.AddModelTo3DScene(EggTower->modelIndex, EggTower->sceneIndex, S3D_SOLIDCOLOR_SHADED_BLENDED, &self->matWorld, NULL, 0x000000);3334RSDK.Draw3DScene(EggTower->sceneIndex);35}3637void EggTower_Create(void *data)38{39RSDK_THIS(EggTower);4041if (!SceneInfo->inEditor) {42self->visible = true;43self->drawGroup = 1;44self->scale.x = 0x37C;45self->active = ACTIVE_NORMAL;46self->updateRange.x = 0x800000;47self->updateRange.y = 0x800000;48}49}5051void EggTower_StageLoad(void)52{53EggTower->modelIndex = RSDK.LoadMesh("SSZ/EggTower.bin", SCOPE_STAGE);54EggTower->sceneIndex = RSDK.Create3DScene("View:EggTower", 0x2000, SCOPE_STAGE);5556RSDK.SetDiffuseColor(EggTower->sceneIndex, 0xC0, 0xC0, 0xC0);57RSDK.SetDiffuseIntensity(EggTower->sceneIndex, 8, 8, 8);58RSDK.SetSpecularIntensity(EggTower->sceneIndex, 16, 16, 16);59}6061#if GAME_INCLUDE_EDITOR62void EggTower_EditorDraw(void) {}6364void EggTower_EditorLoad(void) {}65#endif6667void EggTower_Serialize(void) {}686970