mirror of
https://github.com/geode-sdk/geode.git
synced 2025-02-18 09:10:17 -05:00
611 lines
11 KiB
C++
611 lines
11 KiB
C++
|
#pragma once
|
||
|
|
||
|
struct TodoReturnPlaceholder;
|
||
|
|
||
|
#ifdef GEODE_REVERT_TODO_RETURN
|
||
|
using TodoReturn = void;
|
||
|
#pragma message("Reverting TodoReturn to void. This behavior is deprecated and will be removed in a later update.")
|
||
|
#else
|
||
|
#define GEODE_REVERT_TODO_RETURN 0
|
||
|
using TodoReturn = TodoReturnPlaceholder;
|
||
|
#endif
|
||
|
|
||
|
// thanks pie
|
||
|
enum class SearchType {
|
||
|
Search = 0,
|
||
|
Downloaded = 1,
|
||
|
MostLiked = 2,
|
||
|
Trending = 3,
|
||
|
Recent = 4,
|
||
|
UsersLevels = 5,
|
||
|
Featured = 6,
|
||
|
Magic = 7,
|
||
|
Sends = 8,
|
||
|
MapPack = 9,
|
||
|
MapPackOnClick = 10,
|
||
|
Awarded = 11,
|
||
|
Followed = 12,
|
||
|
Friends = 13,
|
||
|
Users = 14,
|
||
|
LikedGDW = 15,
|
||
|
HallOfFame = 16,
|
||
|
FeaturedGDW = 17,
|
||
|
Similar = 18,
|
||
|
Type19 = 19,
|
||
|
TopListsUnused = 20,
|
||
|
DailySafe = 21,
|
||
|
WeeklySafe = 22,
|
||
|
EventSafe = 23,
|
||
|
Reported = 24,
|
||
|
LevelListsOnClick = 25,
|
||
|
Type26 = 26,
|
||
|
Sent = 27,
|
||
|
MyLevels = 98,
|
||
|
SavedLevels = 99,
|
||
|
FavouriteLevels = 100,
|
||
|
SmartTemplates = 101,
|
||
|
MyLists = 102,
|
||
|
FavouriteLists = 103
|
||
|
};
|
||
|
|
||
|
enum class GameObjectType {
|
||
|
Solid = 0,
|
||
|
Hazard = 2,
|
||
|
InverseGravityPortal = 3,
|
||
|
NormalGravityPortal = 4,
|
||
|
ShipPortal = 5,
|
||
|
CubePortal = 6,
|
||
|
Decoration = 7,
|
||
|
YellowJumpPad = 8,
|
||
|
PinkJumpPad = 9,
|
||
|
GravityPad = 10,
|
||
|
YellowJumpRing = 11,
|
||
|
PinkJumpRing = 12,
|
||
|
GravityRing = 13,
|
||
|
InverseMirrorPortal = 14,
|
||
|
NormalMirrorPortal = 15,
|
||
|
BallPortal = 16,
|
||
|
RegularSizePortal = 17,
|
||
|
MiniSizePortal = 18,
|
||
|
UfoPortal = 19,
|
||
|
Modifier = 20,
|
||
|
Breakable = 21,
|
||
|
SecretCoin = 22,
|
||
|
DualPortal = 23,
|
||
|
SoloPortal = 24,
|
||
|
Slope = 25,
|
||
|
WavePortal = 26,
|
||
|
RobotPortal = 27,
|
||
|
TeleportPortal = 28,
|
||
|
GreenRing = 29,
|
||
|
Collectible = 30,
|
||
|
UserCoin = 31,
|
||
|
DropRing = 32,
|
||
|
SpiderPortal = 33,
|
||
|
RedJumpPad = 34,
|
||
|
RedJumpRing = 35,
|
||
|
CustomRing = 36,
|
||
|
DashRing = 37,
|
||
|
GravityDashRing = 38,
|
||
|
CollisionObject = 39,
|
||
|
Special = 40,
|
||
|
SwingPortal = 41,
|
||
|
GravityTogglePortal = 42,
|
||
|
SpiderOrb = 43,
|
||
|
SpiderPad = 44,
|
||
|
TeleportOrb = 46,
|
||
|
AnimatedHazard = 47,
|
||
|
};
|
||
|
|
||
|
enum class GJGameEvent {
|
||
|
None = 0,
|
||
|
TinyLanding = 1,
|
||
|
FeatherLanding = 2,
|
||
|
SoftLanding = 3,
|
||
|
NormalLanding = 4,
|
||
|
HardLanding = 5,
|
||
|
HitHead = 6,
|
||
|
OrbTouched = 7,
|
||
|
OrbActivated = 8,
|
||
|
PadActivated = 9,
|
||
|
GravityInverted = 10,
|
||
|
GravityRestored = 11,
|
||
|
NormalJump = 12,
|
||
|
RobotBoostStart = 13,
|
||
|
RobotBoostStop = 14,
|
||
|
UFOJump = 15,
|
||
|
ShipBoostStart = 16,
|
||
|
ShipBoostEnd = 17,
|
||
|
SpiderTeleport = 18,
|
||
|
BallSwitch = 19,
|
||
|
SwingSwitch = 20,
|
||
|
WavePush = 21,
|
||
|
WaveRelease = 22,
|
||
|
DashStart = 23,
|
||
|
DashStop = 24,
|
||
|
Teleported = 25,
|
||
|
PortalNormal = 26,
|
||
|
PortalShip = 27,
|
||
|
PortalBall = 28,
|
||
|
PortalUFO = 29,
|
||
|
PortalWave = 30,
|
||
|
PortalRobot = 31,
|
||
|
PortalSpider = 32,
|
||
|
PortalSwing = 33,
|
||
|
YellowOrb = 34,
|
||
|
PinkOrb = 35,
|
||
|
RedOrb = 36,
|
||
|
GravityOrb = 37,
|
||
|
GreenOrb = 38,
|
||
|
DropOrb = 39,
|
||
|
CustomOrb = 40,
|
||
|
DashOrb = 41,
|
||
|
GravityDashOrb = 42,
|
||
|
SpiderOrb = 43,
|
||
|
TeleportOrb = 44,
|
||
|
YellowPad = 45,
|
||
|
PinkPad = 46,
|
||
|
RedPad = 47,
|
||
|
GravityPad = 48,
|
||
|
SpiderPad = 49,
|
||
|
PortalGravityFlip = 50,
|
||
|
PortalGravityNormal = 51,
|
||
|
PortalGravityInvert = 52,
|
||
|
PortalFlip = 53,
|
||
|
PortalUnFlip = 54,
|
||
|
PortalNormalScale = 55,
|
||
|
PortalMiniScale = 56,
|
||
|
PortalDualOn = 57,
|
||
|
PortalDualOff = 58,
|
||
|
PortalTeleport = 59,
|
||
|
Checkpoint = 60,
|
||
|
DestroyBlock = 61,
|
||
|
UserCoin = 62,
|
||
|
PickupItem = 63,
|
||
|
CheckpointRespawn = 64,
|
||
|
FallLow = 65,
|
||
|
FallMed = 66,
|
||
|
FallHigh = 67,
|
||
|
FallVHigh = 68,
|
||
|
JumpPush = 69,
|
||
|
JumpRelease = 70,
|
||
|
LeftPush = 71,
|
||
|
LeftRelease = 72,
|
||
|
RightPush = 73,
|
||
|
RightRelease = 74,
|
||
|
PlayerReversed = 75,
|
||
|
FallSpeedLow = 76,
|
||
|
FallSpeedMed = 77,
|
||
|
FallSpeedHigh = 78
|
||
|
};
|
||
|
|
||
|
enum class PulseEffectType {
|
||
|
};
|
||
|
enum class TouchTriggerType {
|
||
|
};
|
||
|
enum class PlayerButton {
|
||
|
Jump = 1,
|
||
|
Left = 2,
|
||
|
Right = 3,
|
||
|
};
|
||
|
enum class GhostType {
|
||
|
};
|
||
|
enum class TableViewCellEditingStyle {
|
||
|
};
|
||
|
enum class UserListType {
|
||
|
Friends = 0,
|
||
|
Blocked = 1,
|
||
|
};
|
||
|
enum class GJErrorCode {
|
||
|
};
|
||
|
enum class AccountError {
|
||
|
};
|
||
|
enum class GJSongError {
|
||
|
};
|
||
|
enum class LikeItemType {
|
||
|
Unknown = 0,
|
||
|
Level = 1,
|
||
|
Comment = 2,
|
||
|
AccountComment = 3,
|
||
|
LevelList = 4
|
||
|
};
|
||
|
|
||
|
enum class CommentError {
|
||
|
};
|
||
|
enum class BackupAccountError {
|
||
|
};
|
||
|
enum class GJMusicAction {};
|
||
|
enum class CellAction {};
|
||
|
enum class GJActionCommand {};
|
||
|
enum class DifficultyIconType {};
|
||
|
enum class GauntletType {};
|
||
|
enum class GJMPErrorCode {};
|
||
|
enum class GJTimedLevelType {
|
||
|
Daily = 0,
|
||
|
Weekly = 1,
|
||
|
Event = 2
|
||
|
};
|
||
|
enum class SongSelectType {};
|
||
|
enum class AudioTargetType {};
|
||
|
enum class FMODReverbPreset {};
|
||
|
enum class DemonDifficultyType {};
|
||
|
enum class PlayerCollisionDirection {};
|
||
|
enum class ChestSpriteState {};
|
||
|
enum class FormatterType {};
|
||
|
enum class AudioModType {};
|
||
|
enum class GJAreaActionType {};
|
||
|
enum class GJSmartDirection {};
|
||
|
enum class SmartBlockType {};
|
||
|
enum class TouchTriggerControl {};
|
||
|
enum class SmartPrefabResult {};
|
||
|
enum class AudioSortType {};
|
||
|
enum class spriteMode {};
|
||
|
enum class GJAssetType {};
|
||
|
enum class CommentKeyType {
|
||
|
Level = 0,
|
||
|
User = 1,
|
||
|
LevelList = 2
|
||
|
};
|
||
|
enum class LevelLeaderboardMode {
|
||
|
Time = 0,
|
||
|
Points = 1
|
||
|
};
|
||
|
enum class StatKey {};
|
||
|
enum class TextStyleType {};
|
||
|
enum class InputValueType {};
|
||
|
enum class GJInputStyle {};
|
||
|
enum class GJDifficultyName {
|
||
|
Short = 0,
|
||
|
Long = 1
|
||
|
};
|
||
|
enum class GJFeatureState {
|
||
|
None = 0,
|
||
|
Featured = 1,
|
||
|
Epic = 2,
|
||
|
Legendary = 3,
|
||
|
Mythic = 4
|
||
|
};
|
||
|
enum class GJKeyGroup {};
|
||
|
enum class GJKeyCommand {};
|
||
|
enum class SelectSettingType {};
|
||
|
enum class gjParticleValue {};
|
||
|
enum class ColorSelectType {};
|
||
|
enum class AudioGuidelinesType {};
|
||
|
enum class SmartBrowseFilter {};
|
||
|
enum class GJUITouchEvent {};
|
||
|
enum class ObjectScaleType {
|
||
|
XY = 0,
|
||
|
X = 1,
|
||
|
Y = 2
|
||
|
};
|
||
|
enum class SavedActiveObjectState {};
|
||
|
enum class SavedSpecialObjectState {};
|
||
|
enum class SavedObjectStateRef {};
|
||
|
|
||
|
// Thanks cocoa!
|
||
|
#ifdef GEODE_IS_MACOS
|
||
|
#undef CommentType
|
||
|
#endif
|
||
|
|
||
|
enum class CommentType {
|
||
|
Level = 0,
|
||
|
Account = 1,
|
||
|
};
|
||
|
|
||
|
enum class BoomListType {
|
||
|
Default = 0x0,
|
||
|
User = 0x2,
|
||
|
Stats = 0x3,
|
||
|
Achievement = 0x4,
|
||
|
Level = 0x5,
|
||
|
Level2 = 0x6,
|
||
|
Comment = 0x7,
|
||
|
Comment2 = 0x8,
|
||
|
Comment3 = 0x9,
|
||
|
Song = 0xc,
|
||
|
Score = 0xd,
|
||
|
MapPack = 0xe,
|
||
|
CustomSong = 0xf,
|
||
|
Comment4 = 0x10,
|
||
|
User2 = 0x11,
|
||
|
Request = 0x12,
|
||
|
Message = 0x13,
|
||
|
LevelScore = 0x14,
|
||
|
Artist = 0x15,
|
||
|
SmartTemplate = 0x16,
|
||
|
SFX = 0x17,
|
||
|
SFX2 = 0x18,
|
||
|
CustomMusic = 0x19,
|
||
|
Options = 0x1a,
|
||
|
LevelList = 0x1b,
|
||
|
Level3 = 0x1c,
|
||
|
LevelList2 = 0x1d,
|
||
|
LevelList3 = 0x1e,
|
||
|
Level4 = 0x1f,
|
||
|
LocalLevelScore = 0x21,
|
||
|
URL = 0x22,
|
||
|
};
|
||
|
|
||
|
enum class CurrencySpriteType {
|
||
|
// todo
|
||
|
};
|
||
|
|
||
|
enum class CurrencyRewardType {
|
||
|
// todo
|
||
|
};
|
||
|
|
||
|
enum class MenuAnimationType {
|
||
|
Scale = 0,
|
||
|
Move = 1,
|
||
|
};
|
||
|
|
||
|
enum class ShopType {
|
||
|
Normal,
|
||
|
Secret,
|
||
|
Community
|
||
|
};
|
||
|
|
||
|
// Geode Addition
|
||
|
enum class ZLayer {
|
||
|
B5 = -5,
|
||
|
B4 = -3,
|
||
|
B3 = -1,
|
||
|
B2 = 1,
|
||
|
B1 = 3,
|
||
|
Default = 0,
|
||
|
T1 = 5,
|
||
|
T2 = 7,
|
||
|
T3 = 9,
|
||
|
T4 = 11,
|
||
|
};
|
||
|
|
||
|
enum class UpdateResponse {
|
||
|
Unknown,
|
||
|
UpToDate,
|
||
|
GameVerOutOfDate,
|
||
|
UpdateSuccess,
|
||
|
};
|
||
|
|
||
|
enum class UnlockType {
|
||
|
Cube = 0x1,
|
||
|
Col1 = 0x2,
|
||
|
Col2 = 0x3,
|
||
|
Ship = 0x4,
|
||
|
Ball = 0x5,
|
||
|
Bird = 0x6,
|
||
|
Dart = 0x7,
|
||
|
Robot = 0x8,
|
||
|
Spider = 0x9,
|
||
|
Streak = 0xA,
|
||
|
Death = 0xB,
|
||
|
GJItem = 0xC,
|
||
|
Swing = 0xD,
|
||
|
Jetpack = 0xE,
|
||
|
ShipFire = 0xF
|
||
|
};
|
||
|
|
||
|
enum class SpecialRewardItem {
|
||
|
FireShard = 0x1,
|
||
|
IceShard = 0x2,
|
||
|
PoisonShard = 0x3,
|
||
|
ShadowShard = 0x4,
|
||
|
LavaShard = 0x5,
|
||
|
BonusKey = 0x6,
|
||
|
Orbs = 0x7,
|
||
|
Diamonds = 0x8,
|
||
|
CustomItem = 0x9,
|
||
|
EarthShard = 0xA,
|
||
|
BloodShard = 0xB,
|
||
|
MetalShard = 0xC,
|
||
|
LightShard = 0xD,
|
||
|
SoulShard = 0xE
|
||
|
};
|
||
|
|
||
|
enum class EditCommand {
|
||
|
SmallLeft = 1,
|
||
|
SmallRight = 2,
|
||
|
SmallUp = 3,
|
||
|
SmallDown = 4,
|
||
|
|
||
|
Left = 5,
|
||
|
Right = 6,
|
||
|
Up = 7,
|
||
|
Down = 8,
|
||
|
|
||
|
BigLeft = 9,
|
||
|
BigRight = 10,
|
||
|
BigUp = 11,
|
||
|
BigDown = 12,
|
||
|
|
||
|
TinyLeft = 13,
|
||
|
TinyRight = 14,
|
||
|
TinyUp = 15,
|
||
|
TinyDown = 16,
|
||
|
|
||
|
HalfLeft = 17,
|
||
|
HalfRight = 18,
|
||
|
HalfUp = 19,
|
||
|
HalfDown = 20,
|
||
|
|
||
|
FlipX = 21,
|
||
|
FlipY = 22,
|
||
|
RotateCW = 23,
|
||
|
RotateCCW = 24,
|
||
|
RotateCW45 = 25,
|
||
|
RotateCCW45 = 26,
|
||
|
RotateFree = 27,
|
||
|
RotateSnap = 28,
|
||
|
|
||
|
Scale = 29,
|
||
|
ScaleXY = 30,
|
||
|
Skew = 31
|
||
|
};
|
||
|
|
||
|
// Geode Addition
|
||
|
enum class PlaybackMode {
|
||
|
Not = 0,
|
||
|
Playing = 1,
|
||
|
Paused = 2,
|
||
|
};
|
||
|
|
||
|
enum class SelectArtType {
|
||
|
Background = 0,
|
||
|
Ground = 1,
|
||
|
};
|
||
|
|
||
|
enum class UndoCommand {
|
||
|
Delete = 1,
|
||
|
New = 2,
|
||
|
Paste = 3,
|
||
|
DeleteMulti = 4,
|
||
|
Transform = 5,
|
||
|
Select = 6,
|
||
|
};
|
||
|
|
||
|
enum class EasingType {
|
||
|
None = 0,
|
||
|
EaseInOut = 1,
|
||
|
EaseIn = 2,
|
||
|
EaseOut = 3,
|
||
|
ElasticInOut = 4,
|
||
|
ElasticIn = 5,
|
||
|
ElasticOut = 6,
|
||
|
BounceInOut = 7,
|
||
|
BounceIn = 8,
|
||
|
BounceOut = 9,
|
||
|
ExponentialInOut = 10,
|
||
|
ExponentialIn = 11,
|
||
|
ExponentialOut = 12,
|
||
|
SineInOut = 13,
|
||
|
SineIn = 14,
|
||
|
SineOut = 15,
|
||
|
BackInOut = 16,
|
||
|
BackIn = 17,
|
||
|
BackOut = 18,
|
||
|
};
|
||
|
|
||
|
enum class GJDifficulty {
|
||
|
Auto = 0,
|
||
|
Easy = 1,
|
||
|
Normal = 2,
|
||
|
Hard = 3,
|
||
|
Harder = 4,
|
||
|
Insane = 5,
|
||
|
Demon = 6,
|
||
|
DemonEasy = 7,
|
||
|
DemonMedium = 8,
|
||
|
DemonInsane = 9,
|
||
|
DemonExtreme = 10
|
||
|
};
|
||
|
|
||
|
enum class GJLevelType {
|
||
|
Local = 1,
|
||
|
Editor = 2,
|
||
|
Saved = 3
|
||
|
};
|
||
|
|
||
|
enum class GJRewardType
|
||
|
{
|
||
|
Unknown = 0x0,
|
||
|
Small = 0x1,
|
||
|
Large = 0x2,
|
||
|
SmallTreasure = 0x3,
|
||
|
LargeTreasure = 0x4,
|
||
|
Key10Treasure = 0x5,
|
||
|
Key25Treasure = 0x6,
|
||
|
Key50Treasure = 0x7,
|
||
|
Key100Treasure = 0x8
|
||
|
};
|
||
|
|
||
|
enum class IconType {
|
||
|
Cube = 0,
|
||
|
Ship = 1,
|
||
|
Ball = 2,
|
||
|
Ufo = 3,
|
||
|
Wave = 4,
|
||
|
Robot = 5,
|
||
|
Spider = 6,
|
||
|
Swing = 7,
|
||
|
Jetpack = 8,
|
||
|
DeathEffect = 98,
|
||
|
Special = 99,
|
||
|
ShipFire = 101,
|
||
|
};
|
||
|
|
||
|
enum class GJChallengeType {
|
||
|
Unknown = 0,
|
||
|
Orbs = 1,
|
||
|
UserCoins = 2,
|
||
|
Stars = 3,
|
||
|
Moons = 4,
|
||
|
};
|
||
|
|
||
|
enum class GJScoreType {
|
||
|
Unknown = 0,
|
||
|
Creator = 1
|
||
|
};
|
||
|
|
||
|
enum class LevelLeaderboardType {
|
||
|
Friends = 0,
|
||
|
Global = 1,
|
||
|
Weekly = 2
|
||
|
};
|
||
|
|
||
|
enum class GJHttpType {
|
||
|
|
||
|
};
|
||
|
|
||
|
enum class DialogChatPlacement {
|
||
|
Center = 0,
|
||
|
Top = 1,
|
||
|
Bottom = 2,
|
||
|
};
|
||
|
|
||
|
enum class DialogAnimationType {
|
||
|
Instant = 0,
|
||
|
FromCenter = 1,
|
||
|
FromLeft = 2,
|
||
|
FromRight = 3,
|
||
|
FromTop = 4,
|
||
|
// a 5th type is defined which acts exactly the same as FromTop
|
||
|
};
|
||
|
|
||
|
// Geode Addition
|
||
|
enum class ComparisonType {
|
||
|
Equals = 0,
|
||
|
Larger = 1,
|
||
|
Smaller = 2,
|
||
|
};
|
||
|
|
||
|
// Geode Addition
|
||
|
enum class MoveTargetType {
|
||
|
Both = 0,
|
||
|
XOnly = 1,
|
||
|
YOnly = 2,
|
||
|
};
|
||
|
|
||
|
// Geode Addition
|
||
|
enum class TouchToggleMode {
|
||
|
Normal = 0,
|
||
|
ToggleOn = 1,
|
||
|
ToggleOff = 2,
|
||
|
};
|
||
|
|
||
|
// Geode Addition
|
||
|
enum class LeaderboardState {
|
||
|
Default = 0,
|
||
|
Top100 = 1,
|
||
|
Global = 2,
|
||
|
Creator = 3,
|
||
|
Friends = 4,
|
||
|
};
|
||
|
|
||
|
// Wylie Addition (https://github.com/Wyliemaster/GD-Decompiled/blob/main/GD/code/headers/Layers/LevelSettingsLayer.h)
|
||
|
enum class Speed {
|
||
|
Normal = 0,
|
||
|
Slow = 1,
|
||
|
Fast = 2,
|
||
|
Faster = 3,
|
||
|
Fastest = 4,
|
||
|
};
|