clang-format changes, and some scene executor type enums

This commit is contained in:
shibbo 2024-09-20 20:56:48 -04:00
parent 8446f8d795
commit 5a5c144afe
5 changed files with 293 additions and 31 deletions

View File

@ -1,35 +1,71 @@
---
BasedOnStyle: LLVM
AccessModifierOffset: '-4'
Language: Cpp
AccessModifierOffset: -4
AlignAfterOpenBracket: Align
AlignTrailingComments: 'true'
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignOperands: true
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Inline
AllowShortIfStatementsOnASingleLine: Never
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakTemplateDeclarations: 'Yes'
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: Yes
BinPackArguments: true
BinPackParameters: true
BraceWrapping:
AfterControlStatement: true
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Stroustrup
ColumnLimit: '300'
CommentPragmas: '^ (IWYU pragma:|NOLINT)'
ConstructorInitializerIndentWidth: '4'
ContinuationIndentWidth: '4'
IndentWidth: '4'
InsertBraces: 'true'
Language: Cpp
MaxEmptyLinesToKeep: '1'
BreakBeforeBraces: Attach
BreakBeforeTernaryOperators: false
BreakConstructorInitializersBeforeComma: false
ColumnLimit: 150
CommentPragmas: '^ (IWYU pragma:|NOLINT)'
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: false
DisableFormat: false
ForEachMacros: []
IncludeCategories:
- Regex: '^<[Ww]indows\.h>$'
Priority: 1
- Regex: '^<'
Priority: 2
- Regex: '^"'
Priority: 3
IndentCaseLabels: false
IndentWidth: 4
IndentWrappedFunctionNames: false
KeepEmptyLinesAtTheStartOfBlocks: false
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: All
ObjCBlockIndentWidth: '4'
PenaltyBreakBeforeFirstCallParameter: '19'
PenaltyBreakComment: '300'
PenaltyBreakFirstLessLess: '120'
PenaltyBreakString: '1000'
PenaltyExcessCharacter: '1000000'
PenaltyReturnTypeOnItsOwnLine: '60'
PointerAlignment: Right
ReflowComments: 'true'
SortIncludes: 'true'
ObjCBlockIndentWidth: 4
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Left
ReflowComments: true
SortIncludes: true
SpaceAfterCStyleCast: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: ControlStatements
SpacesBeforeTrailingComments: '4'
TabWidth: '4'
UseTab: Never
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 2
SpacesInAngles: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
TabWidth: 4
UseTab: Never

View File

@ -0,0 +1 @@
#pragma once

View File

