Skip to content

Commit 4868ac4

Browse files
committed
Updated Editor.h and added validation flags
1 parent bf75cf4 commit 4868ac4

1 file changed

Lines changed: 44 additions & 18 deletions

File tree

Spore ModAPI/Spore/Editors/Editor.h

Lines changed: 44 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
#include <EASTL\map.h>
6161
#include <EASTL\string.h>
6262
#include <EASTL\vector.h>
63+
#include <EASTL\bitset.h>
6364

6465
/// Access the active editor object; check Editors::cEditor
6566
#define Editor (*Editors::GetEditor())
@@ -76,6 +77,38 @@ namespace Editors
7677
{
7778
class EditorUI;
7879

80+
enum eValidityTests {
81+
kValidityTooComplex = 0,
82+
kValidityOverBudget = 1,
83+
kValidityIncomplete = 2,
84+
kValidityUnloadableTextures = 3,
85+
kValidityInvalidName = 4,
86+
kValidityInvalidParts = 5,
87+
kValidityInvalidParents = 6,
88+
kValidityInvalidScales = 7,
89+
kValidityOutOfBounds = 8,
90+
kValidityTooSmall = 9,
91+
kValidityNoMouth = 0xa,
92+
kValidityNotPainted = 0xb,
93+
kValidityStatsOutOfRange = 0xc,
94+
kValidityHasFloatingParts = 0xd,
95+
kValidityUnloadableBlocks = 0xe,
96+
kValidityInvalidSymmetry = 0xf,
97+
kValidityMissingPacks = 0x10,
98+
kValidityHasZeroBlocks = 0x11,
99+
kValidityInvalidPaint = 0x12,
100+
kValidityIntersectingEndEffectors = 0x13,
101+
kValidityBlankName = 0x14,
102+
kValidityBadCharacters = 0x15,
103+
kValidityTooSmallX = 0x16,
104+
kValidityTooSmallY = 0x17,
105+
kValidityTooSmallZ = 0x18,
106+
kValidityTooSmallAbsoluteZ = 0x19,
107+
kValidityFailedLoad = 0x1a,
108+
kValidityInvalidLimb = 0x1b,
109+
kValidityNoReason = 0x1c
110+
};
111+
79112
enum class Mode : int
80113
{
81114
BuildMode = 0,
@@ -244,22 +277,16 @@ namespace Editors
244277
/* 30h */ int mMouseFlags;
245278
/* 34h */ MouseState mMouseState;
246279

247-
/* 38h */ bool field_38;
248-
/* 3Ch */ int field_3C;
249-
/* 40h */ int field_40; // not initialized
250-
/* 44h */ int field_44; // not initialized
251-
/* 48h */ int field_48;
252-
/* 4Ch */ int field_4C;
253-
/* 50h */ int field_50;
254-
/* 54h */ int field_54;
255-
/* 58h */ int field_58;
256-
/* 5Ch */ int field_5C;
257-
/* 60h */ int field_60;
258-
/* 64h */ int field_64;
259-
/* 68h */ float field_68; // Set to 0 when mouse click, and when changing mode
280+
/* 38h */ bool mMouseMoved;
281+
/* 3Ch */ int mModeModifiers;
282+
/* 40h */ int mControlModifierMode; // not initialized
283+
/* 44h */ int mEyeDropperModiferMode; // not initialized
284+
/* 48h */ eastl::bitset<128> mModelValidity;
285+
/* 58h */ eastl::bitset<128> mModelSaveValidity;
286+
/* 68h */ float mIdleTime; // Set to 0 when mouse click, and when changing mode
260287
/// Time to wait before starting animated creature (in milliseconds).
261288
/* 6Ch */ float mCreatureIdleActivationTime;
262-
/* 70h */ float field_70;
289+
/* 70h */ float mSwapToModelTime;
263290
/* 74h */ bool field_74;
264291

265292
//TODO ManagedPtr
@@ -289,12 +316,11 @@ namespace Editors
289316
/* A8h */ ModelPtr mpBackgroundModel; // used in loc_5874D8
290317
/// A background model used in accessories editors. It belongs to mpBackgroundModelWorld.
291318
/* ACh */ ModelPtr mpAccBackgroundModel;
292-
/* B0h */ eastl::string16 field_B0;
319+
/* B0h */ eastl::string16 mOriginalTag;
293320
// /* B9h */ bool editorShowAbilityIcons; // might also be 4B6h ?
294321

295-
/* C0h */ int field_C0; // not initialized // lastMouseClick[2] ?
296-
/* C4h */ int field_C4; // not initialized
297-
/* C8h */ int field_C8; // not initialized
322+
/* C0h */ int mMouseDownPosition[2]; // not initialized // lastMouseClick[2] ?
323+
/* C8h */ float mRolloverTime; // not initialized
298324

299325
// also valid for spines
300326
/// Rigblock that is being hovered, and where actions like mouse wheel scaling will be applied

0 commit comments

Comments
 (0)