mirror of
https://codeberg.org/KeybadeBlox/JSRF-Decompilation.git
synced 2026-04-06 20:40:23 +03:00
The Yakuza 1 and 2 rereleases on the Wii U export function symbols, preserving their names, and some debug data was also available in a PS2 release, providing some struct definitions. These have been used to rename analogous classes, functions, and member variables to the same names used by Smilebit, plus a more general imitation of their naming and typing conventions (i.e. Win32 style).
550 lines
15 KiB
C++
550 lines
15 KiB
C++
/* JSRF Decompilation: JSRF/Action.hpp
|
|
CActMan and CActBase classes that form the foundation of the JSRF game code.
|
|
*/
|
|
|
|
#ifndef ACTION_HPP
|
|
#define ACTION_HPP
|
|
|
|
#include "../MUSASHI/MMatrix.hpp"
|
|
#include "../XDK/CRT/stddef.h"
|
|
#include "../XDK/D3D.h"
|
|
#include "../XDK/Win32.h"
|
|
|
|
|
|
// TODO; move to header for Graphics COM object in Smilebit libraries
|
|
struct SGraphicsPerformanceCounters {
|
|
unsigned fps;
|
|
unsigned trianglesPerSecond;
|
|
unsigned frameTriangleCnt;
|
|
unsigned unknown0xC;
|
|
unsigned unknown0x10;
|
|
unsigned unknown0x14;
|
|
};
|
|
|
|
// TODO: Just here to get delinking working until we make dedicated source
|
|
// files for these classes
|
|
struct CSysColiManager {
|
|
CSysColiManager();
|
|
virtual ~CSysColiManager();
|
|
};
|
|
struct UnknownGlobal {
|
|
UnknownGlobal();
|
|
virtual ~UnknownGlobal();
|
|
};
|
|
struct UnknownStatic02 {
|
|
UnknownStatic02();
|
|
virtual ~UnknownStatic02();
|
|
};
|
|
struct UnknownStatic04 {
|
|
UnknownStatic04();
|
|
virtual ~UnknownStatic04();
|
|
};
|
|
struct UnknownStatic05 {
|
|
UnknownStatic05();
|
|
virtual ~UnknownStatic05();
|
|
};
|
|
struct UnknownStatic06 {
|
|
UnknownStatic06();
|
|
virtual ~UnknownStatic06();
|
|
};
|
|
struct UnknownStatic07 {
|
|
UnknownStatic07();
|
|
virtual ~UnknownStatic07();
|
|
};
|
|
struct UnknownStatic09 {
|
|
UnknownStatic09();
|
|
virtual ~UnknownStatic09();
|
|
};
|
|
struct UnknownStatic13 {
|
|
char unknown1[0x274];
|
|
void * unknown2;
|
|
void * unknown3;
|
|
};
|
|
struct UnknownStatic16 {
|
|
UnknownStatic16();
|
|
virtual ~UnknownStatic16();
|
|
};
|
|
struct UnknownStatic17 {
|
|
UnknownStatic17();
|
|
virtual ~UnknownStatic17();
|
|
};
|
|
struct UnknownStatic18 {
|
|
UnknownStatic18();
|
|
virtual ~UnknownStatic18();
|
|
};
|
|
struct UnknownStatic19 {
|
|
UnknownStatic19();
|
|
virtual ~UnknownStatic19();
|
|
};
|
|
struct UnknownStatic24 {
|
|
UnknownStatic24();
|
|
virtual ~UnknownStatic24();
|
|
};
|
|
struct UnknownStatic27 {
|
|
UnknownStatic27();
|
|
virtual ~UnknownStatic27();
|
|
void * unknown[3];
|
|
};
|
|
struct SGraphicsSetting {
|
|
unsigned countedIfZero;
|
|
char * name;
|
|
float unknown[3];
|
|
float value;
|
|
unsigned index;
|
|
};
|
|
struct SGraphicsSettings {
|
|
float * settings;
|
|
unsigned settingsArrSizeInBytes;
|
|
unsigned unknown1;
|
|
unsigned unknown2;
|
|
unsigned srcArrZeroCnt;
|
|
SGraphicsSetting * srcItemsMarked0;
|
|
unsigned * offsetsFromPrevSrcItemMarked0;
|
|
};
|
|
enum eGRAPHICSSETTINGTYPE {
|
|
eGRAPHICSSETTINGTYPE_WARP = 0x0,
|
|
eGRAPHICSSETTINGTYPE_WARP_X = 0x1,
|
|
eGRAPHICSSETTINGTYPE_WARP_Y = 0x2,
|
|
eGRAPHICSSETTINGTYPE_WARP_Z = 0x3,
|
|
eGRAPHICSSETTINGTYPE_GO = 0x4,
|
|
eGRAPHICSSETTINGTYPE_MEMORY = 0x5,
|
|
eGRAPHICSSETTINGTYPE_DRAW = 0x6,
|
|
eGRAPHICSSETTINGTYPE_COLOR = 0x7,
|
|
eGRAPHICSSETTINGTYPE_COLOR_R = 0x8,
|
|
eGRAPHICSSETTINGTYPE_COLOR_G = 0x9,
|
|
eGRAPHICSSETTINGTYPE_COLOR_B = 0xa,
|
|
eGRAPHICSSETTINGTYPE_AMBIENT = 0xb,
|
|
eGRAPHICSSETTINGTYPE_AMBIENT_R = 0xc,
|
|
eGRAPHICSSETTINGTYPE_AMBIENT_G = 0xd,
|
|
eGRAPHICSSETTINGTYPE_AMBIENT_B = 0xe,
|
|
eGRAPHICSSETTINGTYPE_SHADOWCOLOR = 0xf,
|
|
eGRAPHICSSETTINGTYPE_SHADOWCOLOR_A = 0x10,
|
|
eGRAPHICSSETTINGTYPE_SHADOWCOLOR_R = 0x11,
|
|
eGRAPHICSSETTINGTYPE_SHADOWCOLOR_G = 0x12,
|
|
eGRAPHICSSETTINGTYPE_SHADOWCOLOR_B = 0x13,
|
|
eGRAPHICSSETTINGTYPE_BGCOLOR = 0x14,
|
|
eGRAPHICSSETTINGTYPE_BGCOLOR_R = 0x15,
|
|
eGRAPHICSSETTINGTYPE_BGCOLOR_G = 0x16,
|
|
eGRAPHICSSETTINGTYPE_BGCOLOR_B = 0x17,
|
|
eGRAPHICSSETTINGTYPE_MIPMAPLOD = 0x18,
|
|
eGRAPHICSSETTINGTYPE_MIPMAPLOD_BIAS = 0x19,
|
|
eGRAPHICSSETTINGTYPE_G_CONTRAST = 0x1a,
|
|
eGRAPHICSSETTINGTYPE_G_CONTRAST_R = 0x1b,
|
|
eGRAPHICSSETTINGTYPE_G_CONTRAST_G = 0x1c,
|
|
eGRAPHICSSETTINGTYPE_G_CONTRAST_B = 0x1d,
|
|
eGRAPHICSSETTINGTYPE_G_LUMINANCE = 0x1e,
|
|
eGRAPHICSSETTINGTYPE_G_LUMINANCE_R = 0x1f,
|
|
eGRAPHICSSETTINGTYPE_G_LUMINANCE_G = 0x20,
|
|
eGRAPHICSSETTINGTYPE_G_LUMINANCE_B = 0x21,
|
|
eGRAPHICSSETTINGTYPE_GRIND = 0x22,
|
|
eGRAPHICSSETTINGTYPE_GRIND_NS = 0x23,
|
|
eGRAPHICSSETTINGTYPE_GRIND_XS = 0x24,
|
|
eGRAPHICSSETTINGTYPE_GRIND_NR = 0x25,
|
|
eGRAPHICSSETTINGTYPE_GRIND_XR = 0x26,
|
|
eGRAPHICSSETTINGTYPE_GIZA_NO = 0x27,
|
|
eGRAPHICSSETTINGTYPE_GIZA_NO_T = 0x28,
|
|
eGRAPHICSSETTINGTYPE_GIZA_SPEED = 0x29,
|
|
eGRAPHICSSETTINGTYPE_GIZA_SPEED_R = 0x2a,
|
|
eGRAPHICSSETTINGTYPE_GIZA_SPEED_T = 0x2b,
|
|
eGRAPHICSSETTINGTYPE_GIZA_SPEED_S = 0x2c,
|
|
eGRAPHICSSETTINGTYPE_GIZA_GRIND = 0x2d,
|
|
eGRAPHICSSETTINGTYPE_GIZA_GRIND_R = 0x2e,
|
|
eGRAPHICSSETTINGTYPE_GIZA_GRIND_T = 0x2f,
|
|
eGRAPHICSSETTINGTYPE_GIZA_GRIND_S = 0x30,
|
|
eGRAPHICSSETTINGTYPE_GIZA_NORMAL = 0x31,
|
|
eGRAPHICSSETTINGTYPE_GIZA_NORMAL_R = 0x32,
|
|
eGRAPHICSSETTINGTYPE_GIZA_NORMAL_T = 0x33,
|
|
eGRAPHICSSETTINGTYPE_GIZA_NORMAL_S = 0x34,
|
|
eGRAPHICSSETTINGTYPE_GIZA_SDASH = 0x35,
|
|
eGRAPHICSSETTINGTYPE_GIZA_SDASH_R = 0x36,
|
|
eGRAPHICSSETTINGTYPE_GIZA_SDASH_T = 0x37,
|
|
eGRAPHICSSETTINGTYPE_GIZA_SDASH_S = 0x38,
|
|
eGRAPHICSSETTINGTYPE_GIZA_CAMZ = 0x39,
|
|
eGRAPHICSSETTINGTYPE_GIZA_CAMZ_ND = 0x3a,
|
|
eGRAPHICSSETTINGTYPE_GIZA_CAMZ_XD = 0x3b,
|
|
eGRAPHICSSETTINGTYPE_GIZA_CAMZ_NR = 0x3c,
|
|
eGRAPHICSSETTINGTYPE_GIZA_CAMZ_XR = 0x3d,
|
|
eGRAPHICSSETTINGTYPE_GIZA_CAMTRT = 0x3e,
|
|
eGRAPHICSSETTINGTYPE_GIZA_CAMTRT_ND = 0x3f,
|
|
eGRAPHICSSETTINGTYPE_GIZA_CAMTRT_XD = 0x40,
|
|
eGRAPHICSSETTINGTYPE_GIZA_CAMTRT_NR = 0x41,
|
|
eGRAPHICSSETTINGTYPE_GIZA_CAMTRT_XR = 0x42,
|
|
eGRAPHICSSETTINGTYPE_GIZA_CAMANG_NA = 0x43,
|
|
eGRAPHICSSETTINGTYPE_GIZA_CAMANG_XA = 0x44,
|
|
eGRAPHICSSETTINGTYPE_GIZA_CAMANG_NR = 0x45,
|
|
eGRAPHICSSETTINGTYPE_GIZA_CAMANG_XR = 0x46,
|
|
eGRAPHICSSETTINGTYPE_GIZA_MESH = 0x47,
|
|
eGRAPHICSSETTINGTYPE_GIZA_MESH_IP = 0x48,
|
|
eGRAPHICSSETTINGTYPE_GIZA_MESH_AP = 0x49,
|
|
eGRAPHICSSETTINGTYPE_GIZA_MESH_BA = 0x4a,
|
|
eGRAPHICSSETTINGTYPE_GIZA_CAMALPHA = 0x4b,
|
|
eGRAPHICSSETTINGTYPE_GIZA_CAMALPHA_ENABLE = 0x4c,
|
|
eGRAPHICSSETTINGTYPE_DIST = 0x4d,
|
|
eGRAPHICSSETTINGTYPE_FOG = 0x4e,
|
|
eGRAPHICSSETTINGTYPE_FOG_ENABLE = 0x4f,
|
|
eGRAPHICSSETTINGTYPE_FOG_R = 0x50,
|
|
eGRAPHICSSETTINGTYPE_FOG_G = 0x51,
|
|
eGRAPHICSSETTINGTYPE_FOG_B = 0x52,
|
|
eGRAPHICSSETTINGTYPE_FOG_RANGE = 0x53,
|
|
eGRAPHICSSETTINGTYPE_FOG_RANGE_NEAR = 0x54,
|
|
eGRAPHICSSETTINGTYPE_FOG_RANGE_FAR = 0x55,
|
|
eGRAPHICSSETTINGTYPE_POWER = 0x56,
|
|
eGRAPHICSSETTINGTYPE_WIRE_FRAME = 0x57,
|
|
eGRAPHICSSETTINGTYPE_WIRE_FRAME_ENABLE = 0x58,
|
|
eGRAPHICSSETTINGTYPE_TEXTURE = 0x59,
|
|
eGRAPHICSSETTINGTYPE_TEXTURE_NO = 0x5a,
|
|
eGRAPHICSSETTINGTYPE_SCREENGAUGE = 0x5b,
|
|
eGRAPHICSSETTINGTYPE_SCREENGAUGE_ENABLE = 0x5c,
|
|
eGRAPHICSSETTINGTYPE_OWARI = 0x5d,
|
|
eGRAPHICSSETTINGTYPE_COUNT = 0x5e,
|
|
};
|
|
|
|
|
|
enum eACTFLAG {
|
|
eACTFLAG_CAMERA = 1 << 0,
|
|
eACTFLAG_SKIPDRAWINGSOMETHING = 1 << 1,
|
|
eACTFLAG_NODRAWPHASE2 = 1 << 16,
|
|
eACTFLAG_DRAWTREE2 = 1 << 18,
|
|
eACTFLAG_DRAWFIRST = 1 << 22,
|
|
eACTFLAG_CAMERACHILD = 1 << 30,
|
|
eACTFLAG_DELETE = 1 << 31
|
|
};
|
|
|
|
// Position in g_lpActMan->objects array
|
|
// Different indices and ranges are dedicated to different kinds of
|
|
// objecs.
|
|
enum eACTID {
|
|
eACTID_NOTINDEXED = -1, // Not stored in array
|
|
eACTID_DIRECTOR = 0,
|
|
// TODO
|
|
|
|
eACTID_NUM = 0x1DF4
|
|
};
|
|
|
|
// Base class of most objects (and everything in g_lpActMan->objects)
|
|
struct CActBase {
|
|
eACTFLAG m_ActFlag;
|
|
eACTID m_ActID;
|
|
|
|
DWORD m_dwDrawChildMask;
|
|
float m_fZ;
|
|
DWORD m_dwZSort; // Four-level key, one byte each
|
|
float m_vSomeTranslation[3];
|
|
|
|
// Links forming a tree of objects for exec phase
|
|
CActBase * m_lpParent;
|
|
CActBase * m_lpChild;
|
|
CActBase * m_lpSiblingBefore;
|
|
CActBase * m_lpSiblingNext;
|
|
|
|
// Some data structures used for draw phrase
|
|
CActBase * m_lpDrawNext;
|
|
CActBase * * m_lplpDrawBeforePtr;
|
|
CActBase * * * m_lplplpDrawLastPtr;
|
|
|
|
CActBase * m_lpZSort;
|
|
|
|
virtual ~CActBase();
|
|
|
|
void recursiveExec0Default();
|
|
void drawManyDefault(
|
|
eACTFLAG flagFilterAny1,
|
|
int drawArg1,
|
|
int drawArg2,
|
|
eACTFLAG flagFilterAll,
|
|
unsigned otherBitfieldFilterAny,
|
|
eACTFLAG flagFilterNone,
|
|
eACTFLAG flagFilterAny2
|
|
);
|
|
void drawTreeDefault1();
|
|
void drawTreeDefault2();
|
|
|
|
void recursiveExec0Event();
|
|
void drawManyEvent(
|
|
eACTFLAG flagFilterAny1,
|
|
int drawArg1,
|
|
int drawArg2,
|
|
eACTFLAG flagFilterAll,
|
|
unsigned otherBitfieldFilterAny,
|
|
eACTFLAG flagFilterNone,
|
|
eACTFLAG flagFilterAny2
|
|
);
|
|
void drawTreeEvent1();
|
|
void drawTreeEvent2();
|
|
|
|
void recursiveExec0CoveredPause();
|
|
void drawManyCoveredPause(
|
|
eACTFLAG flagFilterAny1,
|
|
int drawArg1,
|
|
int drawArg2,
|
|
eACTFLAG flagFilterAll,
|
|
unsigned otherBitfieldFilterAny,
|
|
eACTFLAG flagFilterNone,
|
|
eACTFLAG flagFilterAny2
|
|
);
|
|
void drawTreeCoveredPause1();
|
|
void drawTreeCoveredPause2();
|
|
|
|
void recursiveExec0FreezeCam();
|
|
void drawManyFreezeCam(
|
|
eACTFLAG flagFilterAny1,
|
|
int drawArg1,
|
|
int drawArg2,
|
|
eACTFLAG flagFilterAll,
|
|
unsigned otherBitfieldFilterAny,
|
|
eACTFLAG flagFilterNone,
|
|
eACTFLAG flagFilterAny2
|
|
);
|
|
void drawTreeFreezeCam1();
|
|
void drawTreeFreezeCam2();
|
|
|
|
void recursiveExec0UncoveredPause();
|
|
void drawManyUncoveredPause(
|
|
eACTFLAG flagFilterAny1,
|
|
int drawArg1,
|
|
int drawArg2,
|
|
eACTFLAG flagFilterAll,
|
|
unsigned otherBitfieldFilterAny,
|
|
eACTFLAG flagFilterNone,
|
|
eACTFLAG flagFilterAny2
|
|
);
|
|
void drawTreeUncoveredPause1();
|
|
void drawTreeUncoveredPause2();
|
|
|
|
void insertActionTreeSub(CActBase * lpSibling, CActBase * lpParent);
|
|
void deleteActionChild(CActBase * lpChild);
|
|
CActBase * getParentAction();
|
|
|
|
void SetDelete(CActBase * lpAct);
|
|
void SetDeleteChild(CActBase * lpChild);
|
|
|
|
// Each frame, one of these trios of methods is called depending on
|
|
// which state the game is in
|
|
// Default implementation of each does nothing; inheriting objects
|
|
// override these methods to run some code during each phase of each
|
|
// frame.
|
|
virtual void Exec0Default();
|
|
virtual void Exec1Default();
|
|
virtual void DrawListDefault(unsigned);
|
|
|
|
virtual void Exec0Event();
|
|
virtual void Exec1Event();
|
|
virtual void DrawListEvent(unsigned);
|
|
|
|
virtual void Exec0CoveredPause();
|
|
virtual void Exec1CoveredPause();
|
|
virtual void DrawListCoveredPause(unsigned);
|
|
|
|
virtual void Exec0FreezeCam();
|
|
virtual void Exec1FreezeCam();
|
|
virtual void DrawListFreezeCam(unsigned);
|
|
|
|
virtual void Exec0UncoveredPause();
|
|
virtual void Exec1UncoveredPause();
|
|
virtual void DrawListUncoveredPause(unsigned);
|
|
|
|
void recursiveExec1Default();
|
|
void recursiveExec1Event();
|
|
void recursiveExec1CoveredPause();
|
|
void recursiveExec1FreezeCam();
|
|
void recursiveExec1UncoveredPause();
|
|
|
|
void insertActionTree(CActBase * lpParent);
|
|
|
|
CActBase(CActBase * lpParent, eACTID ActID, eACTFLAG ActFlag);
|
|
};
|
|
|
|
// There's a big array of possible arguments for draw methods with these
|
|
struct SDrawFuncArgs {
|
|
eACTFLAG flagFilterAny;
|
|
int arg1;
|
|
int arg2;
|
|
};
|
|
|
|
// Base class of objects serving as the head of a tree of objects to draw
|
|
// recursively
|
|
struct CDrawBase : CActBase {
|
|
float unknown0x44[3];
|
|
float unknown0x50[3];
|
|
float unknown0x5C[3];
|
|
float unknown0x68[3];
|
|
unsigned unknown0x74;
|
|
unsigned unknown0x78;
|
|
unsigned unknown0x7C;
|
|
unsigned unknown0x80;
|
|
float m_fViewport[4];
|
|
eACTID m_SomeActID;
|
|
|
|
void copySomeVectors();
|
|
CDrawBase(CActBase * lpParent, eACTID ActID, eACTFLAG ActFlag);
|
|
virtual ~CDrawBase();
|
|
};
|
|
|
|
struct CPlayer : CActBase {
|
|
unsigned unknown0x44;
|
|
unsigned unknown0x48;
|
|
|
|
CPlayer(CActBase * lpParent, eACTID ActID, eACTFLAG ActFlag);
|
|
virtual ~CPlayer();
|
|
};
|
|
|
|
// Top-level globally-accessible "god object" that runs the main loop and
|
|
// provides global access to most other objects and many variables
|
|
enum eDRAWMODE {
|
|
eDRAWMODE_YES,
|
|
eDRAWMODE_WAITVBLANK,
|
|
eDRAWMODE_NO
|
|
};
|
|
|
|
enum eGLOBAL {
|
|
};
|
|
|
|
#pragma pack(4)
|
|
struct CActMan {
|
|
char unknown0x4[4];
|
|
unsigned unknown0x8;
|
|
unsigned * unknown0xC;
|
|
HRESULT m_InitState;
|
|
unsigned unknown0x14;
|
|
BOOL m_bDrawProfilingInfo;
|
|
int unknown0x1C;
|
|
BOOL m_bLogosStarted;
|
|
BOOL m_bFatal;
|
|
|
|
D3DCOLOR m_Color;
|
|
D3DCOLOR m_AmbientColor;
|
|
D3DCOLOR m_ShadowColor;
|
|
D3DCOLOR m_BgColor;
|
|
D3DCOLOR m_BgColorFallback;
|
|
BOOL m_bUseFallbackBgColor;
|
|
|
|
// Game state used to select CActBase methods to call in main loop
|
|
// If multiple states are activated, the precedence is
|
|
// coveredPause > Event > FreezeCam > UncoveredPause > Default
|
|
BOOL m_bCoveredPause; // Game paused with world not visible
|
|
BOOL m_bEvent; // Events (cutscenes)
|
|
BOOL m_bFreezeCam; // Time-frozen camera shots
|
|
BOOL m_bUncoveredPause; // Game paused with world visible, or
|
|
// automatic pause at start of mission
|
|
|
|
BOOL m_bCoveredPauseNextFrame;
|
|
BOOL m_bNoCoveredPauseNextFrame;
|
|
BOOL m_bEventNextFrame;
|
|
BOOL m_bNoEventNextFrame;
|
|
BOOL m_bFreezeCamNextFrame;
|
|
BOOL m_bNoFreezeCamNextFrame;
|
|
BOOL m_bUncoveredPauseNextFrame;
|
|
BOOL m_bNoUncoveredPauseNextFrame;
|
|
|
|
BOOL m_bDrawChildren;
|
|
BOOL m_bSkipDraw;
|
|
BOOL m_bRunSomeExtraDrawListCode;
|
|
SGraphicsPerformanceCounters m_PerfCounters;
|
|
|
|
eDRAWMODE m_DrawMode;
|
|
|
|
// Globally accessible objects and variables
|
|
CActBase * m_lpActTbl[7668];
|
|
DWORD m_Globals[461]; // Items may be any 32-bit type, e.g. ptr
|
|
|
|
CDrawBase * m_lpCamRoot;
|
|
CDrawBase * * m_lplpCamPtr;
|
|
|
|
CActBase * m_lpDrawRoot;
|
|
CActBase * * m_lplpDrawPtr;
|
|
|
|
CActBase * m_lpDrawSortRoot;
|
|
CActBase * * m_lplpDrawSortPtr;
|
|
|
|
CActBase * m_lpDrawSortBinRoots[256];
|
|
CActBase * * m_lplpDrawSortBinPtrs[256];
|
|
|
|
unsigned unknown0x87B4;
|
|
|
|
LARGE_INTEGER m_ExecPerfCount;
|
|
LARGE_INTEGER m_DrawPerfCount;
|
|
|
|
unsigned unknown0x87C8;
|
|
unsigned unknown0x87CC;
|
|
DWORD m_dwFrameCount_MAYBE;
|
|
unsigned unknown0x87D4;
|
|
unsigned unknown0x87D8;
|
|
CActBase * m_lpActExecRoot;
|
|
DWORD m_dwAnimCount_MAYBE;
|
|
DWORD m_dwAnimStep_MAYBE;
|
|
DWORD m_dwActCount;
|
|
CDrawBase * m_pCurrentDraw;
|
|
eACTID m_CurrentDrawActID;
|
|
eACTID m_CurrentDrawSomeActID;
|
|
Mat4 m_mParentMatrix;
|
|
unsigned unknown0x8838;
|
|
unsigned unknown0x883C;
|
|
|
|
CActMan(unsigned *, unsigned);
|
|
virtual ~CActMan();
|
|
void ActionExec();
|
|
void drawOne(CActBase * lpAct, unsigned);
|
|
void drawListSub(
|
|
eACTFLAG flagFilterAny1,
|
|
int drawArg1,
|
|
int drawArg2,
|
|
eACTFLAG flagFilterAll,
|
|
unsigned otherBitfieldFilterAny,
|
|
eACTFLAG flagFilterNone,
|
|
eACTFLAG flagFilterAny2
|
|
);
|
|
void drawTree1(CActBase * lpAct);
|
|
|
|
void setCoveredPauseNextFrame (BOOL bVal);
|
|
void setEventNextFrame (BOOL bVal);
|
|
void setFreezeCamNextFrame (BOOL bVal);
|
|
void setUncoveredPauseNextFrame(BOOL bVal);
|
|
|
|
void DrawChildren();
|
|
void DrawSkip();
|
|
void Fatal();
|
|
void SetDrawMode(eDRAWMODE Mode);
|
|
|
|
void SetGlobal(eGLOBAL Index, DWORD dwVal);
|
|
DWORD GetGlobal(eGLOBAL Index);
|
|
|
|
void InsertDrawList(CActBase * lpAct);
|
|
void DeleteDrawList(CActBase * lpAct);
|
|
|
|
void InsertActionExecList(eACTID ActID , CActBase * lpAct);
|
|
void FreeActID (eACTID ActID);
|
|
CActBase * GetAction (eACTID ActID);
|
|
int GetFreeActionID (eACTID Min , eACTID Max);
|
|
BOOL ActionIDAvail (eACTID ActID);
|
|
void SwapActID (eACTID ActID1, eACTID ActID2);
|
|
|
|
void ClearScreen();
|
|
void EnableSomeExtraDrawListCode();
|
|
void SetLogosStarted(BOOL bVal);
|
|
|
|
void initSortDrawList();
|
|
CActBase * getSortList();
|
|
void InsertDrawSortList(CActBase * lpAct);
|
|
void SortListSub(unsigned char ucSortKeyBitOffset);
|
|
|
|
void SetFallbackBgColor(D3DCOLOR Color, BOOL bUseFallback);
|
|
void Init();
|
|
void drawMany(eACTFLAG flagFilterAll, BOOL);
|
|
void sortDrawList();
|
|
void drawSub();
|
|
void draw();
|
|
void IdleSub();
|
|
int Idle();
|
|
};
|
|
extern CActMan * g_lpActMan;
|
|
|
|
// Root of the exec GameObj tree
|
|
struct CActRoot : CActBase {
|
|
CActRoot(CActBase * lpParent, eACTID ActID, eACTFLAG ActFlag);
|
|
virtual ~CActRoot();
|
|
};
|
|
|
|
void SetActionDelete(eACTID ActID);
|
|
|
|
|
|
#endif
|