diff --git a/libLassebq/GMAddresses.h b/libLassebq/GMAddresses.h
index af67538..fdce9ad 100644
--- a/libLassebq/GMAddresses.h
+++ b/libLassebq/GMAddresses.h
@@ -1,7 +1,7 @@
#pragma once
// What addresses to use?
-#define KZ_105_STEAM
+#define DITTO_WIN_STEAM
// Please please please, keep address format like this:
// #define Something_Addr (0xSOMETHINGu)
diff --git a/libLassebq/SHAutogen.cpp b/libLassebq/SHAutogen.cpp
index a009706..2e257e0 100644
--- a/libLassebq/SHAutogen.cpp
+++ b/libLassebq/SHAutogen.cpp
@@ -1,5 +1,4 @@
#include "SHAutogen.h"
-DEF_LLBQ_DUMMY_PVOID_TABLE;
DEF_LLBQ_DTR_ROUTINE(0)
DEF_LLBQ_DTR_ROUTINE(1)
DEF_LLBQ_DTR_ROUTINE(2)
@@ -20002,4 +20001,5 @@ GML_Script SH_DummyRoutines[] = {
SH_routine9998,
SH_routine9999,
nullptr
-};
\ No newline at end of file
+};
+DEF_LLBQ_DUMMY_PVOID_TABLE;
\ No newline at end of file
diff --git a/libLassebq/SHAutogen.h b/libLassebq/SHAutogen.h
index 8b85a88..a49e200 100644
--- a/libLassebq/SHAutogen.h
+++ b/libLassebq/SHAutogen.h
@@ -6,4 +6,4 @@ extern GML_Script SH_DummyRoutines[];
extern PVOID SH_DummyPVOIDs[];
#define DEF_LLBQ_DTR_ROUTINE(ind) RValue& SH_routine ##ind(CInstance* _pSelf, CInstance* _pOther, RValue& _result, int _count, const RValue** _args) { return SH_hookerRoutine((ind), _pSelf, _pOther, _result, _count, _args); }
-#define DEF_LLBQ_DUMMY_PVOID_TABLE PVOID SH_DummyPVOIDs[10000]{ nullptr }
\ No newline at end of file
+#define DEF_LLBQ_DUMMY_PVOID_TABLE PVOID SH_DummyPVOIDs[(sizeof(SH_DummyRoutines)/sizeof(SH_DummyRoutines[0]))-1]{ nullptr }
\ No newline at end of file
diff --git a/libLassebq/Utils.cpp b/libLassebq/Utils.cpp
index 224ffec..2a526f7 100644
--- a/libLassebq/Utils.cpp
+++ b/libLassebq/Utils.cpp
@@ -103,6 +103,12 @@ bool CheckFileOk(const std::string& filePath)
bool ret = false;
int siz = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, filePath.c_str(), -1, nullptr, 0);
+ if (siz <= 0)
+ {
+ std::cout << "UNABLE TO CONVERT YOUR FILENAME TO UTF-16: " << filePath << std::endl;
+ return false;
+ }
+
LPWSTR wFilename = new WCHAR[siz];
MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, filePath.c_str(), -1, wFilename, siz);
diff --git a/libLassebq/libLassebq.vcxproj b/libLassebq/libLassebq.vcxproj
index 9aae862..a862855 100644
--- a/libLassebq/libLassebq.vcxproj
+++ b/libLassebq/libLassebq.vcxproj
@@ -279,6 +279,7 @@
+
diff --git a/libLassebq/libLassebq.vcxproj.filters b/libLassebq/libLassebq.vcxproj.filters
index ca425e4..636957d 100644
--- a/libLassebq/libLassebq.vcxproj.filters
+++ b/libLassebq/libLassebq.vcxproj.filters
@@ -329,6 +329,7 @@
+
diff --git a/libLassebq/test.lua b/libLassebq/test.lua
new file mode 100644
index 0000000..a9addc0
--- /dev/null
+++ b/libLassebq/test.lua
@@ -0,0 +1,53 @@
+-- Quicksave/load for KZ.
+
+local obj_libLassebq = { }
+local player_hurt = { }
+
+function getDateTime() -- a helper to get formatted datetime from GM
+ return GML_date_datetime_string(GML_date_current_datetime())
+end
+
+function obj_libLassebq.PressF5(_pSelf, _pOther)
+ GML_game_save("temp00")
+ GML_window_set_caption("Saved, time: " .. getDateTime())
+end
+
+function obj_libLassebq.PressF6(_pSelf, _pOther)
+ GML_game_load("temp00")
+ GML_window_set_caption("Loaded, time: " .. getDateTime())
+end
+
+--[[
+ hooker routine:
+ if Before defined then
+ r = call Before
+ if Before returned
+ return r
+ else
+ r = call Original script
+ if After defined
+ r = call After and provide Original r
+ return r
+ end
+ end
+ end
+
+ so by returning from Before, we prevent the original script from executing!
+]]--
+
+function player_hurt.Before(_pSelf, _pOther, _args)
+ --[[ You can't die, you can't die, you can't die, you can't die, you can't die
+ that would suck, right? sometimes you just *have* to die, your life's over
+ but no, you are still alive, watching how your close relatives and friends die
+ pretty painful, ain't it?
+ welp, I don't have any IRL friends, so not really a problem for me.
+ UHHHHHHHHHHHHHHHH NEVERMIND I'VE GONE TOO FAR.
+ oh, btw, `_args` is an array with the arguments. ]]--
+ return 0 -- ????????
+end
+
+function player_hurt.After(_pSelf, _pOther, _args, _ret)
+ return _ret -- this won't be executed anyway, you don't even need to return
+end
+
+return { obj_libLassebq=obj_libLassebq, player_hurt=player_hurt }
\ No newline at end of file
diff --git a/yyc225.h b/yyc225.h
deleted file mode 100644
index f4c2e17..0000000
--- a/yyc225.h
+++ /dev/null
@@ -1,2339 +0,0 @@
-typedef unsigned char undefined;
-
-typedef unsigned char bool;
-typedef unsigned char byte;
-typedef unsigned char dwfenc;
-typedef unsigned int dword;
-typedef long double longdouble;
-typedef long long longlong;
-typedef unsigned long qword;
-typedef unsigned char uchar;
-typedef unsigned int uint;
-typedef unsigned long ulong;
-typedef unsigned long long ulonglong;
-typedef unsigned char undefined1;
-typedef unsigned short undefined2;
-typedef unsigned int undefined3;
-typedef unsigned int undefined4;
-typedef unsigned long undefined5;
-typedef unsigned long undefined7;
-typedef unsigned long undefined8;
-typedef unsigned short ushort;
-typedef int wchar_t;
-typedef unsigned short word;
-typedef struct CRoom CRoom, *PCRoom;
-
-typedef char * String;
-
-typedef uint TColor;
-
-typedef struct CBackGM CBackGM, *PCBackGM;
-
-typedef struct CViewGM CViewGM, *PCViewGM;
-
-typedef struct CCode CCode, *PCCode;
-
-typedef struct OLinkedList OLinkedList, *POLinkedList;
-
-typedef struct LinkedList LinkedList, *PLinkedList;
-
-typedef struct CInstance CInstance, *PCInstance;
-
-typedef int int32;
-
-typedef struct YYRoom YYRoom, *PYYRoom;
-
-typedef uchar uint8;
-
-typedef struct CPhysicsWorld CPhysicsWorld, *PCPhysicsWorld;
-
-typedef struct cARRAY_STRUCTURE cARRAY_STRUCTURE, *PcARRAY_STRUCTURE;
-
-typedef struct YYRoomTiles YYRoomTiles, *PYYRoomTiles;
-
-typedef struct YYRoomInstances YYRoomInstances, *PYYRoomInstances;
-
-typedef struct LinkedList LinkedList, *PLinkedList;
-
-typedef struct CHashMap CHashMap, *PCHashMap;
-
-typedef struct CHashMap CHashMap, *PCHashMap;
-
-typedef struct CLayerElementBase CLayerElementBase, *PCLayerElementBase;
-
-typedef struct CHashMap CHashMap, *PCHashMap;
-
-typedef struct RToken RToken, *PRToken;
-
-typedef struct RValue RValue, *PRValue;
-
-typedef struct VMBuffer VMBuffer, *PVMBuffer;
-
-typedef struct YYGMLFuncs YYGMLFuncs, *PYYGMLFuncs;
-
-typedef enum eDeleteType {
- eDelete_placementdelete=3,
- eDelete_delete=1,
- eDelete_free=2,
- eDelete_none=0
-} eDeleteType;
-
-typedef struct YYObjectBase YYObjectBase, *PYYObjectBase;
-
-typedef enum EJSRetValBool {
- EJSRVB_TRUE=1,
- EJSRVB_FALSE=0,
- EJSRVB_TYPE_ERROR=2
-} EJSRetValBool;
-
-typedef longlong int64;
-
-typedef struct CObjectGM CObjectGM, *PCObjectGM;
-
-typedef struct CPhysicsObject CPhysicsObject, *PCPhysicsObject;
-
-typedef struct CSkeletonInstance CSkeletonInstance, *PCSkeletonInstance;
-
-typedef struct tagYYRECT tagYYRECT, *PtagYYRECT;
-
-typedef struct tagYYRECT YYRECT;
-
-typedef struct cInstancePathAndTimeline cInstancePathAndTimeline, *PcInstancePathAndTimeline;
-
-typedef struct SLink SLink, *PSLink;
-
-typedef uint uint32;
-
-typedef struct ContactsStack ContactsStack, *PContactsStack;
-
-typedef struct AggregatedContactResult AggregatedContactResult, *PAggregatedContactResult;
-
-typedef struct b2World b2World, *Pb2World;
-
-typedef struct b2ParticleGroupDef b2ParticleGroupDef, *Pb2ParticleGroupDef;
-
-typedef struct b2ParticleGroup b2ParticleGroup, *Pb2ParticleGroup;
-
-typedef struct CPhysicsDebugRender CPhysicsDebugRender, *PCPhysicsDebugRender;
-
-typedef struct CRunnerContactListener CRunnerContactListener, *PCRunnerContactListener;
-
-typedef struct tCollisionSettings tCollisionSettings, *PtCollisionSettings;
-
-typedef struct RTile RTile, *PRTile;
-
-typedef struct CLayer CLayer, *PCLayer;
-
-typedef struct Element Element, *PElement;
-
-
-/* WARNING! conflicting data type names: /DWARF/yoyo_unordered_hash.h/CHashMap/Element - /DWARF/yoyo_unordered_hash.h/CHashMap/Element */
-
-
-/* WARNING! conflicting data type names: /DWARF/yoyo_unordered_hash.h/CHashMap/Element - /DWARF/yoyo_unordered_hash.h/CHashMap/Element */
-
-typedef enum eGML_TYPE {
- eGMLT_DOUBLE=1,
- eGMLT_NONE=0,
- eGMLT_INT32=4,
- eGMLT_STRING=2,
- eGMLT_ERROR=-65536
-} eGML_TYPE;
-
-typedef union anon_union_0 anon_union_0, *Panon_union_0;
-
-typedef struct CInstanceBase CInstanceBase, *PCInstanceBase;
-
-typedef struct real_pcre8_or_16 real_pcre8_or_16, *Preal_pcre8_or_16;
-
-typedef struct real_pcre8_or_16 pcre;
-
-typedef struct pcre_extra pcre_extra, *Ppcre_extra;
-
-typedef struct CHashMap CHashMap, *PCHashMap;
-
-typedef struct CHashMap CHashMap, *PCHashMap;
-
-typedef struct CHashMap CHashMap, *PCHashMap;
-
-typedef struct CPhysicsDataGM CPhysicsDataGM, *PCPhysicsDataGM;
-
-typedef struct SLinkedList SLinkedList, *PSLinkedList;
-
-typedef struct b2Body b2Body, *Pb2Body;
-
-typedef struct b2Vec2 b2Vec2, *Pb2Vec2;
-
-typedef struct Hash Hash, *PHash;
-
-typedef struct spAttachment spAttachment, *PspAttachment;
-
-typedef struct spAtlas spAtlas, *PspAtlas;
-
-typedef struct spSkeleton spSkeleton, *PspSkeleton;
-
-typedef struct spSkeletonBounds spSkeletonBounds, *PspSkeletonBounds;
-
-typedef struct spAnimation spAnimation, *PspAnimation;
-
-typedef struct spAnimationState spAnimationState, *PspAnimationState;
-
-typedef enum spEventType {
- SP_ANIMATION_END=2,
- SP_ANIMATION_COMPLETE=3,
- SP_ANIMATION_EVENT=5,
- SP_ANIMATION_START=0,
- SP_ANIMATION_INTERRUPT=1,
- SP_ANIMATION_DISPOSE=4
-} spEventType;
-
-typedef struct spTrackEntry spTrackEntry, *PspTrackEntry;
-
-typedef struct spEvent spEvent, *PspEvent;
-
-typedef struct spAnimationStateData spAnimationStateData, *PspAnimationStateData;
-
-typedef struct spSkeletonData spSkeletonData, *PspSkeletonData;
-
-typedef struct SLinkListEx SLinkListEx, *PSLinkListEx;
-
-typedef struct CopyStack CopyStack, *PCopyStack;
-
-typedef struct b2Fixture b2Fixture, *Pb2Fixture;
-
-typedef struct b2Manifold b2Manifold, *Pb2Manifold;
-
-typedef struct b2WorldManifold b2WorldManifold, *Pb2WorldManifold;
-
-typedef struct b2BlockAllocator b2BlockAllocator, *Pb2BlockAllocator;
-
-typedef struct b2StackAllocator b2StackAllocator, *Pb2StackAllocator;
-
-typedef struct b2ContactManager b2ContactManager, *Pb2ContactManager;
-
-typedef struct b2Joint b2Joint, *Pb2Joint;
-
-typedef struct b2DestructionListener b2DestructionListener, *Pb2DestructionListener;
-
-typedef struct b2Draw b2Draw, *Pb2Draw;
-
-typedef float float32;
-
-typedef struct b2Profile b2Profile, *Pb2Profile;
-
-typedef struct b2ParticleSystem b2ParticleSystem, *Pb2ParticleSystem;
-
-typedef struct b2Version b2Version, *Pb2Version;
-
-typedef struct b2ParticleColor b2ParticleColor, *Pb2ParticleColor;
-
-typedef struct b2Shape b2Shape, *Pb2Shape;
-
-typedef struct b2Transform b2Transform, *Pb2Transform;
-
-typedef struct b2ContactListener b2ContactListener, *Pb2ContactListener;
-
-typedef struct LinkedList LinkedList, *PLinkedList;
-
-typedef uint Hash;
-
-
-/* WARNING! conflicting data type names: /DWARF/YYGML.h/RValue/anon_union_0/anon_union_0 - /DWARF/YYGML.h/RValue/anon_union_0 */
-
-typedef uint pcre_uint32;
-
-typedef unsigned short pcre_uint16;
-
-typedef uchar pcre_uint8;
-
-
-/* WARNING! conflicting data type names: /DWARF/yoyo_unordered_hash.h/CHashMap/Element - /DWARF/yoyo_unordered_hash.h/CHashMap/Element */
-
-
-/* WARNING! conflicting data type names: /DWARF/yoyo_unordered_hash.h/CHashMap/Element - /DWARF/yoyo_unordered_hash.h/CHashMap/Element */
-
-
-/* WARNING! conflicting data type names: /DWARF/yoyo_unordered_hash.h/CHashMap/Element - /DWARF/yoyo_unordered_hash.h/CHashMap/Element */
-
-typedef struct SLinkedListNode SLinkedListNode, *PSLinkedListNode;
-
-typedef enum b2BodyType {
- b2_staticBody=0,
- b2_dynamicBody=2,
- b2_kinematicBody=1
-} b2BodyType;
-
-typedef unsigned short uint16;
-
-typedef struct b2Sweep b2Sweep, *Pb2Sweep;
-
-typedef struct b2JointEdge b2JointEdge, *Pb2JointEdge;
-
-typedef struct b2ContactEdge b2ContactEdge, *Pb2ContactEdge;
-
-typedef struct HashLink> HashLink>, *PHashLink>;
-
-typedef enum spAttachmentType {
- SP_ATTACHMENT_PATH=4,
- SP_ATTACHMENT_CLIPPING=6,
- SP_ATTACHMENT_BOUNDING_BOX=1,
- SP_ATTACHMENT_MESH=2,
- SP_ATTACHMENT_REGION=0,
- SP_ATTACHMENT_POINT=5,
- SP_ATTACHMENT_LINKED_MESH=3
-} spAttachmentType;
-
-typedef struct spAttachmentLoader spAttachmentLoader, *PspAttachmentLoader;
-
-typedef struct spAtlasPage spAtlasPage, *PspAtlasPage;
-
-typedef struct spAtlasRegion spAtlasRegion, *PspAtlasRegion;
-
-typedef struct spBone spBone, *PspBone;
-
-typedef struct spSlot spSlot, *PspSlot;
-
-typedef struct spIkConstraint spIkConstraint, *PspIkConstraint;
-
-typedef struct spTransformConstraint spTransformConstraint, *PspTransformConstraint;
-
-typedef struct spPathConstraint spPathConstraint, *PspPathConstraint;
-
-typedef struct spSkin spSkin, *PspSkin;
-
-typedef struct spColor spColor, *PspColor;
-
-typedef struct spBoundingBoxAttachment spBoundingBoxAttachment, *PspBoundingBoxAttachment;
-
-typedef struct spPolygon spPolygon, *PspPolygon;
-
-typedef struct spTimeline spTimeline, *PspTimeline;
-
-typedef struct spEventData spEventData, *PspEventData;
-
-typedef enum spMixBlend {
- SP_MIX_BLEND_REPLACE=2,
- SP_MIX_BLEND_SETUP=0,
- SP_MIX_BLEND_FIRST=1,
- SP_MIX_BLEND_ADD=3
-} spMixBlend;
-
-typedef struct spIntArray spIntArray, *PspIntArray;
-
-typedef struct spTrackEntryArray spTrackEntryArray, *PspTrackEntryArray;
-
-typedef struct spBoneData spBoneData, *PspBoneData;
-
-typedef struct spSlotData spSlotData, *PspSlotData;
-
-typedef struct spIkConstraintData spIkConstraintData, *PspIkConstraintData;
-
-typedef struct spTransformConstraintData spTransformConstraintData, *PspTransformConstraintData;
-
-typedef struct spPathConstraintData spPathConstraintData, *PspPathConstraintData;
-
-typedef struct b2FixtureProxy b2FixtureProxy, *Pb2FixtureProxy;
-
-typedef struct b2Filter b2Filter, *Pb2Filter;
-
-typedef struct b2ManifoldPoint b2ManifoldPoint, *Pb2ManifoldPoint;
-
-typedef enum Type {
- e_circles=0,
- e_faceA=1,
- e_faceB=2
-} Type;
-
-typedef struct b2Chunk b2Chunk, *Pb2Chunk;
-
-typedef struct b2Block b2Block, *Pb2Block;
-
-typedef struct b2StackEntry b2StackEntry, *Pb2StackEntry;
-
-typedef struct b2BroadPhase b2BroadPhase, *Pb2BroadPhase;
-
-typedef struct b2Contact b2Contact, *Pb2Contact;
-
-typedef struct b2ContactFilter b2ContactFilter, *Pb2ContactFilter;
-
-typedef enum b2JointType {
- e_revoluteJoint=1,
- e_mouseJoint=5,
- e_weldJoint=8,
- e_prismaticJoint=2,
- e_pulleyJoint=4,
- e_frictionJoint=9,
- e_gearJoint=6,
- e_unknownJoint=0,
- e_wheelJoint=7,
- e_distanceJoint=3,
- e_motorJoint=11,
- e_ropeJoint=10
-} b2JointType;
-
-typedef struct ParticleBuffer ParticleBuffer, *PParticleBuffer;
-
-typedef struct ParticleBuffer ParticleBuffer, *PParticleBuffer;
-
-typedef struct ParticleBuffer ParticleBuffer, *PParticleBuffer;
-
-typedef struct ParticleBuffer ParticleBuffer, *PParticleBuffer;
-
-typedef struct Proxy Proxy, *PProxy;
-
-typedef struct b2ParticleContact b2ParticleContact, *Pb2ParticleContact;
-
-typedef struct b2ParticleBodyContact b2ParticleBodyContact, *Pb2ParticleBodyContact;
-
-typedef struct Pair Pair, *PPair;
-
-typedef struct Triad Triad, *PTriad;
-
-
-/* WARNING! conflicting data type names: /DWARF/b2Shape.h/b2Shape/Type - /DWARF/b2Collision.h/b2Manifold/Type */
-
-typedef struct b2Rot b2Rot, *Pb2Rot;
-
-typedef struct HashNode HashNode, *PHashNode;
-
-typedef enum spAtlasFormat {
- SP_ATLAS_RGBA8888=7,
- SP_ATLAS_RGB565=4,
- SP_ATLAS_RGBA4444=5,
- SP_ATLAS_RGB888=6,
- SP_ATLAS_LUMINANCE_ALPHA=3,
- SP_ATLAS_UNKNOWN_FORMAT=0,
- SP_ATLAS_ALPHA=1,
- SP_ATLAS_INTENSITY=2
-} spAtlasFormat;
-
-typedef enum spAtlasFilter {
- SP_ATLAS_MIPMAP_LINEAR_LINEAR=7,
- SP_ATLAS_UNKNOWN_FILTER=0,
- SP_ATLAS_MIPMAP=3,
- SP_ATLAS_NEAREST=1,
- SP_ATLAS_MIPMAP_NEAREST_LINEAR=6,
- SP_ATLAS_LINEAR=2,
- SP_ATLAS_MIPMAP_LINEAR_NEAREST=5,
- SP_ATLAS_MIPMAP_NEAREST_NEAREST=4
-} spAtlasFilter;
-
-typedef enum spAtlasWrap {
- SP_ATLAS_CLAMPTOEDGE=1,
- SP_ATLAS_REPEAT=2,
- SP_ATLAS_MIRROREDREPEAT=0
-} spAtlasWrap;
-
-typedef struct spVertexAttachment spVertexAttachment, *PspVertexAttachment;
-
-typedef enum spTimelineType {
- SP_TIMELINE_PATHCONSTRAINTSPACING=12,
- SP_TIMELINE_PATHCONSTRAINTPOSITION=11,
- SP_TIMELINE_DRAWORDER=8,
- SP_TIMELINE_EVENT=7,
- SP_TIMELINE_ATTACHMENT=4,
- SP_TIMELINE_PATHCONSTRAINTMIX=13,
- SP_TIMELINE_SHEAR=3,
- SP_TIMELINE_COLOR=5,
- SP_TIMELINE_IKCONSTRAINT=9,
- SP_TIMELINE_TRANSFORMCONSTRAINT=10,
- SP_TIMELINE_DEFORM=6,
- SP_TIMELINE_TWOCOLOR=14,
- SP_TIMELINE_TRANSLATE=1,
- SP_TIMELINE_SCALE=2,
- SP_TIMELINE_ROTATE=0
-} spTimelineType;
-
-typedef enum spTransformMode {
- SP_TRANSFORMMODE_NORMAL=0,
- SP_TRANSFORMMODE_NOROTATIONORREFLECTION=2,
- SP_TRANSFORMMODE_NOSCALEORREFLECTION=4,
- SP_TRANSFORMMODE_ONLYTRANSLATION=1,
- SP_TRANSFORMMODE_NOSCALE=3
-} spTransformMode;
-
-typedef enum spBlendMode {
- SP_BLEND_MODE_ADDITIVE=1,
- SP_BLEND_MODE_NORMAL=0,
- SP_BLEND_MODE_SCREEN=3,
- SP_BLEND_MODE_MULTIPLY=2
-} spBlendMode;
-
-typedef enum spPositionMode {
- SP_POSITION_MODE_FIXED=0,
- SP_POSITION_MODE_PERCENT=1
-} spPositionMode;
-
-typedef enum spSpacingMode {
- SP_SPACING_MODE_LENGTH=0,
- SP_SPACING_MODE_FIXED=1,
- SP_SPACING_MODE_PERCENT=2
-} spSpacingMode;
-
-typedef enum spRotateMode {
- SP_ROTATE_MODE_CHAIN=1,
- SP_ROTATE_MODE_TANGENT=0,
- SP_ROTATE_MODE_CHAIN_SCALE=2
-} spRotateMode;
-
-typedef struct b2AABB b2AABB, *Pb2AABB;
-
-typedef short int16;
-
-typedef union b2ContactID b2ContactID, *Pb2ContactID;
-
-typedef struct b2DynamicTree b2DynamicTree, *Pb2DynamicTree;
-
-typedef struct b2Pair b2Pair, *Pb2Pair;
-
-typedef struct b2FixtureContainer b2FixtureContainer, *Pb2FixtureContainer;
-
-typedef struct b2ContactFeature b2ContactFeature, *Pb2ContactFeature;
-
-typedef struct b2TreeNode b2TreeNode, *Pb2TreeNode;
-
-
-/* WARNING! conflicting data type names: /DWARF/b2DynamicTree.h/b2TreeNode/anon_union_0 - /DWARF/YYGML.h/RValue/anon_union_0 */
-
-union anon_union_0 {
- int32 v32;
- int64 v64;
- double val;
- union anon_union_0 field_3;
-};
-
-struct RValue {
- union anon_union_0 field_0;
- int flags;
- int kind;
-};
-
-struct RToken {
- int kind;
- enum eGML_TYPE type;
- int ind;
- int ind2;
- struct RValue value;
- int itemnumb;
- undefined field_0x24;
- undefined field_0x25;
- undefined field_0x26;
- undefined field_0x27;
- struct RToken * items;
- int position;
- undefined field_0x34;
- undefined field_0x35;
- undefined field_0x36;
- undefined field_0x37;
-};
-
-struct CCode {
- int (** _vptr$CCode)(void);
- struct CCode * m_pNext;
- int i_kind;
- bool i_compiled;
- undefined field_0x15;
- undefined field_0x16;
- undefined field_0x17;
- String i_str;
- struct RToken i_token;
- struct RValue i_value;
- struct VMBuffer * i_pVM;
- struct VMBuffer * i_pVMDebugInfo;
- char * i_pCode;
- char * i_pName;
- int i_CodeIndex;
- undefined field_0x8c;
- undefined field_0x8d;
- undefined field_0x8e;
- undefined field_0x8f;
- struct YYGMLFuncs * i_pFunc;
- bool i_watch;
- undefined field_0x99;
- undefined field_0x9a;
- undefined field_0x9b;
- int i_offset;
- int i_locals;
- int i_args;
- int i_flags;
- undefined field_0xac;
- undefined field_0xad;
- undefined field_0xae;
- undefined field_0xaf;
-};
-
-struct b2Vec2 {
- float32 x;
- float32 y;
-};
-
-struct b2AABB {
- struct b2Vec2 lowerBound;
- struct b2Vec2 upperBound;
-};
-
-struct b2TreeNode {
- struct b2AABB aabb;
- void * userData;
- union anon_union_0 field_2;
- int32 child1;
- int32 child2;
- int32 height;
-};
-
-struct b2Rot {
- float32 s;
- float32 c;
-};
-
-struct b2Transform {
- struct b2Vec2 p;
- struct b2Rot q;
-};
-
-struct b2ParticleGroup {
- struct b2ParticleSystem * m_system;
- int32 m_firstIndex;
- int32 m_lastIndex;
- uint32 m_groupFlags;
- float32 m_strength;
- struct b2ParticleGroup * m_prev;
- struct b2ParticleGroup * m_next;
- int32 m_timestamp;
- float32 m_mass;
- float32 m_inertia;
- struct b2Vec2 m_center;
- struct b2Vec2 m_linearVelocity;
- float32 m_angularVelocity;
- struct b2Transform m_transform;
- uint m_destroyAutomatically:1;
- uint m_toBeDestroyed:1;
- uint m_toBeSplit:1;
- undefined field_0x59;
- undefined field_0x5a;
- undefined field_0x5b;
- undefined field_0x5c;
- undefined field_0x5d;
- undefined field_0x5e;
- undefined field_0x5f;
- void * m_userData;
-};
-
-struct YYGMLFuncs {
- char * pName;
- void (* pFunc)(struct CInstance *, struct CInstance *);
-};
-
-struct OLinkedList {
- struct CInstance * m_pFirst;
- struct CInstance * m_pLast;
- int m_Count;
- undefined field_0x14;
- undefined field_0x15;
- undefined field_0x16;
- undefined field_0x17;
-};
-
-struct b2BlockAllocator {
- struct b2Chunk * m_chunks;
- int32 m_chunkCount;
- int32 m_chunkSpace;
- struct b2Block * m_freeLists[14];
-};
-
-struct b2Profile {
- float32 step;
- float32 collide;
- float32 solve;
- float32 solveInit;
- float32 solveVelocity;
- float32 solvePosition;
- float32 broadphase;
- float32 solveTOI;
-};
-
-struct b2StackEntry {
- char * data;
- int32 size;
- bool usedMalloc;
- undefined field_0xd;
- undefined field_0xe;
- undefined field_0xf;
-};
-
-struct b2StackAllocator {
- char m_data[102400];
- int32 m_index;
- int32 m_allocation;
- int32 m_maxAllocation;
- undefined field_0x1900c;
- undefined field_0x1900d;
- undefined field_0x1900e;
- undefined field_0x1900f;
- struct b2StackEntry m_entries[32];
- int32 m_entryCount;
- undefined field_0x19214;
- undefined field_0x19215;
- undefined field_0x19216;
- undefined field_0x19217;
-};
-
-struct b2DynamicTree {
- int32 m_root;
- undefined field_0x4;
- undefined field_0x5;
- undefined field_0x6;
- undefined field_0x7;
- struct b2TreeNode * m_nodes;
- int32 m_nodeCount;
- int32 m_nodeCapacity;
- int32 m_freeList;
- uint32 m_path;
- int32 m_insertionCount;
- undefined field_0x24;
- undefined field_0x25;
- undefined field_0x26;
- undefined field_0x27;
-};
-
-struct b2BroadPhase {
- struct b2DynamicTree m_tree;
- int32 m_proxyCount;
- undefined field_0x2c;
- undefined field_0x2d;
- undefined field_0x2e;
- undefined field_0x2f;
- int32 * m_moveBuffer;
- int32 m_moveCapacity;
- int32 m_moveCount;
- struct b2Pair * m_pairBuffer;
- int32 m_pairCapacity;
- int32 m_pairCount;
- int32 m_queryProxyId;
- undefined field_0x54;
- undefined field_0x55;
- undefined field_0x56;
- undefined field_0x57;
-};
-
-struct b2ContactManager {
- struct b2BroadPhase m_broadPhase;
- struct b2Contact * m_contactList;
- int32 m_contactCount;
- undefined field_0x64;
- undefined field_0x65;
- undefined field_0x66;
- undefined field_0x67;
- struct b2ContactFilter * m_contactFilter;
- struct b2ContactListener * m_contactListener;
- struct b2BlockAllocator * m_allocator;
-};
-
-struct ParticleBuffer { /* Original name: ParticleBuffer */
- uint * data;
- int32 userSuppliedCapacity;
- undefined field_0xc;
- undefined field_0xd;
- undefined field_0xe;
- undefined field_0xf;
-};
-
-struct ParticleBuffer { /* Original name: ParticleBuffer */
- void * * data;
- int32 userSuppliedCapacity;
- undefined field_0xc;
- undefined field_0xd;
- undefined field_0xe;
- undefined field_0xf;
-};
-
-struct ParticleBuffer {
- struct b2ParticleColor * data;
- int32 userSuppliedCapacity;
- undefined field_0xc;
- undefined field_0xd;
- undefined field_0xe;
- undefined field_0xf;
-};
-
-struct ParticleBuffer {
- struct b2Vec2 * data;
- int32 userSuppliedCapacity;
- undefined field_0xc;
- undefined field_0xd;
- undefined field_0xe;
- undefined field_0xf;
-};
-
-struct b2ParticleSystem {
- int32 m_timestamp;
- int32 m_allParticleFlags;
- int32 m_allGroupFlags;
- float32 m_density;
- float32 m_inverseDensity;
- float32 m_gravityScale;
- float32 m_particleDiameter;
- float32 m_inverseDiameter;
- float32 m_squaredDiameter;
- int32 m_count;
- int32 m_internalAllocatedCapacity;
- int32 m_maxCount;
- struct ParticleBuffer m_flagsBuffer;
- struct ParticleBuffer m_positionBuffer;
- struct ParticleBuffer m_velocityBuffer;
- float32 * m_accumulationBuffer;
- struct b2Vec2 * m_accumulation2Buffer;
- float32 * m_depthBuffer;
- struct ParticleBuffer m_colorBuffer;
- struct b2ParticleGroup * * m_groupBuffer;
- struct ParticleBuffer m_userDataBuffer;
- int32 m_proxyCount;
- int32 m_proxyCapacity;
- struct Proxy * m_proxyBuffer;
- int32 m_contactCount;
- int32 m_contactCapacity;
- struct b2ParticleContact * m_contactBuffer;
- int32 m_bodyContactCount;
- int32 m_bodyContactCapacity;
- struct b2ParticleBodyContact * m_bodyContactBuffer;
- int32 m_pairCount;
- int32 m_pairCapacity;
- struct Pair * m_pairBuffer;
- int32 m_triadCount;
- int32 m_triadCapacity;
- struct Triad * m_triadBuffer;
- int32 m_groupCount;
- undefined field_0xf4;
- undefined field_0xf5;
- undefined field_0xf6;
- undefined field_0xf7;
- struct b2ParticleGroup * m_groupList;
- float32 m_pressureStrength;
- float32 m_dampingStrength;
- float32 m_elasticStrength;
- float32 m_springStrength;
- float32 m_viscousStrength;
- float32 m_surfaceTensionStrengthA;
- float32 m_surfaceTensionStrengthB;
- float32 m_powderStrength;
- float32 m_ejectionStrength;
- float32 m_colorMixingStrength;
- struct b2World * m_world;
-};
-
-struct b2World {
- struct b2BlockAllocator m_blockAllocator;
- struct b2StackAllocator m_stackAllocator;
- int32 m_flags;
- undefined field_0x1929c;
- undefined field_0x1929d;
- undefined field_0x1929e;
- undefined field_0x1929f;
- struct b2ContactManager m_contactManager;
- struct b2Body * m_bodyList;
- struct b2Joint * m_jointList;
- int32 m_bodyCount;
- int32 m_jointCount;
- struct b2Vec2 m_gravity;
- bool m_allowSleep;
- undefined field_0x19341;
- undefined field_0x19342;
- undefined field_0x19343;
- undefined field_0x19344;
- undefined field_0x19345;
- undefined field_0x19346;
- undefined field_0x19347;
- struct b2DestructionListener * m_destructionListener;
- struct b2Draw * m_debugDraw;
- float32 m_inv_dt0;
- bool m_warmStarting;
- bool m_continuousPhysics;
- bool m_subStepping;
- bool m_stepComplete;
- struct b2Profile m_profile;
- struct b2ParticleSystem m_particleSystem;
- struct b2Version * m_liquidFunVersion;
- char * m_liquidFunVersionString;
-};
-
-struct b2Block {
- struct b2Block * next;
-};
-
-struct CHashMap { /* Original name: CHashMap */
- int m_curSize;
- int m_numUsed;
- int m_curMask;
- int m_growThreshold;
- struct Element * m_elements;
-};
-
-struct YYRoomTiles {
- int32 count;
-};
-
-struct cARRAY_STRUCTURE {
- int Length;
- undefined field_0x4;
- undefined field_0x5;
- undefined field_0x6;
- undefined field_0x7;
- struct RTile * Array;
-};
-
-struct b2ContactFeature {
- uint8 indexA;
- uint8 indexB;
- uint8 typeA;
- uint8 typeB;
-};
-
-union b2ContactID {
- struct b2ContactFeature cf;
- uint32 key;
-};
-
-struct b2ManifoldPoint {
- struct b2Vec2 localPoint;
- float32 normalImpulse;
- float32 tangentImpulse;
- union b2ContactID id;
-};
-
-struct b2Manifold {
- struct b2ManifoldPoint points[2];
- struct b2Vec2 localNormal;
- struct b2Vec2 localPoint;
- enum Type type;
- int32 pointCount;
-};
-
-struct tagYYRECT {
- int32 left;
- int32 top;
- int32 right;
- int32 bottom;
-};
-
-struct SLink {
- struct SLink * next;
- struct SLink * prev;
- struct SLinkListEx * list;
-};
-
-struct CInstanceBase {
- int (** _vptr$CInstanceBase)(void);
- struct RValue * yyvars;
-};
-
-struct YYObjectBase {
- struct CInstanceBase super_CInstanceBase;
- struct YYObjectBase * m_pNextObject;
- struct YYObjectBase * m_pPrevObject;
- struct YYObjectBase * m_prototype;
- pcre * m_pcre;
- struct pcre_extra * m_pcreExtra;
- char * m_class;
- void (* m_getOwnProperty)(struct YYObjectBase *, struct RValue *, char *);
- void (* m_deleteProperty)(struct YYObjectBase *, struct RValue *, char *, bool);
- EJSRetValBool (* m_defineOwnProperty)(struct YYObjectBase *, char *, struct RValue *, bool);
- struct CHashMap * m_yyvarsMap;
- uint32 m_nvars;
- uint32 m_flags;
- uint32 m_capacity;
- uint32 m_visited;
- uint32 m_visitedGC;
- int32 m_GCgen;
- int32 m_GCcreationframe;
- int m_slot;
- int m_kind;
- int m_rvalueInitType;
- int m_curSlot;
- undefined field_0x8c;
- undefined field_0x8d;
- undefined field_0x8e;
- undefined field_0x8f;
-};
-
-struct CInstance {
- struct YYObjectBase super_YYObjectBase;
- int64 m_CreateCounter;
- struct CObjectGM * m_pObject;
- struct CPhysicsObject * m_pPhysicsObject;
- struct CSkeletonInstance * m_pSkeletonAnimation;
- uint m_Instflags;
- int i_id;
- int i_objectindex;
- int i_spriteindex;
- float i_imageindex;
- float i_imagespeed;
- float i_imagescalex;
- float i_imagescaley;
- float i_imageangle;
- float i_imagealpha;
- uint i_imageblend;
- float i_x;
- float i_y;
- float i_xstart;
- float i_ystart;
- float i_xprevious;
- float i_yprevious;
- float i_direction;
- float i_speed;
- float i_friction;
- float i_gravitydir;
- float i_gravity;
- float i_hspeed;
- float i_vspeed;
- YYRECT i_bbox;
- int i_timer[12];
- struct cInstancePathAndTimeline * m_pPathAndTimeline;
- struct CCode * i_initcode;
- struct CCode * i_precreatecode;
- struct CObjectGM * m_pOldObject;
- int m_nLayerID;
- int i_maskindex;
- short m_nMouseOver;
- struct CInstance * m_pNext;
- struct CInstance * m_pPrev;
- struct SLink m_collisionLink;
- struct SLink m_dirtyLink;
- struct SLink m_withLink;
- float i_depth;
- float i_currentdepth;
- float i_lastImageNumber;
- uint m_collisionTestNumber;
-};
-
-struct spSkeletonData {
- char * version;
- char * hash;
- float width;
- float height;
- int bonesCount;
- undefined field_0x1c;
- undefined field_0x1d;
- undefined field_0x1e;
- undefined field_0x1f;
- struct spBoneData * * bones;
- int slotsCount;
- undefined field_0x2c;
- undefined field_0x2d;
- undefined field_0x2e;
- undefined field_0x2f;
- struct spSlotData * * slots;
- int skinsCount;
- undefined field_0x3c;
- undefined field_0x3d;
- undefined field_0x3e;
- undefined field_0x3f;
- struct spSkin * * skins;
- struct spSkin * defaultSkin;
- int eventsCount;
- undefined field_0x54;
- undefined field_0x55;
- undefined field_0x56;
- undefined field_0x57;
- struct spEventData * * events;
- int animationsCount;
- undefined field_0x64;
- undefined field_0x65;
- undefined field_0x66;
- undefined field_0x67;
- struct spAnimation * * animations;
- int ikConstraintsCount;
- undefined field_0x74;
- undefined field_0x75;
- undefined field_0x76;
- undefined field_0x77;
- struct spIkConstraintData * * ikConstraints;
- int transformConstraintsCount;
- undefined field_0x84;
- undefined field_0x85;
- undefined field_0x86;
- undefined field_0x87;
- struct spTransformConstraintData * * transformConstraints;
- int pathConstraintsCount;
- undefined field_0x94;
- undefined field_0x95;
- undefined field_0x96;
- undefined field_0x97;
- struct spPathConstraintData * * pathConstraints;
-};
-
-struct CLayerElementBase {
- int m_type;
- int m_id;
- bool m_bRuntimeDataInitialised;
- undefined field_0x9;
- undefined field_0xa;
- undefined field_0xb;
- undefined field_0xc;
- undefined field_0xd;
- undefined field_0xe;
- undefined field_0xf;
- char * m_pName;
- struct CLayer * m_pLayer;
- struct CLayerElementBase * m_pNext;
- struct CLayerElementBase * m_pPrev;
-};
-
-struct b2Pair {
- int32 proxyIdA;
- int32 proxyIdB;
-};
-
-struct spIkConstraint {
- struct spIkConstraintData * data;
- int bonesCount;
- undefined field_0xc;
- undefined field_0xd;
- undefined field_0xe;
- undefined field_0xf;
- struct spBone * * bones;
- struct spBone * target;
- int bendDirection;
- int compress;
- int stretch;
- float mix;
-};
-
-struct b2Filter {
- uint32 categoryBits;
- uint32 maskBits;
- int16 groupIndex;
- undefined field_0xa;
- undefined field_0xb;
-};
-
-struct LinkedList {
- struct CLayer * m_pFirst;
- struct CLayer * m_pLast;
- int m_Count;
- enum eDeleteType m_DeleteType;
-};
-
-struct Triad {
- int32 indexA;
- int32 indexB;
- int32 indexC;
- uint32 flags;
- float32 strength;
- struct b2Vec2 pa;
- struct b2Vec2 pb;
- struct b2Vec2 pc;
- float32 ka;
- float32 kb;
- float32 kc;
- float32 s;
-};
-
-struct spBoneData {
- int index;
- undefined field_0x4;
- undefined field_0x5;
- undefined field_0x6;
- undefined field_0x7;
- char * name;
- struct spBoneData * parent;
- float length;
- float x;
- float y;
- float rotation;
- float scaleX;
- float scaleY;
- float shearX;
- float shearY;
- enum spTransformMode transformMode;
- undefined field_0x3c;
- undefined field_0x3d;
- undefined field_0x3e;
- undefined field_0x3f;
-};
-
-struct CSkeletonInstance {
- float m_lastFrame;
- int m_lastFrameDir;
- bool m_drawCollisionData;
- bool m_forceUpdate;
- undefined field_0xa;
- undefined field_0xb;
- float m_skeletonScale[2];
- int m_attachmentCount;
- struct spAttachment * * m_ppAttachments;
- struct spAtlas * * m_ppAttachmentAtlases;
- struct spSkeleton * m_skeleton;
- struct spSkeletonBounds * m_skeletonBounds;
- struct spAnimation * m_animation;
- struct spAnimationState * m_animationState;
- struct spAnimationStateData * m_animationStateData;
- struct spSkeletonData * m_skeletonData;
-};
-
-struct b2WorldManifold {
- struct b2Vec2 normal;
- struct b2Vec2 points[2];
-};
-
-struct spTrackEntryArray {
- int size;
- int capacity;
- struct spTrackEntry * * items;
-};
-
-struct CHashMap { /* Original name: CHashMap */
- int m_curSize;
- int m_numUsed;
- int m_curMask;
- int m_growThreshold;
- struct Element * m_elements;
-};
-
-struct b2Shape {
- int (** _vptr$b2Shape)(void);
- enum Type m_type;
- float32 m_radius;
-};
-
-struct spBone {
- struct spBoneData * data;
- struct spSkeleton * skeleton;
- struct spBone * parent;
- int childrenCount;
- undefined field_0x1c;
- undefined field_0x1d;
- undefined field_0x1e;
- undefined field_0x1f;
- struct spBone * * children;
- float x;
- float y;
- float rotation;
- float scaleX;
- float scaleY;
- float shearX;
- float shearY;
- float ax;
- float ay;
- float arotation;
- float ascaleX;
- float ascaleY;
- float ashearX;
- float ashearY;
- int appliedValid;
- float a;
- float b;
- float worldX;
- float c;
- float d;
- float worldY;
- int sorted;
-};
-
-struct SLinkedListNode {
- struct SLinkedListNode * m_pNext;
- struct SLinkedListNode * m_pPrev;
- struct CInstance * m_pObj;
-};
-
-struct Hash { /* Original name: Hash */
- struct HashLink> * m_pHashingTable;
- int m_HashingMask;
- int m_Count;
-};
-
-struct CBackGM {
- bool visible;
- bool foreground;
- undefined field_0x2;
- undefined field_0x3;
- int index;
- float x;
- float y;
- bool htiled;
- bool vtiled;
- undefined field_0x12;
- undefined field_0x13;
- float hspeed;
- float vspeed;
- float xscale;
- float yscale;
- int blend;
- float alpha;
-};
-
-struct b2ParticleContact {
- int32 indexA;
- int32 indexB;
- uint32 flags;
- float32 weight;
- struct b2Vec2 normal;
-};
-
-struct spAnimation {
- char * name;
- float duration;
- int timelinesCount;
- struct spTimeline * * timelines;
-};
-
-struct YYRoomInstances {
- int32 count;
-};
-
-struct spSkeletonBounds {
- int count;
- undefined field_0x4;
- undefined field_0x5;
- undefined field_0x6;
- undefined field_0x7;
- struct spBoundingBoxAttachment * * boundingBoxes;
- struct spPolygon * * polygons;
- float minX;
- float minY;
- float maxX;
- float maxY;
-};
-
-struct pcre_extra {
- ulong flags;
- void * study_data;
- ulong match_limit;
- void * callout_data;
- uchar * tables;
- ulong match_limit_recursion;
- uchar * * mark;
- void * executable_jit;
-};
-
-struct b2ContactEdge {
- struct b2Body * other;
- struct b2Contact * contact;
- struct b2ContactEdge * prev;
- struct b2ContactEdge * next;
-};
-
-struct b2Draw {
- int (** _vptr$b2Draw)(void);
- uint32 m_drawFlags;
- undefined field_0xc;
- undefined field_0xd;
- undefined field_0xe;
- undefined field_0xf;
-};
-
-struct CHashMap { /* Original name: CHashMap */
- int m_curSize;
- int m_numUsed;
- int m_curMask;
- int m_growThreshold;
- struct Element * m_elements;
-};
-
-struct LinkedList {
- struct CInstance * m_pFirst;
- struct CInstance * m_pLast;
- int m_Count;
- enum eDeleteType m_DeleteType;
-};
-
-struct CHashMap { /* Original name: CHashMap */
- int m_curSize;
- int m_numUsed;
- int m_curMask;
- int m_growThreshold;
- struct Element * m_elements;
-};
-
-struct CRoom {
- int r_lasttile;
- struct CRoom * instance_handle;
- String r_caption;
- int r_speed;
- int r_width;
- int r_height;
- bool r_persistent;
- TColor r_color;
- bool r_showcolor;
- struct CBackGM * r_background[8];
- bool r_enableviews;
- bool r_clearscreen;
- bool r_cleardisplaybuffer;
- struct CViewGM * r_view[8];
- String r_code;
- struct CCode * r_codeCode;
- bool r_physicsWorld;
- int r_physicsGravityX;
- int r_physicsGravityY;
- float r_physicsPixToMeters;
- struct OLinkedList m_Active;
- struct LinkedList m_Deactive;
- struct CInstance * m_pMarkedFirst;
- struct CInstance * m_pMarkedLast;
- int32 * m_pCreationOrderList;
- int32 m_CreationOrderListSize;
- struct YYRoom * m_pRoom;
- uint8 * m_pBase;
- struct CPhysicsWorld * m_pPhysicsWorld;
- int r_tnumb;
- struct cARRAY_STRUCTURE r_tile;
- struct YYRoomTiles * r_pTiles;
- struct YYRoomInstances * r_pInstances;
- char * m_pName;
- bool m_isDuplicate;
- struct LinkedList m_Layers;
- struct CHashMap m_LayerLookup;
- struct CHashMap m_LayerElementLookup;
- struct CLayerElementBase * m_LastLayerElementLookedUp;
- struct CHashMap m_LayerInstanceElementLookup;
-};
-
-struct spColor {
- float r;
- float g;
- float b;
- float a;
-};
-
-struct b2Chunk {
- int32 blockSize;
- undefined field_0x4;
- undefined field_0x5;
- undefined field_0x6;
- undefined field_0x7;
- struct b2Block * blocks;
-};
-
-struct HashNode { /* Original name: HashNode */
- struct HashNode * m_pPrev;
- struct HashNode * m_pNext;
- uint m_ID;
- undefined field_0x14;
- undefined field_0x15;
- undefined field_0x16;
- undefined field_0x17;
- struct b2FixtureContainer * m_pObj;
-};
-
-struct spAnimationStateData {
- struct spSkeletonData * skeletonData;
- float defaultMix;
- undefined field_0xc;
- undefined field_0xd;
- undefined field_0xe;
- undefined field_0xf;
- void * entries;
-};
-
-struct spSkeleton {
- struct spSkeletonData * data;
- int bonesCount;
- undefined field_0xc;
- undefined field_0xd;
- undefined field_0xe;
- undefined field_0xf;
- struct spBone * * bones;
- struct spBone * root;
- int slotsCount;
- undefined field_0x24;
- undefined field_0x25;
- undefined field_0x26;
- undefined field_0x27;
- struct spSlot * * slots;
- struct spSlot * * drawOrder;
- int ikConstraintsCount;
- undefined field_0x3c;
- undefined field_0x3d;
- undefined field_0x3e;
- undefined field_0x3f;
- struct spIkConstraint * * ikConstraints;
- int transformConstraintsCount;
- undefined field_0x4c;
- undefined field_0x4d;
- undefined field_0x4e;
- undefined field_0x4f;
- struct spTransformConstraint * * transformConstraints;
- int pathConstraintsCount;
- undefined field_0x5c;
- undefined field_0x5d;
- undefined field_0x5e;
- undefined field_0x5f;
- struct spPathConstraint * * pathConstraints;
- struct spSkin * skin;
- struct spColor color;
- float time;
- float scaleX;
- float scaleY;
- float x;
- float y;
- undefined field_0x94;
- undefined field_0x95;
- undefined field_0x96;
- undefined field_0x97;
-};
-
-struct HashLink> { /* Original name: HashLink > */
- struct HashNode * m_pFirst;
- struct HashNode * m_pLast;
-};
-
-struct spSlot {
- struct spSlotData * data;
- struct spBone * bone;
- struct spColor color;
- struct spColor * darkColor;
- struct spAttachment * attachment;
- int attachmentVerticesCapacity;
- int attachmentVerticesCount;
- float * attachmentVertices;
-};
-
-struct b2ParticleColor {
- uint8 r;
- uint8 g;
- uint8 b;
- uint8 a;
-};
-
-struct b2ContactFilter {
- int (** _vptr$b2ContactFilter)(void);
-};
-
-struct spAtlas {
- struct spAtlasPage * pages;
- struct spAtlasRegion * regions;
- void * rendererObject;
-};
-
-struct spTrackEntry {
- struct spAnimation * animation;
- struct spTrackEntry * next;
- struct spTrackEntry * mixingFrom;
- struct spTrackEntry * mixingTo;
- void (* listener)(struct spAnimationState *, enum spEventType, struct spTrackEntry *, struct spEvent *);
- int trackIndex;
- int loop;
- int holdPrevious;
- float eventThreshold;
- float attachmentThreshold;
- float drawOrderThreshold;
- float animationStart;
- float animationEnd;
- float animationLast;
- float nextAnimationLast;
- float delay;
- float trackTime;
- float trackLast;
- float nextTrackLast;
- float trackEnd;
- float timeScale;
- float alpha;
- float mixTime;
- float mixDuration;
- float interruptAlpha;
- float totalAlpha;
- enum spMixBlend mixBlend;
- struct spIntArray * timelineMode;
- struct spTrackEntryArray * timelineHoldMix;
- float * timelinesRotation;
- int timelinesRotationCount;
- undefined field_0x9c;
- undefined field_0x9d;
- undefined field_0x9e;
- undefined field_0x9f;
- void * rendererObject;
- void * userData;
-};
-
-struct b2ContactListener {
- int (** _vptr$b2ContactListener)(void);
-};
-
-struct CRunnerContactListener {
- struct b2ContactListener super_b2ContactListener;
- struct CPhysicsWorld * m_pPhysicsWorld;
-};
-
-struct LinkedList {
- struct CLayerElementBase * m_pFirst;
- struct CLayerElementBase * m_pLast;
- int m_Count;
- enum eDeleteType m_DeleteType;
-};
-
-struct CLayer {
- int m_id;
- int m_depth;
- float m_xoffset;
- float m_yoffset;
- float m_hspeed;
- float m_vspeed;
- bool m_visible;
- bool m_deleting;
- bool m_dynamic;
- undefined field_0x1b;
- undefined field_0x1c;
- undefined field_0x1d;
- undefined field_0x1e;
- undefined field_0x1f;
- char * m_pName;
- int m_beginScriptID;
- int m_endScriptID;
- int m_shaderID;
- undefined field_0x34;
- undefined field_0x35;
- undefined field_0x36;
- undefined field_0x37;
- struct LinkedList m_elements;
- struct CLayer * m_pNext;
- struct CLayer * m_pPrev;
-};
-
-struct b2Sweep {
- struct b2Vec2 localCenter;
- struct b2Vec2 c0;
- struct b2Vec2 c;
- float32 a0;
- float32 a;
- float32 alpha0;
-};
-
-struct tCollisionSettings {
- int objectIndex;
- undefined field_0x4;
- undefined field_0x5;
- undefined field_0x6;
- undefined field_0x7;
- ulong categoryBits;
- ulong maskBits;
-};
-
-struct CHashMap { /* Original name: CHashMap */
- int m_curSize;
- int m_numUsed;
- int m_curMask;
- int m_growThreshold;
- struct Element * m_elements;
-};
-
-struct RTile {
- float x;
- float y;
- int index;
- int xo;
- int yo;
- int w;
- int h;
- float depth;
- int id;
- float xscale;
- float yscale;
- int blend;
- float alpha;
- bool visible;
- undefined field_0x35;
- undefined field_0x36;
- undefined field_0x37;
-};
-
-struct SLinkListEx {
- struct SLink * head;
- struct SLink * tail;
- int offset;
- undefined field_0x14;
- undefined field_0x15;
- undefined field_0x16;
- undefined field_0x17;
-};
-
-struct b2DestructionListener {
- undefined field_0x0;
- undefined field_0x1;
- undefined field_0x2;
- undefined field_0x3;
- undefined field_0x4;
- undefined field_0x5;
- undefined field_0x6;
- undefined field_0x7;
-};
-
-struct CViewGM {
- bool visible;
- undefined field_0x1;
- undefined field_0x2;
- undefined field_0x3;
- float xview;
- float yview;
- float wview;
- float hview;
- int xport;
- int yport;
- int wport;
- int hport;
- float angle;
- int hborder;
- int vborder;
- int hspeed;
- int vspeed;
- int index;
- int SurfaceID;
- int cameraID;
-};
-
-struct b2FixtureContainer {
- undefined field_0x0;
-};
-
-struct spTransformConstraintData {
- char * name;
- int order;
- int bonesCount;
- struct spBoneData * * bones;
- struct spBoneData * target;
- float rotateMix;
- float translateMix;
- float scaleMix;
- float shearMix;
- float offsetRotation;
- float offsetX;
- float offsetY;
- float offsetScaleX;
- float offsetScaleY;
- float offsetShearY;
- int relative;
- int local;
-};
-
-struct spEventData {
- char * name;
- int intValue;
- float floatValue;
- char * stringValue;
- char * audioPath;
- float volume;
- float balance;
-};
-
-struct real_pcre8_or_16 {
- pcre_uint32 magic_number;
- pcre_uint32 size;
- pcre_uint32 options;
- pcre_uint32 flags;
- pcre_uint32 limit_match;
- pcre_uint32 limit_recursion;
- pcre_uint16 first_char;
- pcre_uint16 req_char;
- pcre_uint16 max_lookbehind;
- pcre_uint16 top_bracket;
- pcre_uint16 top_backref;
- pcre_uint16 name_table_offset;
- pcre_uint16 name_entry_size;
- pcre_uint16 name_count;
- pcre_uint16 ref_count;
- pcre_uint16 dummy1;
- pcre_uint16 dummy2;
- pcre_uint16 dummy3;
- pcre_uint8 * tables;
- void * nullpad;
-};
-
-struct b2FixtureProxy {
- struct b2AABB aabb;
- struct b2Fixture * fixture;
- int32 childIndex;
- int32 proxyId;
-};
-
-struct b2ParticleGroupDef {
- uint32 flags;
- uint32 groupFlags;
- struct b2Vec2 position;
- float32 angle;
- struct b2Vec2 linearVelocity;
- float32 angularVelocity;
- struct b2ParticleColor color;
- float32 strength;
- struct b2Shape * shape;
- bool destroyAutomatically;
- undefined field_0x31;
- undefined field_0x32;
- undefined field_0x33;
- undefined field_0x34;
- undefined field_0x35;
- undefined field_0x36;
- undefined field_0x37;
- void * userData;
-};
-
-struct CopyStack {
- struct AggregatedContactResult * m_stack;
- int m_stackTop;
- int m_stackSize;
-};
-
-struct ContactsStack {
- struct CopyStack m_contactsStack;
-};
-
-struct CPhysicsWorld {
- struct ContactsStack m_contactsStack;
- struct AggregatedContactResult * m_pCurrentContact;
- struct b2World * m_pWorld;
- struct b2ParticleGroupDef m_particleGroupDef;
- struct b2ParticleGroup * * m_ppParticleGroups;
- int m_particleGroupCount;
- undefined field_0x6c;
- undefined field_0x6d;
- undefined field_0x6e;
- undefined field_0x6f;
- struct CPhysicsDebugRender * m_pDebugRenderer;
- struct CRunnerContactListener * m_pContactListener;
- int m_updateSpeed;
- int m_updateIterations;
- float m_pixelToMetreScale;
- bool m_paused;
- undefined field_0x8d;
- undefined field_0x8e;
- undefined field_0x8f;
- struct tCollisionSettings m_objectToCollisionCategory[32];
-};
-
-struct spIkConstraintData {
- char * name;
- int order;
- int bonesCount;
- struct spBoneData * * bones;
- struct spBoneData * target;
- int bendDirection;
- int compress;
- int stretch;
- int uniform;
- float mix;
- undefined field_0x34;
- undefined field_0x35;
- undefined field_0x36;
- undefined field_0x37;
-};
-
-struct spEvent {
- struct spEventData * data;
- float time;
- int intValue;
- float floatValue;
- undefined field_0x14;
- undefined field_0x15;
- undefined field_0x16;
- undefined field_0x17;
- char * stringValue;
- float volume;
- float balance;
-};
-
-struct spSlotData {
- int index;
- undefined field_0x4;
- undefined field_0x5;
- undefined field_0x6;
- undefined field_0x7;
- char * name;
- struct spBoneData * boneData;
- char * attachmentName;
- struct spColor color;
- struct spColor * darkColor;
- enum spBlendMode blendMode;
- undefined field_0x3c;
- undefined field_0x3d;
- undefined field_0x3e;
- undefined field_0x3f;
-};
-
-struct spAtlasPage {
- struct spAtlas * atlas;
- char * name;
- enum spAtlasFormat format;
- enum spAtlasFilter minFilter;
- enum spAtlasFilter magFilter;
- enum spAtlasWrap uWrap;
- enum spAtlasWrap vWrap;
- undefined field_0x24;
- undefined field_0x25;
- undefined field_0x26;
- undefined field_0x27;
- void * rendererObject;
- int width;
- int height;
- struct spAtlasPage * next;
-};
-
-struct CHashMap { /* Original name: CHashMap */
- int m_curSize;
- int m_numUsed;
- int m_curMask;
- int m_growThreshold;
- struct Element * m_elements;
-};
-
-struct spTimeline {
- enum spTimelineType type;
- undefined field_0x4;
- undefined field_0x5;
- undefined field_0x6;
- undefined field_0x7;
- void * vtable;
-};
-
-struct b2JointEdge {
- struct b2Body * other;
- struct b2Joint * joint;
- struct b2JointEdge * prev;
- struct b2JointEdge * next;
-};
-
-struct AggregatedContactResult {
- int m_manifoldCount;
- undefined field_0x4;
- undefined field_0x5;
- undefined field_0x6;
- undefined field_0x7;
- struct b2Fixture * fixture1;
- struct b2Fixture * fixture2;
- struct b2Manifold manifolds[8];
- struct b2WorldManifold worldManifolds[8];
-};
-
-struct spAttachment {
- char * name;
- enum spAttachmentType type;
- undefined field_0xc;
- undefined field_0xd;
- undefined field_0xe;
- undefined field_0xf;
- void * vtable;
- struct spAttachmentLoader * attachmentLoader;
-};
-
-struct spPathConstraint {
- struct spPathConstraintData * data;
- int bonesCount;
- undefined field_0xc;
- undefined field_0xd;
- undefined field_0xe;
- undefined field_0xf;
- struct spBone * * bones;
- struct spSlot * target;
- float position;
- float spacing;
- float rotateMix;
- float translateMix;
- int spacesCount;
- undefined field_0x34;
- undefined field_0x35;
- undefined field_0x36;
- undefined field_0x37;
- float * spaces;
- int positionsCount;
- undefined field_0x44;
- undefined field_0x45;
- undefined field_0x46;
- undefined field_0x47;
- float * positions;
- int worldCount;
- undefined field_0x54;
- undefined field_0x55;
- undefined field_0x56;
- undefined field_0x57;
- float * world;
- int curvesCount;
- undefined field_0x64;
- undefined field_0x65;
- undefined field_0x66;
- undefined field_0x67;
- float * curves;
- int lengthsCount;
- undefined field_0x74;
- undefined field_0x75;
- undefined field_0x76;
- undefined field_0x77;
- float * lengths;
- float segments[10];
-};
-
-struct spVertexAttachment {
- struct spAttachment super;
- int bonesCount;
- undefined field_0x24;
- undefined field_0x25;
- undefined field_0x26;
- undefined field_0x27;
- int * bones;
- int verticesCount;
- undefined field_0x34;
- undefined field_0x35;
- undefined field_0x36;
- undefined field_0x37;
- float * vertices;
- int worldVerticesLength;
- int id;
-};
-
-struct b2Fixture {
- float32 m_density;
- undefined field_0x4;
- undefined field_0x5;
- undefined field_0x6;
- undefined field_0x7;
- struct b2Fixture * m_next;
- struct b2Body * m_body;
- struct b2Shape * m_shape;
- float32 m_friction;
- float32 m_restitution;
- struct b2FixtureProxy * m_proxies;
- int32 m_proxyCount;
- struct b2Filter m_filter;
- bool m_isSensor;
- undefined field_0x41;
- undefined field_0x42;
- undefined field_0x43;
- undefined field_0x44;
- undefined field_0x45;
- undefined field_0x46;
- undefined field_0x47;
- void * m_userData;
-};
-
-struct Element {
- struct CLayer * v;
- int k;
- Hash h;
-};
-
-struct b2Body {
- enum b2BodyType m_type;
- uint16 m_flags;
- undefined field_0x6;
- undefined field_0x7;
- int32 m_islandIndex;
- struct b2Transform m_xf;
- struct b2Transform m_xf0;
- struct b2Sweep m_sweep;
- struct b2Vec2 m_linearVelocity;
- float32 m_angularVelocity;
- struct b2Vec2 m_force;
- float32 m_torque;
- struct b2World * m_world;
- struct b2Body * m_prev;
- struct b2Body * m_next;
- struct b2Fixture * m_fixtureList;
- int32 m_fixtureCount;
- undefined field_0x8c;
- undefined field_0x8d;
- undefined field_0x8e;
- undefined field_0x8f;
- struct b2JointEdge * m_jointList;
- struct b2ContactEdge * m_contactList;
- float32 m_mass;
- float32 m_invMass;
- float32 m_I;
- float32 m_invI;
- float32 m_linearDamping;
- float32 m_angularDamping;
- float32 m_gravityScale;
- float32 m_sleepTime;
- void * m_userData;
-};
-
-struct spAnimationState {
- struct spAnimationStateData * data;
- int tracksCount;
- undefined field_0xc;
- undefined field_0xd;
- undefined field_0xe;
- undefined field_0xf;
- struct spTrackEntry * * tracks;
- void (* listener)(struct spAnimationState *, enum spEventType, struct spTrackEntry *, struct spEvent *);
- float timeScale;
- undefined field_0x24;
- undefined field_0x25;
- undefined field_0x26;
- undefined field_0x27;
- void * rendererObject;
- void * userData;
-};
-
-struct Proxy {
- int32 index;
- uint32 tag;
-};
-
-struct CPhysicsObject {
- struct b2Body * m_pBody;
- struct b2Vec2 m_visualOffset;
- struct b2Vec2 m_previousPosition;
- int m_collisionCategory;
- uint m_nextFixtureIndex;
- struct Hash * m_pFixtureMap;
-};
-
-struct cInstancePathAndTimeline {
- int i_pathindex;
- float i_pathposition;
- float i_pathpositionprevious;
- float i_pathspeed;
- float i_pathscale;
- float i_pathorientation;
- int i_pathend;
- float i_pathxstart;
- float i_pathystart;
- int i_timelineindex;
- float i_timelineprevposition;
- float i_timelineposition;
- float i_timelinespeed;
-};
-
-struct spPolygon {
- float * vertices;
- int count;
- int capacity;
-};
-
-struct CPhysicsDataGM {
- float * m_physicsVertices;
- bool m_physicsObject;
- bool m_physicsSensor;
- bool m_physicsAwake;
- bool m_physicsKinematic;
- int m_physicsShape;
- int m_physicsGroup;
- float m_physicsDensity;
- float m_physicsRestitution;
- float m_physicsLinearDamping;
- float m_physicsAngularDamping;
- float m_physicsFriction;
- int m_physicsVertexCount;
-};
-
-struct spBoundingBoxAttachment {
- struct spVertexAttachment super;
-};
-
-struct Pair {
- int32 indexA;
- int32 indexB;
- uint32 flags;
- float32 strength;
- float32 distance;
-};
-
-struct SLinkedList {
- struct SLinkedListNode * m_pFirst;
- struct SLinkedListNode * m_pLast;
- int m_Count;
- undefined field_0x14;
- undefined field_0x15;
- undefined field_0x16;
- undefined field_0x17;
-};
-
-struct CObjectGM {
- char * m_pName;
- struct CObjectGM * m_pParent;
- struct CHashMap * m_childrenMap;
- struct CHashMap * m_eventsMap;
- struct CPhysicsDataGM m_physicsData;
- undefined field_0x4c;
- undefined field_0x4d;
- undefined field_0x4e;
- undefined field_0x4f;
- struct SLinkedList m_Instances;
- struct SLinkedList m_Instances_Recursive;
- uint32 m_Flags;
- int m_spriteindex;
- int m_depth;
- int m_parent;
- int m_mask;
- int m_ID;
-};
-
-struct b2Joint {
- int (** _vptr$b2Joint)(void);
- enum b2JointType m_type;
- undefined field_0xc;
- undefined field_0xd;
- undefined field_0xe;
- undefined field_0xf;
- struct b2Joint * m_prev;
- struct b2Joint * m_next;
- struct b2JointEdge m_edgeA;
- struct b2JointEdge m_edgeB;
- struct b2Body * m_bodyA;
- struct b2Body * m_bodyB;
- int32 m_index;
- bool m_islandFlag;
- bool m_collideConnected;
- undefined field_0x76;
- undefined field_0x77;
- void * m_userData;
-};
-
-struct spIntArray {
- int size;
- int capacity;
- int * items;
-};
-
-struct spTransformConstraint {
- struct spTransformConstraintData * data;
- int bonesCount;
- undefined field_0xc;
- undefined field_0xd;
- undefined field_0xe;
- undefined field_0xf;
- struct spBone * * bones;
- struct spBone * target;
- float rotateMix;
- float translateMix;
- float scaleMix;
- float shearMix;
-};
-
-struct b2Contact {
- int (** _vptr$b2Contact)(void);
- uint32 m_flags;
- undefined field_0xc;
- undefined field_0xd;
- undefined field_0xe;
- undefined field_0xf;
- struct b2Contact * m_prev;
- struct b2Contact * m_next;
- struct b2ContactEdge m_nodeA;
- struct b2ContactEdge m_nodeB;
- struct b2Fixture * m_fixtureA;
- struct b2Fixture * m_fixtureB;
- int32 m_indexA;
- int32 m_indexB;
- struct b2Manifold m_manifold;
- int32 m_toiCount;
- float32 m_toi;
- float32 m_friction;
- float32 m_restitution;
- float32 m_tangentSpeed;
- undefined field_0xcc;
- undefined field_0xcd;
- undefined field_0xce;
- undefined field_0xcf;
-};
-
-struct CPhysicsDebugRender {
- struct b2Draw super_b2Draw;
- struct CPhysicsWorld * m_pWorld;
-};
-
-struct spAttachmentLoader {
- char * error1;
- char * error2;
- void * vtable;
-};
-
-struct VMBuffer {
- int (** _vptr$VMBuffer)(void);
- int m_size;
- int m_numLocalVarsUsed;
- int m_numArguments;
- undefined field_0x14;
- undefined field_0x15;
- undefined field_0x16;
- undefined field_0x17;
- uint8 * m_pBuffer;
- void * * m_pConvertedBuffer;
- int * m_pJumpBuffer;
-};
-
-struct b2Version {
- int32 major;
- int32 minor;
- int32 revision;
-};
-
-struct spSkin {
- char * name;
-};
-
-struct spAtlasRegion {
- char * name;
- int x;
- int y;
- int width;
- int height;
- float u;
- float v;
- float u2;
- float v2;
- int offsetX;
- int offsetY;
- int originalWidth;
- int originalHeight;
- int index;
- int rotate;
- int flip;
- undefined field_0x44;
- undefined field_0x45;
- undefined field_0x46;
- undefined field_0x47;
- int * splits;
- int * pads;
- struct spAtlasPage * page;
- struct spAtlasRegion * next;
-};
-
-struct YYRoom {
- uint32 pName;
- uint32 pCaption;
- int width;
- int height;
- int speed;
- int persistent;
- int colour;
- int showColour;
- uint32 pCode;
- int enableViews;
- uint32 pBackgrounds;
- uint32 pViews;
- uint32 pInstances;
- uint32 pTiles;
- int physicsWorld;
- int physicsWorldTop;
- int physicsWorldLeft;
- int physicsWorldRight;
- int physicsWorldBottom;
- float physicsWorldGravityX;
- float physicsWorldGravityY;
- float physicsWorldPixToMeters;
-};
-
-struct spPathConstraintData {
- char * name;
- int order;
- int bonesCount;
- struct spBoneData * * bones;
- struct spSlotData * target;
- enum spPositionMode positionMode;
- enum spSpacingMode spacingMode;
- enum spRotateMode rotateMode;
- float offsetRotation;
- float position;
- float spacing;
- float rotateMix;
- float translateMix;
-};
-
-struct b2ParticleBodyContact {
- int32 index;
- undefined field_0x4;
- undefined field_0x5;
- undefined field_0x6;
- undefined field_0x7;
- struct b2Body * body;
- float32 weight;
- struct b2Vec2 normal;
- float32 mass;
-};
-