Skip to content

Commit

Permalink
Cherry-pick SMBXInternal changes from experimental-reader-updated (as…
Browse files Browse the repository at this point in the history
… they are not part of the reader itself) in order to reduce differences with the experimental-reader-updated branch.
  • Loading branch information
Bluenaxela committed Sep 13, 2018
1 parent 052e420 commit 28b6701
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 155 deletions.
2 changes: 1 addition & 1 deletion LunaDll/SMBXInternal/BaseItemArray.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ struct SMBX_StaticBaseItemArray
{
static inline T* Get(unsigned short index) {
if (index >= MAX_SIZE_VAL) return NULL;
return &((T*)*ARRAY_VAL_PTR)[index];
return &((T*)*ARRAY_VAL_PTR)[index + OFFSET_VAL];
}
};

Expand Down
4 changes: 2 additions & 2 deletions LunaDll/SMBXInternal/NPCs.h
Original file line number Diff line number Diff line change
Expand Up @@ -424,8 +424,8 @@ struct NPCMOB {
Momentum spawnMomentum; //+0xA8
float spawnDirection; //+0xD8
short spawnID; //+0xDC
short unknown_DE; //+0xDE
short unknown_E0; //+0xE0
short ai1_initial; //+0xDE
short ai2_initial; //+0xE0
short id; //+0xE2
short animationFrame; //+0xE4
short unknown_E6; //+0xE6
Expand Down
8 changes: 1 addition & 7 deletions LunaDll/SMBXInternal/SMBXEvents.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,7 @@

// GET
SMBXEvent* SMBXEvents::Get(int index) {
if(GM_EVENTS_PTR == 0 || index < 0 || index > 100) {
return NULL;
} else {

SMBXEvent* pEventBase = (SMBXEvent*)GM_EVENTS_PTR;
return &(pEventBase[index]);
}
return SMBXEvent::Get(index);
}

// GET BY NAME
Expand Down
178 changes: 33 additions & 145 deletions LunaDll/SMBXInternal/SMBXEvents.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#define SMBXEvents_hhhhhh

#include "../Defines.h"
#include "BaseItemArray.h"

// - SMBX Event Struct. size = 0x588 (1416 bytes)
//
Expand Down Expand Up @@ -107,152 +108,39 @@

//+0x588 w = Auto start

struct SMBXEvent {

short NoSmoke; //(0xFFFF == no smoke, 0 == smoke)
short SoundID;
VB6StrPtr pName;
VB6StrPtr pTextMsg;

VB6StrPtr pHideLayerTarg1;
VB6StrPtr pHideLayerTarg2;
VB6StrPtr pHideLayerTarg3;
VB6StrPtr pHideLayerTarg4;
VB6StrPtr pHideLayerTarg5;
VB6StrPtr pHideLayerTarg6;
VB6StrPtr pHideLayerTarg7;
VB6StrPtr pHideLayerTarg8;
VB6StrPtr pHideLayerTarg9;
VB6StrPtr pHideLayerTarg10;
VB6StrPtr pHideLayerTarg11;
VB6StrPtr pHideLayerTarg12;
VB6StrPtr pHideLayerTarg13;
VB6StrPtr pHideLayerTarg14;
VB6StrPtr pHideLayerTarg15;
VB6StrPtr pHideLayerTarg16;
VB6StrPtr pHideLayerTarg17;
VB6StrPtr pHideLayerTarg18;
VB6StrPtr pHideLayerTarg19;
VB6StrPtr pHideLayerTarg20;
VB6StrPtr pHideLayerTarg21;

VB6StrPtr pShowLayerTarg1;
VB6StrPtr pShowLayerTarg2;
VB6StrPtr pShowLayerTarg3;
VB6StrPtr pShowLayerTarg4;
VB6StrPtr pShowLayerTarg5;
VB6StrPtr pShowLayerTarg6;
VB6StrPtr pShowLayerTarg7;
VB6StrPtr pShowLayerTarg8;
VB6StrPtr pShowLayerTarg9;
VB6StrPtr pShowLayerTarg10;
VB6StrPtr pShowLayerTarg11;
VB6StrPtr pShowLayerTarg12;
VB6StrPtr pShowLayerTarg13;
VB6StrPtr pShowLayerTarg14;
VB6StrPtr pShowLayerTarg15;
VB6StrPtr pShowLayerTarg16;
VB6StrPtr pShowLayerTarg17;
VB6StrPtr pShowLayerTarg18;
VB6StrPtr pShowLayerTarg19;
VB6StrPtr pShowLayerTarg20;
VB6StrPtr pShowLayerTarg21;

VB6StrPtr pToggleLayerTarg1;
VB6StrPtr pToggleLayerTarg2;
VB6StrPtr pToggleLayerTarg3;
VB6StrPtr pToggleLayerTarg4;
VB6StrPtr pToggleLayerTarg5;
VB6StrPtr pToggleLayerTarg6;
VB6StrPtr pToggleLayerTarg7;
VB6StrPtr pToggleLayerTarg8;
VB6StrPtr pToggleLayerTarg9;
VB6StrPtr pToggleLayerTarg10;
VB6StrPtr pToggleLayerTarg11;
VB6StrPtr pToggleLayerTarg12;
VB6StrPtr pToggleLayerTarg13;
VB6StrPtr pToggleLayerTarg14;
VB6StrPtr pToggleLayerTarg15;
VB6StrPtr pToggleLayerTarg16;
VB6StrPtr pToggleLayerTarg17;
VB6StrPtr pToggleLayerTarg18;
VB6StrPtr pToggleLayerTarg19;
VB6StrPtr pToggleLayerTarg20;
VB6StrPtr pToggleLayerTarg21;

short Section1MusicID; //(FFFF == don't change)
short Section2MusicID; //(FFFF == don't change)
short Section3MusicID; //(FFFF == don't change)
short Section4MusicID; //(FFFF == don't change)
short Section5MusicID; //(FFFF == don't change)
short Section6MusicID; //(FFFF == don't change)
short Section7MusicID; //(FFFF == don't change)
short Section8MusicID; //(FFFF == don't change)
short Section9MusicID; //(FFFF == don't change)
short Section10MusicID; //(FFFF == don't change)
short Section11MusicID; //(FFFF == don't change)
short Section12MusicID; //(FFFF == don't change)
short Section13MusicID; //(FFFF == don't change)
short Section14MusicID; //(FFFF == don't change)
short Section15MusicID; //(FFFF == don't change)
short Section16MusicID; //(FFFF == don't change)
short Section17MusicID; //(FFFF == don't change)
short Section18MusicID; //(FFFF == don't change)
short Section19MusicID; //(FFFF == don't change)
short Section20MusicID; //(FFFF == don't change)
short Section21MusicID; //(FFFF == don't change)

short Section1BackgroundID; //(FFFF == don't change)
short Section2BackgroundID; //(FFFF == don't change)
short Section3BackgroundID; //(FFFF == don't change)
short Section4BackgroundID; //(FFFF == don't change)
short Section5BackgroundID; //(FFFF == don't change)
short Section6BackgroundID; //(FFFF == don't change)
short Section7BackgroundID; //(FFFF == don't change)
short Section8BackgroundID; //(FFFF == don't change)
short Section9BackgroundID; //(FFFF == don't change)
short Section10BackgroundID; //(FFFF == don't change)
short Section11BackgroundID; //(FFFF == don't change)
short Section12BackgroundID; //(FFFF == don't change)
short Section13BackgroundID; //(FFFF == don't change)
short Section14BackgroundID; //(FFFF == don't change)
short Section15BackgroundID; //(FFFF == don't change)
short Section16BackgroundID; //(FFFF == don't change)
short Section17BackgroundID; //(FFFF == don't change)
short Section18BackgroundID; //(FFFF == don't change)
short Section19BackgroundID; //(FFFF == don't change)
short Section20BackgroundID; //(FFFF == don't change)
short Section21BackgroundID; //(FFFF == don't change)

int Unknown15C;

float PositionSettings[251];

int EndGame; //(1 == bowser defeat, 0 = none)
VB6StrPtr EventToTrigger;
float Delay;

short ForceUp; //(0xFFFF = checked)
short ForceDown; //(0xFFFF = checked)
short ForceLeft; //(0xFFFF = checked)
short ForceRight; //(0xFFFF = checked)
short ForceJump; //(0xFFFF = checked)
short ForceAltJump; //(0xFFFF = checked)
short ForceRun; //(0xFFFF = checked)
short ForceAltRun; //(0xFFFF = checked)
short ForceDrop; //(0xFFFF = checked)
short ForceStart; //(0xFFFF = checked)

VB6StrPtr LayerToMoveName;
float LayerHSpeed;
float LayerVSpeed;

float AutoscrollHSpeed;
float AutoscrollVSpeed;
short AutoscrollSectionNum;

short AutoStart; //(0xFFFF = checked)
#pragma pack(push, 1)
struct SMBXEvent : SMBX_StaticBaseItemArray<SMBXEvent, 100, GM_EVENTS_PTR_CONSTPTR>
{
short NoSmoke; // 0x00 (0xFFFF == no smoke, 0 == smoke)
short SoundID; // 0x02
VB6StrPtr pName; // 0x04
VB6StrPtr pTextMsg; // 0x08

VB6StrPtr pHideLayerTarg[21]; // 0x0C
VB6StrPtr pShowLayerTarg[21]; // 0x60
VB6StrPtr pToggleLayerTarg[21]; // 0xB4
short SectionMusicID[21]; // 0x108 (FFFF == don't change)
short SectionBackgroundID[21]; // 0x132 (FFFF == don't change)
Bounds SectionBounds[21]; // 0x15C

short EndGame; // 0x54C (1 == bowser defeat, 0 = none)
short unknown_54E; // 0x55E
VB6StrPtr EventToTrigger; // 0x550
double Delay; // 0x554
KeyMap ForceKeyboard; // 0x55C
VB6StrPtr LayerToMove; // 0x570
float LayerHSpeed; // 0x574
float LayerVSpeed; // 0x578
float AutoscrollHSpeed; // 0x57C
float AutoscrollVSpeed; // 0x580
short AutoscrollSecNum; // 0x584
short AutoStart; // 0x586
};
#pragma pack(pop)

#ifndef __INTELLISENSE__
static_assert(sizeof(SMBXEvent) == 0x588, "sizeof(SMBXEvent) must be 0x588");
#endif

namespace SMBXEvents {

Expand Down

0 comments on commit 28b6701

Please sign in to comment.