Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Item: Add Shine #163

Merged
merged 1 commit into from
Oct 17, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 114 additions & 0 deletions src/Item/Shine.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
#pragma once

#include "Library/LiveActor/LiveActor.h"

#include "Util/IUseDimension.h"

class Shine : public al::LiveActor, public IUseDimension {
public:
Shine(const char*);

void init(const al::ActorInitInfo&) override;
al::LiveActor* getCurrentModel();
bool tryExpandShadowAndClipping();
void initAppearDemo(const al::ActorInitInfo&);
void onAppear();
void offAppear();
void hideAllModel();
void invalidateKillSensor();
void initAfterPlacement() override;
void getDirect();
void updateHintTrans(const sead::Vector3f&) const;
void appear() override;
void makeActorAlive() override;
void makeActorDead() override;
void control() override;
void updateModelActorPose();
void attackSensor(al::HitSensor*, al::HitSensor*) override;
bool receiveMsg(const al::SensorMsg*, al::HitSensor*, al::HitSensor*) override;
void showCurrentModel();
void appearPopup();
void addDemoActorWithModel();
void get();
void endClipped() override;
void initAppearDemoFromHost(const al::ActorInitInfo&, const sead::Vector3f&);
void initAppearDemoFromHost(const al::ActorInitInfo&);
void initAppearDemoActorCamera(const al::ActorInitInfo&);
void createShineEffectInsideObject(const al::ActorInitInfo&, const sead::Vector3f&,
const char*);
bool isGot() const;
bool isEmptyShineForDemoGetGrand() const;
void setShopShine();
bool isEndAppear() const;
bool isEndAppearGK() const;
void onSwitchGet();
s32 getColorFrame() const;
void setHintPhotoShine(const al::ActorInitInfo&);
bool appearCommon();
bool tryChangeCoin();
void tryAppearOrDemoAppear();

void appearPopup(const sead::Vector3f&);
void appearPopupDelay(s32);
void appearPopupSlot(const sead::Vector3f&);
void appearWarp(const sead::Vector3f&, const sead::Vector3f&);
void appearStatic();
void appearPopupWithoutDemo();
void appearPopupGrandByBoss(s32);
void appearPopupWithoutWarp();
void appearAndJoinBossDemo(const char*, const sead::Quatf&, const sead::Vector3f&);

void endBossDemo();
void endBossDemoAndStartFall(f32);
void appearWait();
void appearWait(const sead::Vector3f&);
void startHold();
void startFall();
void getDirectWithDemo();
void addDemoModelActor();
void setGrandShine();
void exeWaitRequestDemo();
void exeWaitKill();
void exeDemoAppear();
bool tryWaitCameraInterpole() const;
bool tryStartAppearDemo();
void calcCameraAt();

void exeDemoMove();
void updateIgnoreFrame();
void exeDemoWait();
void exeDemoGet();
void exeDemoGetMain();
void exeDemoGetGrand();
void exeBossDemo();
void exeBossDemoAfterFall();
void exeBossDemoAfterLanding();
void exeBossDemoFall();
void exeBossDemoFallSlowdown();
void exeBossDemoRise();
void exeBossDemoRiseDamp();
void exeAppearSlot();
void exeAppearSlotDown();
void exeAppear();
void exeAppearWait();
void exeAppearDown();
void exeAppearStatic();
void exeAppearEnd();
void exeAppearWaitCameraInterpole();
void exeWait();
void exeGot();
void exeHold();
void exeFall();
void exeDelay();
void exeHide();
void exeReaction();
void exeCoin();

void updateModelActorResetPosition();
ActorDimensionKeeper* getActorDimensionKeeper() const override;

private:
void* filler_380[78];
};

static_assert(sizeof(Shine) == 0x380);
Loading