@ -2,17 +2,147 @@
namespace MR {
enum MovementType {
MovementType_StopSceneDelayRequest = 0x01,
MovementType_Camera = 0x02,
MovementType_ScreenEffect = 0x03,
MovementType_ClippingDirector = 0x04,
MovementType_SensorHitChecker = 0x05,
MovementType_MsgSharedGroup = 0x06,
MovementType_UNK_0x07 = 0x07,
MovementType_AudCameraWatcher = 0x09,
MovementType_TalkDirector = 0x0A,
MovementType_DemoDirector = 0x0B,
MovementType_UNK_0x0C = 0x0C,
MovementType_AreaObj = 0x0D,
MovementType_Layout = 0x0E,
MovementType_LayoutDecoration = 0x0F,
MovementType_Movie = 0x10,
MovementType_WipeLayout = 0x11,
MovementType_LayoutOnPause = 0x12,
MovementType_MovieSubtitles = 0x13,
MovementType_UNK_0x14 = 0x14,
MovementType_UNK_0x15 = 0x15,
MovementType_MirrorCamera = 0x16,
MovementType_ImageEffect = 0x17,
MovementType_AudEffectDirector = 0x18,
MovementType_AudBgmConductor = 0x19,
MovementType_CameraCover = 0x1A,
MovementType_SwitchWatcherHolder = 0x1B,
MovementType_ClippedMapParts = 0x1C,
MovementType_Planet = 0x1D,
MovementType_CollisionMapObj = 0x1E,
MovementType_CollisionEnemy = 0x1F,
MovementType_CollisionDirector = 0x20,
MovementType_Environment = 0x21,
MovementType_MapObj = 0x22,
MovementType_MapObjDecoration = 0x23,
MovementType_Sky = 0x24,
MovementType_Player = 0x25,
MovementType_PlayerDecoration = 0x26,
MovementType_PlayerMessenger = 0x27,
MovementType_NPC = 0x28,
MovementType_Ride = 0x29,
MovementType_Enemy = 0x2A,
MovementType_EnemyDecoration = 0x2B,
MovementType_Item = 0x2C,
MovementType_ShadowControllerHolder = 0x2D
};
enum CalcAnimType {
CalcAnimType_ClippedMapParts = 0x00,
CalcAnimType_Planet = 0x01,
CalcAnimType_CollisionMapObj = 0x02,
CalcAnimType_CollisionEnemy = 0x03,
CalcAnimType_Environment = 0x04,
CalcAnimType_MapObj = 0x05,
CalcAnimType_NPC = 0x06,
CalcAnimType_Ride = 0x07,
CalcAnimType_Enemy = 0x08,
CalcAnimType_Player = 0x09,
CalcAnimType_PlayerDecoration = 0x0A,
CalcAnimType_MapObjDecoration = 0x0B,
CalcAnimType_MirrorMapObj = 0x0C,
CalcAnimType_Layout = 0x0D,
CalcAnimType_LayoutDecoration = 0x0E,
CalcAnimType_MovieSubtitles = 0x0F,
CalcAnimType_Item = 0x10,
CalcAnimType_UNK_0x12 = 0x12,
CalcAnimType_AnimParticle = 0x13,
CalcAnimType_AnimParticleIgnorePause = 0x14
};
enum DrawType {
DrawType_SwingRope = 0x00,
DrawType_Creeper = 0x02,
DrawType_PlantStalk = 0x04,
DrawType_Plant = 0x05,
DrawType_Trapeze = 0x06,
DrawType_OceanBowl = 0x07,
DrawType_OceanRing = 0x08,
DrawType_OceanRingPipeInside = 0x09,
DrawType_OceanRingPipeOutside = 0x0A,
DrawType_OceanSphere = 0x0B,
DrawType_WaterRoad = 0x0C,
DrawType_WhirlPoolAccelerator = 0x0D,
DrawType_ElectricRailHolder = 0x0E,
DrawType_DrawType_BigBubble = 0x0F,
DrawType_BigBubbleGoal = 0x10,
DrawType_SpinDriverPathDrawer = 0x12,
DrawType_GCapture = 0x13,
DrawType_ClipAreaDropLaser = 0x14,
DrawType_SpiderThread = 0x15,
DrawType_SpaceCocoon = 0x16,
DrawType_WarpPodPath = 0x18,
DrawType_FlexibleSphere = 0x19,
DrawType_KirairaChain = 0x1A,
DrawType_WaterPlant = 0x1B,
DrawType_VolumeModel = 0x1C,
DrawType_Flag = 0x1D,
DrawType_AstroDomeSkyClear = 0x1E,
DrawType_AstroDomeOrbit = 0x1F,
DrawType_OceanBowlBloomDrawer = 0x21,
DrawType_Player = 0x22,
DrawType_MiiFacePartsHolder = 0x25,
DrawType_ShadowSurface = 0x26,
DrawType_ShadowVolume = 0x27,
DrawType_AlphaShadow = 0x29,
DrawType_ClipArea = 0x2A,
DrawType_FallOutFieldDraw = 0x2B,
DrawType_ClipFieldFillDraw = 0x2C,
DrawType_CaptureScreenIndirect = 0x2D,
DrawType_CaptureScreenCamera = 0x2E,
DrawType_CenterScreenBlur = 0x2F,
DrawType_Fur = 0x31,
DrawType_BloomEffectPreDraw = 0x34,
DrawType_BloomEffectPostDraw = 0x35,
DrawType_BloomModel = 0x36,
DrawType_ImageEffect = 0x37,
DrawType_DashRing = 0x38,
DrawType_BrightSun = 0x39,
DrawType_WaterCameraFilter = 0x3A,
DrawType_Layout = 0x3C,
DrawType_LayoutDecoration = 0x3D,
DrawType_LayoutOnPause = 0x3E,
DrawType_Movie = 0x3F,
DrawType_MovieSubtitles = 0x40,
DrawType_CometScreenFilter = 0x41,
DrawType_WipeLayout = 0x42,
DrawType_TalkLayout = 0x43,
DrawType_CinemaFrame = 0x45,
DrawType_GalaxyNamePlate = 0x46,
DrawType_EffectDraw3D = 0x47,
DrawType_EffectDrawIndirect = 0x48,
DrawType_EffectDrawAfterIndirect = 0x49,
DrawType_EffectDraw2D = 0x4A,
DrawType_EffectDrawFor2DModel = 0x4B,
DrawType_EffectDrawForBloomEffect = 0x4C,
DrawType_EffectDrawAfterImageEffect = 0x4D,
DrawType_MessageBoardCapture = 0x4E,
DrawType_MiiFaceIcon = 0x4F,
DrawType_MiiFaceNew = 0x50,
DrawType_CameraCover = 0x51,
};
};
}; // namespace MR
class CategoryList {
public:

View File

@ -17,9 +17,13 @@
#define SceneObj_MarioHolder 0x14
#define SceneObj_MirrorCamera 0x16
#define SceneObj_CameraContext 0x17
#define SceneObj_TalkDirector 0x19
#define SceneObj_StopSceneController 0x1B
#define SceneObj_SceneObjMovementCtrl 0x1C
#define SceneObj_PlayerActionGuidance 0x23
#define SceneObj_PlacementStateChecker 0x27
#define SceneObj_NamePosHolder 0x28
#define SceneObj_NPCDirector 0x29
#define SceneObj_AllLiveActorGroup 0x30
#define SceneObj_PlanetGravityManager 0x32
#define SceneObj_PurpleCoinHolder 0x37

View File

@ -0,0 +1,91 @@
#ifndef RSO_H
#define RSO_H
#include "types.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct RSOObjectHeader RSOObjectHeader;
typedef u32 RSOHash;
typedef struct RSOObjectList RSOObjectList;
typedef struct RSOObjectLink RSOObjectLink;
typedef struct RSOObjectInfo RSOObjectInfo;
typedef struct RSOSymbolHeader RSOSymbolHeader;
typedef struct RSOSectionInfo RSOSectionInfo;
typedef struct RSOExportTable RSOExportTable;
typedef struct RSOImportTable RSOImportTable;
typedef struct RSORel RSORel;
typedef struct RSOExportFuncTable RSOExportFuncTable;
struct RSOExportFuncTable {
const char* mSymbolName;
u32* mSymbolPtr;
};
struct RSOObjectList {
RSOObjectInfo* mHead;
RSOObjectInfo* mTail;
};
struct RSOObjectLink {
RSOObjectInfo* mNext;
RSOObjectInfo* mPrev;
};
struct RSOObjectInfo {
RSOObjectLink mLink;
u32 mNumSections;
u32 mSectionInfoOffset;
u32 mNameOffset;
u32 mNameSize;
u32 mVersion;
};
struct RSOSymbolHeader {
u32 mTableOffset;
u32 mTableSize;
u32 mStringOffset;
};
struct RSOObjectHeader {
RSOObjectInfo mInfo;
u32 mBssSize;
u8 mPrologSection;
u8 mEpilogSection;
u8 mUnresolvedSection;
u8 mBssSection;
u32 mProlog;
u32 mEpilog;
u32 mUnresolved;
u32 mInternalRelOffset;
u32 mInternalRelSize;
u32 mExternalRelOffset;
u32 mExternalRelSize;
RSOSymbolHeader mExpHeader;
RSOSymbolHeader mImpHeader;
};
struct RSOSectionInfo {
u32 mOffset;
u32 mSize;
};
BOOL RSOListInit(void *);
BOOL RSOLinkList(void *, void *);
BOOL RSOIsImportSymbolResolvedAll(const RSOObjectHeader *);
int RSOGetJumpCodeSize(const RSOObjectHeader *);
int RSOGetJumpCodeSize(const RSOObjectHeader *);
void RSOMakeJumpCode(const RSOObjectHeader *, void *);
const void* RSOFindExportSymbolAddr(const RSOObjectHeader *, const char *);
#ifdef __cplusplus
}
#endif
#endif // RSO_H