Path: blob/master/SonicMania/Objects/BSS/BSS_Palette.c
338 views
// ---------------------------------------------------------------------1// RSDK Project: Sonic Mania2// Object Description: BSS_Palette Object3// Object Author: Christian Whitehead/Simon Thomley/Hunter Bridges4// Decompiled by: Rubberduckycooly & RMGRich5// ---------------------------------------------------------------------67#include "Game.h"89ObjectBSS_Palette *BSS_Palette;1011void BSS_Palette_Update(void) {}1213void BSS_Palette_LateUpdate(void) {}1415void BSS_Palette_StaticUpdate(void) {}1617void BSS_Palette_Draw(void) {}1819void BSS_Palette_Create(void *data)20{21RSDK_THIS(BSS_Palette);2223if (!SceneInfo->inEditor)24destroyEntity(self);25}2627void BSS_Palette_StageLoad(void)28{29BSS_Palette->skyAlpha = 0x100;30BSS_Palette->globeAlpha = 0x80;3132foreach_all(BSS_Palette, palette)33{34if (palette->useStageConfig) {35// Used for Randomized modes36BSS_Palette->startColorID = 16 * palette->paletteID;37}38else {39// Used for the 32 Bonus Stages40RSDK.SetPaletteEntry(1, 0, palette->playfieldA);41RSDK.SetPaletteEntry(1, 1, palette->playfieldB);42RSDK.SetPaletteEntry(1, 2, palette->bgColor1);43RSDK.SetPaletteEntry(1, 3, palette->bgColor2);44RSDK.SetPaletteEntry(1, 4, palette->bgColor3);45}4647BSS_Palette->skyAlpha = palette->skyAlpha;48BSS_Palette->globeAlpha = palette->globeAlpha;49}50}5152#if GAME_INCLUDE_EDITOR53void BSS_Palette_EditorDraw(void)54{55RSDK_THIS(BSS_Palette);5657RSDK.DrawRect(self->position.x - TO_FIXED(16), self->position.y - TO_FIXED(8), TO_FIXED(16), TO_FIXED(16), self->playfieldA, 0xFF, INK_NONE,58false);59RSDK.DrawRect(self->position.x + TO_FIXED(0), self->position.y - TO_FIXED(8), TO_FIXED(16), TO_FIXED(16), self->playfieldB, 0xFF, INK_NONE,60false);6162RSDK.DrawRect(self->position.x - TO_FIXED(18), self->position.y + TO_FIXED(12), TO_FIXED(12), TO_FIXED(12), self->bgColor1, 0xFF, INK_NONE,63false);64RSDK.DrawRect(self->position.x - TO_FIXED(6), self->position.y + TO_FIXED(12), TO_FIXED(12), TO_FIXED(12), self->bgColor2, 0xFF, INK_NONE, false);65RSDK.DrawRect(self->position.x + TO_FIXED(6), self->position.y + TO_FIXED(12), TO_FIXED(12), TO_FIXED(12), self->bgColor3, 0xFF, INK_NONE, false);66}6768void BSS_Palette_EditorLoad(void) {}69#endif7071void BSS_Palette_Serialize(void)72{73RSDK_EDITABLE_VAR(BSS_Palette, VAR_BOOL, useStageConfig);74RSDK_EDITABLE_VAR(BSS_Palette, VAR_ENUM, paletteID);75RSDK_EDITABLE_VAR(BSS_Palette, VAR_UINT8, skyAlpha);76RSDK_EDITABLE_VAR(BSS_Palette, VAR_UINT8, globeAlpha);77RSDK_EDITABLE_VAR(BSS_Palette, VAR_COLOR, playfieldA);78RSDK_EDITABLE_VAR(BSS_Palette, VAR_COLOR, playfieldB);79RSDK_EDITABLE_VAR(BSS_Palette, VAR_COLOR, bgColor1);80RSDK_EDITABLE_VAR(BSS_Palette, VAR_COLOR, bgColor2);81RSDK_EDITABLE_VAR(BSS_Palette, VAR_COLOR, bgColor3);82}838485