Skip to content

Commit

Permalink
constant_ptr for the MapClass hierarchy.
Browse files Browse the repository at this point in the history
All classes have got an Instance of their respective types now, and the Global() methods have been removed.
  • Loading branch information
AlexBx committed Feb 19, 2016
1 parent be428bc commit 07f7b76
Show file tree
Hide file tree
Showing 8 changed files with 14 additions and 19 deletions.
3 changes: 1 addition & 2 deletions DisplayClass.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,7 @@ class NOVTABLE DisplayClass : public MapClass
{ JMP_THIS(0x692300); }

//Static
static DisplayClass* Global()
{ return reinterpret_cast<DisplayClass*>(0x87F7E8); }
static constexpr constant_ptr<DisplayClass, 0x87F7E8u> const Instance{};

static LayerClass* GetLayer(Layer lyr)
{
Expand Down
4 changes: 2 additions & 2 deletions GScreenClass.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

#include <YRPPCore.h>
#include <Interfaces.h>
#include <Helpers/CompileTime.h>

class NOVTABLE GScreenClass : public IGameMap
{
public:
//Static
static GScreenClass* Global()
{ return reinterpret_cast<GScreenClass*>(0x87F7E8); }
static constexpr constant_ptr<GScreenClass, 0x87F7E8u> const Instance{};

//IUnknown
virtual HRESULT __stdcall QueryInterface(REFIID iid, void** ppvObject) R0;
Expand Down
5 changes: 1 addition & 4 deletions MapClass.h
Original file line number Diff line number Diff line change
Expand Up @@ -104,10 +104,7 @@ class NOVTABLE MapClass : public GScreenClass
{
public:
//Static
static MapClass * const Instance;

static MapClass* Global()
{ return reinterpret_cast<MapClass*>(0x87F7E8); }
static constexpr constant_ptr<MapClass, 0x87F7E8u> const Instance{};

static CellClass* InvalidCell()
{ return reinterpret_cast<CellClass*>(0xABDC50); }
Expand Down
8 changes: 7 additions & 1 deletion MouseClass.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ struct TabDataClass
class TabClass : public SidebarClass, public INoticeSink
{
public:
//Static
static constexpr constant_ptr<TabClass, 0x87F7E8u> const Instance{};

TabDataClass TabData;
TimerStruct unknown_timer_552C;
TimerStruct InsufficientFundsBlinkTimer;
Expand All @@ -55,6 +58,9 @@ class TabClass : public SidebarClass, public INoticeSink
class ScrollClass : public TabClass
{
public:
//Static
static constexpr constant_ptr<ScrollClass, 0x87F7E8u> const Instance{};

DWORD unknown_int_5548;
BYTE unknown_byte_554C;
PROTECTED_PROPERTY(BYTE, align_554D[3]);
Expand All @@ -70,7 +76,7 @@ class NOVTABLE MouseClass : public ScrollClass
{
public:
//Static
static MouseClass * const Instance;
static constexpr constant_ptr<MouseClass, 0x87F7E8u> const Instance{};

//Destructor
virtual ~MouseClass() RX;
Expand Down
3 changes: 1 addition & 2 deletions PowerClass.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ class NOVTABLE PowerClass : public RadarClass
{
public:
//Static
static PowerClass* Global()
{ return reinterpret_cast<PowerClass*>(0x87F7E8); }
static constexpr constant_ptr<PowerClass, 0x87F7E8u> const Instance{};

//Destructor
virtual ~PowerClass() RX;
Expand Down
3 changes: 1 addition & 2 deletions RadarClass.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ class NOVTABLE RadarClass : public DisplayClass
//WIP: RadarClass::RTacticalClass goes HERE

//Static
static RadarClass* Global()
{ return reinterpret_cast<RadarClass*>(0x87F7E8); }
static constexpr constant_ptr<RadarClass, 0x87F7E8u> const Instance{};

//Destructor
virtual ~RadarClass() RX;
Expand Down
3 changes: 1 addition & 2 deletions SidebarClass.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,7 @@ class NOVTABLE SidebarClass : public PowerClass
{
public:
//Static
static SidebarClass* Global()
{ return reinterpret_cast<SidebarClass*>(0x87F7E8); }
static constexpr constant_ptr<SidebarClass, 0x87F7E8u> const Instance{};

enum {TooltipLength = 0x42};

Expand Down
4 changes: 0 additions & 4 deletions StaticInits.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -137,14 +137,10 @@ MixFileClass* const MixFileClass::MULTI = reinterpret_cast<MixFileClass*>(0x88

MixFileClass::GenericMixFiles* const MixFileClass::Generics = reinterpret_cast<MixFileClass::GenericMixFiles*>(0x884DF8);

#include <MapClass.h>
ALIAS_O(MapClass * const, MapClass::Instance, 0x87F7E8);

#include <DisplayClass.h>
ALIAS_O(LogicClass* const, LogicClass::Instance, 0x87F778);

#include <MouseClass.h>
ALIAS_O(MouseClass * const, MouseClass::Instance, 0x87F7E8);
MouseCursor* const MouseCursor::First = reinterpret_cast<MouseCursor*>(0x82D028);

#include <Networking.h>
Expand Down

0 comments on commit 07f7b76

Please sign in to comment.